|
|
!(function(){var xZ=Object.defineProperty,SZ=Object.defineProperties;var bZ=Object.getOwnPropertyDescriptors;var YI=Object.getOwnPropertySymbols;var CZ=Object.prototype.hasOwnProperty,PZ=Object.prototype.propertyIsEnumerable;var Lh=Math.pow,bS=(Pt,Mt,Oe)=>Mt in Pt?xZ(Pt,Mt,{enumerable:!0,configurable:!0,writable:!0,value:Oe}):Pt[Mt]=Oe,R0=(Pt,Mt)=>{for(var Oe in Mt||(Mt={}))CZ.call(Mt,Oe)&&bS(Pt,Oe,Mt[Oe]);if(YI)for(var Oe of YI(Mt))PZ.call(Mt,Oe)&&bS(Pt,Oe,Mt[Oe]);return Pt},CS=(Pt,Mt)=>SZ(Pt,bZ(Mt));var Al=(Pt,Mt,Oe)=>bS(Pt,typeof Mt!="symbol"?Mt+"":Mt,Oe);(self.webpackChunk=self.webpackChunk||[]).push([[8823],{89489:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ye}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"}}]},name:"caret-down",theme:"outlined"},be=Re,Fe=Oe(7657),Ce=function(De,pe){return Ve.createElement(Fe.Z,(0,_e.Z)({},De,{ref:pe,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve},59477:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ye}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z"}}]},name:"caret-up",theme:"outlined"},be=Re,Fe=Oe(7657),Ce=function(De,pe){return Ve.createElement(Fe.Z,(0,_e.Z)({},De,{ref:pe,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve},26227:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ye}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"},be=Re,Fe=Oe(7657),Ce=function(De,pe){return Ve.createElement(Fe.Z,(0,_e.Z)({},De,{ref:pe,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve},49198:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ye}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z"}}]},name:"double-right",theme:"outlined"},be=Re,Fe=Oe(7657),Ce=function(De,pe){return Ve.createElement(Fe.Z,(0,_e.Z)({},De,{ref:pe,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve},41464:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ye}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"download",theme:"outlined"},be=Re,Fe=Oe(7657),Ce=function(De,pe){return Ve.createElement(Fe.Z,(0,_e.Z)({},De,{ref:pe,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve},87169:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ye}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"}}]},name:"exclamation-circle",theme:"outlined"},be=Re,Fe=Oe(7657),Ce=function(De,pe){return Ve.createElement(Fe.Z,(0,_e.Z)({},De,{ref:pe,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve},52671:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ye}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z"}}]},name:"file",theme:"outlined"},be=Re,Fe=Oe(7657),Ce=function(De,pe){return Ve.createElement(Fe.Z,(0,_e.Z)({},De,{ref:pe,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve},8657:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ye}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"}}]},name:"folder-open",theme:"outlined"},be=Re,Fe=Oe(7657),Ce=function(De,pe){return Ve.createElement(Fe.Z,(0,_e.Z)({},De,{ref:pe,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve},56082:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ye}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z"}}]},name:"holder",theme:"outlined"},be=Re,Fe=Oe(7657),Ce=function(De,pe){return Ve.createElement(Fe.Z,(0,_e.Z)({},De,{ref:pe,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve},33853:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ye}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"},be=Re,Fe=Oe(7657),Ce=function(De,pe){return Ve.createElement(Fe.Z,(0,_e.Z)({},De,{ref:pe,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve},15075:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ye}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"minus-square",theme:"outlined"},be=Re,Fe=Oe(7657),Ce=function(De,pe){return Ve.createElement(Fe.Z,(0,_e.Z)({},De,{ref:pe,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve},43531:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ye}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"plus-square",theme:"outlined"},be=Re,Fe=Oe(7657),Ce=function(De,pe){return Ve.createElement(Fe.Z,(0,_e.Z)({},De,{ref:pe,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve},38819:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ye}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"},be=Re,Fe=Oe(7657),Ce=function(De,pe){return Ve.createElement(Fe.Z,(0,_e.Z)({},De,{ref:pe,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve},13722:function(Pt){(function(Oe,_e){Pt.exports=_e()})(typeof self!="undefined"?self:this,function(){return function(Mt){var Oe={};function _e(Ve){if(Oe[Ve])return Oe[Ve].exports;var Re=Oe[Ve]={i:Ve,l:!1,exports:{}};return Mt[Ve].call(Re.exports,Re,Re.exports,_e),Re.l=!0,Re.exports}return _e.m=Mt,_e.c=Oe,_e.d=function(Ve,Re,be){_e.o(Ve,Re)||Object.defineProperty(Ve,Re,{configurable:!1,enumerable:!0,get:be})},_e.n=function(Ve){var Re=Ve&&Ve.__esModule?function(){return Ve.default}:function(){return Ve};return _e.d(Re,"a",Re),Re},_e.o=function(Ve,Re){return Object.prototype.hasOwnProperty.call(Ve,Re)},_e.p="",_e(_e.s=5)}([function(Mt,Oe){function _e(Ve,Re,be,Fe){return Fe===void 0&&(Fe="height"),be==="center"?(Ve[Fe]+Re[Fe])/2:Ve.height}Mt.exports={assign:Object.assign,getHeight:_e}},function(Mt,Oe,_e){var Ve=_e(3),Re=function(){function be(Ce,ve){ve===void 0&&(ve={});var ye=this;ye.options=ve,ye.rootNode=Ve(Ce,ve)}var Fe=be.prototype;return Fe.execute=function(){throw new Error("please override this method")},be}();Mt.exports=Re},function(Mt,Oe,_e){var Ve=_e(4),Re=["LR","RL","TB","BT","H","V"],be=["LR","RL","H"],Fe=function(we){return be.indexOf(we)>-1},Ce=Re[0];Mt.exports=function(ye,we,De){var pe=we.direction||Ce;if(we.isHorizontal=Fe(pe),pe&&Re.indexOf(pe)===-1)throw new TypeError("Invalid direction: "+pe);if(pe===Re[0])De(ye,we);else if(pe===Re[1])De(ye,we),ye.right2left();else if(pe===Re[2])De(ye,we);else if(pe===Re[3])De(ye,we),ye.bottom2top();else if(pe===Re[4]||pe===Re[5]){var Ee=Ve(ye,we),Pe=Ee.left,de=Ee.right;De(Pe,we),De(de,we),we.isHorizontal?Pe.right2left():Pe.bottom2top(),de.translate(Pe.x-de.x,Pe.y-de.y),ye.x=Pe.x,ye.y=de.y;var ee=ye.getBoundingBox();we.isHorizontal?ee.top<0&&ye.translate(0,-ee.top):ee.left<0&&ye.translate(-ee.left,0)}var ne=we.fixedRoot;return ne===void 0&&(ne=!0),ne&&ye.translate(-(ye.x+ye.width/2+ye.hgap),-(ye.y+ye.height/2+ye.vgap)),ve(ye,we),ye};function ve(ye,we){if(we.radial){var De=we.isHorizontal?["x","y"]:["y","x"],pe=De[0],Ee=De[1],Pe={x:1/0,y:1/0},de={x:-1/0,y:-1/0},ee=0;ye.DFTraverse(function(oe){ee++;var ce=oe.x,he=oe.y;Pe.x=Math.min(Pe.x,ce),Pe.y=Math.min(Pe.y,he),de.x=Math.max(de.x,ce),de.y=Math.max(de.y,he)});var ne=de[Ee]-Pe[Ee];if(ne===0)return;var le=Math.PI*2/ee;ye.DFTraverse(function(oe){var ce=(oe[Ee]-Pe[Ee])/ne*(Math.PI*2-le)+le,he=oe[pe]-ye[pe];oe.x=Math.cos(ce)*he,oe.y=Math.sin(ce)*he})}}},function(Mt,Oe,_e){var Ve=_e(0),Re=18,be=Re*2,Fe=Re,Ce={getId:function(De){return De.id||De.name},getPreH:function(De){return De.preH||0},getPreV:function(De){return De.preV||0},getHGap:function(De){return De.hgap||Fe},getVGap:function(De){return De.vgap||Fe},getChildren:function(De){return De.children},getHeight:function(De){return De.height||be},getWidth:function(De){var pe=De.label||" ";return De.width||pe.split("").length*Re}};function ve(we,De){var pe=this;if(pe.vgap=pe.hgap=0,we instanceof ve)return we;pe.data=we;var Ee=De.getHGap(we),Pe=De.getVGap(we);return pe.preH=De.getPreH(we),pe.preV=De.getPreV(we),pe.width=De.getWidth(we),pe.height=De.getHeight(we),pe.width+=pe.preH,pe.height+=pe.preV,pe.id=De.getId(we),pe.x=pe.y=0,pe.depth=0,pe.children||(pe.children=[]),pe.addGap(Ee,Pe),pe}Ve.assign(ve.prototype,{isRoot:function(){return this.depth===0},isLeaf:function(){return this.children.length===0},addGap:function(De,pe){var Ee=this;Ee.hgap+=De,Ee.vgap+=pe,Ee.width+=2*De,Ee.height+=2*pe},eachNode:function(De){for(var pe=this,Ee=[pe],Pe;Pe=Ee.shift();)De(Pe),Ee=Pe.children.concat(Ee)},DFTraverse:function(De){this.eachNode(De)},BFTraverse:function(De){for(var pe=this,Ee=[pe],Pe;Pe=Ee.shift();)De(Pe),Ee=Ee.concat(Pe.children)},getBoundingBox:function(){var De={left:Number.MAX_VALUE,top:Number.MAX_VALUE,width:0,height:0};return this.eachNode(function(pe){De.left=Math.min(De.left,pe.x),De.top=Math.min(De.top,pe.y),De.width=Math.max(De.width,pe.x+pe.width),De.height=Math.max(De.height,pe.y+pe.height)}),De},translate:function(De,pe){De===void 0&&(De=0),pe===void 0&&(pe=0),this.eachNode(function(Ee){Ee.x+=De,Ee.y+=pe,Ee.x+=Ee.preH,Ee.y+=Ee.preV})},right2left:function(){var De=this,pe=De.getBoundingBox();De.eachNode(function(Ee){Ee.x=Ee.x-(Ee.x-pe.left)*2-Ee.width}),De.translate(pe.width,0)},bottom2top:function(){var De=this,pe=De.getBoundingBox();De.eachNode(function(Ee){Ee.y=Ee.y-(Ee.y-pe.top)*2-Ee.height}),De.translate(0,pe.height)}});function ye(we,De,pe){De===void 0&&(De={}),De=Ve.assign({},Ce,De);var Ee=new ve(we,De),Pe=[Ee],de;if(!pe&&!we.collapsed){for(;de=Pe.shift();)if(!de.data.collapsed){var ee=De.getChildren(de.data),ne=ee?ee.length:0;if(de.children=new Array(ne),ee&&ne)for(var le=0;le<ne;le++){var oe=new ve(ee[le],De);de.children[le]=oe,Pe.push(oe),oe.parent=de,oe.depth=de.depth+1}}}return Ee}Mt.exports=ye},function(Mt,Oe,_e){var Ve=_e(3);Mt.exports=function(Re,be){for(var Fe=Ve(Re.data,be,!0),Ce=Ve(Re.data,be,!0),ve=Re.children.length,ye=Math.round(ve/2),we=be.getSide||function(Pe,de){return de<ye?"right":"left"},De=0;De<ve;De++){var pe=Re.children[De],Ee=we(pe,De);Ee==="right"?Ce.children.push(pe):Fe.children.push(pe)}return Fe.eachNode(function(Pe){Pe.isRoot()||(Pe.side="left")}),Ce.eachNode(function(Pe){Pe.isRoot()||(Pe.side="right")}),{left:Fe,right:Ce}}},function(Mt,Oe,_e){var Ve={compactBox:_e(6),dendrogram:_e(8),indented:_e(10),mindmap:_e(12)};Mt.exports=Ve},function(Mt,Oe,_e){function Ve(pe,Ee){pe.prototype=Object.create(Ee.prototype),pe.prototype.constructor=pe,Re(pe,Ee)}function Re(pe,Ee){return Re=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Pe,de){return Pe.__proto__=de,Pe},Re(pe,Ee)}var be=_e(1),Fe=_e(7),Ce=_e(2),ve=_e(0),ye=function(pe){function Ee(){return pe.apply(this,arguments)||this}Ve(Ee,pe);var Pe=Ee.prototype;return Pe.execute=function(){var ee=this;return Ce(ee.rootNode,ee.options,Fe)},Ee}(be),we={};function De(pe,Ee){return Ee=ve.assign({},we,Ee),new ye(pe,Ee).execute()}Mt.exports=De},function(Mt,Oe){function _e(ve,ye,we,De){De===void 0&&(De=[]);var pe=this;pe.w=ve||0,pe.h=ye||0,pe.y=we||0,pe.x=0,pe.c=De||[],pe.cs=De.length,pe.prelim=0,pe.mod=0,pe.shift=0,pe.change=0,pe.tl=null,pe.tr=null,pe.el=null,pe.er=null,pe.msel=0,pe.mser=0}_e.fromNode=function(ve,ye){if(!ve)return null;var we=[];return ve.children.forEach(function(De){we.push(_e.fromNode(De,ye))}),ye?new _e(ve.height,ve.width,ve.x,we):new _e(ve.width,ve.height,ve.y,we)};function Ve(ve,ye,we){we?ve.y+=ye:ve.x+=ye,ve.children.forEach(function(De){Ve(De,ye,we)})}function Re(ve,ye){var we=ye?ve.y:ve.x;return ve.children.forEach(function(De){we=Math.min(Re(De,ye),we)}),we}function be(ve,ye){var we=Re(ve,ye);Ve(ve,-we,ye)}function Fe(ve,ye,we){we?ye.y=ve.x:ye.x=ve.x,ve.c.forEach(function(De,pe){Fe(De,ye.children[pe],we)})}function Ce(ve,ye,we){we===void 0&&(we=0),ye?(ve.x=we,we+=ve.width):(ve.y=we,we+=ve.height),ve.children.forEach(function(De){Ce(De,ye,we)})}Mt.exports=function(ve,ye){ye===void 0&&(ye={});var we=ye.isHorizontal;function De(Me){if(Me.cs===0){pe(Me);return}De(Me.c[0]);for(var Be=ge(ne(Me.c[0].el),0,null),Ne=1;Ne<Me.cs;++Ne){De(Me.c[Ne]);var Ue=ne(Me.c[Ne].er);Ee(Me,Ne,Be),Be=ge(Ue,Ne,Be)}ce(Me),pe(Me)}function pe(Me){Me.cs===0?(Me.el=Me,Me.er=Me,Me.msel=Me.mser=0):(Me.el=Me.c[0].el,Me.msel=Me.c[0].msel,Me.er=Me.c[Me.cs-1].er,Me.mser=Me.c[Me.cs-1].mser)}function Ee(Me,Be,Ne){for(var Ue=Me.c[Be-1],Ge=Ue.mod,Xe=Me.c[Be],Ye=Xe.mod;Ue!==null&&Xe!==null;){ne(Ue)>Ne.low&&(Ne=Ne.nxt);var nt=Ge+Ue.prelim+Ue.w-(Ye+Xe.prelim);nt>0&&(Ye+=nt,Pe(Me,Be,Ne.index,nt));var $e=ne(Ue),qe=ne(Xe);$e<=qe&&(Ue=ee(Ue),Ue!==null&&(Ge+=Ue.mod)),$e>=qe&&(Xe=de(Xe),Xe!==null&&(Ye+=Xe.mod))}!Ue&&Xe?le(Me,Be,Xe,Ye):Ue&&!Xe&&oe(Me,Be,Ue,Ge)}function Pe(Me,Be,Ne,Ue){Me.c[Be].mod+=Ue,Me.c[Be].msel+=Ue,Me.c[Be].mser+=Ue,ie(Me,Be,Ne,Ue)}function de(Me){return Me.cs===0?Me.tl:Me.c[0]}function ee(Me){return Me.cs===0?Me.tr:Me.c[Me.cs-1]}function ne(Me){return Me.y+Me.h}function le(Me,Be,Ne,Ue){var Ge=Me.c[0].el;Ge.tl=Ne;var Xe=Ue-Ne.mod-Me.c[0].msel;Ge.mod+=Xe,Ge.prelim-=Xe,Me.c[0].el=Me.c[Be].el,Me.c[0].msel=Me.c[Be].msel}function oe(Me,Be,Ne,Ue){var Ge=Me.c[Be].er;Ge.tr=Ne;var Xe=Ue-Ne.mod-Me.c[Be].mser;Ge.mod+=Xe,Ge.prelim-=Xe,Me.c[Be].er=Me.c[Be-1].er,Me.c[Be].mser=Me.c[Be-1].mser}function ce(Me){Me.prelim=(Me.c[0].prelim+Me.c[0].mod+Me.c[Me.cs-1].mod+Me.c[Me.cs-1].prelim+Me.c[Me.cs-1].w)/2-Me.w/2}function he(Me,Be){Be+=Me.mod,Me.x=Me.prelim+Be,ue(Me);for(var Ne=0;Ne<Me.cs;Ne++)he(Me.c[Ne],Be)}function ie(Me,Be,Ne,Ue){if(Ne!==Be-1){var Ge=Be-Ne;Me.c[Ne+1].shift+=Ue/Ge,Me.c[Be].shift-=Ue/Ge,Me.c[Be].change-=Ue-Ue/Ge}}function ue(Me){for(var Be=0,Ne=0,Ue=0;Ue<Me.cs;Ue++)Be+=Me.c[Ue].shift,Ne+=Be+Me.c[Ue].change,Me.c[Ue].mod+=Ne}function ge(Me,Be,Ne){for(;Ne!==null&&Me>=Ne.low;)Ne=Ne.nxt;return{low:Me,index:Be,nxt:Ne}}Ce(ve,we);var xe=_e.fromNode(ve,we);return De(xe),he(xe,0),Fe(xe,ve,we),be(ve,we),ve}},function(Mt,Oe,_e){function Ve(pe,Ee){pe.prototype=Object.create(Ee.prototype),pe.prototype.constructor=pe,Re(pe,Ee)}function Re(pe,Ee){return Re=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Pe,de){return Pe.__proto__=de,Pe},Re(pe,Ee)}var be=_e(1),Fe=_e(9),Ce=_e(2),ve=_e(0),ye=function(pe){function Ee(){return pe.apply(this,arguments)||this}Ve(Ee,pe);var Pe=Ee.prototype;return Pe.execute=function(){var ee=this;return ee.rootNode.width=0,Ce(ee.rootNode,ee.options,Fe)},Ee}(be),we={};function De(pe,Ee){return Ee=ve.assign({},we,Ee),new ye(pe,Ee).execute()}Mt.exports=De},function(Mt,Oe,_e){var Ve=_e(0);function Re(Ce,ve){Ce===void 0&&(Ce=0),ve===void 0&&(ve=[]);var ye=this;ye.x=ye.y=0,ye.leftChild=ye.rightChild=null,ye.height=0,ye.children=ve}var be={isHorizontal:!0,nodeSep:20,nodeSize:20,rankSep:200,subTreeSep:10};function Fe(Ce,ve,ye){ye?(ve.x=Ce.x,ve.y=Ce.y):(ve.x=Ce.y,ve.y=Ce.x),Ce.children.forEach(function(we,De){Fe(we,ve.children[De],ye)})}Mt.exports=function(Ce,ve){ve===void 0&&(ve={}),ve=Ve.assign({},be,ve);var ye=0;function we(de){if(!de)return null;de.width=0,de.depth&&de.depth>ye&&(ye=de.depth);var ee=de.children,ne=ee.length,le=new Re(de.height,[]);return ee.forEach(function(oe,ce){var he=we(oe);le.children.push(he),ce===0&&(le.leftChild=he),ce===ne-1&&(le.rightChild=he)}),le.originNode=de,le.isLeaf=de.isLeaf(),le}function De(de){if(de.isLeaf||de.children.length===0)de.drawingDepth=ye;else{var ee=de.children.map(function(le){return De(le)}),ne=Math.min.apply(null,ee);de.drawingDepth=ne-1}return de.drawingDepth}var pe;function Ee(de){de.x=de.drawingDepth*ve.rankSep,de.isLeaf?(de.y=0,pe&&(de.y=pe.y+pe.height+ve.nodeSep,de.originNode.parent!==pe.originNode.parent&&(de.y+=ve.subTreeSep)),pe=de):(de.children.forEach(function(ee){Ee(ee)}),de.y=(de.leftChild.y+de.rightChild.y)/2)}var Pe=we(Ce);return De(Pe),Ee(Pe),Fe(Pe,Ce,ve.isHorizontal),Ce}},function(Mt,Oe,_e){function Ve(Pe,de){Pe.prototype=Object.create(de.prototype),Pe.prototype.constructor=Pe,Re(Pe,de)}function Re(Pe,de){return Re=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(ee,ne){return ee.__proto__=ne,ee},Re(Pe,de)}var be=_e(1),Fe=_e(11),Ce=_e(4),ve=_e(0),ye=["LR","RL","H"],we=ye[0],De=function(Pe){function de(){return Pe.apply(this,arguments)||this}Ve(de,Pe);var ee=de.prototype;return ee.execute=function(){var le=this,oe=le.options,ce=le.rootNode;oe.isHorizontal=!0;var he=oe.indent,ie=he===void 0?20:he,ue=oe.dropCap,ge=ue===void 0?!0:ue,xe=oe.direction,Me=xe===void 0?we:xe,Be=oe.align;if(Me&&ye.indexOf(Me)===-1)throw new TypeError("Invalid direction: "+Me);if(Me===ye[0])Fe(ce,ie,ge,Be);else if(Me===ye[1])Fe(ce,ie,ge,Be),ce.right2left();else if(Me===ye[2]){var Ne=Ce(ce,oe),Ue=Ne.left,Ge=Ne.right;Fe(Ue,ie,ge,Be),Ue.right2left(),Fe(Ge,ie,ge,Be);var Xe=Ue.getBoundingBox();Ge.translate(Xe.width,0),ce.x=Ge.x-ce.width/2}return ce},de}(be),pe={};function Ee(Pe,de){return de=ve.assign({},pe,de),new De(Pe,de).execute()}Mt.exports=Ee},function(Mt,Oe,_e){var Ve=_e(0);function Re(be,Fe,Ce,ve,ye){var we=(typeof Ce=="function"?Ce(be):Ce)*be.depth;if(!ve)try{if(be.id===be.parent.children[0].id){be.x+=we,be.y=Fe?Fe.y:0;return}}catch(Ee){}if(be.x+=we,Fe){if(be.y=Fe.y+Ve.getHeight(Fe,be,ye),Fe.parent&&be.parent.id!==Fe.parent.id){var De=Fe.parent,pe=De.y+Ve.getHeight(De,be,ye);be.y=pe>be.y?pe:be.y}}else be.y=0}Mt.exports=function(be,Fe,Ce,ve){var ye=null;be.eachNode(function(we){Re(we,ye,Fe,Ce,ve),ye=we})}},function(Mt,Oe,_e){function Ve(pe,Ee){pe.prototype=Object.create(Ee.prototype),pe.prototype.constructor=pe,Re(pe,Ee)}function Re(pe,Ee){return Re=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Pe,de){return Pe.__proto__=de,Pe},Re(pe,Ee)}var be=_e(1),Fe=_e(13),Ce=_e(2),ve=_e(0),ye=function(pe){function Ee(){return pe.apply(this,arguments)||this}Ve(Ee,pe);var Pe=Ee.prototype;return Pe.execute=function(){var ee=this;return Ce(ee.rootNode,ee.options,Fe)},Ee}(be),we={};function De(pe,Ee){return Ee=ve.assign({},we,Ee),new ye(pe,Ee).execute()}Mt.exports=De},function(Mt,Oe,_e){var Ve=_e(0);function Re(Ce,ve){var ye=0;return Ce.children.length?Ce.children.forEach(function(we){ye+=Re(we,ve)}):ye=Ce.height,Ce._subTreeSep=ve.getSubTreeSep(Ce.data),Ce.totalHeight=Math.max(Ce.height,ye)+2*Ce._subTreeSep,Ce.totalHeight}function be(Ce){var ve=Ce.children,ye=ve.length;if(ye){ve.forEach(function(de){be(de)});var we=ve[0],De=ve[ye-1],pe=De.y-we.y+De.height,Ee=0;if(ve.forEach(function(de){Ee+=de.totalHeight}),pe>Ce.height)Ce.y=we.y+pe/2-Ce.height/2;else if(ve.length!==1||Ce.height>Ee){var Pe=Ce.y+(Ce.height-pe)/2-we.y;ve.forEach(function(de){de.translate(0,Pe)})}else Ce.y=(we.y+we.height/2+De.y+De.height/2)/2-Ce.height/2}}var Fe={getSubTreeSep:function(){return 0}};Mt.exports=function(Ce,ve){ve===void 0&&(ve={}),ve=Ve.assign({},Fe,ve),Ce.parent={x:0,width:0,height:0,y:0},Ce.BFTraverse(function(ye){ye.x=ye.parent.x+ye.parent.width}),Ce.parent=null,Re(Ce,ve),Ce.startY=0,Ce.y=Ce.totalHeight/2-Ce.height/2,Ce.eachNode(function(ye){var we=ye.children,De=we.length;if(De){var pe=we[0];if(pe.startY=ye.startY+ye._subTreeSep,De===1)pe.y=ye.y+ye.height/2-pe.height/2;else{pe.y=pe.startY+pe.totalHeight/2-pe.height/2;for(var Ee=1;Ee<De;Ee++){var Pe=we[Ee];Pe.startY=we[Ee-1].startY+we[Ee-1].totalHeight,Pe.y=Pe.startY+Pe.totalHeight/2-Pe.height/2}}}}),be(Ce)}}])})},11570:function(Pt,Mt){"use strict";Mt.Z={lists:"lists___xhHyq",item:"item___pWJAA",children:"children___sDG61",diamond:"diamond___FwgzD",button:"button___WPN6r",mathWrap:"mathWrap___FmnMJ",mathFillWrap:"mathFillWrap___PmY3H"}},13669:function(Pt,Mt){"use strict";Mt.Z={flex_box_center:"flex_box_center___vG4eV",flex_space_between:"flex_space_between___qVVxe",flex_box_vertical_center:"flex_box_vertical_center___P8Z8s",flex_box_center_end:"flex_box_center_end___VMme3",flex_box_column:"flex_box_column___VMHwm",dropdownmenus:"dropdownmenus___oVzoj",popupClassNames:"popupClassNames___OcZq7",selectdown:"selectdown___mmcA8"}},774:function(Pt,Mt){"use strict";Mt.Z={flex_box_center:"flex_box_center___IBr6x",flex_space_between:"flex_space_between___n2Iz0",flex_box_vertical_center:"flex_box_vertical_center___1umwO",flex_box_center_end:"flex_box_center_end___SRZYb",flex_box_column:"flex_box_column___b90Da",form:"form___V3fAH",title_icon:"title_icon____uDZy",title:"title___RxKwK",content:"content___vFT5m",pubColSty:"pubColSty___dfLkL",selectSty:"selectSty____Wuek",borderSty:"borderSty___EuFYV",delSty:"delSty___AdEeI",delBorder:"delBorder___vcTJc",copHover:"copHover___JVVXI",multiple_select:"multiple_select___ZMPhl"}},7386:function(Pt,Mt){"use strict";Mt.Z={flex_box_center:"flex_box_center___vhwFp",flex_space_between:"flex_space_between___rbHwE",flex_box_vertical_center:"flex_box_vertical_center___AF_yr",flex_box_center_end:"flex_box_center_end___FqGSd",flex_box_column:"flex_box_column___ujWr7",failedList:"failedList___KGsCg",name:"name___bbsWC",publish:"publish___mai8J",modal:"modal___t6wU6"}},29277:function(){"use strict";function Pt(de,ee,ne,le){ne===void 0&&(ne=0),le===void 0&&(le=1/0),this._name=de,this._defaultValue=ee,this._minimum=ne,this._maximum=le}Object.defineProperty(Pt.prototype,"name",{get:function(){return this._name},set:function(de){if(typeof de!="string"||de==="")throw new Error("Shape name must be a valid string.");this._name=de}}),Object.defineProperty(Pt.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(de){if(typeof de!="number"||isNaN(de))throw new Error("The default value must be a real number, not: "+de);this._defaultValue=de}}),Object.defineProperty(Pt.prototype,"minimum",{get:function(){return this._minimum},set:function(de){if(typeof de!="number"||isNaN(de))throw new Error("Minimum must be a real number, not: "+de);this._minimum=de}}),Object.defineProperty(Pt.prototype,"maximum",{get:function(){return this._maximum},set:function(de){if(typeof de!="number"||isNaN(de))throw new Error("Maximum must be a real number, not: "+de);this._maximum=de}}),go.Shape._FigureParameters={},go.Shape.getFigureParameter=function(de,ee){var ne=go.Shape._FigureParameters[de];return ne?ne[ee]:null},go.Shape.setFigureParameter=function(de,ee,ne){if(!(ne instanceof Pt))throw new Error("Third argument to Shape.setFigureParameter is not FigureParameter: "+ne);if(ne.defaultValue<ne.minimum||ne.defaultValue>ne.maximum)throw new Error("defaultValue must be between minimum and maximum, not: "+ne.defaultValue);var le=go.Shape._FigureParameters[de];le||(le=[],go.Shape._FigureParameters[de]=le),le[ee]=ne};var Mt=[];function Oe(de,ee){var ne=Mt.pop();return ne===void 0?new go.Point(de,ee):(ne.x=de,ne.y=ee,ne)}function _e(){var de=Mt.pop();return de===void 0?new go.Point:de}function Ve(de){Mt.push(de)}function Re(de,ee,ne,le,oe,ce,he,ie,ue){ue||(ue=new go.Point);var ge=de-ne,xe=oe-he,Me=NaN,Be=NaN;if(ge===0)if(xe===0)de===ne&&(Me=de,Be=ee);else{var Ne=(ce-ie)/xe,Ue=ce-Ne*oe;Me=de,Be=Ne*Me+Ue}else if(xe===0){var Ge=(ee-le)/ge,Xe=ee-Ge*de;Me=oe,Be=Ge*Me+Xe}else{var Ge=(ee-le)/ge,Ne=(ce-ie)/xe,Xe=ee-Ge*de,Ue=ce-Ne*oe;Me=(Ue-Xe)/(Ge-Ne),Be=Ge*Me+Xe}return ue.x=Me,ue.y=Be,ue}function be(de,ee,ne,le,oe,ce,he,ie,ue,ge,xe,Me,Be,Ne){var Ue=1-ue,Ge=ue,Xe=de*Ue+ne*Ge,Ye=ee*Ue+le*Ge,nt=ne*Ue+oe*Ge,$e=le*Ue+ce*Ge,qe=oe*Ue+he*Ge,st=ce*Ue+ie*Ge,rt=Xe*Ue+nt*Ge,ct=Ye*Ue+$e*Ge,tt=nt*Ue+qe*Ge,dt=$e*Ue+st*Ge,At=rt*Ue+tt*Ge,mt=ct*Ue+dt*Ge;ge.x=Xe,ge.y=Ye,xe.x=rt,xe.y=ct,Me.x=At,Me.y=mt,Be.x=tt,Be.y=dt,Ne.x=qe,Ne.y=st}var Fe=new go.Spot(.156,.156),Ce=new go.Spot(.844,.844),ve=4*((Math.sqrt(2)-1)/3);go.Shape.setFigureParameter("RoundedRectangle",0,new Pt("CornerRounding",5)),go.Shape.defineFigureGenerator("RoundedRectangle",function(de,ee,ne){var le=de?de.parameter1:NaN;(isNaN(le)||le<0)&&(le=5),le=Math.min(le,ee/3),le=Math.min(le,ne/3);var oe=le*ve,ce=new go.Geometry().add(new go.PathFigure(le,0,!0).add(new go.PathSegment(go.PathSegment.Line,ee-le,0)).add(new go.PathSegment(go.PathSegment.Bezier,ee,le,ee-oe,0,ee,oe)).add(new go.PathSegment(go.PathSegment.Line,ee,ne-le)).add(new go.PathSegment(go.PathSegment.Bezier,ee-le,ne,ee,ne-oe,ee-oe,ne)).add(new go.PathSegment(go.PathSegment.Line,le,ne)).add(new go.PathSegment(go.PathSegment.Bezier,0,ne-le,oe,ne,0,ne-oe)).add(new go.PathSegment(go.PathSegment.Line,0,le)).add(new go.PathSegment(go.PathSegment.Bezier,le,0,0,oe,oe,0).close()));return oe>1&&(ce.spot1=new go.Spot(0,0,oe,oe),ce.spot2=new go.Spot(1,1,-oe,-oe)),ce}),go.Shape.defineFigureGenerator("Border","RoundedRectangle"),go.Shape.defineFigureGenerator("TriangleRight",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())).setSpots(0,.25,.5,.75)}),go.Shape.defineFigureGenerator("TriangleDown",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ee,0)).add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne).close())).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("TriangleLeft",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(ee,ne).add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,ee,0).close())).setSpots(.5,.25,1,.75)}),go.Shape.defineFigureGenerator("TriangleUp",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(ee,ne).add(new go.PathSegment(go.PathSegment.Line,0,ne)).add(new go.PathSegment(go.PathSegment.Line,.5*ee,0).close())).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("Triangle","TriangleUp"),go.Shape.defineFigureGenerator("Diamond",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(.5*ee,0).add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)).add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne).close())).setSpots(.25,.25,.75,.75)}),go.Shape.defineFigureGenerator("LineH",function(de,ee,ne){var le=new go.Geometry(go.Geometry.Line);return le.startX=0,le.startY=ne/2,le.endX=ee,le.endY=ne/2,le}),go.Shape.defineFigureGenerator("LineV",function(de,ee,ne){var le=new go.Geometry(go.Geometry.Line);return le.startX=ee/2,le.startY=0,le.endX=ee/2,le.endY=ne,le}),go.Shape.defineFigureGenerator("BarH","Rectangle"),go.Shape.defineFigureGenerator("BarV","Rectangle"),go.Shape.defineFigureGenerator("MinusLine","LineH"),go.Shape.defineFigureGenerator("PlusLine",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,ne/2,!1).add(new go.PathSegment(go.PathSegment.Line,ee,ne/2)).add(new go.PathSegment(go.PathSegment.Move,ee/2,0)).add(new go.PathSegment(go.PathSegment.Line,ee/2,ne)))}),go.Shape.defineFigureGenerator("XLine",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,ne,!1).add(new go.PathSegment(go.PathSegment.Line,ee,0)).add(new go.PathSegment(go.PathSegment.Move,0,0)).add(new go.PathSegment(go.PathSegment.Line,ee,ne)))}),go.Shape.defineFigureGenerator("LineRight",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(.25*ee,0,!1).add(new go.PathSegment(go.PathSegment.Line,.75*ee,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,.25*ee,ne)))}),go.Shape.defineFigureGenerator("LineDown",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,.25*ne,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ee,.75*ne)).add(new go.PathSegment(go.PathSegment.Line,ee,.25*ne)))}),go.Shape.defineFigureGenerator("LineLeft",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(.75*ee,0,!1).add(new go.PathSegment(go.PathSegment.Line,.25*ee,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,.75*ee,ne)))}),go.Shape.defineFigureGenerator("LineUp",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,.75*ne,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ee,.25*ne)).add(new go.PathSegment(go.PathSegment.Line,ee,.75*ne)))}),go.Shape.defineFigureGenerator("AsteriskLine",function(de,ee,ne){var le=.2/Math.SQRT2;return new go.Geometry().add(new go.PathFigure(le*ee,(1-le)*ne,!1).add(new go.PathSegment(go.PathSegment.Line,(1-le)*ee,le*ne)).add(new go.PathSegment(go.PathSegment.Move,le*ee,le*ne)).add(new go.PathSegment(go.PathSegment.Line,(1-le)*ee,(1-le)*ne)).add(new go.PathSegment(go.PathSegment.Move,0,ne/2)).add(new go.PathSegment(go.PathSegment.Line,ee,ne/2)).add(new go.PathSegment(go.PathSegment.Move,ee/2,0)).add(new go.PathSegment(go.PathSegment.Line,ee/2,ne)))}),go.Shape.defineFigureGenerator("CircleLine",function(de,ee,ne){var le=ee/2,oe=new go.Geometry().add(new go.PathFigure(ee,ee/2,!1).add(new go.PathSegment(go.PathSegment.Arc,0,360,le,le,le,le).close()));return oe.spot1=Fe,oe.spot2=Ce,oe.defaultStretch=go.GraphObject.Uniform,oe}),go.Shape.defineFigureGenerator("Line1",function(de,ee,ne){var le=new go.Geometry(go.Geometry.Line);return le.startX=0,le.startY=0,le.endX=ee,le.endY=ne,le}),go.Shape.defineFigureGenerator("Line2",function(de,ee,ne){var le=new go.Geometry(go.Geometry.Line);return le.startX=ee,le.startY=0,le.endX=0,le.endY=ne,le}),go.Shape.defineFigureGenerator("Curve1",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,ee,ne,ve*ee,0,ee,(1-ve)*ne)))}),go.Shape.defineFigureGenerator("Curve2",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,ee,ne,0,ve*ne,(1-ve)*ee,ne)))}),go.Shape.defineFigureGenerator("Curve3",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(ee,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,ne,ee,ve*ne,ve*ee,ne)))}),go.Shape.defineFigureGenerator("Curve4",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(ee,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,ne,(1-ve)*ee,0,0,(1-ve)*ne)))}),go.Shape.defineFigureGenerator("TriangleDownLeft",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,ee,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())).setSpots(0,.5,.5,1)}),go.Shape.defineFigureGenerator("TriangleDownRight",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(ee,0,!0).add(new go.PathSegment(go.PathSegment.Line,ee,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())).setSpots(.5,.5,1,1)}),go.Shape.defineFigureGenerator("TriangleUpLeft",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,ee,0)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())).setSpots(0,0,.5,.5)}),go.Shape.defineFigureGenerator("TriangleUpRight",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,ee,0)).add(new go.PathSegment(go.PathSegment.Line,ee,ne).close())).setSpots(.5,0,1,.5)}),go.Shape.defineFigureGenerator("RightTriangle","TriangleDownLeft"),go.Shape.setFigureParameter("Parallelogram1",0,new Pt("Indent",.1,-.99,.99)),go.Shape.defineFigureGenerator("Parallelogram1",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)?le=.1:le<-1?le=-1:le>1&&(le=1);var oe=Math.abs(le)*ee;if(le===0){var ce=new go.Geometry(go.Geometry.Rectangle);return ce.startX=0,ce.startY=0,ce.endX=ee,ce.endY=ne,ce}else{var ce=new go.Geometry;return le>0?ce.add(new go.PathFigure(oe,0).add(new go.PathSegment(go.PathSegment.Line,ee,0)).add(new go.PathSegment(go.PathSegment.Line,ee-oe,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())):ce.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ee-oe,0)).add(new go.PathSegment(go.PathSegment.Line,ee,ne)).add(new go.PathSegment(go.PathSegment.Line,oe,ne).close())),oe<ee/2&&ce.setSpots(oe/ee,0,(ee-oe)/ee,1),ce}}),go.Shape.defineFigureGenerator("Parallelogram","Parallelogram1"),go.Shape.setFigureParameter("Parallelogram2",0,new Pt("Indent",10,-1/0,1/0)),go.Shape.defineFigureGenerator("Parallelogram2",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)?le=10:le<-ee?le=-ee:le>ee&&(le=ee);var oe=Math.abs(le);if(le===0){var ce=new go.Geometry(go.Geometry.Rectangle);return ce.startX=0,ce.startY=0,ce.endX=ee,ce.endY=ne,ce}else{var ce=new go.Geometry;return le>0?ce.add(new go.PathFigure(oe,0).add(new go.PathSegment(go.PathSegment.Line,ee,0)).add(new go.PathSegment(go.PathSegment.Line,ee-oe,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())):ce.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ee-oe,0)).add(new go.PathSegment(go.PathSegment.Line,ee,ne)).add(new go.PathSegment(go.PathSegment.Line,oe,ne).close())),oe<ee/2&&ce.setSpots(oe/ee,0,(ee-oe)/ee,1),ce}}),go.Shape.setFigureParameter("Trapezoid1",0,new Pt("Indent",.2,-.99,.99)),go.Shape.defineFigureGenerator("Trapezoid1",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)?le=.2:le<.5?le=-.5:le>.5&&(le=.5);var oe=Math.abs(le)*ee;if(le===0){var ce=new go.Geometry(go.Geometry.Rectangle);return ce.startX=0,ce.startY=0,ce.endX=ee,ce.endY=ne,ce}else{var ce=new go.Geometry;return le>0?ce.add(new go.PathFigure(oe,0).add(new go.PathSegment(go.PathSegment.Line,ee-oe,0)).add(new go.PathSegment(go.PathSegment.Line,ee,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())):ce.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ee,0)).add(new go.PathSegment(go.PathSegment.Line,ee-oe,ne)).add(new go.PathSegment(go.PathSegment.Line,oe,ne).close())),oe<ee/2&&ce.setSpots(oe/ee,0,(ee-oe)/ee,1),ce}}),go.Shape.defineFigureGenerator("Trapezoid","Trapezoid1"),go.Shape.setFigureParameter("Trapezoid2",0,new Pt("Indent",20,-1/0,1/0)),go.Shape.defineFigureGenerator("Trapezoid2",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)?le=20:le<-ee?le=-ee/2:le>ee&&(le=ee/2);var oe=Math.abs(le);if(le===0){var ce=new go.Geometry(go.Geometry.Rectangle);return ce.startX=0,ce.startY=0,ce.endX=ee,ce.endY=ne,ce}else{var ce=new go.Geometry;return le>0?ce.add(new go.PathFigure(oe,0).add(new go.PathSegment(go.PathSegment.Line,ee-oe,0)).add(new go.PathSegment(go.PathSegment.Line,ee,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())):ce.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ee,0)).add(new go.PathSegment(go.PathSegment.Line,ee-oe,ne)).add(new go.PathSegment(go.PathSegment.Line,oe,ne).close())),oe<ee/2&&ce.setSpots(oe/ee,0,(ee-oe)/ee,1),ce}}),go.Shape.setFigureParameter("ManualOperation",0,new Pt("Indent",10,-1/0,1/0)),go.Shape.defineFigureGenerator("ManualOperation",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)?le=10:le<-ee?le=-ee/2:le>ee&&(le=ee/2);var oe=Math.abs(le);if(le===0){var ce=new go.Geometry(go.Geometry.Rectangle);return ce.startX=0,ce.startY=0,ce.endX=ee,ce.endY=ne,ce}else{var ce=new go.Geometry;return le>0?ce.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,ee,0)).add(new go.PathSegment(go.PathSegment.Line,ee-oe,ne)).add(new go.PathSegment(go.PathSegment.Line,oe,ne).close())):ce.add(new go.PathFigure(oe,0).add(new go.PathSegment(go.PathSegment.Line,ee-oe,0)).add(new go.PathSegment(go.PathSegment.Line,ee,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close())),oe<ee/2&&ce.setSpots(oe/ee,0,(ee-oe)/ee,1),ce}});var ye=[];function we(){var de=ye.pop();return de===void 0?[]:de}function De(de){de.length=0,ye.push(de)}function pe(de){for(var ee=we(),ne=.5,le=.5,oe=Math.PI*1.5,ce=0,he=0;he<de;he++)ce=2*Math.PI/de*he+oe,ee[he]=new go.Point(le+ne*Math.cos(ce),le+ne*Math.sin(ce));return ee.push(ee[0]),ee}function Ee(de){var ee=Pe(de),ne=we();ne[0]=ee[0];for(var le=1,oe=1;le<ee.length;le+=2,oe+=3)ne[oe]=ee[le],ne[oe+1]=ee[le],ne[oe+2]=ee[le+1];return De(ee),ne}function Pe(de){for(var ee=pe(de),ne=we(),le=Math.floor(ee.length/2),oe=ee.length-1,ce=de%2===0?2:1,he=0;he<oe;he++){var ie=ee[he],ue=ee[he+1],ge=ee[(le+he-1)%oe],xe=ee[(le+he+ce)%oe];ne[he*2]=ie,ne[he*2+1]=Re(ie.x,ie.y,ge.x,ge.y,ue.x,ue.y,xe.x,xe.y,new go.Point)}return ne[ne.length]=ne[0],De(ee),ne}go.Shape.defineFigureGenerator("Pentagon",function(de,ee,ne){var le=pe(5),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<5;he++)ce.add(new go.PathSegment(go.PathSegment.Line,le[he].x*ee,le[he].y*ne));return ce.add(new go.PathSegment(go.PathSegment.Line,le[0].x*ee,le[0].y*ne).close()),De(le),oe.spot1=new go.Spot(.2,.22),oe.spot2=new go.Spot(.8,.9),oe}),go.Shape.defineFigureGenerator("Hexagon",function(de,ee,ne){var le=pe(6),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<6;he++)ce.add(new go.PathSegment(go.PathSegment.Line,le[he].x*ee,le[he].y*ne));return ce.add(new go.PathSegment(go.PathSegment.Line,le[0].x*ee,le[0].y*ne).close()),De(le),oe.spot1=new go.Spot(.07,.25),oe.spot2=new go.Spot(.93,.75),oe}),go.Shape.defineFigureGenerator("Heptagon",function(de,ee,ne){var le=pe(7),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<7;he++)ce.add(new go.PathSegment(go.PathSegment.Line,le[he].x*ee,le[he].y*ne));return ce.add(new go.PathSegment(go.PathSegment.Line,le[0].x*ee,le[0].y*ne).close()),De(le),oe.spot1=new go.Spot(.2,.15),oe.spot2=new go.Spot(.8,.85),oe}),go.Shape.defineFigureGenerator("Octagon",function(de,ee,ne){var le=pe(8),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<8;he++)ce.add(new go.PathSegment(go.PathSegment.Line,le[he].x*ee,le[he].y*ne));return ce.add(new go.PathSegment(go.PathSegment.Line,le[0].x*ee,le[0].y*ne).close()),De(le),oe.spot1=new go.Spot(.15,.15),oe.spot2=new go.Spot(.85,.85),oe}),go.Shape.defineFigureGenerator("Nonagon",function(de,ee,ne){var le=pe(9),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<9;he++)ce.add(new go.PathSegment(go.PathSegment.Line,le[he].x*ee,le[he].y*ne));return ce.add(new go.PathSegment(go.PathSegment.Line,le[0].x*ee,le[0].y*ne).close()),De(le),oe.spot1=new go.Spot(.17,.13),oe.spot2=new go.Spot(.82,.82),oe}),go.Shape.defineFigureGenerator("Decagon",function(de,ee,ne){var le=pe(10),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<10;he++)ce.add(new go.PathSegment(go.PathSegment.Line,le[he].x*ee,le[he].y*ne));return ce.add(new go.PathSegment(go.PathSegment.Line,le[0].x*ee,le[0].y*ne).close()),De(le),oe.spot1=new go.Spot(.16,.16),oe.spot2=new go.Spot(.84,.84),oe}),go.Shape.defineFigureGenerator("Dodecagon",function(de,ee,ne){var le=pe(12),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<12;he++)ce.add(new go.PathSegment(go.PathSegment.Line,le[he].x*ee,le[he].y*ne));return ce.add(new go.PathSegment(go.PathSegment.Line,le[0].x*ee,le[0].y*ne).close()),De(le),oe.spot1=new go.Spot(.16,.16),oe.spot2=new go.Spot(.84,.84),oe}),go.Shape.defineFigureGenerator("FivePointedStar",function(de,ee,ne){var le=Pe(5),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<10;he++)ce.add(new go.PathSegment(go.PathSegment.Line,le[he].x*ee,le[he].y*ne));return ce.add(new go.PathSegment(go.PathSegment.Line,le[0].x*ee,le[0].y*ne).close()),De(le),oe.spot1=new go.Spot(.266,.333),oe.spot2=new go.Spot(.733,.733),oe}),go.Shape.defineFigureGenerator("SixPointedStar",function(de,ee,ne){var le=Pe(6),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<12;he++)ce.add(new go.PathSegment(go.PathSegment.Line,le[he].x*ee,le[he].y*ne));return ce.add(new go.PathSegment(go.PathSegment.Line,le[0].x*ee,le[0].y*ne).close()),De(le),oe.spot1=new go.Spot(.17,.25),oe.spot2=new go.Spot(.83,.75),oe}),go.Shape.defineFigureGenerator("SevenPointedStar",function(de,ee,ne){var le=Pe(7),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<14;he++)ce.add(new go.PathSegment(go.PathSegment.Line,le[he].x*ee,le[he].y*ne));return ce.add(new go.PathSegment(go.PathSegment.Line,le[0].x*ee,le[0].y*ne).close()),De(le),oe.spot1=new go.Spot(.222,.277),oe.spot2=new go.Spot(.777,.666),oe}),go.Shape.defineFigureGenerator("EightPointedStar",function(de,ee,ne){var le=Pe(8),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<16;he++)ce.add(new go.PathSegment(go.PathSegment.Line,le[he].x*ee,le[he].y*ne));return ce.add(new go.PathSegment(go.PathSegment.Line,le[0].x*ee,le[0].y*ne).close()),De(le),oe.spot1=new go.Spot(.25,.25),oe.spot2=new go.Spot(.75,.75),oe}),go.Shape.defineFigureGenerator("NinePointedStar",function(de,ee,ne){var le=Pe(9),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<18;he++)ce.add(new go.PathSegment(go.PathSegment.Line,le[he].x*ee,le[he].y*ne));return ce.add(new go.PathSegment(go.PathSegment.Line,le[0].x*ee,le[0].y*ne).close()),De(le),oe.spot1=new go.Spot(.222,.277),oe.spot2=new go.Spot(.777,.666),oe}),go.Shape.defineFigureGenerator("TenPointedStar",function(de,ee,ne){var le=Pe(10),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<20;he++)ce.add(new go.PathSegment(go.PathSegment.Line,le[he].x*ee,le[he].y*ne));return ce.add(new go.PathSegment(go.PathSegment.Line,le[0].x*ee,le[0].y*ne).close()),De(le),oe.spot1=new go.Spot(.281,.261),oe.spot2=new go.Spot(.723,.748),oe}),go.Shape.defineFigureGenerator("FivePointedBurst",function(de,ee,ne){var le=Ee(5),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<le.length;he+=3)ce.add(new go.PathSegment(go.PathSegment.Bezier,le[he+2].x*ee,le[he+2].y*ne,le[he].x*ee,le[he].y*ne,le[he+1].x*ee,le[he+1].y*ne));return ce.segments.last().close(),De(le),oe.spot1=new go.Spot(.222,.277),oe.spot2=new go.Spot(.777,.777),oe}),go.Shape.defineFigureGenerator("SixPointedBurst",function(de,ee,ne){var le=Ee(6),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<le.length;he+=3)ce.add(new go.PathSegment(go.PathSegment.Bezier,le[he+2].x*ee,le[he+2].y*ne,le[he].x*ee,le[he].y*ne,le[he+1].x*ee,le[he+1].y*ne));return ce.segments.last().close(),De(le),oe.spot1=new go.Spot(.17,.222),oe.spot2=new go.Spot(.833,.777),oe}),go.Shape.defineFigureGenerator("SevenPointedBurst",function(de,ee,ne){var le=Ee(7),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<le.length;he+=3)ce.add(new go.PathSegment(go.PathSegment.Bezier,le[he+2].x*ee,le[he+2].y*ne,le[he].x*ee,le[he].y*ne,le[he+1].x*ee,le[he+1].y*ne));return ce.segments.last().close(),De(le),oe.spot1=new go.Spot(.222,.222),oe.spot2=new go.Spot(.777,.777),oe}),go.Shape.defineFigureGenerator("EightPointedBurst",function(de,ee,ne){var le=Ee(8),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<le.length;he+=3)ce.add(new go.PathSegment(go.PathSegment.Bezier,le[he+2].x*ee,le[he+2].y*ne,le[he].x*ee,le[he].y*ne,le[he+1].x*ee,le[he+1].y*ne));return ce.segments.last().close(),De(le),oe.spot1=new go.Spot(.222,.222),oe.spot2=new go.Spot(.777,.777),oe}),go.Shape.defineFigureGenerator("NinePointedBurst",function(de,ee,ne){var le=Ee(9),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<le.length;he+=3)ce.add(new go.PathSegment(go.PathSegment.Bezier,le[he+2].x*ee,le[he+2].y*ne,le[he].x*ee,le[he].y*ne,le[he+1].x*ee,le[he+1].y*ne));return ce.segments.last().close(),De(le),oe.spot1=new go.Spot(.222,.222),oe.spot2=new go.Spot(.777,.777),oe}),go.Shape.defineFigureGenerator("TenPointedBurst",function(de,ee,ne){var le=Ee(10),oe=new go.Geometry,ce=new go.PathFigure(le[0].x*ee,le[0].y*ne,!0);oe.add(ce);for(var he=1;he<le.length;he+=3)ce.add(new go.PathSegment(go.PathSegment.Bezier,le[he+2].x*ee,le[he+2].y*ne,le[he].x*ee,le[he].y*ne,le[he+1].x*ee,le[he+1].y*ne));return ce.segments.last().close(),De(le),oe.spot1=new go.Spot(.222,.222),oe.spot2=new go.Spot(.777,.777),oe}),go.Shape.setFigureParameter("FramedRectangle",0,new Pt("ThicknessX",8)),go.Shape.setFigureParameter("FramedRectangle",1,new Pt("ThicknessY",8)),go.Shape.defineFigureGenerator("FramedRectangle",function(de,ee,ne){var le=de?de.parameter1:NaN,oe=de?de.parameter2:NaN;isNaN(le)&&(le=8),isNaN(oe)&&(oe=8);var ce=new go.Geometry,he=new go.PathFigure(0,0,!0);return ce.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee,0)),he.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),he.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),le<ee/2&&oe<ne/2&&(he.add(new go.PathSegment(go.PathSegment.Move,le,oe)),he.add(new go.PathSegment(go.PathSegment.Line,le,ne-oe)),he.add(new go.PathSegment(go.PathSegment.Line,ee-le,ne-oe)),he.add(new go.PathSegment(go.PathSegment.Line,ee-le,oe).close())),ce.setSpots(0,0,1,1,le,oe,-le,-oe),ce}),go.Shape.setFigureParameter("Ring",0,new Pt("Thickness",8)),go.Shape.defineFigureGenerator("Ring",function(de,ee,ne){var le=de?de.parameter1:NaN;(isNaN(le)||le<0)&&(le=8);var oe=ee/2,ce=new go.Geometry,he=new go.PathFigure(ee,ee/2,!0);ce.add(he),he.add(new go.PathSegment(go.PathSegment.Arc,0,360,oe,oe,oe,oe).close());var ie=Math.max(oe-le,0);return ie>0&&(he.add(new go.PathSegment(go.PathSegment.Move,ee/2+ie,ee/2)),he.add(new go.PathSegment(go.PathSegment.Arc,0,-360,oe,oe,ie,ie).close())),ce.spot1=Fe,ce.spot2=Ce,ce.defaultStretch=go.GraphObject.Uniform,ce}),go.Shape.defineFigureGenerator("Cloud",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(.08034461*ee,.1944299*ne,!0).add(new go.PathSegment(go.PathSegment.Bezier,.2008615*ee,.05349299*ne,-.09239631*ee,.07836421*ne,.1406031*ee,-.0542823*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.4338609*ee,.074219*ne,.2450511*ee,-.00697547*ne,.3776197*ee,-.01112067*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.6558228*ee,.07004196*ne,.4539471*ee,0,.6066018*ee,-.02526587*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.8921095*ee,.08370865*ne,.6914277*ee,-.01904177*ne,.8921095*ee,-.01220843*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.9147671*ee,.3194596*ne,1.036446*ee,.04105738*ne,1.020377*ee,.3022052*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.9082935*ee,.562044*ne,1.04448*ee,.360238*ne,.992256*ee,.5219009*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.9212406*ee,.8217117*ne,1.032337*ee,.5771781*ne,1.018411*ee,.8120651*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.7592566*ee,.9156953*ne,1.028411*ee,.9571472*ne,.8556702*ee,1.052487*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.5101666*ee,.9310455*ne,.7431877*ee,1.009325*ne,.5624123*ee,1.021761*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.2609328*ee,.9344623*ne,.4820677*ee,1.031761*ne,.3030112*ee,1.002796*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*ee,.870098*ne,.2329994*ee,1.01518*ne,.03213784*ee,1.01518*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.06829292*ee,.6545475*ne,-.02812061*ee,.9032597*ne,-.01205169*ee,.6835638*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.06427569*ee,.4265613*ne,-.01812061*ee,.6089503*ne,-.00606892*ee,.4555777*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*ee,.1944299*ne,-.01606892*ee,.3892545*ne,-.01205169*ee,.1944299*ne))).setSpots(.1,.1,.9,.9)}),go.Shape.defineFigureGenerator("StopSign",function(de,ee,ne){var le=1/(Math.SQRT2+2);return new go.Geometry().add(new go.PathFigure(le*ee,0,!0).add(new go.PathSegment(go.PathSegment.Line,(1-le)*ee,0)).add(new go.PathSegment(go.PathSegment.Line,ee,le*ne)).add(new go.PathSegment(go.PathSegment.Line,ee,(1-le)*ne)).add(new go.PathSegment(go.PathSegment.Line,(1-le)*ee,ne)).add(new go.PathSegment(go.PathSegment.Line,le*ee,ne)).add(new go.PathSegment(go.PathSegment.Line,0,(1-le)*ne)).add(new go.PathSegment(go.PathSegment.Line,0,le*ne).close())).setSpots(le/2,le/2,1-le/2,1-le/2)}),go.Shape.setFigureParameter("Pie",0,new Pt("Start",0,-360,360)),go.Shape.setFigureParameter("Pie",1,new Pt("Sweep",315,-360,360)),go.Shape.defineFigureGenerator("Pie",function(de,ee,ne){var le=de?de.parameter1:NaN,oe=de?de.parameter2:NaN;isNaN(le)&&(le=0),isNaN(oe)&&(oe=315);var ce=le%360;ce<0&&(ce+=360);var he=oe%360,ie=Math.min(ee,ne)/2;return new go.Geometry().add(new go.PathFigure(ie,ie).add(new go.PathSegment(go.PathSegment.Arc,ce,he,ie,ie,ie,ie).close()))}),go.Shape.defineFigureGenerator("PiePiece",function(de,ee,ne){var le=ve/Math.SQRT2*.5,oe=Math.SQRT2/2,ce=1-Math.SQRT2/2;return new go.Geometry().add(new go.PathFigure(ee,ne,!0).add(new go.PathSegment(go.PathSegment.Bezier,oe*ee,ce*ne,ee,(1-le)*ne,(oe+le)*ee,(ce+le)*ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close()))}),go.Shape.setFigureParameter("ThickCross",0,new Pt("Thickness",30)),go.Shape.defineFigureGenerator("ThickCross",function(de,ee,ne){var le=de?de.parameter1:NaN;(isNaN(le)||le<0)&&(le=30);var oe=Math.min(le,ee)/2,ce=ee/2,he=ne/2;return new go.Geometry().add(new go.PathFigure(ce-oe,0,!0).add(new go.PathSegment(go.PathSegment.Line,ce+oe,0)).add(new go.PathSegment(go.PathSegment.Line,ce+oe,he-oe)).add(new go.PathSegment(go.PathSegment.Line,ee,he-oe)).add(new go.PathSegment(go.PathSegment.Line,ee,he+oe)).add(new go.PathSegment(go.PathSegment.Line,ce+oe,he+oe)).add(new go.PathSegment(go.PathSegment.Line,ce+oe,ne)).add(new go.PathSegment(go.PathSegment.Line,ce-oe,ne)).add(new go.PathSegment(go.PathSegment.Line,ce-oe,he+oe)).add(new go.PathSegment(go.PathSegment.Line,0,he+oe)).add(new go.PathSegment(go.PathSegment.Line,0,he-oe)).add(new go.PathSegment(go.PathSegment.Line,ce-oe,he-oe).close()))}),go.Shape.setFigureParameter("ThinCross",0,new Pt("Thickness",10)),go.Shape.defineFigureGenerator("ThinCross",function(de,ee,ne){var le=de?de.parameter1:NaN;(isNaN(le)||le<0)&&(le=10);var oe=Math.min(le,ee)/2,ce=ee/2,he=ne/2;return new go.Geometry().add(new go.PathFigure(ce-oe,0,!0).add(new go.PathSegment(go.PathSegment.Line,ce+oe,0)).add(new go.PathSegment(go.PathSegment.Line,ce+oe,he-oe)).add(new go.PathSegment(go.PathSegment.Line,ee,he-oe)).add(new go.PathSegment(go.PathSegment.Line,ee,he+oe)).add(new go.PathSegment(go.PathSegment.Line,ce+oe,he+oe)).add(new go.PathSegment(go.PathSegment.Line,ce+oe,ne)).add(new go.PathSegment(go.PathSegment.Line,ce-oe,ne)).add(new go.PathSegment(go.PathSegment.Line,ce-oe,he+oe)).add(new go.PathSegment(go.PathSegment.Line,0,he+oe)).add(new go.PathSegment(go.PathSegment.Line,0,he-oe)).add(new go.PathSegment(go.PathSegment.Line,ce-oe,he-oe).close()))}),go.Shape.setFigureParameter("ThickX",0,new Pt("Thickness",30)),go.Shape.defineFigureGenerator("ThickX",function(de,ee,ne){var le=de?de.parameter1:NaN;if((isNaN(le)||le<0)&&(le=30),ee===0||ne===0){var oe=new go.Geometry(go.Geometry.Rectangle);return oe.startX=0,oe.startY=0,oe.endX=ee,oe.endY=ne,oe}else{var ce=ee/2,he=ne/2,ie=Math.atan2(ne,ee),ue=le-Math.min(Math.cos(ie)*le/2,ce),ge=le-Math.min(Math.sin(ie)*le/2,he),oe=new go.Geometry,xe=new go.PathFigure(ue,0,!0);return oe.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,ce,.2*ne)),xe.add(new go.PathSegment(go.PathSegment.Line,ee-ue,0)),xe.add(new go.PathSegment(go.PathSegment.Line,ee,ge)),xe.add(new go.PathSegment(go.PathSegment.Line,.8*ee,he)),xe.add(new go.PathSegment(go.PathSegment.Line,ee,ne-ge)),xe.add(new go.PathSegment(go.PathSegment.Line,ee-ue,ne)),xe.add(new go.PathSegment(go.PathSegment.Line,ce,.8*ne)),xe.add(new go.PathSegment(go.PathSegment.Line,ue,ne)),xe.add(new go.PathSegment(go.PathSegment.Line,0,ne-ge)),xe.add(new go.PathSegment(go.PathSegment.Line,.2*ee,he)),xe.add(new go.PathSegment(go.PathSegment.Line,0,ge).close()),oe}}),go.Shape.setFigureParameter("ThinX",0,new Pt("Thickness",10)),go.Shape.defineFigureGenerator("ThinX",function(de,ee,ne){var le=de?de.parameter1:NaN;(isNaN(le)||le<0)&&(le=10);var oe=new go.Geometry,ce=new go.PathFigure(.1*ee,0,!0);return oe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.4*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.9*ee,0)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,.1*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.6*ee,.5*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,.9*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.9*ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.6*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.1*ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,.9*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.4*ee,.5*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,.1*ne).close()),oe}),go.Shape.setFigureParameter("SquareIBeam",0,new Pt("BeamWidth",.2,.1,.9)),go.Shape.defineFigureGenerator("SquareIBeam",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=.2);var oe=new go.Geometry,ce=new go.PathFigure(0,0,!0);return oe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,0)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,le*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,(.5+le/2)*ee,le*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,(.5+le/2)*ee,(1-le)*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,(1-le)*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,(1-le)*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,(.5-le/2)*ee,(1-le)*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,(.5-le/2)*ee,le*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,le*ne).close()),oe}),go.Shape.setFigureParameter("RoundedIBeam",0,new Pt("Curviness",.5,.05,.65)),go.Shape.defineFigureGenerator("RoundedIBeam",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=.5);var oe=new go.Geometry,ce=new go.PathFigure(0,0,!0);return oe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,0)),ce.add(new go.PathSegment(go.PathSegment.Bezier,ee,ne,Math.abs(1-le)*ee,.25*ne,Math.abs(1-le)*ee,.75*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ce.add(new go.PathSegment(go.PathSegment.Bezier,0,0,le*ee,.75*ne,le*ee,.25*ne).close()),oe}),go.Shape.defineFigureGenerator("HalfEllipse",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,ee,.5*ne,ve*ee,0,ee,(.5-ve/2)*ne)).add(new go.PathSegment(go.PathSegment.Bezier,0,ne,ee,(.5+ve/2)*ne,ve*ee,ne).close())).setSpots(0,.156,.844,.844)}),go.Shape.defineFigureGenerator("Crescent",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,ne,ee,0,ee,ne)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.5*ee,.75*ne,.5*ee,.25*ne).close())).setSpots(.311,.266,.744,.744)}),go.Shape.defineFigureGenerator("Heart",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(.5*ee,ne,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,.3*ne,.1*ee,.8*ne,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,.3*ne,0,0,.45*ee,0)).add(new go.PathSegment(go.PathSegment.Bezier,ee,.3*ne,.55*ee,0,ee,0)).add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,ne,ee,.5*ne,.9*ee,.8*ne).close())).setSpots(.14,.29,.86,.78)}),go.Shape.defineFigureGenerator("Spade",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(.5*ee,0,!0).add(new go.PathSegment(go.PathSegment.Line,.51*ee,.01*ne)).add(new go.PathSegment(go.PathSegment.Bezier,ee,.5*ne,.6*ee,.2*ne,ee,.25*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.55*ee,.7*ne,ee,.8*ne,.6*ee,.8*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.75*ee,ne,.5*ee,.75*ne,.55*ee,.95*ne)).add(new go.PathSegment(go.PathSegment.Line,.25*ee,ne)).add(new go.PathSegment(go.PathSegment.Bezier,.45*ee,.7*ne,.45*ee,.95*ne,.5*ee,.75*ne)).add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ne,.4*ee,.8*ne,0,.8*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.49*ee,.01*ne,0,.25*ne,.4*ee,.2*ne).close())).setSpots(.14,.26,.86,.78)}),go.Shape.defineFigureGenerator("Club",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.4*ee,.6*ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,.15*ee,ne,.5*ee,.75*ne,.45*ee,.95*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.85*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.6*ee,.6*ne,.55*ee,.95*ne,.5*ee,.75*ne));var ce=.2,he=.3,ie=0,ue=ce*ve;return oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+he)*ee,(.5+ce+ie)*ne,(.5-ce+he)*ee,(.5+ue+ie)*ne,(.5-ue+he)*ee,(.5+ce+ie)*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+ce+he)*ee,(.5+ie)*ne,(.5+ue+he)*ee,(.5+ce+ie)*ne,(.5+ce+he)*ee,(.5+ue+ie)*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+he)*ee,(.5-ce+ie)*ne,(1-.5+ce+he)*ee,(.5-ue+ie)*ne,(.5+ue+he)*ee,(.5-ce+ie)*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.65*ee,.36771243*ne,(.5-ue+he)*ee,(.5-ce+ie)*ne,(.5-ce+he+.05)*ee,(.5-ue+ie-.02)*ne)),ce=.2,he=0,ie=-.3,ue=ce*ve,oe.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+ce+he)*ee,(.5+ie)*ne,(.5+ue+he)*ee,(.5+ce+ie)*ne,(.5+ce+he)*ee,(.5+ue+ie)*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+he)*ee,(.5-ce+ie)*ne,(1-.5+ce+he)*ee,(.5-ue+ie)*ne,(.5+ue+he)*ee,(.5-ce+ie)*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5-ce+he)*ee,(.5+ie)*ne,(.5-ue+he)*ee,(.5-ce+ie)*ne,(.5-ce+he)*ee,(.5-ue+ie)*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5-ue+he)*ee,(.5+ce+ie)*ne,(.5-ce+he)*ee,(.5+ue+ie)*ne,(.5-ue+he)*ee,(.5+ce+ie)*ne)),ce=.2,he=-.3,ie=0,ue=ce*ve,oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+he)*ee,(.5-ce+ie)*ne,(1-.5+ce+he-.05)*ee,(.5-ue+ie-.02)*ne,(.5+ue+he)*ee,(.5-ce+ie)*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5-ce+he)*ee,(.5+ie)*ne,(.5-ue+he)*ee,(.5-ce+ie)*ne,(.5-ce+he)*ee,(.5-ue+ie)*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,(.5+he)*ee,(.5+ce+ie)*ne,(.5-ce+he)*ee,(.5+ue+ie)*ne,(.5-ue+he)*ee,(.5+ce+ie)*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.4*ee,.6*ne,(.5+ue+he)*ee,(.5+ce+ie)*ne,(.5+ce+he)*ee,(.5+ue+ie)*ne).close()),le.setSpots(.06,.33,.93,.68),le}),go.Shape.defineFigureGenerator("YinYang",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee*.5,0,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Arc,270,180,ee*.5,ee*.5,ee*.5,ee*.5)),oe.add(new go.PathSegment(go.PathSegment.Arc,90,-180,ee*.5,ee*.75,ee*.25,ee*.25)),oe.add(new go.PathSegment(go.PathSegment.Arc,90,180,ee*.5,ee*.25,ee*.25,ee*.25));var ce=.1,he=.5,ie=.25;return oe.add(new go.PathSegment(go.PathSegment.Move,(he+ce)*ee,ie*ne)),oe.add(new go.PathSegment(go.PathSegment.Arc,0,-360,ee*he,ne*ie,ce*ee,ce*ee).close()),oe=new go.PathFigure(ee*.5,0,!1),le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Arc,270,-180,ee*.5,ee*.5,ee*.5,ee*.5)),ie=.75,oe=new go.PathFigure((he+ce)*ee,ie*ne,!0),le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Arc,0,360,ee*he,ne*ie,ce*ee,ce*ee).close()),le.defaultStretch=go.GraphObject.Uniform,le}),go.Shape.defineFigureGenerator("Peace",function(de,ee,ne){var le=.8535533905932737,oe=.5*ee,ce=.5*ne;return new go.Geometry().add(new go.PathFigure(oe,0,!1).add(new go.PathSegment(go.PathSegment.Arc,270,360,oe,ce,oe,ce)).add(new go.PathSegment(go.PathSegment.Line,oe,ne)).add(new go.PathSegment(go.PathSegment.Move,oe,ce)).add(new go.PathSegment(go.PathSegment.Line,(1-le)*ee,le*ne)).add(new go.PathSegment(go.PathSegment.Move,oe,ce)).add(new go.PathSegment(go.PathSegment.Line,le*ee,le*ne)))}),go.Shape.defineFigureGenerator("NotAllowed",function(de,ee,ne){var le=new go.Geometry,oe=ve*.5,ce=.5,he=.5,ie=.5,ue=new go.PathFigure(he*ee,(ie-ce)*ne);le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he-ce)*ee,ie*ne,(he-oe)*ee,(ie-ce)*ne,(he-ce)*ee,(ie-oe)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie+ce)*ne,(he-ce)*ee,(ie+oe)*ne,(he-oe)*ee,(ie+ce)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he+ce)*ee,ie*ne,(he+oe)*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie-ce)*ne,(he+ce)*ee,(ie-oe)*ne,(he+oe)*ee,(ie-ce)*ne)),ce=.4,oe=ve*.4;var ge=_e(),xe=_e(),Me=_e(),Be=_e();be(he,ie-ce,he+oe,ie-ce,he+ce,ie-oe,he+ce,ie,.42,ge,xe,Me,Be,Be);var Ne=_e(),Ue=_e(),Ge=_e();be(he,ie-ce,he+oe,ie-ce,he+ce,ie-oe,he+ce,ie,.58,Be,Be,Ge,Ne,Ue);var Xe=_e(),Ye=_e(),nt=_e();be(he,ie+ce,he-oe,ie+ce,he-ce,ie+oe,he-ce,ie,.42,Xe,Ye,nt,Be,Be);var $e=_e(),qe=_e(),st=_e();return be(he,ie+ce,he-oe,ie+ce,he-ce,ie+oe,he-ce,ie,.58,Be,Be,st,$e,qe),ue.add(new go.PathSegment(go.PathSegment.Move,st.x*ee,st.y*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he-ce)*ee,ie*ne,$e.x*ee,$e.y*ne,qe.x*ee,qe.y*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie-ce)*ne,(he-ce)*ee,(ie-oe)*ne,(he-oe)*ee,(ie-ce)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,Me.x*ee,Me.y*ne,ge.x*ee,ge.y*ne,xe.x*ee,xe.y*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,st.x*ee,st.y*ne).close()),ue.add(new go.PathSegment(go.PathSegment.Move,nt.x*ee,nt.y*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,Ge.x*ee,Ge.y*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he+ce)*ee,ie*ne,Ne.x*ee,Ne.y*ne,Ue.x*ee,Ue.y*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne,(he+oe)*ee,(ie+ce)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,nt.x*ee,nt.y*ne,Xe.x*ee,Xe.y*ne,Ye.x*ee,Ye.y*ne).close()),Ve(ge),Ve(xe),Ve(Me),Ve(Be),Ve(Ne),Ve(Ue),Ve(Ge),Ve(Xe),Ve(Ye),Ve(nt),Ve($e),Ve(qe),Ve(st),le.defaultStretch=go.GraphObject.Uniform,le}),go.Shape.defineFigureGenerator("Fragile",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.25*ee,0)).add(new go.PathSegment(go.PathSegment.Line,.2*ee,.15*ne)).add(new go.PathSegment(go.PathSegment.Line,.3*ee,.25*ne)).add(new go.PathSegment(go.PathSegment.Line,.29*ee,.33*ne)).add(new go.PathSegment(go.PathSegment.Line,.35*ee,.25*ne)).add(new go.PathSegment(go.PathSegment.Line,.3*ee,.15*ne)).add(new go.PathSegment(go.PathSegment.Line,.4*ee,0)).add(new go.PathSegment(go.PathSegment.Line,ee,0)).add(new go.PathSegment(go.PathSegment.Bezier,.55*ee,.5*ne,ee,.25*ne,.75*ee,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,.55*ee,.9*ne)).add(new go.PathSegment(go.PathSegment.Line,.7*ee,.9*ne)).add(new go.PathSegment(go.PathSegment.Line,.7*ee,ne)).add(new go.PathSegment(go.PathSegment.Line,.3*ee,ne)).add(new go.PathSegment(go.PathSegment.Line,.3*ee,.9*ne)).add(new go.PathSegment(go.PathSegment.Line,.45*ee,.9*ne)).add(new go.PathSegment(go.PathSegment.Line,.45*ee,.5*ne)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*ee,.5*ne,0,.25*ne).close()))}),go.Shape.setFigureParameter("HourGlass",0,new Pt("Thickness",30)),go.Shape.defineFigureGenerator("HourGlass",function(de,ee,ne){var le=de?de.parameter1:NaN;(isNaN(le)||le<0)&&(le=30),le>ee&&(le=ee);var oe=(ee-le)/2,ce=oe+le;return new go.Geometry().add(new go.PathFigure(ce,.5*ne).add(new go.PathSegment(go.PathSegment.Line,ee,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne)).add(new go.PathSegment(go.PathSegment.Line,oe,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,0,0)).add(new go.PathSegment(go.PathSegment.Line,ee,0).close()))}),go.Shape.defineFigureGenerator("Lightning",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,.55*ne).add(new go.PathSegment(go.PathSegment.Line,.6*ee,0)).add(new go.PathSegment(go.PathSegment.Line,.3*ee,.45*ne)).add(new go.PathSegment(go.PathSegment.Line,ee,.45*ne)).add(new go.PathSegment(go.PathSegment.Line,.4*ee,ne)).add(new go.PathSegment(go.PathSegment.Line,.7*ee,.55*ne).close()))}),go.Shape.defineFigureGenerator("GenderMale",function(de,ee,ne){var le=new go.Geometry,oe=ve*.4,ce=.4,he=.5,ie=.5,ue=_e(),ge=_e(),xe=_e(),Me=_e(),Be=new go.PathFigure((he-ce)*ee,ie*ne,!1);le.add(Be),Be.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie-ce)*ne,(he-ce)*ee,(ie-oe)*ne,(he-oe)*ee,(ie-ce)*ne)),be(he,ie-ce,he+oe,ie-ce,he+ce,ie-oe,he+ce,ie,.44,xe,Me,ge,ue,ue),Be.add(new go.PathSegment(go.PathSegment.Bezier,ge.x*ee,ge.y*ne,xe.x*ee,xe.y*ne,Me.x*ee,Me.y*ne));var Ne=Oe(ge.x,ge.y);be(he,ie-ce,he+oe,ie-ce,he+ce,ie-oe,he+ce,ie,.56,ue,ue,ge,xe,Me);var Ue=Oe(ge.x,ge.y);Be.add(new go.PathSegment(go.PathSegment.Line,(Ne.x*.1+.95*.9)*ee,Ne.y*.1*ne)),Be.add(new go.PathSegment(go.PathSegment.Line,.85*ee,Ne.y*.1*ne)),Be.add(new go.PathSegment(go.PathSegment.Line,.85*ee,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ee,0)),Be.add(new go.PathSegment(go.PathSegment.Line,ee,.15*ne)),Be.add(new go.PathSegment(go.PathSegment.Line,(Ue.x*.1+.9)*ee,.15*ne)),Be.add(new go.PathSegment(go.PathSegment.Line,(Ue.x*.1+.9)*ee,(Ue.y*.1+.05*.9)*ne)),Be.add(new go.PathSegment(go.PathSegment.Line,Ue.x*ee,Ue.y*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(he+ce)*ee,ie*ne,xe.x*ee,xe.y*ne,Me.x*ee,Me.y*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne,(he+oe)*ee,(ie+ce)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(he-ce)*ee,ie*ne,(he-oe)*ee,(ie+ce)*ne,(he-ce)*ee,(ie+oe)*ne)),ce=.35,oe=ve*.35;var Ge=new go.PathFigure(he*ee,(ie-ce)*ne,!1);le.add(Ge),Ge.add(new go.PathSegment(go.PathSegment.Bezier,(he-ce)*ee,ie*ne,(he-oe)*ee,(ie-ce)*ne,(he-ce)*ee,(ie-oe)*ne)),Ge.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie+ce)*ne,(he-ce)*ee,(ie+oe)*ne,(he-oe)*ee,(ie+ce)*ne)),Ge.add(new go.PathSegment(go.PathSegment.Bezier,(he+ce)*ee,ie*ne,(he+oe)*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne)),Ge.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie-ce)*ne,(he+ce)*ee,(ie-oe)*ne,(he+oe)*ee,(ie-ce)*ne));var Xe=new go.PathFigure((he-ce)*ee,ie*ne,!1);return le.add(Xe),Ve(ue),Ve(ge),Ve(xe),Ve(Me),Ve(Ne),Ve(Ue),le.spot1=new go.Spot(.202,.257),le.spot2=new go.Spot(.792,.739),le.defaultStretch=go.GraphObject.Uniform,le}),go.Shape.defineFigureGenerator("GenderFemale",function(de,ee,ne){var le=new go.Geometry,oe=.375,ce=0,he=-.125,ie=oe*ve,ue=new go.PathFigure((.525+ce)*ee,(.5+oe+he)*ne,!1);le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+oe+ce)*ee,(.5+he)*ne,(.5+ie+ce)*ee,(.5+oe+he)*ne,(.5+oe+ce)*ee,(.5+ie+he)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ce)*ee,(.5-oe+he)*ne,(1-.5+oe+ce)*ee,(.5-ie+he)*ne,(.5+ie+ce)*ee,(.5-oe+he)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(.5-oe+ce)*ee,(.5+he)*ne,(.5-ie+ce)*ee,(.5-oe+he)*ne,(.5-oe+ce)*ee,(.5-ie+he)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(.475+ce)*ee,(.5+oe+he)*ne,(.5-oe+ce)*ee,(.5+ie+he)*ne,(.5-ie+ce)*ee,(.5+oe+he)*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.475*ee,.85*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.425*ee,.85*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.425*ee,.9*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.475*ee,.9*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.475*ee,ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.525*ee,ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.525*ee,.9*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.575*ee,.9*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.575*ee,.85*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.525*ee,.85*ne).close()),oe=.325,ce=0,he=-.125,ie=oe*ve;var ue=new go.PathFigure((1-.5+oe+ce)*ee,(.5+he)*ne,!1);le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ce)*ee,(.5+oe+he)*ne,(.5+oe+ce)*ee,(.5+ie+he)*ne,(.5+ie+ce)*ee,(.5+oe+he)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(.5-oe+ce)*ee,(.5+he)*ne,(.5-ie+ce)*ee,(.5+oe+he)*ne,(.5-oe+ce)*ee,(.5+ie+he)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ce)*ee,(.5-oe+he)*ne,(.5-oe+ce)*ee,(.5-ie+he)*ne,(.5-ie+ce)*ee,(.5-oe+he)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+oe+ce)*ee,(.5+he)*ne,(.5+ie+ce)*ee,(.5-oe+he)*ne,(1-.5+oe+ce)*ee,(.5-ie+he)*ne));var ue=new go.PathFigure((.525+ce)*ee,(.5+oe+he)*ne,!1);return le.add(ue),le.spot1=new go.Spot(.232,.136),le.spot2=new go.Spot(.682,.611),le.defaultStretch=go.GraphObject.Uniform,le}),go.Shape.defineFigureGenerator("LogicImplies",function(de,ee,ne){var le=de?de.parameter1:NaN;return isNaN(le)&&(le=.2),new go.Geometry().add(new go.PathFigure((1-le)*ee,0,!1).add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,(1-le)*ee,ne)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne))).setSpots(0,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicIff",function(de,ee,ne){var le=de?de.parameter1:NaN;return isNaN(le)&&(le=.2),new go.Geometry().add(new go.PathFigure((1-le)*ee,0,!1).add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,(1-le)*ee,ne)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)).add(new go.PathSegment(go.PathSegment.Move,le*ee,0)).add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,le*ee,ne))).setSpots(.2,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicNot",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,ee,0)).add(new go.PathSegment(go.PathSegment.Line,ee,ne)))}),go.Shape.defineFigureGenerator("LogicAnd",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,ne,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ee,0)).add(new go.PathSegment(go.PathSegment.Line,ee,ne))).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("LogicOr",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)).add(new go.PathSegment(go.PathSegment.Line,ee,0))).setSpots(.219,0,.78,.409)}),go.Shape.defineFigureGenerator("LogicXor",function(de,ee,ne){var le=new go.Geometry().add(new go.PathFigure(.5*ee,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)).add(new go.PathSegment(go.PathSegment.Arc,0,360,.5*ee,.5*ne,.5*ee,.5*ne)));return le.defaultStretch=go.GraphObject.Uniform,le}),go.Shape.defineFigureGenerator("LogicTruth",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,ee,0)).add(new go.PathSegment(go.PathSegment.Move,.5*ee,0)).add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)))}),go.Shape.defineFigureGenerator("LogicFalsity",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,ne,!1).add(new go.PathSegment(go.PathSegment.Line,ee,ne)).add(new go.PathSegment(go.PathSegment.Move,.5*ee,ne)).add(new go.PathSegment(go.PathSegment.Line,.5*ee,0)))}),go.Shape.defineFigureGenerator("LogicThereExists",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,ee,0)).add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Move,ee,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,ee,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne)))}),go.Shape.defineFigureGenerator("LogicForAll",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)).add(new go.PathSegment(go.PathSegment.Line,ee,0)).add(new go.PathSegment(go.PathSegment.Move,.25*ee,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,.75*ee,.5*ne))).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("LogicIsDefinedAs",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,ee,0)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ne)).add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)).add(new go.PathSegment(go.PathSegment.Move,0,ne)).add(new go.PathSegment(go.PathSegment.Line,ee,ne))).setSpots(.01,.01,.99,.49)}),go.Shape.defineFigureGenerator("LogicIntersect",function(de,ee,ne){var le=.5;return new go.Geometry().add(new go.PathFigure(0,ne,!1).add(new go.PathSegment(go.PathSegment.Line,0,le*ne)).add(new go.PathSegment(go.PathSegment.Arc,180,180,le*ee,le*ne,le*ee,le*ne)).add(new go.PathSegment(go.PathSegment.Line,ee,ne))).setSpots(0,.5,1,1)}),go.Shape.defineFigureGenerator("LogicUnion",function(de,ee,ne){var le=.5;return new go.Geometry().add(new go.PathFigure(ee,0,!1).add(new go.PathSegment(go.PathSegment.Line,ee,le*ne)).add(new go.PathSegment(go.PathSegment.Arc,0,180,le*ee,le*ne,le*ee,le*ne)).add(new go.PathSegment(go.PathSegment.Line,0,0))).setSpots(0,0,1,.5)}),go.Shape.setFigureParameter("Arrow",0,new Pt("ArrowheadWidth",.3,.01,.99)),go.Shape.setFigureParameter("Arrow",1,new Pt("TailHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("Arrow",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=.3);var oe=de?de.parameter2:NaN;isNaN(oe)&&(oe=.3);var ce=(1-le)*ee,he=(.5-oe/2)*ne,ie=(.5+oe/2)*ne,ue=new go.Geometry,ge=new go.PathFigure(0,he,!0);ue.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,ce,he)),ge.add(new go.PathSegment(go.PathSegment.Line,ce,0)),ge.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,ce,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,ce,ie)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ie).close()),ue.spot1=new go.Spot(0,he/ne);var xe=Re(0,ie/ne,1,ie/ne,ce/ee,1,1,.5,_e());return ue.spot2=new go.Spot(xe.x,xe.y),Ve(xe),ue}),go.Shape.setFigureParameter("Arrow2",0,new Pt("ArrowheadWidth",30)),go.Shape.setFigureParameter("Arrow2",0,new Pt("TailHeight",30)),go.Shape.defineFigureGenerator("Arrow2",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=30),le>ee&&(le=ee);var oe=de?de.parameter2:NaN;isNaN(oe)&&(oe=30),oe=Math.min(oe,ne/2);var ce=ee-le,he=(ne-oe)/2,ie=he+oe,ue=new go.Geometry,ge=new go.PathFigure(0,he,!0);ue.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,ce,he)),ge.add(new go.PathSegment(go.PathSegment.Line,ce,0)),ge.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,ce,ne)),ge.add(new go.PathSegment(go.PathSegment.Line,ce,ie)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ie).close()),ue.spot1=new go.Spot(0,he/ne);var xe=Re(0,ie/ne,1,ie/ne,ce/ee,1,1,.5,_e());return ue.spot2=new go.Spot(xe.x,xe.y),Ve(xe),ue}),go.Shape.defineFigureGenerator("Chevron",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.5*ne).close()),le}),go.Shape.defineFigureGenerator("DoubleArrow",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.3*ee,.214*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.3*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,1*ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.3*ee,1*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.3*ee,.786*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,1*ne).close()),le}),go.Shape.setFigureParameter("DoubleEndArrow",0,new Pt("ConnecterHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("DoubleEndArrow",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=.3);var oe=(.5-le/2)*ne,ce=(.5+le/2)*ne,he=new go.Geometry,ie=new go.PathFigure(ee,.5*ne,!0);he.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,.7*ee,ne)),ie.add(new go.PathSegment(go.PathSegment.Line,.7*ee,ce)),ie.add(new go.PathSegment(go.PathSegment.Line,.3*ee,ce)),ie.add(new go.PathSegment(go.PathSegment.Line,.3*ee,ne)),ie.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)),ie.add(new go.PathSegment(go.PathSegment.Line,.3*ee,0)),ie.add(new go.PathSegment(go.PathSegment.Line,.3*ee,oe)),ie.add(new go.PathSegment(go.PathSegment.Line,.7*ee,oe)),ie.add(new go.PathSegment(go.PathSegment.Line,.7*ee,0).close());var ue=Re(0,.5,.3,0,0,oe/ne,.1,oe/ne,_e());return he.spot1=new go.Spot(ue.x,ue.y),ue=Re(.7,1,1,.5,0,ce/ne,1,ce/ne,ue),he.spot2=new go.Spot(ue.x,ue.y),Ve(ue),he}),go.Shape.setFigureParameter("DoubleEndArrow2",0,new Pt("ConnecterHeight",40)),go.Shape.setFigureParameter("DoubleEndArrow2",1,new Pt("ArrowHeight",100)),go.Shape.defineFigureGenerator("DoubleEndArrow2",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=40);var oe=de?de.parameter2:NaN;isNaN(oe)&&(oe=100);var ce=(ne-le)/2,he=ce+le,ie=(ne-oe)/2,ue=ie+oe;(le>ne||oe>ne)&&(oe>le?(le=le*ne/oe,ce=(ne-le)/2,he=ce+le,ie=0,ue=ne):(ce=0,he=ne,ie=0,ue=ne));var ge=new go.Geometry,xe=new go.PathFigure(ee,.5*ne,!0);ge.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,.7*ee,ue)),xe.add(new go.PathSegment(go.PathSegment.Line,.7*ee,he)),xe.add(new go.PathSegment(go.PathSegment.Line,.3*ee,he)),xe.add(new go.PathSegment(go.PathSegment.Line,.3*ee,ue)),xe.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)),xe.add(new go.PathSegment(go.PathSegment.Line,.3*ee,ie)),xe.add(new go.PathSegment(go.PathSegment.Line,.3*ee,ce)),xe.add(new go.PathSegment(go.PathSegment.Line,.7*ee,ce)),xe.add(new go.PathSegment(go.PathSegment.Line,.7*ee,ie).close());var Me=Re(0,.5,.3,ie/ne,0,ce/ne,1,ce/ne,_e());return ge.spot1=new go.Spot(Me.x,Me.y),Me=Re(.7,ue/ne,1,.5,0,he/ne,1,he/ne,Me),ge.spot2=new go.Spot(Me.x,Me.y),Ve(Me),ge}),go.Shape.setFigureParameter("IBeamArrow",0,new Pt("ConnectorHeight",.7,.51,.97)),go.Shape.defineFigureGenerator("IBeamArrow",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=.3);var oe=(.5-le/2)*ne,ce=(.5+le/2)*ne,he=new go.Geometry,ie=new go.PathFigure(ee,.5*ne,!0);he.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,.7*ee,ne)),ie.add(new go.PathSegment(go.PathSegment.Line,.7*ee,ce)),ie.add(new go.PathSegment(go.PathSegment.Line,.2*ee,ce)),ie.add(new go.PathSegment(go.PathSegment.Line,.2*ee,ne)),ie.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ie.add(new go.PathSegment(go.PathSegment.Line,0,0)),ie.add(new go.PathSegment(go.PathSegment.Line,.2*ee,0)),ie.add(new go.PathSegment(go.PathSegment.Line,.2*ee,oe)),ie.add(new go.PathSegment(go.PathSegment.Line,.7*ee,oe)),ie.add(new go.PathSegment(go.PathSegment.Line,.7*ee,0).close()),he.spot1=new go.Spot(0,oe/ne);var ue=Re(.7,1,1,.5,0,ce/ne,1,ce/ne,_e());return he.spot2=new go.Spot(ue.x,ue.y),Ve(ue),he}),go.Shape.setFigureParameter("IBeamArrow2",0,new Pt("ConnectorHeight",40)),go.Shape.setFigureParameter("IBeamArrow2",1,new Pt("BeamArrowHeight",100)),go.Shape.defineFigureGenerator("IBeamArrow2",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=40);var oe=de?de.parameter2:NaN;isNaN(oe)&&(oe=100);var ce=(ne-le)/2,he=ce+le,ie=(ne-oe)/2,ue=ie+oe;(le>ne||oe>ne)&&(oe>le?(le=le*ne/oe,ce=(ne-le)/2,he=ce+le,ie=0,ue=ne):(ce=0,he=ne,ie=0,ue=ne));var ge=new go.Geometry,xe=new go.PathFigure(ee,.5*ne,!0);ge.add(xe),xe.add(new go.PathSegment(go.PathSegment.Line,.7*ee,ue)),xe.add(new go.PathSegment(go.PathSegment.Line,.7*ee,he)),xe.add(new go.PathSegment(go.PathSegment.Line,.2*ee,he)),xe.add(new go.PathSegment(go.PathSegment.Line,.2*ee,ue)),xe.add(new go.PathSegment(go.PathSegment.Line,0,ue)),xe.add(new go.PathSegment(go.PathSegment.Line,0,ie)),xe.add(new go.PathSegment(go.PathSegment.Line,.2*ee,ie)),xe.add(new go.PathSegment(go.PathSegment.Line,.2*ee,ce)),xe.add(new go.PathSegment(go.PathSegment.Line,.7*ee,ce)),xe.add(new go.PathSegment(go.PathSegment.Line,.7*ee,ie).close()),ge.spot1=new go.Spot(0,ce/ne);var Me=Re(.7,ue/ne,1,.5,0,he/ne,1,he/ne,_e());return ge.spot2=new go.Spot(Me.x,Me.y),Ve(Me),ge}),go.Shape.setFigureParameter("Pointer",0,new Pt("BackPoint",.1,0,.2)),go.Shape.defineFigureGenerator("Pointer",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=.1);var oe=new go.Geometry,ce=new go.PathFigure(ee,.5*ne,!0);oe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,le*ee,.5*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,0).close()),oe.spot1=new go.Spot(le,.35);var he=Re(.2,.65,1,.65,0,1,1,.5,_e());return oe.spot2=new go.Spot(he.x,he.y),Ve(he),oe}),go.Shape.setFigureParameter("RoundedPointer",0,new Pt("RoundedEdge",.3,0,.5)),go.Shape.defineFigureGenerator("RoundedPointer",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=.3);var oe=new go.Geometry,ce=new go.PathFigure(ee,.5*ne,!0);oe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ce.add(new go.PathSegment(go.PathSegment.Bezier,0,0,le*ee,.75*ne,le*ee,.25*ne).close()),oe.spot1=new go.Spot(le,.35);var he=Re(0,.65,1,.65,0,1,1,.5,_e());return oe.spot2=new go.Spot(he.x,he.y),Ve(he),oe}),go.Shape.setFigureParameter("SplitEndArrow",0,new Pt("TailHeight",.4,.01,.99)),go.Shape.defineFigureGenerator("SplitEndArrow",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=.4);var oe=(.5-le/2)*ne,ce=(.5+le/2)*ne,he=new go.Geometry,ie=new go.PathFigure(ee,.5*ne,!0);he.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,.7*ee,ne)),ie.add(new go.PathSegment(go.PathSegment.Line,.7*ee,ce)),ie.add(new go.PathSegment(go.PathSegment.Line,0,ce)),ie.add(new go.PathSegment(go.PathSegment.Line,.2*ee,.5*ne)),ie.add(new go.PathSegment(go.PathSegment.Line,0,oe)),ie.add(new go.PathSegment(go.PathSegment.Line,.7*ee,oe)),ie.add(new go.PathSegment(go.PathSegment.Line,.7*ee,0).close()),he.spot1=new go.Spot(.2,.3);var ue=Re(.7,1,1,.5,0,ce/ne,1,ce/ne,_e());return he.spot2=new go.Spot(ue.x,ue.y),Ve(ue),he}),go.Shape.setFigureParameter("SplitEndArrow2",0,new Pt("TailThickness",50)),go.Shape.defineFigureGenerator("SplitEndArrow2",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=50);var oe=(ne-le)/2,ce=oe+le;le>ne&&(oe=0,ce=ne);var he=new go.Geometry,ie=new go.PathFigure(ee,.5*ne,!0);he.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,.7*ee,ne)),ie.add(new go.PathSegment(go.PathSegment.Line,.7*ee,ce)),ie.add(new go.PathSegment(go.PathSegment.Line,0,ce)),ie.add(new go.PathSegment(go.PathSegment.Line,.2*ee,.5*ne)),ie.add(new go.PathSegment(go.PathSegment.Line,0,oe)),ie.add(new go.PathSegment(go.PathSegment.Line,.7*ee,oe)),ie.add(new go.PathSegment(go.PathSegment.Line,.7*ee,0).close()),he.spot1=new go.Spot(.2,oe/ne);var ue=Re(.7,1,1,.5,0,ce/ne,1,ce/ne,_e());return he.spot2=new go.Spot(ue.x,ue.y),Ve(ue),he}),go.Shape.setFigureParameter("SquareArrow",0,new Pt("ArrowPoint",.7,.2,.9)),go.Shape.defineFigureGenerator("SquareArrow",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=.7);var oe=new go.Geometry,ce=new go.PathFigure(ee,.5*ne,!0);return oe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,le*ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,0)),ce.add(new go.PathSegment(go.PathSegment.Line,le*ee,0).close()),oe.spot1=go.Spot.TopLeft,oe.spot2=new go.Spot(le,1),oe}),go.Shape.defineFigureGenerator("Cone1",function(de,ee,ne){var le=new go.Geometry,oe=ve*.5,ce=ve*.1,he=new go.PathFigure(0,.9*ne,!0);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,.5*ee,0)),he.add(new go.PathSegment(go.PathSegment.Line,ee,.9*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,ne,ee,(.9+ce)*ne,(.5+oe)*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ne,(.5-oe)*ee,ne,0,(.9+ce)*ne).close()),le.spot1=new go.Spot(.25,.5),le.spot2=new go.Spot(.75,.97),le}),go.Shape.defineFigureGenerator("Cone2",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,.9*ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee,.9*ne,(1-.85/.9)*ee,ne,.85/.9*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.9*ne).close());var ce=new go.PathFigure(0,.9*ne,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Bezier,ee,.9*ne,(1-.85/.9)*ee,.8*ne,.85/.9*ee,.8*ne)),le.spot1=new go.Spot(.25,.5),le.spot2=new go.Spot(.75,.82),le}),go.Shape.defineFigureGenerator("Cube1",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.5*ee,ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.85*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.15*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.15*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.85*ne).close());var ce=new go.PathFigure(.5*ee,ne,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.3*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,.15*ne)),ce.add(new go.PathSegment(go.PathSegment.Move,.5*ee,.3*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,.15*ne)),le.spot1=new go.Spot(0,.3),le.spot2=new go.Spot(.5,.85),le}),go.Shape.defineFigureGenerator("Cube2",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,.3*ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.7*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.3*ee,0).close());var ce=new go.PathFigure(0,.3*ne,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ee,.3*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,0)),ce.add(new go.PathSegment(go.PathSegment.Move,.7*ee,.3*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ee,ne)),le.spot1=new go.Spot(0,.3),le.spot2=new go.Spot(.7,1),le}),go.Shape.defineFigureGenerator("Cylinder1",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=5),le=Math.min(le,ne/3);var oe=new go.Geometry,ce=ve*.5,he=new go.PathFigure(0,le,!0);oe.add(he),he.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,0,0,ve*le,(.5-ce)*ee,0)),he.add(new go.PathSegment(go.PathSegment.Bezier,1*ee,le,(.5+ce)*ee,0,1*ee,ve*le)),he.add(new go.PathSegment(go.PathSegment.Line,ee,ne-le)),he.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,1*ne,1*ee,ne-ve*le,(.5+ce)*ee,1*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,0,ne-le,(.5-ce)*ee,1*ne,0,ne-ve*le)),he.add(new go.PathSegment(go.PathSegment.Line,0,le));var ie=new go.PathFigure(ee,le,!1);return oe.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,2*le,1*ee,2*le-ve*le,(.5+ce)*ee,2*le)),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,le,(.5-ce)*ee,2*le,0,2*le-ve*le)),oe.spot1=new go.Spot(0,0,0,2*le),oe.spot2=new go.Spot(1,1),oe}),go.Shape.defineFigureGenerator("Cylinder2",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=5),le=Math.min(le,ne/3);var oe=new go.Geometry,ce=ve*.5,he=new go.PathFigure(0,ne-le,!0);oe.add(he),he.add(new go.PathSegment(go.PathSegment.Line,0,le)),he.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,0,0,ve*le,(.5-ce)*ee,0)),he.add(new go.PathSegment(go.PathSegment.Bezier,ee,le,(.5+ce)*ee,0,ee,ve*le)),he.add(new go.PathSegment(go.PathSegment.Line,ee,ne-le)),he.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,ne,ee,ne-ve*le,(.5+ce)*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,0,ne-le,(.5-ce)*ee,ne,0,ne-ve*le));var ie=new go.PathFigure(0,ne-le,!1);return oe.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,ne-2*le,0,ne-le-ve*le,(.5-ce)*ee,ne-2*le)),ie.add(new go.PathSegment(go.PathSegment.Bezier,ee,ne-le,(.5+ce)*ee,ne-2*le,ee,ne-le-ve*le)),oe.spot1=new go.Spot(0,0),oe.spot2=new go.Spot(1,1,0,-2*le),oe}),go.Shape.defineFigureGenerator("Cylinder3",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=5),le=Math.min(le,ee/3);var oe=new go.Geometry,ce=ve*.5,he=new go.PathFigure(le,0,!0);oe.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee-le,0)),he.add(new go.PathSegment(go.PathSegment.Bezier,ee,.5*ne,ee-ve*le,0,ee,(.5-ce)*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,ee-le,ne,ee,(.5+ce)*ne,ee-ve*le,ne)),he.add(new go.PathSegment(go.PathSegment.Line,le,ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ne,ve*le,ne,0,(.5+ce)*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,le,0,0,(.5-ce)*ne,ve*le,0));var ie=new go.PathFigure(le,0,!1);return oe.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,2*le,.5*ne,le+ve*le,0,2*le,(.5-ce)*ne)),ie.add(new go.PathSegment(go.PathSegment.Bezier,le,ne,2*le,(.5+ce)*ne,le+ve*le,ne)),oe.spot1=new go.Spot(0,0,2*le,0),oe.spot2=new go.Spot(1,1),oe}),go.Shape.defineFigureGenerator("Cylinder4",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=5),le=Math.min(le,ee/3);var oe=new go.Geometry,ce=ve*.5,he=new go.PathFigure(ee-le,0,!0);oe.add(he),he.add(new go.PathSegment(go.PathSegment.Bezier,ee,.5*ne,ee-ve*le,0,ee,(.5-ce)*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,ee-le,ne,ee,(.5+ce)*ne,ee-ve*le,ne)),he.add(new go.PathSegment(go.PathSegment.Line,le,ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ne,ve*le,ne,0,(.5+ce)*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,le,0,0,(.5-ce)*ne,ve*le,0)),he.add(new go.PathSegment(go.PathSegment.Line,ee-le,0));var ie=new go.PathFigure(ee-le,0,!1);return oe.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,ee-2*le,.5*ne,ee-le-ve*le,0,ee-2*le,(.5-ce)*ne)),ie.add(new go.PathSegment(go.PathSegment.Bezier,ee-le,ne,ee-2*le,(.5+ce)*ne,ee-le-ve*le,ne)),oe.spot1=new go.Spot(0,0),oe.spot2=new go.Spot(1,1,-2*le,0),oe}),go.Shape.defineFigureGenerator("Prism1",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.25*ee,.25*ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.75*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var ce=new go.PathFigure(.25*ee,.25*ne,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)),le.spot1=new go.Spot(.408,.172),le.spot2=new go.Spot(.833,.662),le}),go.Shape.defineFigureGenerator("Prism2",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,.25*ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.75*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.25*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.75*ee,.75*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var ce=new go.PathFigure(0,ne,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.25*ee,.5*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,.25*ne)),ce.add(new go.PathSegment(go.PathSegment.Move,0,.25*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.25*ee,.5*ne)),le.spot1=new go.Spot(.25,.5),le.spot2=new go.Spot(.75,.75),le}),go.Shape.defineFigureGenerator("Pyramid1",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.5*ee,0,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.75*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.75*ne).close());var ce=new go.PathFigure(.5*ee,0,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)),le.spot1=new go.Spot(.25,.367),le.spot2=new go.Spot(.75,.875),le}),go.Shape.defineFigureGenerator("Pyramid2",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.5*ee,0,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.85*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.85*ne).close());var ce=new go.PathFigure(.5*ee,0,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.7*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,.85*ne)),ce.add(new go.PathSegment(go.PathSegment.Move,.5*ee,.7*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,.85*ne)),le.spot1=new go.Spot(.25,.367),le.spot2=new go.Spot(.75,.875),le}),go.Shape.defineFigureGenerator("Actor",function(de,ee,ne){var le=new go.Geometry,oe=.2,ce=.1,he=ve*oe,ie=ve*ce,ue=.5,ge=.1,xe=new go.PathFigure(ue*ee,(ge+ce)*ne,!0);le.add(xe),xe.add(new go.PathSegment(go.PathSegment.Bezier,(ue-oe)*ee,ge*ne,(ue-he)*ee,(ge+ce)*ne,(ue-oe)*ee,(ge+ie)*ne)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee,(ge-ce)*ne,(ue-oe)*ee,(ge-ie)*ne,(ue-he)*ee,(ge-ce)*ne)),xe.add(new go.PathSegment(go.PathSegment.Bezier,(ue+oe)*ee,ge*ne,(ue+he)*ee,(ge-ce)*ne,(ue+oe)*ee,(ge-ie)*ne)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee,(ge+ce)*ne,(ue+oe)*ee,(ge+ie)*ne,(ue+he)*ee,(ge+ce)*ne));var Me=.05,Be=ve*Me;ue=.05,ge=.25;var Ne=new go.PathFigure(.5*ee,.2*ne,!0);return le.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.95*ee,.2*ne)),ue=.95,ge=.25,Ne.add(new go.PathSegment(go.PathSegment.Bezier,(ue+Me)*ee,ge*ne,(ue+Be)*ee,(ge-Me)*ne,(ue+Me)*ee,(ge-Be)*ne)),Ne.add(new go.PathSegment(go.PathSegment.Line,ee,.6*ne)),Ne.add(new go.PathSegment(go.PathSegment.Line,.85*ee,.6*ne)),Ne.add(new go.PathSegment(go.PathSegment.Line,.85*ee,.35*ne)),Me=.025,Be=ve*Me,ue=.825,ge=.35,Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee,(ge-Me)*ne,(ue+Me)*ee,(ge-Be)*ne,(ue+Be)*ee,(ge-Me)*ne)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(ue-Me)*ee,ge*ne,(ue-Be)*ee,(ge-Me)*ne,(ue-Me)*ee,(ge-Be)*ne)),Ne.add(new go.PathSegment(go.PathSegment.Line,.8*ee,ne)),Ne.add(new go.PathSegment(go.PathSegment.Line,.55*ee,ne)),Ne.add(new go.PathSegment(go.PathSegment.Line,.55*ee,.7*ne)),Me=.05,Be=ve*Me,ue=.5,ge=.7,Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee,(ge-Me)*ne,(ue+Me)*ee,(ge-Be)*ne,(ue+Be)*ee,(ge-Me)*ne)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(ue-Me)*ee,ge*ne,(ue-Be)*ee,(ge-Me)*ne,(ue-Me)*ee,(ge-Be)*ne)),Ne.add(new go.PathSegment(go.PathSegment.Line,.45*ee,ne)),Ne.add(new go.PathSegment(go.PathSegment.Line,.2*ee,ne)),Ne.add(new go.PathSegment(go.PathSegment.Line,.2*ee,.35*ne)),Me=.025,Be=ve*Me,ue=.175,ge=.35,Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee,(ge-Me)*ne,(ue+Me)*ee,(ge-Be)*ne,(ue+Be)*ee,(ge-Me)*ne)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(ue-Me)*ee,ge*ne,(ue-Be)*ee,(ge-Me)*ne,(ue-Me)*ee,(ge-Be)*ne)),Ne.add(new go.PathSegment(go.PathSegment.Line,.15*ee,.6*ne)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,.6*ne)),Ne.add(new go.PathSegment(go.PathSegment.Line,0,.25*ne)),Me=.05,Be=ve*Me,ue=.05,ge=.25,Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee,(ge-Me)*ne,(ue-Me)*ee,(ge-Be)*ne,(ue-Be)*ee,(ge-Me)*ne)),Ne.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.2*ne)),le.spot1=new go.Spot(.2,.2),le.spot2=new go.Spot(.8,.65),le}),go.Shape.setFigureParameter("Card",0,new Pt("CornerCutoutSize",.2,.1,.9)),go.Shape.defineFigureGenerator("Card",function(de,ee,ne){var le=de?de.parameter1:NaN;isNaN(le)&&(le=.2);var oe=new go.Geometry,ce=new go.PathFigure(ee,0,!0);return oe.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,le*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,le*ee,0).close()),oe.spot1=new go.Spot(0,le),oe.spot2=go.Spot.BottomRight,oe}),go.Shape.defineFigureGenerator("Collate",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.5*ee,.5*ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.5*ne));var ce=new go.PathFigure(.5*ee,.5*ne,!0);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.5*ne)),le.spot1=new go.Spot(.25,0),le.spot2=new go.Spot(.75,.25),le}),go.Shape.defineFigureGenerator("CreateRequest",function(de,ee,ne){var le=new go.Geometry,oe=de?de.parameter1:NaN;isNaN(oe)&&(oe=.1);var ce=new go.PathFigure(0,0,!0);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,0)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var he=new go.PathFigure(0,oe*ne,!1);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee,oe*ne)),he.add(new go.PathSegment(go.PathSegment.Move,0,(1-oe)*ne)),he.add(new go.PathSegment(go.PathSegment.Line,ee,(1-oe)*ne)),le}),go.Shape.defineFigureGenerator("Database",function(de,ee,ne){var le=new go.Geometry,oe=ve*.5,ce=ve*.1,he=new go.PathFigure(ee,.1*ne,!0);le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee,.9*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,ne,ee,(.9+ce)*ne,(.5+oe)*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ne,(.5-oe)*ee,ne,0,(.9+ce)*ne)),he.add(new go.PathSegment(go.PathSegment.Line,0,.1*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,0,0,(.1-ce)*ne,(.5-oe)*ee,0)),he.add(new go.PathSegment(go.PathSegment.Bezier,ee,.1*ne,(.5+oe)*ee,0,ee,(.1-ce)*ne));var ie=new go.PathFigure(ee,.1*ne,!1);return le.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,.2*ne,ee,(.1+ce)*ne,(.5+oe)*ee,.2*ne)),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*ne,(.5-oe)*ee,.2*ne,0,(.1+ce)*ne)),ie.add(new go.PathSegment(go.PathSegment.Move,ee,.2*ne)),ie.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,.3*ne,ee,(.2+ce)*ne,(.5+oe)*ee,.3*ne)),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*ne,(.5-oe)*ee,.3*ne,0,(.2+ce)*ne)),ie.add(new go.PathSegment(go.PathSegment.Move,ee,.3*ne)),ie.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,.4*ne,ee,(.3+ce)*ne,(.5+oe)*ee,.4*ne)),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,.3*ne,(.5-oe)*ee,.4*ne,0,(.3+ce)*ne)),le.spot1=new go.Spot(0,.4),le.spot2=new go.Spot(1,.9),le}),go.Shape.defineFigureGenerator("DataStorage",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.75*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.75*ee,ne,ee,0,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*ee,.9*ne,.25*ee,.1*ne).close()),le.spot1=new go.Spot(.226,0),le.spot2=new go.Spot(.81,1),le}),go.Shape.defineFigureGenerator("DiskStorage",function(de,ee,ne){var le=new go.Geometry,oe=ve*.5,ce=ve*.1,he=new go.PathFigure(ee,.1*ne,!0);le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee,.9*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,ne,ee,(.9+ce)*ne,(.5+oe)*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ne,(.5-oe)*ee,ne,0,(.9+ce)*ne)),he.add(new go.PathSegment(go.PathSegment.Line,0,.1*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,0,0,(.1-ce)*ne,(.5-oe)*ee,0)),he.add(new go.PathSegment(go.PathSegment.Bezier,ee,.1*ne,(.5+oe)*ee,0,ee,(.1-ce)*ne));var ie=new go.PathFigure(ee,.1*ne,!1);return le.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,.2*ne,ee,(.1+ce)*ne,(.5+oe)*ee,.2*ne)),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*ne,(.5-oe)*ee,.2*ne,0,(.1+ce)*ne)),ie.add(new go.PathSegment(go.PathSegment.Move,ee,.2*ne)),ie.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,.3*ne,ee,(.2+ce)*ne,(.5+oe)*ee,.3*ne)),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*ne,(.5-oe)*ee,.3*ne,0,(.2+ce)*ne)),le.spot1=new go.Spot(0,.3),le.spot2=new go.Spot(1,.9),le}),go.Shape.defineFigureGenerator("Display",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.25*ee,0,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.75*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.75*ee,ne,ee,0,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.25*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne).close()),le.spot1=new go.Spot(.25,0),le.spot2=new go.Spot(.75,1),le}),go.Shape.defineFigureGenerator("DividedEvent",function(de,ee,ne){var le=new go.Geometry,oe=de?de.parameter1:NaN;isNaN(oe)?oe=.2:oe<.15&&(oe=.15);var ce=ve*.2,he=new go.PathFigure(0,.2*ne,!0);le.add(he),he.add(new go.PathSegment(go.PathSegment.Bezier,.2*ee,0,0,(.2-ce)*ne,(.2-ce)*ee,0)),he.add(new go.PathSegment(go.PathSegment.Line,.8*ee,0)),he.add(new go.PathSegment(go.PathSegment.Bezier,ee,.2*ne,(.8+ce)*ee,0,ee,(.2-ce)*ne)),he.add(new go.PathSegment(go.PathSegment.Line,ee,.8*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,.8*ee,ne,ee,(.8+ce)*ne,(.8+ce)*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Line,.2*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,0,.8*ne,(.2-ce)*ee,ne,0,(.8+ce)*ne)),he.add(new go.PathSegment(go.PathSegment.Line,0,.2*ne));var ie=new go.PathFigure(0,oe*ne,!1);return le.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,ee,oe*ne)),le}),go.Shape.defineFigureGenerator("DividedProcess",function(de,ee,ne){var le=new go.Geometry,oe=de?de.parameter1:NaN;(isNaN(oe)||oe<.1)&&(oe=.1);var ce=new go.PathFigure(0,0,!0);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,0)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var he=new go.PathFigure(0,oe*ne,!1);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee,oe*ne)),le}),go.Shape.defineFigureGenerator("Document",function(de,ee,ne){var le=new go.Geometry;ne=ne/.8;var oe=new go.PathFigure(0,.7*ne,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.7*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ne,.5*ee,.4*ne,.5*ee,ne).close()),le.spot1=go.Spot.TopLeft,le.spot2=new go.Spot(1,.6),le}),go.Shape.defineFigureGenerator("ExternalOrganization",function(de,ee,ne){var le=new go.Geometry,oe=de?de.parameter1:NaN;(isNaN(oe)||oe<.2)&&(oe=.2);var ce=new go.PathFigure(0,0,!0);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,0)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var he=new go.PathFigure(oe*ee,0,!1);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,0,oe*ne)),he.add(new go.PathSegment(go.PathSegment.Move,ee,oe*ne)),he.add(new go.PathSegment(go.PathSegment.Line,(1-oe)*ee,0)),he.add(new go.PathSegment(go.PathSegment.Move,0,(1-oe)*ne)),he.add(new go.PathSegment(go.PathSegment.Line,oe*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Move,(1-oe)*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Line,ee,(1-oe)*ne)),le}),go.Shape.defineFigureGenerator("ExternalProcess",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.5*ee,0,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne).close());var ce=new go.PathFigure(.1*ee,.4*ne,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.1*ee,.6*ne)),ce.add(new go.PathSegment(go.PathSegment.Move,.9*ee,.6*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.9*ee,.4*ne)),ce.add(new go.PathSegment(go.PathSegment.Move,.6*ee,.1*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.4*ee,.1*ne)),ce.add(new go.PathSegment(go.PathSegment.Move,.4*ee,.9*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.6*ee,.9*ne)),le.spot1=new go.Spot(.25,.25),le.spot2=new go.Spot(.75,.75),le}),go.Shape.defineFigureGenerator("File",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.75*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.25*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var ce=new go.PathFigure(.75*ee,0,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.75*ee,.25*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,.25*ne)),le.spot1=new go.Spot(0,.25),le.spot2=go.Spot.BottomRight,le}),go.Shape.defineFigureGenerator("Interrupt",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee,.5*ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne));var ce=new go.PathFigure(ee,.5*ne,!1);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,ne));var he=new go.PathFigure(ee,.5*ne,!1);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee,0)),le.spot1=new go.Spot(0,.25),le.spot2=new go.Spot(.5,.75),le}),go.Shape.defineFigureGenerator("InternalStorage",function(de,ee,ne){var le=new go.Geometry,oe=de?de.parameter1:NaN,ce=de?de.parameter2:NaN;isNaN(oe)&&(oe=.1),isNaN(ce)&&(ce=.1);var he=new go.PathFigure(0,0,!0);le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee,0)),he.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),he.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var ie=new go.PathFigure(oe*ee,0,!1);return le.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,oe*ee,ne)),ie.add(new go.PathSegment(go.PathSegment.Move,0,ce*ne)),ie.add(new go.PathSegment(go.PathSegment.Line,ee,ce*ne)),le}),go.Shape.defineFigureGenerator("Junction",function(de,ee,ne){var le=new go.Geometry,oe=1/Math.SQRT2,ce=(1-1/Math.SQRT2)/2,he=ve*.5,ie=.5,ue=new go.PathFigure(ee,ie*ne,!0);le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,ie*ee,ne,ee,(ie+he)*ne,(ie+he)*ee,ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,0,ie*ne,(ie-he)*ee,ne,0,(ie+he)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,ie*ee,0,0,(ie-he)*ne,(ie-he)*ee,0)),ue.add(new go.PathSegment(go.PathSegment.Bezier,ee,ie*ne,(ie+he)*ee,0,ee,(ie-he)*ne));var ge=new go.PathFigure((ce+oe)*ee,(ce+oe)*ne,!1);return le.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,ce*ee,ce*ne)),ge.add(new go.PathSegment(go.PathSegment.Move,ce*ee,(ce+oe)*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,(ce+oe)*ee,ce*ne)),le}),go.Shape.defineFigureGenerator("LinedDocument",function(de,ee,ne){var le=new go.Geometry;ne=ne/.8;var oe=new go.PathFigure(0,.7*ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.7*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ne,.5*ee,.4*ne,.5*ee,ne).close());var ce=new go.PathFigure(.1*ee,0,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.1*ee,.75*ne)),le.spot1=new go.Spot(.1,0),le.spot2=new go.Spot(1,.6),le}),go.Shape.defineFigureGenerator("LoopLimit",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,ne,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,.25*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.25*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.75*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.25*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne).close()),le.spot1=new go.Spot(0,.25),le.spot2=go.Spot.BottomRight,le}),go.Shape.defineFigureGenerator("MagneticTape",function(de,ee,ne){var le=new go.Geometry,oe=ve*.5,ce=.5,he=new go.PathFigure(.5*ee,ne,!0);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Bezier,0,ce*ne,(ce-oe)*ee,ne,0,(ce+oe)*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,ce*ee,0,0,(ce-oe)*ne,(ce-oe)*ee,0)),he.add(new go.PathSegment(go.PathSegment.Bezier,ee,ce*ne,(ce+oe)*ee,0,ee,(ce-oe)*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,(ce+.1)*ee,.9*ne,ee,(ce+oe)*ne,(ce+oe)*ee,.9*ne)),he.add(new go.PathSegment(go.PathSegment.Line,ee,.9*ne)),he.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),he.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)),le.spot1=new go.Spot(.15,.15),le.spot2=new go.Spot(.85,.8),le}),go.Shape.defineFigureGenerator("ManualInput",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee,0,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.25*ne).close()),le.spot1=new go.Spot(0,.25),le.spot2=go.Spot.BottomRight,le}),go.Shape.defineFigureGenerator("MessageFromUser",function(de,ee,ne){var le=new go.Geometry,oe=de?de.parameter1:NaN;isNaN(oe)&&(oe=.7);var ce=new go.PathFigure(0,0,!0);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,0)),ce.add(new go.PathSegment(go.PathSegment.Line,oe*ee,.5*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),le.spot1=go.Spot.TopLeft,le}),go.Shape.defineFigureGenerator("MicroformProcessing",function(de,ee,ne){var le=new go.Geometry,oe=de?de.parameter1:NaN;isNaN(oe)&&(oe=.25);var ce=new go.PathFigure(0,0,!0);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.5*ee,oe*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,0)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.5*ee,(1-oe)*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),le}),go.Shape.defineFigureGenerator("MicroformRecording",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.75*ee,.25*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.15*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.85*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.75*ee,.75*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),le.spot1=new go.Spot(0,.25),le.spot2=new go.Spot(1,.75),le}),go.Shape.defineFigureGenerator("MultiDocument",function(de,ee,ne){var le=new go.Geometry;ne=ne/.8;var oe=new go.PathFigure(ee,0,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.9*ee,.44*ne,.96*ee,.47*ne,.93*ee,.45*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.9*ee,.6*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.8*ee,.54*ne,.86*ee,.57*ne,.83*ee,.55*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.7*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ne,.4*ee,.4*ne,.4*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.2*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.1*ee,.2*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.1*ee,.1*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.2*ee,.1*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.2*ee,0).close());var ce=new go.PathFigure(.1*ee,.2*ne,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.2*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.54*ne)),ce.add(new go.PathSegment(go.PathSegment.Move,.2*ee,.1*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.9*ee,.1*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.9*ee,.44*ne)),le.spot1=new go.Spot(0,.25),le.spot2=new go.Spot(.8,.77),le}),go.Shape.defineFigureGenerator("MultiProcess",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.1*ee,.1*ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.2*ee,.1*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.2*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.9*ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.9*ee,.9*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.9*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.8*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.2*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.1*ee,.2*ne).close());var ce=new go.PathFigure(.2*ee,.1*ne,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.9*ee,.1*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.9*ee,.8*ne)),ce.add(new go.PathSegment(go.PathSegment.Move,.1*ee,.2*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.2*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.9*ne)),le.spot1=new go.Spot(0,.2),le.spot2=new go.Spot(.8,1),le}),go.Shape.defineFigureGenerator("OfflineStorage",function(de,ee,ne){var le=new go.Geometry,oe=de?de.parameter1:NaN;isNaN(oe)&&(oe=.1);var ce=1-oe,he=new go.PathFigure(0,0,!0);le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee,0)),he.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne).close());var ie=new go.PathFigure(.5*oe*ee,oe*ne,!1);return le.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,(1-.5*oe)*ee,oe*ne)),le}),go.Shape.defineFigureGenerator("OffPageConnector",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.75*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.75*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),le.spot1=go.Spot.TopLeft,le.spot2=new go.Spot(.75,1),le}),go.Shape.defineFigureGenerator("Or",function(de,ee,ne){var le=new go.Geometry,oe=ve*.5,ce=.5,he=new go.PathFigure(ee,ce*ne,!0);le.add(he),he.add(new go.PathSegment(go.PathSegment.Bezier,ce*ee,ne,ee,(ce+oe)*ne,(ce+oe)*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,0,ce*ne,(ce-oe)*ee,ne,0,(ce+oe)*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,ce*ee,0,0,(ce-oe)*ne,(ce-oe)*ee,0)),he.add(new go.PathSegment(go.PathSegment.Bezier,ee,ce*ne,(ce+oe)*ee,0,ee,(ce-oe)*ne));var ie=new go.PathFigure(ee,.5*ne,!1);return le.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)),ie.add(new go.PathSegment(go.PathSegment.Move,.5*ee,ne)),ie.add(new go.PathSegment(go.PathSegment.Line,.5*ee,0)),le}),go.Shape.defineFigureGenerator("PaperTape",function(de,ee,ne){var le=new go.Geometry;ne=ne/.8;var oe=new go.PathFigure(0,.7*ne,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,.3*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee,.3*ne,.5*ee,.6*ne,.5*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.7*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ne,.5*ee,.4*ne,.5*ee,ne).close()),le.spot1=new go.Spot(0,.49),le.spot2=new go.Spot(1,.75),le}),go.Shape.defineFigureGenerator("PrimitiveFromCall",function(de,ee,ne){var le=new go.Geometry,oe=de?de.parameter1:NaN,ce=de?de.parameter2:NaN;isNaN(oe)&&(oe=.1),isNaN(ce)&&(ce=.3);var he=new go.PathFigure(0,0,!0);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee,0)),he.add(new go.PathSegment(go.PathSegment.Line,(1-ce)*ee,.5*ne)),he.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),he.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),le}),go.Shape.defineFigureGenerator("PrimitiveToCall",function(de,ee,ne){var le=new go.Geometry,oe=de?de.parameter1:NaN,ce=de?de.parameter2:NaN;isNaN(oe)&&(oe=.1),isNaN(ce)&&(ce=.3);var he=new go.PathFigure(0,0,!0);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,(1-ce)*ee,0)),he.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),he.add(new go.PathSegment(go.PathSegment.Line,(1-ce)*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),le}),go.Shape.defineFigureGenerator("Procedure",function(de,ee,ne){var le=new go.Geometry,oe=de?de.parameter1:NaN;isNaN(oe)&&(oe=.1);var ce=new go.PathFigure(0,0,!0);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,0)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var he=new go.PathFigure((1-oe)*ee,0,!1);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,(1-oe)*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Move,oe*ee,0)),he.add(new go.PathSegment(go.PathSegment.Line,oe*ee,ne)),le}),go.Shape.defineFigureGenerator("Process",function(de,ee,ne){var le=new go.Geometry,oe=de?de.parameter1:NaN;isNaN(oe)&&(oe=.1);var ce=new go.PathFigure(0,0,!0);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,0)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var he=new go.PathFigure(oe*ee,0,!1);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,oe*ee,ne)),le.spot2=go.Spot.BottomRight,le}),go.Shape.defineFigureGenerator("Sort",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.5*ee,0,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne).close());var ce=new go.PathFigure(0,.5*ne,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),le.spot1=new go.Spot(.25,.25),le.spot2=new go.Spot(.75,.5),le}),go.Shape.defineFigureGenerator("Start",function(de,ee,ne){var le=new go.Geometry,oe=de?de.parameter1:NaN;isNaN(oe)&&(oe=.25);var ce=new go.PathFigure(oe*ee,0,!0);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*ee,.5*ne,.25*ee,.5*ne)),ce.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*ee,.5*ne,.25*ee,.5*ne));var he=new go.PathFigure(oe*ee,0,!1);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,oe*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Move,(1-oe)*ee,0)),he.add(new go.PathSegment(go.PathSegment.Line,(1-oe)*ee,ne)),le.spot1=new go.Spot(oe,0),le.spot2=new go.Spot(1-oe,1),le}),go.Shape.defineFigureGenerator("Terminator",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.25*ee,0,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*ee,.5*ne,.25*ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*ee,.5*ne,.25*ee,.5*ne)),le.spot1=new go.Spot(.23,0),le.spot2=new go.Spot(.77,1),le}),go.Shape.defineFigureGenerator("TransmittalTape",function(de,ee,ne){var le=new go.Geometry,oe=de?de.parameter1:NaN;isNaN(oe)&&(oe=.1);var ce=new go.PathFigure(0,0,!0);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,0)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.75*ee,(1-oe)*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,(1-oe)*ne).close()),le.spot1=go.Spot.TopLeft,le}),go.Shape.defineFigureGenerator("AndGate",function(de,ee,ne){var le=new go.Geometry,oe=ve*.5,ce=new go.PathFigure(0,0,!0);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.5*ee,0)),ce.add(new go.PathSegment(go.PathSegment.Bezier,ee,.5*ne,(.5+oe)*ee,0,ee,(.5-oe)*ne)),ce.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,ne,ee,(.5+oe)*ne,(.5+oe)*ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),le.spot1=go.Spot.TopLeft,le.spot2=new go.Spot(.55,1),le}),go.Shape.defineFigureGenerator("Buffer",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),le.spot1=new go.Spot(0,.25),le.spot2=new go.Spot(.5,.75),le}),go.Shape.defineFigureGenerator("Clock",function(de,ee,ne){var le=new go.Geometry,oe=ve*.5,ce=.5,he=new go.PathFigure(ee,ce*ne,!0);le.add(he),he.add(new go.PathSegment(go.PathSegment.Bezier,ce*ee,ne,ee,(ce+oe)*ne,(ce+oe)*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,0,ce*ne,(ce-oe)*ee,ne,0,(ce+oe)*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,ce*ee,0,0,(ce-oe)*ne,(ce-oe)*ee,0)),he.add(new go.PathSegment(go.PathSegment.Bezier,ee,ce*ne,(ce+oe)*ee,0,ee,(ce-oe)*ne));var ie=new go.PathFigure(ee,ce*ne,!1);le.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,ee,ce*ne));var ue=new go.PathFigure(.8*ee,.75*ne,!1);return le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.25*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.6*ee,.25*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.6*ee,.75*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.4*ee,.75*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.4*ee,.25*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.2*ee,.25*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,.2*ee,.75*ne)),le}),go.Shape.defineFigureGenerator("Ground",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.5*ee,0,!1);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.4*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.2*ee,.6*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.6*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.3*ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.4*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.6*ee,ne)),le}),go.Shape.defineFigureGenerator("Inverter",function(de,ee,ne){var le=new go.Geometry,oe=ve*.1,ce=.1,he=.9,ie=.5,ue=new go.PathFigure(.8*ee,.5*ne,!0);le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ue.add(new go.PathSegment(go.PathSegment.Line,0,0)),ue.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.5*ne));var ge=new go.PathFigure((he+ce)*ee,ie*ne,!0);return le.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne,(he+oe)*ee,(ie+ce)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(he-ce)*ee,ie*ne,(he-oe)*ee,(ie+ce)*ne,(he-ce)*ee,(ie+oe)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie-ce)*ne,(he-ce)*ee,(ie-oe)*ne,(he-oe)*ee,(ie-ce)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(he+ce)*ee,ie*ne,(he+oe)*ee,(ie-ce)*ne,(he+ce)*ee,(ie-oe)*ne)),le.spot1=new go.Spot(0,.25),le.spot2=new go.Spot(.4,.75),le}),go.Shape.defineFigureGenerator("NandGate",function(de,ee,ne){var le=new go.Geometry,oe=ve*.5,ce=ve*.4,he=ve*.1,ie=.1,ue=.9,ge=.5,xe=new go.PathFigure(.8*ee,.5*ne,!0);le.add(xe),xe.add(new go.PathSegment(go.PathSegment.Bezier,.4*ee,ne,.8*ee,(.5+ce)*ne,(.4+oe)*ee,ne)),xe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),xe.add(new go.PathSegment(go.PathSegment.Line,0,0)),xe.add(new go.PathSegment(go.PathSegment.Line,.4*ee,0)),xe.add(new go.PathSegment(go.PathSegment.Bezier,.8*ee,.5*ne,(.4+oe)*ee,0,.8*ee,(.5-ce)*ne));var Me=new go.PathFigure((ue+ie)*ee,ge*ne,!0);return le.add(Me),Me.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee,(ge+ie)*ne,(ue+ie)*ee,(ge+he)*ne,(ue+he)*ee,(ge+ie)*ne)),Me.add(new go.PathSegment(go.PathSegment.Bezier,(ue-ie)*ee,ge*ne,(ue-he)*ee,(ge+ie)*ne,(ue-ie)*ee,(ge+he)*ne)),Me.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee,(ge-ie)*ne,(ue-ie)*ee,(ge-he)*ne,(ue-he)*ee,(ge-ie)*ne)),Me.add(new go.PathSegment(go.PathSegment.Bezier,(ue+ie)*ee,ge*ne,(ue+he)*ee,(ge-ie)*ne,(ue+ie)*ee,(ge-he)*ne)),le.spot1=new go.Spot(0,.05),le.spot2=new go.Spot(.55,.95),le}),go.Shape.defineFigureGenerator("NorGate",function(de,ee,ne){var le=new go.Geometry,oe=.5,ce=ve*oe,he=0,ie=.5,ue=new go.PathFigure(.8*ee,.5*ne,!0);le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,0,ne,.7*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*ee,.75*ne,.25*ee,.25*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,.8*ee,.5*ne,(he+ce)*ee,(ie-oe)*ne,.7*ee,(ie-ce)*ne)),oe=.1,ce=ve*.1,he=.9,ie=.5;var ge=new go.PathFigure((he-oe)*ee,ie*ne,!0);return le.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie-oe)*ne,(he-oe)*ee,(ie-ce)*ne,(he-ce)*ee,(ie-oe)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(he+oe)*ee,ie*ne,(he+ce)*ee,(ie-oe)*ne,(he+oe)*ee,(ie-ce)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie+oe)*ne,(he+oe)*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(he-oe)*ee,ie*ne,(he-ce)*ee,(ie+oe)*ne,(he-oe)*ee,(ie+ce)*ne)),le.spot1=new go.Spot(.2,.25),le.spot2=new go.Spot(.6,.75),le}),go.Shape.defineFigureGenerator("OrGate",function(de,ee,ne){var le=new go.Geometry,oe=.5,ce=ve*oe,he=0,ie=.5,ue=new go.PathFigure(0,0,!0);return le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,ee,.5*ne,(he+ce+ce)*ee,(ie-oe)*ne,.8*ee,(ie-ce)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,0,ne,.8*ee,(ie+ce)*ne,(he+ce+ce)*ee,(ie+oe)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*ee,.75*ne,.25*ee,.25*ne).close()),le.spot1=new go.Spot(.2,.25),le.spot2=new go.Spot(.75,.75),le}),go.Shape.defineFigureGenerator("XnorGate",function(de,ee,ne){var le=new go.Geometry,oe=.5,ce=ve*oe,he=.2,ie=.5,ue=new go.PathFigure(.1*ee,0,!1);le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,.1*ee,ne,.35*ee,.25*ne,.35*ee,.75*ne));var ge=new go.PathFigure(.8*ee,.5*ne,!0);le.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,.2*ee,ne,.7*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.2*ee,0,.45*ee,.75*ne,.45*ee,.25*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.8*ee,.5*ne,(he+ce)*ee,(ie-oe)*ne,.7*ee,(ie-ce)*ne)),oe=.1,ce=ve*.1,he=.9,ie=.5;var xe=new go.PathFigure((he-oe)*ee,ie*ne,!0);return le.add(xe),xe.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie-oe)*ne,(he-oe)*ee,(ie-ce)*ne,(he-ce)*ee,(ie-oe)*ne)),xe.add(new go.PathSegment(go.PathSegment.Bezier,(he+oe)*ee,ie*ne,(he+ce)*ee,(ie-oe)*ne,(he+oe)*ee,(ie-ce)*ne)),xe.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie+oe)*ne,(he+oe)*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne)),xe.add(new go.PathSegment(go.PathSegment.Bezier,(he-oe)*ee,ie*ne,(he-ce)*ee,(ie+oe)*ne,(he-oe)*ee,(ie+ce)*ne)),le.spot1=new go.Spot(.4,.25),le.spot2=new go.Spot(.65,.75),le}),go.Shape.defineFigureGenerator("XorGate",function(de,ee,ne){var le=new go.Geometry,oe=.5,ce=ve*oe,he=.2,ie=.5,ue=new go.PathFigure(.1*ee,0,!1);le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,.1*ee,ne,.35*ee,.25*ne,.35*ee,.75*ne));var ge=new go.PathFigure(.2*ee,0,!0);return le.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,ee,.5*ne,(he+ce)*ee,(ie-oe)*ne,.9*ee,(ie-ce)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.2*ee,ne,.9*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.2*ee,0,.45*ee,.75*ne,.45*ee,.25*ne).close()),le.spot1=new go.Spot(.4,.25),le.spot2=new go.Spot(.8,.75),le}),go.Shape.defineFigureGenerator("Capacitor",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!1);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Move,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),le}),go.Shape.defineFigureGenerator("Resistor",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,.5*ne,!1);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.1*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.2*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.3*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.4*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.6*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*ee,.5*ne)),le}),go.Shape.defineFigureGenerator("Inductor",function(de,ee,ne){var le=new go.Geometry,oe=ve*.1,ce=.1,he=.1,ie=.5,ue=new go.PathFigure((he-oe*.5)*ee,ne,!1);return le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he+ce)*ee,0,(he-oe)*ee,ne,(he-ce)*ee,0)),he=.3,ue.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,ne,(he+ce)*ee,0,(he+oe)*ee,ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he+ce)*ee,0,(he-oe)*ee,ne,(he-ce)*ee,0)),he=.5,ue.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,ne,(he+ce)*ee,0,(he+oe)*ee,ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he+ce)*ee,0,(he-oe)*ee,ne,(he-ce)*ee,0)),he=.7,ue.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,ne,(he+ce)*ee,0,(he+oe)*ee,ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he+ce)*ee,0,(he-oe)*ee,ne,(he-ce)*ee,0)),he=.9,ue.add(new go.PathSegment(go.PathSegment.Bezier,(he+oe*.5)*ee,ne,(he+ce)*ee,0,(he+oe)*ee,ne)),le}),go.Shape.defineFigureGenerator("ACvoltageSource",function(de,ee,ne){var le=new go.Geometry,oe=ve*.5,ce=.5,he=.5,ie=.5,ue=new go.PathFigure((he-ce)*ee,ie*ne,!1);return le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie-ce)*ne,(he-ce)*ee,(ie-oe)*ne,(he-oe)*ee,(ie-ce)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he+ce)*ee,ie*ne,(he+oe)*ee,(ie-ce)*ne,(he+ce)*ee,(ie-oe)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne,(he+oe)*ee,(ie+ce)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he-ce)*ee,ie*ne,(he-oe)*ee,(ie+ce)*ne,(he-ce)*ee,(ie+oe)*ne)),ue.add(new go.PathSegment(go.PathSegment.Move,(he-ce+.1)*ee,ie*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he+ce-.1)*ee,ie*ne,he*ee,(ie-ce)*ne,he*ee,(ie+ce)*ne)),le}),go.Shape.defineFigureGenerator("DCvoltageSource",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,.75*ne,!1);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,.25*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),le}),go.Shape.defineFigureGenerator("Diode",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee,0,!1);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),le.spot1=new go.Spot(0,.25),le.spot2=new go.Spot(.5,.75),le}),go.Shape.defineFigureGenerator("Wifi",function(de,ee,ne){var le=new go.Geometry,oe=ee,ce=ne;ee=ee*.38,ne=ne*.6;var he=ve*.8,ie=.8,ue=0,ge=.5,xe=(oe-ee)/2,Me=(ce-ne)/2,Be=new go.PathFigure(ue*ee+xe,(ge+ie)*ne+Me,!0);le.add(Be),Be.add(new go.PathSegment(go.PathSegment.Bezier,(ue-ie)*ee+xe,ge*ne+Me,(ue-he)*ee+xe,(ge+ie)*ne+Me,(ue-ie)*ee+xe,(ge+he)*ne+Me)),Be.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee+xe,(ge-ie)*ne+Me,(ue-ie)*ee+xe,(ge-he)*ne+Me,(ue-he)*ee+xe,(ge-ie)*ne+Me)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(ue-ie+he*.5)*ee+xe,ge*ne+Me,ue*ee+xe,(ge-ie)*ne+Me,(ue-ie+he*.5)*ee+xe,(ge-he)*ne+Me)),Be.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee+xe,(ge+ie)*ne+Me,(ue-ie+he*.5)*ee+xe,(ge+he)*ne+Me,ue*ee+xe,(ge+ie)*ne+Me).close()),he=ve*.4,ie=.4,ue=.2,ge=.5;var Ne=new go.PathFigure(ue*ee+xe,(ge+ie)*ne+Me,!0);le.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(ue-ie)*ee+xe,ge*ne+Me,(ue-he)*ee+xe,(ge+ie)*ne+Me,(ue-ie)*ee+xe,(ge+he)*ne+Me)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee+xe,(ge-ie)*ne+Me,(ue-ie)*ee+xe,(ge-he)*ne+Me,(ue-he)*ee+xe,(ge-ie)*ne+Me)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(ue-ie+he*.5)*ee+xe,ge*ne+Me,ue*ee+xe,(ge-ie)*ne+Me,(ue-ie+he*.5)*ee+xe,(ge-he)*ne+Me)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee+xe,(ge+ie)*ne+Me,(ue-ie+he*.5)*ee+xe,(ge+he)*ne+Me,ue*ee+xe,(ge+ie)*ne+Me).close()),he=ve*.2,ie=.2,ue=.5,ge=.5;var Ue=new go.PathFigure((ue-ie)*ee+xe,ge*ne+Me,!0);le.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee+xe,(ge-ie)*ne+Me,(ue-ie)*ee+xe,(ge-he)*ne+Me,(ue-he)*ee+xe,(ge-ie)*ne+Me)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(ue+ie)*ee+xe,ge*ne+Me,(ue+he)*ee+xe,(ge-ie)*ne+Me,(ue+ie)*ee+xe,(ge-he)*ne+Me)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee+xe,(ge+ie)*ne+Me,(ue+ie)*ee+xe,(ge+he)*ne+Me,(ue+he)*ee+xe,(ge+ie)*ne+Me)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(ue-ie)*ee+xe,ge*ne+Me,(ue-he)*ee+xe,(ge+ie)*ne+Me,(ue-ie)*ee+xe,(ge+he)*ne+Me)),he=ve*.4,ie=.4,ue=.8,ge=.5;var Ge=new go.PathFigure(ue*ee+xe,(ge-ie)*ne+Me,!0);le.add(Ge),Ge.add(new go.PathSegment(go.PathSegment.Bezier,(ue+ie)*ee+xe,ge*ne+Me,(ue+he)*ee+xe,(ge-ie)*ne+Me,(ue+ie)*ee+xe,(ge-he)*ne+Me)),Ge.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee+xe,(ge+ie)*ne+Me,(ue+ie)*ee+xe,(ge+he)*ne+Me,(ue+he)*ee+xe,(ge+ie)*ne+Me)),Ge.add(new go.PathSegment(go.PathSegment.Bezier,(ue+ie-he*.5)*ee+xe,ge*ne+Me,ue*ee+xe,(ge+ie)*ne+Me,(ue+ie-he*.5)*ee+xe,(ge+he)*ne+Me)),Ge.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee+xe,(ge-ie)*ne+Me,(ue+ie-he*.5)*ee+xe,(ge-he)*ne+Me,ue*ee+xe,(ge-ie)*ne+Me).close()),he=ve*.8,ie=.8,ue=1,ge=.5;var Xe=new go.PathFigure(ue*ee+xe,(ge-ie)*ne+Me,!0);return le.add(Xe),Xe.add(new go.PathSegment(go.PathSegment.Bezier,(ue+ie)*ee+xe,ge*ne+Me,(ue+he)*ee+xe,(ge-ie)*ne+Me,(ue+ie)*ee+xe,(ge-he)*ne+Me)),Xe.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee+xe,(ge+ie)*ne+Me,(ue+ie)*ee+xe,(ge+he)*ne+Me,(ue+he)*ee+xe,(ge+ie)*ne+Me)),Xe.add(new go.PathSegment(go.PathSegment.Bezier,(ue+ie-he*.5)*ee+xe,ge*ne+Me,ue*ee+xe,(ge+ie)*ne+Me,(ue+ie-he*.5)*ee+xe,(ge+he)*ne+Me)),Xe.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee+xe,(ge-ie)*ne+Me,(ue+ie-he*.5)*ee+xe,(ge-he)*ne+Me,ue*ee+xe,(ge-ie)*ne+Me).close()),le}),go.Shape.defineFigureGenerator("Email",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var ce=new go.PathFigure(0,0,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.6*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,0)),ce.add(new go.PathSegment(go.PathSegment.Move,0,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.45*ee,.54*ne)),ce.add(new go.PathSegment(go.PathSegment.Move,ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.55*ee,.54*ne)),le}),go.Shape.defineFigureGenerator("Ethernet",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.35*ee,0,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.65*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.65*ee,.4*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.35*ee,.4*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.35*ee,0).close());var ce=new go.PathFigure(.1*ee,ne,!0,!0);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.4*ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.4*ee,.6*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.1*ee,.6*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.1*ee,ne).close());var he=new go.PathFigure(.6*ee,ne,!0,!0);le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,.9*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Line,.9*ee,.6*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.6*ee,.6*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.6*ee,ne).close());var ie=new go.PathFigure(0,.5*ne,!1);return le.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),ie.add(new go.PathSegment(go.PathSegment.Move,.5*ee,.5*ne)),ie.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.4*ne)),ie.add(new go.PathSegment(go.PathSegment.Move,.75*ee,.5*ne)),ie.add(new go.PathSegment(go.PathSegment.Line,.75*ee,.6*ne)),ie.add(new go.PathSegment(go.PathSegment.Move,.25*ee,.5*ne)),ie.add(new go.PathSegment(go.PathSegment.Line,.25*ee,.6*ne)),le}),go.Shape.defineFigureGenerator("Power",function(de,ee,ne){var le=new go.Geometry,oe=ve*.4,ce=.4,he=.5,ie=.5,ue=_e(),ge=_e(),xe=_e(),Me=_e();be(he,ie-ce,he+oe,ie-ce,he+ce,ie-oe,he+ce,ie,.5,ue,ue,ge,xe,Me);var Be=Oe(ge.x,ge.y),Ne=new go.PathFigure(ge.x*ee,ge.y*ne,!0);le.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(he+ce)*ee,ie*ne,xe.x*ee,xe.y*ne,Me.x*ee,Me.y*ne)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne,(he+oe)*ee,(ie+ce)*ne)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(he-ce)*ee,ie*ne,(he-oe)*ee,(ie+ce)*ne,(he-ce)*ee,(ie+oe)*ne)),be(he-ce,ie,he-ce,ie-oe,he-oe,ie-ce,he,ie-ce,.5,xe,Me,ge,ue,ue),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ge.x*ee,ge.y*ne,xe.x*ee,xe.y*ne,Me.x*ee,Me.y*ne)),oe=ve*.3,ce=.3,be(he-ce,ie,he-ce,ie-oe,he-oe,ie-ce,he,ie-ce,.5,xe,Me,ge,ue,ue),Ne.add(new go.PathSegment(go.PathSegment.Line,ge.x*ee,ge.y*ne)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(he-ce)*ee,ie*ne,Me.x*ee,Me.y*ne,xe.x*ee,xe.y*ne)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie+ce)*ne,(he-ce)*ee,(ie+oe)*ne,(he-oe)*ee,(ie+ce)*ne)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(he+ce)*ee,ie*ne,(he+oe)*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne)),be(he,ie-ce,he+oe,ie-ce,he+ce,ie-oe,he+ce,ie,.5,ue,ue,ge,xe,Me),Ne.add(new go.PathSegment(go.PathSegment.Bezier,ge.x*ee,ge.y*ne,Me.x*ee,Me.y*ne,xe.x*ee,xe.y*ne).close());var Ne=new go.PathFigure(.45*ee,0,!0);return le.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Line,.45*ee,.5*ne)),Ne.add(new go.PathSegment(go.PathSegment.Line,.55*ee,.5*ne)),Ne.add(new go.PathSegment(go.PathSegment.Line,.55*ee,0).close()),Ve(ue),Ve(ge),Ve(xe),Ve(Me),Ve(Be),le.spot1=new go.Spot(.25,.45),le.spot2=new go.Spot(.75,.8),le}),go.Shape.defineFigureGenerator("Fallout",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,ne/2,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Arc,180,360,ee/2,ne/2,ee/2,ne/2));function ce(he,ie,ue){he.add(new go.PathSegment(go.PathSegment.Move,(.3+ie)*ee,(.8+ue)*ne)),he.add(new go.PathSegment(go.PathSegment.Line,(.5+ie)*ee,(.5+ue)*ne)),he.add(new go.PathSegment(go.PathSegment.Line,(.1+ie)*ee,(.5+ue)*ne)),he.add(new go.PathSegment(go.PathSegment.Line,(.3+ie)*ee,(.8+ue)*ne).close())}return ce(oe,0,0),ce(oe,.4,0),ce(oe,.2,-.3),le}),go.Shape.defineFigureGenerator("IrritationHazard",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.2*ee,0,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.3*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.8*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.2*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.8*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.7*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.2*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.3*ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.2*ne).close()),le.spot1=new go.Spot(.3,.3),le.spot2=new go.Spot(.7,.7),le}),go.Shape.defineFigureGenerator("ElectricalHazard",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.37*ee,0,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.11*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.77*ee,.04*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.33*ee,.49*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.37*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.63*ee,.86*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.77*ee,.91*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.34*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.34*ee,.78*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.44*ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.65*ee,.56*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.68*ne).close()),le}),go.Shape.defineFigureGenerator("FireHazard",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.1*ee,ne,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,.29*ee,0,-.25*ee,.63*ne,.45*ee,.44*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.51*ee,.42*ne,.48*ee,.17*ne,.54*ee,.35*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.59*ee,.18*ne,.59*ee,.29*ne,.58*ee,.28*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.75*ee,.6*ne,.8*ee,.34*ne,.88*ee,.43*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.88*ee,.31*ne,.87*ee,.48*ne,.88*ee,.43*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.9*ee,ne,1.17*ee,.76*ne,.82*ee,.8*ne).close()),le.spot1=new go.Spot(.07,.445),le.spot2=new go.Spot(.884,.958),le}),go.Shape.defineFigureGenerator("BpmnActivityLoop",function(de,ee,ne){var le=new go.Geometry,oe=.5,ce=0,he=0,ie=oe*ve,ue=.4*Math.SQRT2/2+.5,ge=.5-.5*Math.SQRT2/2,xe=1,Me=.5,Be=.5,Ne=0,Ue=new go.PathFigure(ue*ee,(1-ge)*ne,!1);return le.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,xe*ee,Me*ne,xe*ee,.7*ne,xe*ee,Me*ne)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(Be+ce)*ee,(Ne+ce)*ne,(.5+oe+ce)*ee,(.5-ie+ce)*ne,(.5+ie+ce)*ee,(.5-oe+ce)*ne)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(.5-oe+ce)*ee,(.5+he)*ne,(.5-ie+ce)*ee,(.5-oe+he)*ne,(.5-oe+ce)*ee,(.5-ie+he)*ne)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(.35+ce)*ee,.9*ne,(.5-oe+ce)*ee,(.5+ie+he)*ne,(.5-ie+ce)*ee,.9*ne)),Ue.add(new go.PathSegment(go.PathSegment.Move,(.25+ce)*ee,.8*ne)),Ue.add(new go.PathSegment(go.PathSegment.Line,(.35+ce)*ee,.9*ne)),Ue.add(new go.PathSegment(go.PathSegment.Line,(.2+ce)*ee,.95*ne)),le}),go.Shape.defineFigureGenerator("BpmnActivityParallel",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!1);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.5*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Move,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),le}),go.Shape.defineFigureGenerator("BpmnActivitySequential",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!1);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Move,0,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),le}),go.Shape.defineFigureGenerator("BpmnActivityAdHoc",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!1);le.add(oe);var ce=new go.PathFigure(ee,ne,!1);le.add(ce);var he=new go.PathFigure(0,.5*ne,!1);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,.5*ne,.2*ee,.35*ne,.3*ee,.35*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,ee,.5*ne,.7*ee,.65*ne,.8*ee,.65*ne)),le}),go.Shape.defineFigureGenerator("BpmnActivityCompensation",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,.5*ne,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne).close()),le}),go.Shape.defineFigureGenerator("BpmnTaskMessage",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,.2*ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.2*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.8*ne).close());var oe=new go.PathFigure(0,.2*ne,!1);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.2*ne)),le}),go.Shape.defineFigureGenerator("BpmnTaskScript",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.7*ee,ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.3*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.3*ee,0,.6*ee,.5*ne,0,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.7*ee,ne,.4*ee,.5*ne,ee,.5*ne).close());var ce=new go.PathFigure(.45*ee,.73*ne,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.7*ee,.73*ne)),ce.add(new go.PathSegment(go.PathSegment.Move,.38*ee,.5*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.63*ee,.5*ne)),ce.add(new go.PathSegment(go.PathSegment.Move,.31*ee,.27*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.56*ee,.27*ne)),le}),go.Shape.defineFigureGenerator("BpmnTaskUser",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!1);le.add(oe);var ce=new go.PathFigure(.335*ee,(1-.555)*ne,!0);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.335*ee,(1-.405)*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*ee,(1-.405)*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*ee,(1-.555)*ne)),ce.add(new go.PathSegment(go.PathSegment.Bezier,ee,.68*ne,(1-.12)*ee,.46*ne,(1-.02)*ee,.54*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,.68*ne)),ce.add(new go.PathSegment(go.PathSegment.Bezier,.335*ee,(1-.555)*ne,.02*ee,.54*ne,.12*ee,.46*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.365*ee,(1-.595)*ne));var he=.5-.285,ie=.5,ue=he,ge=Math.PI/4,xe=4*(1-Math.cos(ge))/(3*Math.sin(ge)),Me=xe*.5,Be=he,Ne=he,Ue=xe*Be,Ge=xe*Ne;ce.add(new go.PathSegment(go.PathSegment.Bezier,(ie-Be)*ee,ue*ne,(ie-(Ue+Be)/2)*ee,(ue+(Ne+Ge)/2)*ne,(ie-Be)*ee,(ue+Ge)*ne)),ce.add(new go.PathSegment(go.PathSegment.Bezier,ie*ee,(ue-Ne)*ne,(ie-Be)*ee,(ue-Ge)*ne,(ie-Ue)*ee,(ue-Ne)*ne)),ce.add(new go.PathSegment(go.PathSegment.Bezier,(ie+Be)*ee,ue*ne,(ie+Ue)*ee,(ue-Ne)*ne,(ie+Be)*ee,(ue-Ge)*ne)),ce.add(new go.PathSegment(go.PathSegment.Bezier,(1-.365)*ee,(1-.595)*ne,(ie+Be)*ee,(ue+Ge)*ne,(ie+(Ue+Be)/2)*ee,(ue+(Ne+Ge)/2)*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,(1-.365)*ee,(1-.595)*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*ee,(1-.555)*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*ee,(1-.405)*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.335*ee,(1-.405)*ne));var Xe=new go.PathFigure(.2*ee,ne,!1);le.add(Xe),Xe.add(new go.PathSegment(go.PathSegment.Line,.2*ee,.8*ne));var Ye=new go.PathFigure(.8*ee,ne,!1);return le.add(Ye),Ye.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.8*ne)),le}),go.Shape.defineFigureGenerator("BpmnEventConditional",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.1*ee,0,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.9*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.9*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.1*ee,ne).close());var ce=new go.PathFigure(.2*ee,.2*ne,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.2*ne)),ce.add(new go.PathSegment(go.PathSegment.Move,.2*ee,.4*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.4*ne)),ce.add(new go.PathSegment(go.PathSegment.Move,.2*ee,.6*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.6*ne)),ce.add(new go.PathSegment(go.PathSegment.Move,.2*ee,.8*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.8*ne)),le}),go.Shape.defineFigureGenerator("BpmnEventError",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,ne,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.33*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.66*ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.66*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.33*ee,.5*ne).close()),le}),go.Shape.defineFigureGenerator("BpmnEventEscalation",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!1);le.add(oe);var ce=new go.PathFigure(ee,ne,!1);le.add(ce);var he=new go.PathFigure(.1*ee,ne,!0);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,.5*ee,0)),he.add(new go.PathSegment(go.PathSegment.Line,.9*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.5*ne).close()),le}),go.Shape.defineFigureGenerator("Caution",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.05*ee,ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,.1*ee,.8*ne,0,ne,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.45*ee,.1*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.55*ee,.1*ne,.5*ee,0,.5*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.95*ee,.9*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.9*ee,ne,ee,ne,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.05*ee,ne));var ce=.05;return oe.add(new go.PathSegment(go.PathSegment.Move,(.5-ce)*ee,.875*ne)),oe.add(new go.PathSegment(go.PathSegment.Arc,180,-360,.5*ee,.875*ne,ce*ee,ce*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.5*ee,.75*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,.325*ne,.575*ee,.725*ne,.625*ee,.375*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,.75*ne,.375*ee,.375*ne,.425*ee,.725*ne)),le}),go.Shape.defineFigureGenerator("Recycle",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.45*ee,.95*ne,!1);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.2*ee,.95*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.185*ee,.85*ne,.17*ee,.95*ne,.15*ee,.9*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.235*ee,.75*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.3*ee,.625*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.35*ee,.65*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.275*ee,.45*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.05*ee,.45*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.1*ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.05*ee,.575*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.1875*ee,.95*ne,0,.675*ne,0,.7*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.45*ee,.95*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.45*ee,.775*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.22*ee,.775*ne));var ce=new go.PathFigure(.475*ee,.2*ne,!1);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.4*ee,.4*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.225*ee,.3*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.275*ee,.175*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.325*ee,.05*ne)),ce.add(new go.PathSegment(go.PathSegment.Bezier,.4*ee,.05*ne,.35*ee,0,.375*ee,0)),ce.add(new go.PathSegment(go.PathSegment.Line,.575*ee,.375*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.525*ee,.4*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.75*ee,.475*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.85*ee,.315*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.32*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.65*ee,.05*ne)),ce.add(new go.PathSegment(go.PathSegment.Bezier,.575*ee,0,.65*ee,.05*ne,.625*ee,0)),ce.add(new go.PathSegment(go.PathSegment.Line,.38*ee,.0105*ne));var he=new go.PathFigure(.675*ee,.575*ne,!1);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,.875*ee,.525*ne)),he.add(new go.PathSegment(go.PathSegment.Line,ee,.775*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,.85*ee,.95*ne,ee,.8*ne,ee,.85*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.65*ee,.95*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.65*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Line,.55*ee,.85*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.65*ee,.725*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.65*ee,.775*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.7*ee,.775*ne)),he.add(new go.PathSegment(go.PathSegment.Line,ee,.775*ne)),he.add(new go.PathSegment(go.PathSegment.Move,.675*ee,.575*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.775*ee,.775*ne)),le}),go.Shape.defineFigureGenerator("BpmnEventTimer",function(de,ee,ne){var le=new go.Geometry,oe=.5,ce=ve*.5,he=new go.PathFigure(ee,oe*ne,!0);le.add(he),he.add(new go.PathSegment(go.PathSegment.Bezier,oe*ee,ne,ee,(oe+ce)*ne,(oe+ce)*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,0,oe*ne,(oe-ce)*ee,ne,0,(oe+ce)*ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,oe*ee,0,0,(oe-ce)*ne,(oe-ce)*ee,0)),he.add(new go.PathSegment(go.PathSegment.Bezier,ee,oe*ne,(oe+ce)*ee,0,ee,(oe-ce)*ne));var ie=new go.PathFigure(oe*ee,0,!1);return le.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,oe*ee,.15*ne)),ie.add(new go.PathSegment(go.PathSegment.Move,oe*ee,ne)),ie.add(new go.PathSegment(go.PathSegment.Line,oe*ee,.85*ne)),ie.add(new go.PathSegment(go.PathSegment.Move,0,oe*ne)),ie.add(new go.PathSegment(go.PathSegment.Line,.15*ee,oe*ne)),ie.add(new go.PathSegment(go.PathSegment.Move,ee,oe*ne)),ie.add(new go.PathSegment(go.PathSegment.Line,.85*ee,oe*ne)),ie.add(new go.PathSegment(go.PathSegment.Move,oe*ee,oe*ne)),ie.add(new go.PathSegment(go.PathSegment.Line,.58*ee,.1*ne)),ie.add(new go.PathSegment(go.PathSegment.Move,oe*ee,oe*ne)),ie.add(new go.PathSegment(go.PathSegment.Line,.78*ee,.54*ne)),le}),go.Shape.defineFigureGenerator("Package",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,.15*ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.15*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne).close());var ce=new go.PathFigure(0,.15*ne,!0);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,0,0)),ce.add(new go.PathSegment(go.PathSegment.Line,.6*ee,0)),ce.add(new go.PathSegment(go.PathSegment.Line,.65*ee,.15*ne).close()),le.spot1=new go.Spot(0,.1),le.spot2=new go.Spot(1,1),le}),go.Shape.defineFigureGenerator("Class",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var ce=new go.PathFigure(0,.2*ne,!1);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,.2*ne).close());var he=new go.PathFigure(0,.5*ne,!1);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne).close()),le}),go.Shape.defineFigureGenerator("Component",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee,ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.15*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.15*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne).close());var ce=new go.PathFigure(0,.2*ne,!0);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.45*ee,.2*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.45*ee,.4*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,.4*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,.2*ne).close());var he=new go.PathFigure(0,.6*ne,!0);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,.45*ee,.6*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.45*ee,.8*ne)),he.add(new go.PathSegment(go.PathSegment.Line,0,.8*ne)),he.add(new go.PathSegment(go.PathSegment.Line,0,.6*ne).close()),le}),go.Shape.defineFigureGenerator("Boat Shipment",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.15*ee,.6*ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.15*ee,.6*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.6*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.15*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.85*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.6*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.85*ee,.6*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.15*ee,.6*ne));var ce=new go.PathFigure(.15*ee,.6*ne,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.85*ee,.6*ne)),le}),go.Shape.defineFigureGenerator("Customer/Supplier",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee,ne,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.66*ee,.33*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.66*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.33*ee,.33*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.33*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.33*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne).close()),le}),go.Shape.defineFigureGenerator("Workcell",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,ne,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.65*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.65*ee,.4*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.35*ee,.4*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.35*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),le}),go.Shape.defineFigureGenerator("Supermarket",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!1);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.33*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.33*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,ee,.33*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.66*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.66*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,ee,.66*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),le}),go.Shape.defineFigureGenerator("TruckShipment",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.6*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.6*ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var ce=new go.PathFigure(ee,.8*ne,!0);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,.4*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.6*ee,.4*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.6*ee,.8*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,.8*ne).close());var he=.1,ie=ve*.1,ue=.2,ge=.9,xe=new go.PathFigure((ue-he)*ee,ge*ne,!0);le.add(xe),xe.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee,(ge-he)*ne,(ue-he)*ee,(ge-ie)*ne,(ue-ie)*ee,(ge-he)*ne)),xe.add(new go.PathSegment(go.PathSegment.Bezier,(ue+he)*ee,ge*ne,(ue+ie)*ee,(ge-he)*ne,(ue+he)*ee,(ge-ie)*ne)),xe.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee,(ge+he)*ne,(ue+he)*ee,(ge+ie)*ne,(ue+ie)*ee,(ge+he)*ne)),xe.add(new go.PathSegment(go.PathSegment.Bezier,(ue-he)*ee,ge*ne,(ue-ie)*ee,(ge+he)*ne,(ue-he)*ee,(ge+ie)*ne).close()),he=.1,ie=ve*.1,ue=.8,ge=.9;var Me=new go.PathFigure((ue-he)*ee,ge*ne,!0);return le.add(Me),Me.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee,(ge-he)*ne,(ue-he)*ee,(ge-ie)*ne,(ue-ie)*ee,(ge-he)*ne)),Me.add(new go.PathSegment(go.PathSegment.Bezier,(ue+he)*ee,ge*ne,(ue+ie)*ee,(ge-he)*ne,(ue+he)*ee,(ge-ie)*ne)),Me.add(new go.PathSegment(go.PathSegment.Bezier,ue*ee,(ge+he)*ne,(ue+he)*ee,(ge+ie)*ne,(ue+ie)*ee,(ge+he)*ne)),Me.add(new go.PathSegment(go.PathSegment.Bezier,(ue-he)*ee,ge*ne,(ue-ie)*ee,(ge+he)*ne,(ue-he)*ee,(ge+ie)*ne).close()),le}),go.Shape.defineFigureGenerator("KanbanPost",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.2*ee,0,!1);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.2*ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.8*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Move,.5*ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.2*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.5*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.8*ee,ne)),le}),go.Shape.defineFigureGenerator("Forklift",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.4*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,0,0));var ce=new go.PathFigure(0,.5*ne,!0);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,0,.8*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.8*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.5*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne));var he=new go.PathFigure(.5*ee,.8*ne,!0);le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.1*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.55*ee,.1*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.55*ee,.8*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.8*ne));var ie=new go.PathFigure(.5*ee,.7*ne,!1);le.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,ee,.7*ne));var ue=.1,ge=ve*.1,xe=.1,Me=.9,Be=new go.PathFigure((xe-ue)*ee,Me*ne,!0);le.add(Be),Be.add(new go.PathSegment(go.PathSegment.Bezier,xe*ee,(Me-ue)*ne,(xe-ue)*ee,(Me-ge)*ne,(xe-ge)*ee,(Me-ue)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(xe+ue)*ee,Me*ne,(xe+ge)*ee,(Me-ue)*ne,(xe+ue)*ee,(Me-ge)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,xe*ee,(Me+ue)*ne,(xe+ue)*ee,(Me+ge)*ne,(xe+ge)*ee,(Me+ue)*ne)),Be.add(new go.PathSegment(go.PathSegment.Bezier,(xe-ue)*ee,Me*ne,(xe-ge)*ee,(Me+ue)*ne,(xe-ue)*ee,(Me+ge)*ne)),ue=.1,ge=ve*.1,xe=.4,Me=.9;var Ne=new go.PathFigure((xe-ue)*ee,Me*ne,!0);return le.add(Ne),Ne.add(new go.PathSegment(go.PathSegment.Bezier,xe*ee,(Me-ue)*ne,(xe-ue)*ee,(Me-ge)*ne,(xe-ge)*ee,(Me-ue)*ne)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(xe+ue)*ee,Me*ne,(xe+ge)*ee,(Me-ue)*ne,(xe+ue)*ee,(Me-ge)*ne)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,xe*ee,(Me+ue)*ne,(xe+ue)*ee,(Me+ge)*ne,(xe+ge)*ee,(Me+ue)*ne)),Ne.add(new go.PathSegment(go.PathSegment.Bezier,(xe-ue)*ee,Me*ne,(xe-ge)*ee,(Me+ue)*ne,(xe-ue)*ee,(Me+ge)*ne)),le}),go.Shape.defineFigureGenerator("RailShipment",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.1*ee,.4*ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.45*ee,.4*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.45*ee,.9*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.1*ee,.9*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.1*ee,.4*ne).close());var ce=new go.PathFigure(.45*ee,.7*ne,!1);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.55*ee,.7*ne));var he=new go.PathFigure(.55*ee,.4*ne,!0);le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,.9*ee,.4*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.9*ee,.9*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.55*ee,.9*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.55*ee,.4*ne).close());var xe=.05,Me=ve*.05,Be=.175,Ne=.95,ie=new go.PathFigure((Be-xe)*ee,Ne*ne,!0);le.add(ie),ie.add(new go.PathSegment(go.PathSegment.Bezier,Be*ee,(Ne-xe)*ne,(Be-xe)*ee,(Ne-Me)*ne,(Be-Me)*ee,(Ne-xe)*ne)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(Be+xe)*ee,Ne*ne,(Be+Me)*ee,(Ne-xe)*ne,(Be+xe)*ee,(Ne-Me)*ne)),ie.add(new go.PathSegment(go.PathSegment.Bezier,Be*ee,(Ne+xe)*ne,(Be+xe)*ee,(Ne+Me)*ne,(Be+Me)*ee,(Ne+xe)*ne)),ie.add(new go.PathSegment(go.PathSegment.Bezier,(Be-xe)*ee,Ne*ne,(Be-Me)*ee,(Ne+xe)*ne,(Be-xe)*ee,(Ne+Me)*ne));var xe=.05,Me=ve*.05,Be=.375,Ne=.95,ue=new go.PathFigure((Be-xe)*ee,Ne*ne,!0);le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,Be*ee,(Ne-xe)*ne,(Be-xe)*ee,(Ne-Me)*ne,(Be-Me)*ee,(Ne-xe)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(Be+xe)*ee,Ne*ne,(Be+Me)*ee,(Ne-xe)*ne,(Be+xe)*ee,(Ne-Me)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,Be*ee,(Ne+xe)*ne,(Be+xe)*ee,(Ne+Me)*ne,(Be+Me)*ee,(Ne+xe)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(Be-xe)*ee,Ne*ne,(Be-Me)*ee,(Ne+xe)*ne,(Be-xe)*ee,(Ne+Me)*ne));var xe=.05,Me=ve*.05,Be=.625,Ne=.95,ge=new go.PathFigure((Be-xe)*ee,Ne*ne,!0);le.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,Be*ee,(Ne-xe)*ne,(Be-xe)*ee,(Ne-Me)*ne,(Be-Me)*ee,(Ne-xe)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(Be+xe)*ee,Ne*ne,(Be+Me)*ee,(Ne-xe)*ne,(Be+xe)*ee,(Ne-Me)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,Be*ee,(Ne+xe)*ne,(Be+xe)*ee,(Ne+Me)*ne,(Be+Me)*ee,(Ne+xe)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(Be-xe)*ee,Ne*ne,(Be-Me)*ee,(Ne+xe)*ne,(Be-xe)*ee,(Ne+Me)*ne));var xe=.05,Me=ve*.05,Be=.825,Ne=.95,Ue=new go.PathFigure((Be-xe)*ee,Ne*ne,!0);le.add(Ue),Ue.add(new go.PathSegment(go.PathSegment.Bezier,Be*ee,(Ne-xe)*ne,(Be-xe)*ee,(Ne-Me)*ne,(Be-Me)*ee,(Ne-xe)*ne)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(Be+xe)*ee,Ne*ne,(Be+Me)*ee,(Ne-xe)*ne,(Be+xe)*ee,(Ne-Me)*ne)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,Be*ee,(Ne+xe)*ne,(Be+xe)*ee,(Ne+Me)*ne,(Be+Me)*ee,(Ne+xe)*ne)),Ue.add(new go.PathSegment(go.PathSegment.Bezier,(Be-xe)*ee,Ne*ne,(Be-Me)*ee,(Ne+xe)*ne,(Be-xe)*ee,(Ne+Me)*ne).close());var Ge=new go.PathFigure(0,ne,!1);return le.add(Ge),Ge.add(new go.PathSegment(go.PathSegment.Line,ee,ne).close()),le}),go.Shape.defineFigureGenerator("Warehouse",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var ce=new go.PathFigure(0,.2*ne,!1);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,.2*ne).close());var he=new go.PathFigure(.15*ee,ne,!0);le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,.15*ee,.5*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.4*ee,.5*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.4*ee,ne)),he.add(new go.PathSegment(go.PathSegment.Line,.15*ee,ne).close());var ie=.05,ue=ve*.05,ge=.35,xe=.775,Me=new go.PathFigure((ge-ie)*ee,xe*ne,!0);return le.add(Me),Me.add(new go.PathSegment(go.PathSegment.Bezier,ge*ee,(xe-ie)*ne,(ge-ie)*ee,(xe-ue)*ne,(ge-ue)*ee,(xe-ie)*ne)),Me.add(new go.PathSegment(go.PathSegment.Bezier,(ge+ie)*ee,xe*ne,(ge+ue)*ee,(xe-ie)*ne,(ge+ie)*ee,(xe-ue)*ne)),Me.add(new go.PathSegment(go.PathSegment.Bezier,ge*ee,(xe+ie)*ne,(ge+ie)*ee,(xe+ue)*ne,(ge+ue)*ee,(xe+ie)*ne)),Me.add(new go.PathSegment(go.PathSegment.Bezier,(ge-ie)*ee,xe*ne,(ge-ue)*ee,(xe+ie)*ne,(ge-ie)*ee,(xe+ue)*ne).close()),le}),go.Shape.defineFigureGenerator("ControlCenter",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,ne,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.1*ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.1*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.9*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.9*ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.1*ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.9*ee,.8*ne).close()),le}),go.Shape.defineFigureGenerator("Bluetooth",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,.75*ne,!1);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,.75*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.25*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.75*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.25*ne)),le}),go.Shape.defineFigureGenerator("Bookmark",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.6*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,0,0)),oe.add(new go.PathSegment(go.PathSegment.Move,.2*ee,.2*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.2*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.2*ee,.4*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.4*ne)),le}),go.Shape.defineFigureGenerator("Bookmark",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.6*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,0,0)),oe.add(new go.PathSegment(go.PathSegment.Move,.2*ee,.2*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.2*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.2*ee,.4*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.4*ne)),le}),go.Shape.defineFigureGenerator("Globe",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.5*ee,0,!1);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Move,0,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.5*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee,.5*ne,.75*ee,0,ee,.25*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,ne,ee,.75*ne,.75*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ne,.25*ee,ne,0,.75*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,0,0,.25*ne,.25*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,ne,.15*ee,.25*ne,.15*ee,.75*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,0,.85*ee,.75*ne,.85*ee,.25*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.1675*ee,.15*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.8325*ee,.15*ne,.35*ee,.3*ne,.65*ee,.3*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.1675*ee,.85*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.8325*ee,.85*ne,.35*ee,.7*ne,.65*ee,.7*ne)),le}),go.Shape.defineFigureGenerator("Wave",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,.25*ne,!1);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,.3*ee,.25*ne,.1*ee,0,.2*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.7*ee,.25*ne,.425*ee,.5*ne,.575*ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee,.25*ne,.8*ee,0,.9*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.75*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,0,.25*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.75*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.3*ee,.75*ne,.1*ee,.5*ne,.2*ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.7*ee,.75*ne,.425*ee,ne,.575*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee,.75*ne,.8*ee,.5*ne,.9*ee,.5*ne)),le}),go.Shape.defineFigureGenerator("Operator",function(de,ee,ne){var le=new go.Geometry,oe=.3,ce=ve*.3,he=.5,ie=.7,ue=new go.PathFigure((he-oe)*ee,ie*ne,!0);le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie-oe)*ne,(he-oe)*ee,(ie-ce)*ne,(he-ce)*ee,(ie-oe)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he+oe)*ee,ie*ne,(he+ce)*ee,(ie-oe)*ne,(he+oe)*ee,(ie-ce)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie+oe)*ne,(he+oe)*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he-oe)*ee,ie*ne,(he-ce)*ee,(ie+oe)*ne,(he-oe)*ee,(ie+ce)*ne));var ge=new go.PathFigure(0,.7*ne,!1);return le.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,ee,.7*ne,0,0,ee,0)),le}),go.Shape.defineFigureGenerator("TripleFanBlades",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.5*ee,0,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,.65*ne,.65*ee,.3*ne,.65*ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,0,.35*ee,.5*ne,.35*ee,.3*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.5*ee,.65*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,ne,.3*ee,.6*ne,.1*ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,.65*ne,.2*ee,ne,.35*ee,.95*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.5*ee,.65*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee,ne,.7*ee,.6*ne,.9*ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,.65*ne,.8*ee,ne,.65*ee,.95*ne)),le}),go.Shape.defineFigureGenerator("CentrifugalPump",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee,0,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.4*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ne,0,.075*ne,0,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.4*ee,ne,0,ne,.4*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.8*ee,.4*ne,.8*ee,ne,.85*ee,.6*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.4*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,0)),le}),go.Shape.defineFigureGenerator("Battery",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,.1*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.1*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.4*ee,.1*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.4*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.6*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.6*ee,.1*ne));var ce=new go.PathFigure(0,.6*ne,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Move,0,.4*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,ee,.4*ne)),le}),go.Shape.defineFigureGenerator("Delete",function(de,ee,ne){var le=new go.Geometry,oe=.5,ce=ve*.5,he=.5,ie=.5,ue=new go.PathFigure((he-oe)*ee,ie*ne,!0);le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie-oe)*ne,(he-oe)*ee,(ie-ce)*ne,(he-ce)*ee,(ie-oe)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he+oe)*ee,ie*ne,(he+ce)*ee,(ie-oe)*ne,(he+oe)*ee,(ie-ce)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie+oe)*ne,(he+oe)*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he-oe)*ee,ie*ne,(he-ce)*ee,(ie+oe)*ne,(he-oe)*ee,(ie+ce)*ne));var ge=new go.PathFigure(.15*ee,.5*ne,!1);return le.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.85*ee,.5*ne)),le}),go.Shape.defineFigureGenerator("Flag",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,.1*ne,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Move,0,.1*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,.1*ne,.15*ee,0,.35*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Bezier,ee,.1*ne,.65*ee,.2*ne,.85*ee,.2*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,.5*ne,.85*ee,.6*ne,.65*ee,.6*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ne,.35*ee,.4*ne,.15*ee,.4*ne).close()),le}),go.Shape.defineFigureGenerator("Help",function(de,ee,ne){var le=new go.Geometry,oe=.5,ce=ve*.5,he=.5,ie=.5,ue=new go.PathFigure((he-oe)*ee,ie*ne,!1);le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie-oe)*ne,(he-oe)*ee,(ie-ce)*ne,(he-ce)*ee,(ie-oe)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he+oe)*ee,ie*ne,(he+ce)*ee,(ie-oe)*ne,(he+oe)*ee,(ie-ce)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie+oe)*ne,(he+oe)*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne)),ue.add(new go.PathSegment(go.PathSegment.Bezier,(he-oe)*ee,ie*ne,(he-ce)*ee,(ie+oe)*ne,(he-oe)*ee,(ie+ce)*ne).close()),oe=.05,ce=ve*.05,he=.5,ie=.8;var ge=new go.PathFigure((he-oe)*ee,ie*ne,!1);return le.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie-oe)*ne,(he-oe)*ee,(ie-ce)*ne,(he-ce)*ee,(ie-oe)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(he+oe)*ee,ie*ne,(he+ce)*ee,(ie-oe)*ne,(he+oe)*ee,(ie-ce)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,he*ee,(ie+oe)*ne,(he+oe)*ee,(ie+ce)*ne,(he+ce)*ee,(ie+oe)*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(he-oe)*ee,ie*ne,(he-ce)*ee,(ie+oe)*ne,(he-oe)*ee,(ie+ce)*ne).close()),ge.add(new go.PathSegment(go.PathSegment.Move,.5*ee,.7*ne)),ge.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.5*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,.2*ne,.75*ee,.475*ne,.75*ee,.225*ne)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.3*ee,.35*ne,.4*ee,.2*ne,.3*ee,.25*ne)),le}),go.Shape.defineFigureGenerator("Location",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(.5*ee,ne,!0).add(new go.PathSegment(go.PathSegment.Line,.75*ee,.5*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.5*ee,0,.975*ee,.025*ne,.5*ee,0)).add(new go.PathSegment(go.PathSegment.Bezier,.25*ee,.5*ne,.5*ee,0,.025*ee,.025*ne).close()).add(new go.PathSegment(go.PathSegment.Move,.5*ee,.2*ne)).add(new go.PathSegment(go.PathSegment.Arc,270,360,.5*ee,.3*ne,.1*ee,.1*ne).close()))}),go.Shape.defineFigureGenerator("Lock",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,.5*ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne));var ce=new go.PathFigure(.2*ee,.5*ne,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Move,.2*ee,.5*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.2*ee,.3*ne)),ce.add(new go.PathSegment(go.PathSegment.Bezier,.8*ee,.3*ne,.25*ee,0,.75*ee,0)),ce.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.5*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.3*ne)),le}),go.Shape.defineFigureGenerator("Unlocked",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,.5*ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.5*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.5*ne));var ce=new go.PathFigure(.2*ee,.5*ne,!1);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Move,.2*ee,.5*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.2*ee,.3*ne)),ce.add(new go.PathSegment(go.PathSegment.Bezier,.8*ee,.3*ne,.25*ee,0,.75*ee,0)),ce.add(new go.PathSegment(go.PathSegment.Line,.8*ee,.35*ne)),le}),go.Shape.defineFigureGenerator("Gear",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(.9375*ee,.56246875*ne,!0).add(new go.PathSegment(go.PathSegment.Line,.9375*ee,.4375*ne)).add(new go.PathSegment(go.PathSegment.Line,.80621875*ee,.4375*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.763*ee,.3316875*ne,.79840625*ee,.39915625*ne,.7834375*ee,.3635*ne)).add(new go.PathSegment(go.PathSegment.Line,.8566875*ee,.23796875*ne)).add(new go.PathSegment(go.PathSegment.Line,.76825*ee,.14959375*ne)).add(new go.PathSegment(go.PathSegment.Line,.67596875*ee,.24184375*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.5625*ee,.19378125*ne,.64228125*ee,.2188125*ne,.603875*ee,.2021875*ne)).add(new go.PathSegment(go.PathSegment.Line,.5625*ee,.0625*ne)).add(new go.PathSegment(go.PathSegment.Line,.4375*ee,.0625*ne)).add(new go.PathSegment(go.PathSegment.Line,.4375*ee,.19378125*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.32775*ee,.239375*ne,.39759375*ee,.20190625*ne,.36053125*ee,.2176875*ne)).add(new go.PathSegment(go.PathSegment.Line,.2379375*ee,.14959375*ne)).add(new go.PathSegment(go.PathSegment.Line,.14953125*ee,.2379375*ne)).add(new go.PathSegment(go.PathSegment.Line,.23934375*ee,.3278125*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.19378125*ee,.4375*ne,.21765625*ee,.36059375*ne,.201875*ee,.397625*ne)).add(new go.PathSegment(go.PathSegment.Line,.0625*ee,.4375*ne)).add(new go.PathSegment(go.PathSegment.Line,.0625*ee,.5625*ne)).add(new go.PathSegment(go.PathSegment.Line,.1938125*ee,.5625*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.241875*ee,.67596875*ne,.20221875*ee,.603875*ne,.21884375*ee,.64228125*ne)).add(new go.PathSegment(go.PathSegment.Line,.1495625*ee,.76825*ne)).add(new go.PathSegment(go.PathSegment.Line,.238*ee,.8566875*ne)).add(new go.PathSegment(go.PathSegment.Line,.3316875*ee,.76296875*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.43753125*ee,.80621875*ne,.36353125*ee,.78340625*ne,.3991875*ee,.79840625*ne)).add(new go.PathSegment(go.PathSegment.Line,.43753125*ee,.9375*ne)).add(new go.PathSegment(go.PathSegment.Line,.5625*ee,.9375*ne)).add(new go.PathSegment(go.PathSegment.Line,.5625*ee,.80621875*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.67225*ee,.760625*ne,.602375*ee,.79809375*ne,.63946875*ee,.78234375*ne)).add(new go.PathSegment(go.PathSegment.Line,.76828125*ee,.8566875*ne)).add(new go.PathSegment(go.PathSegment.Line,.85671875*ee,.76825*ne)).add(new go.PathSegment(go.PathSegment.Line,.76065625*ee,.67221875*ne)).add(new go.PathSegment(go.PathSegment.Bezier,.80621875*ee,.56246875*ne,.78234375*ee,.63940625*ne,.798125*ee,.602375*ne)).add(new go.PathSegment(go.PathSegment.Line,.9375*ee,.56246875*ne).close()).add(new go.PathSegment(go.PathSegment.Move,.5*ee,.6*ne)).add(new go.PathSegment(go.PathSegment.Arc,90,360,.5*ee,.5*ne,.1*ee,.1*ne).close()))}),go.Shape.defineFigureGenerator("Hand",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,.5*ne,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Bezier,.1*ee,.3*ne,0,.375*ne,.05*ee,.325*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.45*ee,.075*ne,.3*ee,.225*ne,.4*ee,.175*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.525*ee,.075*ne,.46*ee,.05*ne,.525*ee,.05*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.3*ee,.4*ne,.525*ee,.275*ne,.475*ee,.325*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.9*ee,.4*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.9*ee,.55*ne,ee,.4*ne,ee,.55*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.425*ee,.55*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.6*ee,.55*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.6*ee,.7*ne,.675*ee,.55*ne,.675*ee,.7*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.4*ee,.7*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.575*ee,.7*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.575*ee,.85*ne,.65*ee,.7*ne,.65*ee,.85*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.4*ee,.85*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.525*ee,.85*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.535*ee,ne,.61*ee,.85*ne,.61*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ne,.435*ee,ne,0,ne).close()),le}),go.Shape.defineFigureGenerator("Map",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,.2*ne,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.25*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.2*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.75*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,.2*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.75*ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.25*ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),oe.add(new go.PathSegment(go.PathSegment.Move,.25*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.25*ee,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.5*ee,.2*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Move,.75*ee,0)),oe.add(new go.PathSegment(go.PathSegment.Line,.75*ee,.8*ne)),le}),go.Shape.defineFigureGenerator("Eject",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,ne,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne*.7)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne*.7).close());var ce=new go.PathFigure(0,ne*.6,!0);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee,.6*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.5*ee,0).close()),le}),go.Shape.defineFigureGenerator("Pencil",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.2*ee,.1*ne)).add(new go.PathSegment(go.PathSegment.Line,ee,.9*ne)).add(new go.PathSegment(go.PathSegment.Line,.9*ee,ne)).add(new go.PathSegment(go.PathSegment.Line,.1*ee,.2*ne).close()))}),go.Shape.defineFigureGenerator("Building",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee*1,ne*1,!1);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne*.85)),oe.add(new go.PathSegment(go.PathSegment.Line,.046*ee,ne*.85)),oe.add(new go.PathSegment(go.PathSegment.Line,.046*ee,ne*.45)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne*.45)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne*.3)),oe.add(new go.PathSegment(go.PathSegment.Line,.046*ee,ne*.3)),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,ne*0)),oe.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*ee,ne*.3)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne*.3)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne*.45)),oe.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*ee,ne*.45)),oe.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*ee,ne*.85)),oe.add(new go.PathSegment(go.PathSegment.Line,ee,ne*.85).close());var ce=new go.PathFigure(.126*ee,.85*ne,!1);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,.126*ee,.45*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.322*ee,.45*ne)),ce.add(new go.PathSegment(go.PathSegment.Line,.322*ee,.85*ne).close());var he=new go.PathFigure(.402*ee,.85*ne,!1);le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,.402*ee,.45*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.598*ee,.45*ne)),he.add(new go.PathSegment(go.PathSegment.Line,.598*ee,.85*ne).close());var ie=new go.PathFigure(.678*ee,.85*ne,!1);le.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,.678*ee,.45*ne)),ie.add(new go.PathSegment(go.PathSegment.Line,.874*ee,.45*ne)),ie.add(new go.PathSegment(go.PathSegment.Line,.874*ee,.85*ne).close());var ue=new go.PathFigure(.5*ee,.1*ne,!1);return le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,(.046+.15)*ee,.3*ne)),ue.add(new go.PathSegment(go.PathSegment.Line,(1-(.046+.15))*ee,.3*ne).close()),le}),go.Shape.defineFigureGenerator("Staircase",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,ne*1,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.2,ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.2,ne*.8)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.4,ne*.8)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.4,ne*.6)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.6,ne*.6)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.6,ne*.4)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.8,ne*.4)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.8,ne*.2)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*.2)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*.15)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.75,ne*.15)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.75,ne*.35)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.55,ne*.35)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.55,ne*.55)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.35,ne*.55)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.35,ne*.75)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.15,ne*.75)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.15,ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne*.95).close()),le}),go.Shape.defineFigureGenerator("5Bars",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,ne*1,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.184,ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.184,ne*(1-.184)).close());var ce=new go.PathFigure(ee*.204,ne,!0);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.204,ne*(1-.184))),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.388,ne*(1-.184*2))),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.388,ne*1).close());var he=new go.PathFigure(ee*.408,ne,!0);le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee*.408,ne*(1-.184*2))),he.add(new go.PathSegment(go.PathSegment.Line,ee*.592,ne*(1-.184*3))),he.add(new go.PathSegment(go.PathSegment.Line,ee*.592,ne*1).close());var ie=new go.PathFigure(ee*.612,ne,!0);le.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,ee*.612,ne*(1-.184*3))),ie.add(new go.PathSegment(go.PathSegment.Line,ee*.796,ne*(1-.184*4))),ie.add(new go.PathSegment(go.PathSegment.Line,ee*.796,ne*1).close());var ue=new go.PathFigure(ee*.816,ne,!0);return le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,ee*.816,ne*(1-.184*4))),ue.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*(1-.184*5))),ue.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*1).close()),le}),go.Shape.defineFigureGenerator("PC",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.3,ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.3,0).close());var ce=new go.PathFigure(ee*.055,.07*ne,!0);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.245,ne*.07)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.245,ne*.1)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.055,ne*.1).close());var he=new go.PathFigure(ee*.055,.13*ne,!0);le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee*.245,ne*.13)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.245,ne*.16)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.055,ne*.16).close());var ie=new go.PathFigure(ee*.055,.18*ne,!0);le.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,ee*.245,ne*.18)),ie.add(new go.PathSegment(go.PathSegment.Line,ee*.245,ne*.21)),ie.add(new go.PathSegment(go.PathSegment.Line,ee*.055,ne*.21).close());var ue=new go.PathFigure(ee*1,0,!0);return le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,ee*.4,0)),ue.add(new go.PathSegment(go.PathSegment.Line,ee*.4,ne*.65)),ue.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*.65).close()),le}),go.Shape.defineFigureGenerator("Plane",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(.55*ee,ne,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,.5*ee,.6*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.4*ee,.7*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.1*ee,.475*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.35*ee,.525*ne,0,.4*ne,.225*ee,.45*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.4*ee,.475*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.15*ee,.35*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.2*ee,.325*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.6*ee,.325*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.85*ee,.1*ne)),oe.add(new go.PathSegment(go.PathSegment.Bezier,.9*ee,.2*ne,.975*ee,0,ee,.08*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.7*ee,.45*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.6*ee,.95*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,.55*ee,ne).close()),le}),go.Shape.defineFigureGenerator("Key",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee*1,ne*.5,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.9,.4*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.5,.4*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.5,.35*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.45,.35*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.3,.2*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.15,.2*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.35*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,0,.65*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.15,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.3,.8*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.45,.65*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.5,.65*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.5,.6*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.6,.6*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.65,.55*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.7,.6*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.75,.55*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.8,.6*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.85,.575*ne)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.9,.6*ne).close()),oe.add(new go.PathSegment(go.PathSegment.Move,.17*ee,.425*ne)),oe.add(new go.PathSegment(go.PathSegment.Arc,270,360,.17*ee,.5*ne,.075*ee,.075*ne).close()),le}),go.Shape.defineFigureGenerator("FilmTape",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(0,0,!1);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Arc,270,180,ee*0,ee*.3,ee*.055)),oe.add(new go.PathSegment(go.PathSegment.Line,0,ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.08,ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.08,ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*1),ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*1),ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*2),ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*2),ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*3),ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*3),ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*4),ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*4),ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*5),ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*5),ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*6),ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*6),ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*7),ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*7),ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*8),ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*8),ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*9),ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*9),ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*10),ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*10),ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*11),ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*11),ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*12),ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*12),ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*13),ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*13),ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*14),ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*14),ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*15),ne*.95)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(.08+.056*15),ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*1));var ce=new go.PathFigure(0,0,!1);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*0)),ce.add(new go.PathSegment(go.PathSegment.Arc,270,-180,ee*1,ee*.3,ee*.055)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*1));var he=new go.PathFigure(ee*.11,ne*.1,!1);le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee*(.11+.24133333*1+.028*0),ne*.1)),he.add(new go.PathSegment(go.PathSegment.Line,ee*(.11+.24133333*1+.028*0),ne*.8)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.11,ne*.8).close());var ie=new go.PathFigure(ee*(.11+.24133333*1+.028*1),ne*.1,!1);le.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,ee*(.11+.24133333*2+.028*1),ne*.1)),ie.add(new go.PathSegment(go.PathSegment.Line,ee*(.11+.24133333*2+.028*1),ne*.8)),ie.add(new go.PathSegment(go.PathSegment.Line,ee*(.11+.24133333*1+.028*1),ne*.8).close());var ue=new go.PathFigure(ee*(.11+.24133333*2+.028*2),ne*.1,!1);return le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,ee*(.11+.24133333*3+.028*2),ne*.1)),ue.add(new go.PathSegment(go.PathSegment.Line,ee*(.11+.24133333*3+.028*2),ne*.8)),ue.add(new go.PathSegment(go.PathSegment.Line,ee*(.11+.24133333*2+.028*2),ne*.8).close()),le}),go.Shape.defineFigureGenerator("FloppyDisk",function(de,ee,ne){var le=new go.Geometry,oe=8,ce=oe*ve,he=new go.PathFigure(oe,0,!1);le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee*.86,0)),he.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*.14)),he.add(new go.PathSegment(go.PathSegment.Line,ee,ne-oe)),he.add(new go.PathSegment(go.PathSegment.Bezier,ee-oe,ne,ee,ne-ce,ee-ce,ne)),he.add(new go.PathSegment(go.PathSegment.Line,oe,ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,0,ne-oe,ce,ne,0,ne-ce)),he.add(new go.PathSegment(go.PathSegment.Line,0,oe)),he.add(new go.PathSegment(go.PathSegment.Bezier,oe,0,0,ce,ce,0).close());var ie=new go.PathFigure(ee*.83,0,!1);le.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,ee*.83,ne*.3)),ie.add(new go.PathSegment(go.PathSegment.Line,ee*.17,ne*.3)),ie.add(new go.PathSegment(go.PathSegment.Line,ee*.17,ne*0).close());var ue=new go.PathFigure(ee*.83,ne*1,!1);le.add(ue),ue.add(new go.PathSegment(go.PathSegment.Line,ee*.83,ne*.5)),ue.add(new go.PathSegment(go.PathSegment.Line,ee*.17,ne*.5)),ue.add(new go.PathSegment(go.PathSegment.Line,ee*.17,ne*1).close());var ge=new go.PathFigure(ee*.78,ne*.05,!1);return le.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,ee*.66,ne*.05)),ge.add(new go.PathSegment(go.PathSegment.Line,ee*.66,ne*.25)),ge.add(new go.PathSegment(go.PathSegment.Line,ee*.78,ne*.25).close()),le}),go.Shape.defineFigureGenerator("SpeechBubble",function(de,ee,ne){var le=de?de.parameter1:NaN;(isNaN(le)||le<0)&&(le=15),le=Math.min(le,ee/3),le=Math.min(le,ne/3);var oe=le*ve,ce=ne*.8,he=new go.Geometry,ie=new go.PathFigure(le,0,!0);return he.add(ie),ie.add(new go.PathSegment(go.PathSegment.Line,ee-le,0)),ie.add(new go.PathSegment(go.PathSegment.Bezier,ee,le,ee-oe,0,ee,oe)),ie.add(new go.PathSegment(go.PathSegment.Line,ee,ce-le)),ie.add(new go.PathSegment(go.PathSegment.Bezier,ee-le,ce,ee,ce-oe,ee-oe,ce)),ie.add(new go.PathSegment(go.PathSegment.Line,ee*.7,ce)),ie.add(new go.PathSegment(go.PathSegment.Line,ee*.7,ne)),ie.add(new go.PathSegment(go.PathSegment.Line,ee*.55,ce)),ie.add(new go.PathSegment(go.PathSegment.Line,le,ce)),ie.add(new go.PathSegment(go.PathSegment.Bezier,0,ce-le,oe,ce,0,ce-oe)),ie.add(new go.PathSegment(go.PathSegment.Line,0,le)),ie.add(new go.PathSegment(go.PathSegment.Bezier,le,0,0,oe,oe,0).close()),oe>1?(he.spot1=new go.Spot(0,0,oe,oe),he.spot2=new go.Spot(1,.8,-oe,-oe)):(he.spot1=go.Spot.TopLeft,he.spot2=new go.Spot(1,.8)),he}),go.Shape.defineFigureGenerator("Repeat",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee*0,ne*.45,!0);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.25,ne*0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.5,ne*.45)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.3,ne*.45)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.3,ne*.9)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.6,ne*.9)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.65,ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.2,ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.2,ne*.45).close());var ce=new go.PathFigure(ee*1,ne*.55,!0);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.75,ne*1)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.5,ne*.55)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.7,ne*.55)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.7,ne*.1)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.4,ne*.1)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.35,ne*0)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.8,ne*0)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.8,ne*.55).close()),le}),go.Shape.defineFigureGenerator("Windows",function(de,ee,ne){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,ee,0)).add(new go.PathSegment(go.PathSegment.Line,ee,ne)).add(new go.PathSegment(go.PathSegment.Line,0,ne).close()).add(new go.PathSegment(go.PathSegment.Move,.4*ee,.4*ne)).add(new go.PathSegment(go.PathSegment.Line,.4*ee,.8*ne)).add(new go.PathSegment(go.PathSegment.Line,.9*ee,.8*ne)).add(new go.PathSegment(go.PathSegment.Line,.9*ee,.4*ne).close()).add(new go.PathSegment(go.PathSegment.Move,.2*ee,.1*ne)).add(new go.PathSegment(go.PathSegment.Line,.2*ee,.6*ne)).add(new go.PathSegment(go.PathSegment.Line,.7*ee,.6*ne)).add(new go.PathSegment(go.PathSegment.Line,.7*ee,.1*ne).close()).add(new go.PathSegment(go.PathSegment.Move,.1*ee,.6*ne)).add(new go.PathSegment(go.PathSegment.Line,.1*ee,.9*ne)).add(new go.PathSegment(go.PathSegment.Line,.5*ee,.9*ne)).add(new go.PathSegment(go.PathSegment.Line,.5*ee,.6*ne).close()))}),go.Shape.defineFigureGenerator("Terminal",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee*0,ne*.1,!1);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*.1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*.9)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*0,ne*.9).close());var ce=new go.PathFigure(ee*.1,ne*.2,!0);le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.1,ne*.25)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.22,ne*.285)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.1,ne*.32)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.1,ne*.37)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.275,ne*.32)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.275,ne*.25).close());var he=new go.PathFigure(ee*.28,ne*.37,!0);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee*.45,ne*.37)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.45,ne*.41)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.28,ne*.41).close()),le}),go.Shape.defineFigureGenerator("Beaker",function(de,ee,ne){var le=new go.Geometry,oe=15,ce=oe*ve,he=new go.PathFigure(ee*.62,ne*.475,!0);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee,ne-oe)),he.add(new go.PathSegment(go.PathSegment.Bezier,ee-oe,ne,ee,ne-ce,ee-ce,ne)),he.add(new go.PathSegment(go.PathSegment.Line,oe,ne)),he.add(new go.PathSegment(go.PathSegment.Bezier,0,ne-oe,ce,ne,0,ne-ce)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.38,ne*.475)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.38,ne*.03)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.36,ne*0)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.64,ne*0)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.62,ne*.03).close()),ce>1?(le.spot1=new go.Spot(0,0,ce,ce),le.spot2=new go.Spot(1,1,-ce,-ce)):(le.spot1=go.Spot.TopLeft,le.spot2=go.Spot.BottomRight),le}),go.Shape.defineFigureGenerator("Download",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee*0,ne*1,!0);le.add(oe);var ce=.1/.3;oe.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*(1-ce))),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.8,ne*0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.66,ne*0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.66,ne*.055)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.755,ne*.055)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.93,ne*(1-ce))),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.64,ne*(1-ce))),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.61,ne*.75)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.5,ne*.75)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.39,ne*.75)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.36,ne*(1-ce))),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.07,ne*(1-ce))),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(1-.755),ne*.055)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(1-.66),ne*.055)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(1-.66),ne*0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(1-.8),ne*0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*0,ne*(1-ce)).close());var he=new go.PathFigure(ee*.4,ne*0,!0);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee*.4,ne*.44)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.26,ne*.44)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.5,ne*.66)),he.add(new go.PathSegment(go.PathSegment.Line,ee*(1-.26),ne*.44)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.6,ne*.44)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.6,ne*0).close()),le}),go.Shape.defineFigureGenerator("Bin",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee*0,ne*1,!0);le.add(oe);var ce=.1/.3;return oe.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*(1-ce))),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.8,ne*0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.66,ne*0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.66,ne*.055)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.755,ne*.055)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.93,ne*(1-ce))),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.64,ne*(1-ce))),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.61,ne*.75)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.5,ne*.75)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.39,ne*.75)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.36,ne*(1-ce))),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.07,ne*(1-ce))),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(1-.755),ne*.055)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(1-.66),ne*.055)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(1-.66),ne*0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(1-.8),ne*0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*0,ne*(1-ce)).close()),le}),go.Shape.defineFigureGenerator("Upload",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee*0,ne*1,!0);le.add(oe);var ce=.1/.3;oe.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*(1-ce))),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.8,ne*0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.66,ne*0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.66,ne*.055)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.755,ne*.055)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.93,ne*(1-ce))),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.64,ne*(1-ce))),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.61,ne*.75)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.5,ne*.75)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.39,ne*.75)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.36,ne*(1-ce))),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.07,ne*(1-ce))),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(1-.755),ne*.055)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(1-.66),ne*.055)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(1-.66),ne*0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*(1-.8),ne*0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*0,ne*(1-ce)).close());var he=new go.PathFigure(ee*.5,ne*0,!0);return le.add(he),he.add(new go.PathSegment(go.PathSegment.Line,ee*.26,ne*.25)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.4,ne*.25)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.4,ne*.63)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.6,ne*.63)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.6,ne*.25)),he.add(new go.PathSegment(go.PathSegment.Line,ee*.74,ne*.25).close()),le}),go.Shape.defineFigureGenerator("EmptyDrink",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee*.15,ne*0,!1);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.85,ne*0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.7,ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.3,ne*1).close()),le}),go.Shape.defineFigureGenerator("Drink",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee*.15,ne*0,!1);le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.85,ne*0)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.7,ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.3,ne*1).close());var ce=new go.PathFigure(ee*.235,ne*.28,!0);return le.add(ce),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.765,ne*.28)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.655,ne*.97)),ce.add(new go.PathSegment(go.PathSegment.Line,ee*.345,ne*.97).close()),le}),go.Shape.defineFigureGenerator("4Arrows",function(de,ee,ne){var le=new go.Geometry,oe=new go.PathFigure(ee*.5,ne*0,!0);return le.add(oe),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.65,ne*.25)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.55,ne*.25)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.55,ne*.45)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.75,ne*.45)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.75,ne*.35)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*1,ne*.5)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.75,ne*.65)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.75,ne*.55)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.55,ne*.55)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.55,ne*.75)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.65,ne*.75)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.5,ne*1)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.35,ne*.75)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.45,ne*.75)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.45,ne*.55)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.25,ne*.55)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.25,ne*.65)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*0,ne*.5)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.25,ne*.35)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.25,ne*.45)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.45,ne*.45)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.45,ne*.25)),oe.add(new go.PathSegment(go.PathSegment.Line,ee*.35,ne*.25).close()),le}),go.Shape.defineFigureGenerator("Connector","Ellipse"),go.Shape.defineFigureGenerator("Alternative","TriangleUp"),go.Shape.defineFigureGenerator("Merge","TriangleUp"),go.Shape.defineFigureGenerator("Decision","Diamond"),go.Shape.defineFigureGenerator("DataTransmissions","Hexagon"),go.Shape.defineFigureGenerator("Gate","Crescent"),go.Shape.defineFigureGenerator("Delay","HalfEllipse"),go.Shape.defineFigureGenerator("Input","Parallelogram1"),go.Shape.defineFigureGenerator("ManualLoop","ManualOperation"),go.Shape.defineFigureGenerator("ISOProcess","Chevron"),go.Shape.defineFigureGenerator("MessageToUser","SquareArrow"),go.Shape.defineFigureGenerator("MagneticData","Cylinder1"),go.Shape.defineFigureGenerator("DirectData","Cylinder4"),go.Shape.defineFigureGenerator("StoredData","DataStorage"),go.Shape.defineFigureGenerator("SequentialData","MagneticTape"),go.Shape.defineFigureGenerator("Subroutine","Procedure")},5559:function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;(function(){if(typeof window.GGBApplet=="function"){console.warn("deployggb.js was loaded twice");return}var isRenderGGBElementEnabled=!1,scriptLoadStarted=!1,html5AppletsToProcess=null,ggbHTML5LoadedCodebaseIsWebSimple=!1,ggbHTML5LoadedCodebaseVersion=null,ggbHTML5LoadedScript=null,GGBApplet=function(){"use strict";for(var Pt={},Mt="5.0",Oe={},_e=null,Ve=!1,Re=!1,be=null,Fe=!1,Ce=null,ve=null,ye=0;ye<arguments.length;ye++){var we=arguments[ye];if(we!==null)switch(typeof we){case"number":Mt=we.toFixed(1);break;case"string":we.match(new RegExp("^[0-9]\\.[0-9]+$"))?Mt=we:be=we;break;case"object":typeof we.is3D!="undefined"?_e=we:Oe=we;break;case"boolean":Ve=we,Re=!0;break}}_e===null&&(_e={is3D:!1,AV:!1,SV:!1,CV:!1,EV2:!1,CP:!1,PC:!1,DA:!1,FI:!1,PV:!1,macro:!1},Oe.material_id!==void 0&&!Re&&(Ve=!0)),be!==null&&Oe.id===void 0&&(Oe.id=be);var De="",pe="",Ee=!1,Pe=null,de=null,ee=null,ne=!1,le=null,oe=null,ce=null,he=null,ie=null;Oe.height!==void 0&&(Oe.height=Math.round(Oe.height)),Oe.width!==void 0&&(Oe.width=Math.round(Oe.width));var ue=function(ht){return parseFloat(ht)>4?parseFloat(ht):5};Pt.setHTML5Codebase=function(ht,vt){ve=ht,dt(ht,vt)},Pt.setJavaCodebase=Pt.setJavaCodebaseVersion=Pt.isCompiledInstalled=Pt.setPreCompiledScriptPath=Pt.setPreCompiledResourcePath=function(){},Pt.setHTML5CodebaseVersion=function(ht,vt){var Wt=parseFloat(ht);if(Wt!==NaN&&Wt<5){console.log("The GeoGebra HTML5 codebase version "+Wt+" is deprecated. Using version latest instead.");return}Ce=ht,tt(ht,vt)},Pt.getHTML5CodebaseVersion=function(){return de},Pt.getParameters=function(){return Oe},Pt.setFontsCSSURL=function(ht){he=ht},Pt.setGiacJSURL=function(ht){},Pt.setJNLPFile=function(ht){De=ht},Pt.setJNLPBaseDir=function(ht){},Pt.inject=function(){function ht(){return window.frameElement&&window.frameElement.getAttribute("data-singleton")}for(var vt="auto",Wt=Oe.id,Jt,en=!1,mn=0;mn<arguments.length;mn++){var Ot=arguments[mn];typeof Ot=="string"?(Ot=Ot.toLowerCase(),Ot.match(/^(prefer)?(java|html5|compiled|auto|screenshot)$/)?vt=Ot:Wt=arguments[mn]):typeof Ot=="boolean"?en=Ot:Ot instanceof HTMLElement&&(Jt=Ot)}an();function an(){if(!Fe){setTimeout(an,200);return}vt=rt(vt);var tn=Jt||document.getElementById(Wt);if(!tn){console.log("possibly bug on ajax loading? ");return}if(Pt.removeExistingApplet(tn,!1),Oe.width===void 0&&tn.clientWidth&&(Oe.width=tn.clientWidth),Oe.height===void 0&&tn.clientHeight&&(Oe.height=tn.clientHeight),!(Oe.width&&Oe.height)&&vt==="html5"&&(delete Oe.width,delete Oe.height),Pe=vt,vt==="screenshot")Ye(tn,Oe);else{var Dn=!1;Oe.hasOwnProperty("playButton")&&Oe.playButton||Oe.hasOwnProperty("clickToLoad")&&Oe.clickToLoad?Dn=!0:Oe.hasOwnProperty("playButtonAutoDecide")&&Oe.playButtonAutoDecide&&(Dn=(!ge()||ht())&&xe()),Dn?(Pe="screenshot",$e(tn,Oe,en,vt)):Xe(tn,Oe,en)}}};function ge(){try{return window.self!==window.top}catch(ht){return!0}}function xe(){return Oe.hasOwnProperty("screenshotGenerator")&&Oe.screenshotGenerator?!1:Math.max(screen.width,screen.height)<800}Pt.getViews=function(){return _e},Pt.isJavaInstalled=function(){return!1};var Me=function(ht){var vt=function(mn){var Ot=JSON.parse(mn),an=function(Tn){return Tn.type=="G"||Tn.type=="E"},tn=Ot.elements?Ot.elements.filter(an)[0]:Ot;if(!tn||!tn.url){Wt();return}Oe.fileName=tn.url,Be(tn.settings||{}),_e.is3D=!0;var Dn="https://www.geogebra.org/images/";Pt.setPreviewImage(le||tn.previewUrl,Dn+"GeoGebra_loading.png",Dn+"applet_play.png"),ht()},Wt=function(){Oe.onError&&Oe.onError(),At("Error: Fetching material (id "+Oe.material_id+") failed.",Oe)},Jt=location.host.match(/(www|stage|beta|groot|alpha).geogebra.(org|net)/)?location.host:"www.geogebra.org",en="/materials/"+Oe.material_id+"?scope=basic";Ne("https://"+Jt+"/api/proxy.php?path="+encodeURIComponent(en),vt,Wt)};function Be(ht){var vt=["width","height","showToolBar","showMenuBar","showAlgebraInput","allowStyleBar","showResetIcon","enableLabelDrags","enableShiftDragZoom","enableRightClick","appName"];["enableLabelDrags","enableShiftDragZoom","enableRightClick"].forEach(function(Wt){ht[Wt]=!!ht[Wt]}),vt.forEach(function(Wt){Oe[Wt]===void 0&&ht[Wt]!==void 0&&(Oe[Wt]=ht[Wt])}),Oe.showToolBarHelp===void 0&&(Oe.showToolBarHelp=Oe.showToolBar)}function Ne(ht,vt,Wt){var Jt=new XMLHttpRequest;Jt.open("GET",ht),Jt.onload=function(){vt(Jt.responseText)},Jt.onerror=Wt,Jt.send()}Pt.isHTML5Installed=function(){return!0},Pt.getLoadedAppletType=function(){return Pe},Pt.setPreviewImage=function(ht,vt,Wt){le=ht,oe=vt,ce=Wt},Pt.removeExistingApplet=function(ht,vt){var Wt;typeof ht=="string"&&(ht=document.getElementById(ht)),Pe=null;var Jt=null;for(Wt=0;Wt<ht.childNodes.length;Wt++){var en=ht.childNodes[Wt],mn=en.className;mn==="applet_screenshot"?vt?(en.style.display="block",Pe="screenshot"):en.style.display="none":mn!=="applet_scaler prerender"&&(ht.removeChild(en),Jt=mn&&mn.indexOf("appletParameters")!=-1?en.id:null,Wt--)}var Ot=Oe.id!==void 0?Oe.id:Jt,an=window[Ot];an&&typeof an.getBase64=="function"&&(an.remove(),window[Ot]=null)},Pt.refreshHitPoints=function(){if(ue(ggbHTML5LoadedCodebaseVersion)>=5)return!0;var ht=Pt.getAppletObject();return ht&&typeof ht.recalculateEnvironments=="function"?(ht.recalculateEnvironments(),!0):!1},Pt.startAnimation=function(){var ht=Pt.getAppletObject();return ht&&typeof ht.startAnimation=="function"?(ht.startAnimation(),!0):!1},Pt.stopAnimation=function(){var ht=Pt.getAppletObject();return ht&&typeof ht.stopAnimation=="function"?(ht.stopAnimation(),!0):!1},Pt.getAppletObject=function(){var ht=Oe.id!==void 0?Oe.id:"ggbApplet";return window[ht]},Pt.resize=function(){};var Ue=function(ht,vt,Wt){var Jt=document.createElement("param");Jt.setAttribute("name",vt),Jt.setAttribute("value",Wt),ht.appendChild(Jt)},Ge=function(ht){return ht&&ht!=="false"},Xe=function(ht,vt,Wt){ue(de)<=4.2&&(Wt=!0);var Jt=!isRenderGGBElementEnabled&&!scriptLoadStarted;(!isRenderGGBElementEnabled&&!scriptLoadStarted||ggbHTML5LoadedCodebaseVersion!==de||ggbHTML5LoadedCodebaseIsWebSimple&&!ne)&&(Jt=!0,isRenderGGBElementEnabled=!1,scriptLoadStarted=!1);var en=document.createElement("div");en.classList.add("appletParameters","notranslate");var mn=vt.width,Ot=vt.height;if(vt.disableAutoScale=vt.disableAutoScale===void 0?GGBAppletUtils.isFlexibleWorksheetEditor():vt.disableAutoScale,vt.width!==void 0)if(ue(de)<=4.4)Ge(vt.showToolBar)&&(vt.height-=7),Ge(vt.showAlgebraInput)&&(vt.height-=37),vt.width<605&&Ge(vt.showToolBar)&&(vt.width=605,mn=605);else{var an=100;(Ge(vt.showToolBar)||Ge(vt.showMenuBar))&&(vt.hasOwnProperty("customToolBar")&&(vt.customToolbar=vt.customToolBar),an=Ge(vt.showMenuBar)?245:155),mn<an&&(vt.width=an,mn=an)}en.style.border="none",en.style.display="inline-block";for(var tn in vt)vt.hasOwnProperty(tn)&&tn!=="appletOnLoad"&&en.setAttribute("data-param-"+tn,vt[tn]);he&&en.setAttribute("data-param-fontscssurl",he),Pt.resize=function(){GGBAppletUtils.responsiveResize(ht,vt)},window.addEventListener("resize",function(wt){Pt.resize()});var Dn=typeof vt.appletOnLoad=="function"?vt.appletOnLoad:function(){};if(!Wt&&vt.width!==void 0){vt.hasOwnProperty("showSplash")||en.setAttribute("data-param-showSplash","false");var Tn=ht.querySelector(".applet_scaler.prerender"),sn=Tn!==null;if(sn)var dn=Tn.querySelector(".ggb_preview");else{var dn=st(mn,Ot,vt.borderColor,!1);Tn=document.createElement("div"),Tn.className="applet_scaler",Tn.style.position="relative",Tn.style.display="block",Tn.style.width=mn+"px",Tn.style.height=Ot+"px"}window.GGBT_spinner&&window.GGBT_spinner.attachSpinner(Tn,"66%"),ue(de)>=5?(vt.appletOnLoad=function(wt){var rn=ht.querySelector(".ggb_preview");rn&&rn.parentNode.removeChild(rn),window.GGBT_spinner&&window.GGBT_spinner.removeSpinner(Tn),window.GGBT_wsf_view&&$(window).trigger("resize"),Dn(wt)},sn||Tn.appendChild(dn)):en.appendChild(dn),Tn.appendChild(en),sn||ht.appendChild(Tn),setTimeout(function(){Pt.resize()},1)}else{var Kt=document.createElement("div");Kt.className="applet_scaler",Kt.style.position="relative",Kt.style.display="block",Kt.appendChild(en),ht.appendChild(Kt),vt.appletOnLoad=function(wt){Pt.resize(),Dn(wt)}}function Tt(wt,rn){rn&&typeof rn.appletOnLoad=="function"&&typeof renderGGBElement=="function"?renderGGBElement(wt,rn.appletOnLoad):renderGGBElement(wt),At("GeoGebra HTML5 applet injected and rendered with previously loaded codebase.",rn)}function yt(wt,rn){typeof renderGGBElement=="undefined"?(html5AppletsToProcess===null&&(html5AppletsToProcess=[]),html5AppletsToProcess.push({article:wt,params:rn}),window.renderGGBElementReady=function(){isRenderGGBElementEnabled=!0,html5AppletsToProcess!==null&&html5AppletsToProcess.length&&(html5AppletsToProcess.forEach(function(On){Tt(On.article,On.params)}),html5AppletsToProcess=null)},ue(de)<5&&(wt.className+=" geogebraweb")):Tt(wt,rn)}if(Jt){scriptLoadStarted=!0;for(var Gt=0;Gt<en.childNodes.length;Gt++){var gt=en.childNodes[Gt].tagName;gt==="TABLE"&&(en.removeChild(en.childNodes[Gt]),Gt--)}if(ggbHTML5LoadedScript!==null){var St=document.querySelector('script[src="'+ggbHTML5LoadedScript+'"]');St!=null&&St.parentNode.removeChild(St)}var Qt=document.createElement("script"),Nt=function(){yt(en,vt)};Qt.src=pe+ee,ggbHTML5LoadedCodebaseIsWebSimple=ne,ggbHTML5LoadedCodebaseVersion=de,ggbHTML5LoadedScript=Qt.src,At("GeoGebra HTML5 codebase loaded: '"+pe+"'.",vt),!ve&&(!Ce||Ce=="5.0")?(ne?webSimple.succeeded=webSimple.succeeded||webSimple():web3d.succeeded=web3d.succeeded||web3d(),Nt()):pe.requirejs?__webpack_require__.e(777).then(function(){var wt=[__webpack_require__(70777)];Nt.apply(null,wt)}.bind(this)).catch(__webpack_require__.oe):(Qt.onload=Nt,ht.appendChild(Qt))}else yt(en,vt);vt.height=Ot,vt.width=mn},Ye=function(ht,vt,Wt){var Jt=st(vt.width,vt.height,vt.borderColor,Wt),en=document.createElement("div");en.style.position="relative",en.style.display="block",en.style.width=vt.width+"px",en.style.height=vt.height+"px",en.className="applet_screenshot applet_scaler"+(Wt?" applet_screenshot_play":""),en.appendChild(Jt);var mn=GGBAppletUtils.getScale(vt,ht,Wt);Wt?(ht.appendChild(qe()),window.GGBT_wsf_view||(ht.style.position="relative")):window.GGBT_spinner&&window.GGBT_spinner.attachSpinner(en,"66%"),ht.appendChild(en),mn!==1&&!isNaN(mn)&&(GGBAppletUtils.scaleElement(en,mn),en.style.width=vt.width+"px",en.style.height=vt.height+"px",en.parentNode.style.width=vt.width*mn+"px",en.parentNode.style.height=vt.height*mn+"px"),Pt.resize=function(){nt(ht,Jt,en,Wt)},window.addEventListener("resize",function(Ot){Pt.resize()}),Pt.resize()};function nt(ht,vt,Wt,Jt){if(ht.contains(vt)){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(ht.id!=="fullscreencontent")return;window.GGBT_wsf_view.setCloseBtnPosition(ht)}var en=GGBAppletUtils.getScale(Oe,ht,Jt);Wt.parentNode!==null&&(!isNaN(en)&&en!==1?(GGBAppletUtils.scaleElement(Wt,en),Wt.parentNode.style.width=Oe.width*en+"px",Wt.parentNode.style.height=Oe.height*en+"px"):(GGBAppletUtils.scaleElement(Wt,1),Wt.parentNode.style.width=Oe.width+"px",Wt.parentNode.style.height=Oe.height+"px")),typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&GGBAppletUtils.positionCenter(ht),typeof window.GGBT_ws_header_footer=="object"&&window.GGBT_ws_header_footer.setWsScrollerHeight()}}Pt.onExitFullscreen=function(ht,vt){vt.appendChild(ht)};var $e=function(ht,vt,Wt,Jt){Ye(ht,vt,!0);for(var en=function(){var an=[];for(Ot=0;Ot<ht.childNodes.length;Ot++)an.push(ht.childNodes[Ot]);if(window.GGBT_wsf_view){var tn=window.GGBT_wsf_view.renderFullScreen(ht,vt.id),Dn=document.getElementById("fullscreencontainer"),Tn=jQuery(ht).find(".fullscreencontent");Tn.length>0?(tn.remove(),Tn.attr("id","fullscreencontent").show(),jQuery(Dn).append(Tn),window.dispatchEvent(new Event("resize"))):Xe(tn,vt,!1),window.GGBT_wsf_view.launchFullScreen(Dn)}else Pe=Jt,Xe(ht,vt,!1);if(!window.GGBT_wsf_view)for(Ot=0;Ot<an.length;Ot++)ht.removeChild(an[Ot])},mn=ht.getElementsByClassName("ggb_preview_play"),Ot=0;Ot<mn.length;Ot++)mn[Ot].addEventListener("click",en,!1),mn[Ot].addEventListener("ontouchstart",en,!1);typeof window.ggbAppletPlayerOnload=="function"&&window.ggbAppletPlayerOnload(ht),xe()&&window.GGBT_wsf_view&&$(".wsf-element-fullscreen-button").remove()},qe=function(){var ht=document.createElement("div");if(ht.className="ggb_preview_play icon-applet-play",!window.GGBT_wsf_view){var vt='.icon-applet-play { width: 100%; height: 100%;box-sizing: border-box;position: absolute;z-index: 1001;cursor: pointer;border-width: 0px; background-color: transparent;background-repeat: no-repeat;left: 0;top: 0;background-position: center center; background-image: url("https://www.geogebra.org/images/worksheet/icon-start-applet.png");}.icon-applet-play:hover {background-image: url("https://www.geogebra.org/images/worksheet/icon-start-applet-hover.png");}',Wt=document.createElement("style");Wt.styleSheet?Wt.styleSheet.cssText=vt:Wt.appendChild(document.createTextNode(vt)),document.getElementsByTagName("head")[0].appendChild(Wt)}return ht},st=function(ht,vt,Wt,Jt){var en=document.createElement("div");en.className="ggb_preview",en.style.position="absolute",en.style.zIndex="90",en.style.width=ht-2+"px",en.style.height=vt-2+"px",en.style.top="0px",en.style.left="0px",en.style.overflow="hidden",en.style.backgroundColor="white";var mn="lightgrey";Wt!==void 0&&(Wt==="none"?mn="transparent":mn=Wt),en.style.border="1px solid "+mn;var Ot=document.createElement("img");if(Ot.style.position="relative",Ot.style.zIndex="1000",Ot.style.top="-1px",Ot.style.left="-1px",le!==null&&Ot.setAttribute("src",le),Ot.style.opacity=.7,oe!==null){var an,tn,Dn;if(!Jt){an=document.createElement("img"),an.style.position="absolute",an.style.zIndex="1001",an.style.opacity=1,Ot.style.opacity=.3,tn=360,tn>ht/4*3&&(tn=ht/4*3),Dn=tn/5.8,an.setAttribute("src",oe),an.setAttribute("width",tn),an.setAttribute("height",Dn);var Tn=(ht-tn)/2,sn=(vt-Dn)/2;an.style.left=Tn+"px",an.style.top=sn+"px",en.appendChild(an)}}return en.appendChild(Ot),en},rt=function(ht){return ht=ht.toLowerCase(),ht==="html5"||ht==="screenshot"?ht:"html5"},ct=["web","webSimple","web3d","tablet","tablet3d","phone"],tt=function(ht,vt){if(de=ht,vt){dt(de,!0);return}var Wt=!Ve;if(Wt){var Jt=ue(de);!isNaN(Jt)&&Jt<4.4&&(Wt=!1)}var en,mn;window.location.protocol.substr(0,4)==="http"?en=window.location.protocol:en="http:";var Ot=de.indexOf("//");Ot>0?mn=de:Ot===0?mn=en+de:mn="https://www.geogebra.org/apps/5.2.814.0/";for(var an in ct)if(de.slice(ct[an].length*-1)===ct[an]||de.slice((ct[an].length+1)*-1)===ct[an]+"/"){dt(mn,!1);return}!GGBAppletUtils.isFlexibleWorksheetEditor()&&Wt&&!_e.is3D&&!_e.AV&&!_e.SV&&!_e.CV&&!_e.EV2&&!_e.CP&&!_e.PC&&!_e.DA&&!_e.FI&&!_e.PV&&!Ge(Oe.showToolBar)&&!Ge(Oe.showMenuBar)&&!Ge(Oe.showAlgebraInput)&&!Ge(Oe.enableRightClick)&&(!Oe.appName||Oe.appName=="classic")?mn+="webSimple/":mn+="web3d/",dt(mn,!1)},dt=function(ht,vt){if(ht.requirejs){pe=ht;return}ht.slice(-1)!=="/"&&(ht+="/"),pe=ht,vt===null&&(vt=ht.indexOf("http")===-1),Ee=vt,ee="web.nocache.js",ne=!1;var Wt=pe.split("/");Wt.length>1&&(!vt&&Wt[Wt.length-2]==="webSimple"?(ee="webSimple.nocache.js",ne=!0):ct.indexOf(Wt[Wt.length-2])>=0&&(ee=Wt[Wt.length-2]+".nocache.js")),Wt=ht.split("/"),de=Wt[Wt.length-3],de.substr(0,4)==="test"?de=de.substr(4,1)+"."+de.substr(5,1):(de.substr(0,3)==="war"||de.substr(0,4)==="beta")&&(de="5.0");var Jt=parseFloat(de);Jt!==NaN&&Jt<5&&ht.indexOf("geogebra.org")>=0&&(console.log("The GeoGebra HTML5 codebase version "+Jt+" is deprecated. Using version latest instead."),tt("5.0",vt))},At=function(ht,vt){window.console&&window.console.log&&(!vt||typeof vt.showLogging=="undefined"||vt.showLogging&&vt.showLogging!=="false")&&console.log(ht)};Oe.material_id!==void 0?Me(mt):mt();function mt(){var ht=Mt;Ce!==null?ht=Ce:parseFloat(ht)<5&&(ht="5.0"),tt(ht,!1),ve!==null&&dt(ve,Ee),Fe=!0}return Pt},GGBAppletUtils=function(){"use strict";function Pt(){return window.GGBT_wsf_edit!==void 0}function Mt(Fe,Ce){Ce!=1?(Fe.style.transformOrigin="0% 0% 0px",Fe.style.webkitTransformOrigin="0% 0% 0px",Fe.style.transform="scale("+Ce+","+Ce+")",Fe.style.webkitTransform="scale("+Ce+","+Ce+")",Fe.style.maxWidth="initial",Fe.querySelector(".ggb_preview")!==null&&(Fe.querySelector(".ggb_preview").style.maxWidth="initial"),Fe.querySelectorAll(".ggb_preview img")[0]!==void 0&&(Fe.querySelectorAll(".ggb_preview img")[0].style.maxWidth="initial"),Fe.querySelectorAll(".ggb_preview img")[1]!==void 0&&(Fe.querySelectorAll(".ggb_preview img")[1].style.maxWidth="initial")):(Fe.style.transform="none",Fe.style.webkitTransform="none")}function Oe(Fe,Ce,ve,ye,we,De){var pe=null;if(De!=null&&De!="")for(var Ee=Fe.parentNode;Ee!=null;)if((" "+Ee.className+" ").indexOf(" "+De+" ")>-1){pe=Ee;break}else Ee=Ee.parentNode;var Pe=0,de=0,ee=0,ne=0,le=0,oe=0,ce=0;if(pe)Pe=pe.offsetWidth,de=Math.max(ye?pe.offsetWidth:0,pe.offsetHeight);else{if(window.innerWidth&&document.documentElement.clientWidth?(Pe=Math.min(window.innerWidth,document.documentElement.clientWidth),de=Math.min(window.innerHeight,document.documentElement.clientHeight),ee=Pe):(Pe=window.innerWidth,de=window.innerHeight,ee=window.innerWidth),Fe){var he=Fe.getBoundingClientRect();he.left>0&&he.left<=Pe&&(we===void 0||!we)&&(document.dir==="rtl"?(le=Pe-he.width-he.left,oe=ee<=480?10:30):(oe=he.left,le=ee<=480?10:30),ne=oe+le)}if(Fe&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){var ie=Fe.getBoundingClientRect();window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(ne=40,ce=0):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(ne=0,ce=40)}}return Fe&&((ve===void 0||!ve)&&Ce>0&&Ce+ne<Pe?Pe=Ce:Pe-=ne,typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&(ve===void 0||!ve)&&(de-=ce)),{width:Pe,height:de}}function _e(Fe,Ce,ve,ye,we){if(Fe.isScreenshoGenerator)return 1;var De=ye!==void 0&&ye,pe=Fe.noScaleMargin!=null&&Fe.noScaleMargin,Ee=function(ie){return ie&&ie!=="false"},Pe=Ee(Fe.autoHeight),de=Oe(Ce,Fe.width,ve,Pe,De&&window.GGBT_wsf_view||pe,we),ee=parseInt(de.width),ne=Fe.width,le=Fe.height;if(ne===void 0){var oe=Ce.querySelector(".appletParameters");oe&&(ne=oe.offsetWidth,le=oe.offsetHeight)}var ce=ee/ne,he=De?1:de.height/le;return ve!==void 0&&!ve&&(ce=Math.min(1,ce),he=Math.min(1,he)),Math.min(ce,he)}function Ve(Fe,Ce,ve){var ye=1,we,De=!1;if(Fe.hasOwnProperty("allowUpscale")&&(De=Fe.allowUpscale),Fe.hasOwnProperty("scale")&&(ye=parseFloat(Fe.scale),(isNaN(ye)||ye===null||ye===0)&&(ye=1),ye>1&&(De=!0)),Ce&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&(De=!0),!(Fe.hasOwnProperty("disableAutoScale")&&Fe.disableAutoScale))we=_e(Fe,Ce,De,ve,Fe.scaleContainerClass);else return ye;return De&&(!Fe.hasOwnProperty("scale")||ye===1)?we:Math.min(ye,we)}function Re(Fe){var Ce=Math.min(window.innerWidth,document.documentElement.clientWidth),ve=Math.min(window.innerHeight,document.documentElement.clientHeight),ye=Fe.getBoundingClientRect(),we=(Ce-ye.width)/2,De=(ve-ye.height)/2;De<0&&(De=0),Fe.style.position="relative",window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(we<40?Fe.style.left="40px":Fe.style.left=we+"px",Fe.style.top=De+"px"):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(De<40?Fe.style.top="40px":Fe.style.top=De+"px",Fe.style.left=we+"px")}function be(Fe,Ce){var ve=Fe.querySelector(".appletParameters");if(ve){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(Ce.id!==ve.getAttribute("data-param-id"))return;window.GGBT_wsf_view.setCloseBtnPosition(Fe)}if(ve.parentElement&&/fullscreen/.test(ve.parentElement.className))return;var ye=Ve(Ce,Fe);Pt()&&ve.setAttribute("data-param-scale",ye);for(var we=null,De=0;De<Fe.childNodes.length;De++)if(Fe.childNodes[De].className!==void 0&&Fe.childNodes[De].className.match(/^applet_scaler/)){we=Fe.childNodes[De];break}if(we!==null&&we.querySelector(".noscale")!==null)return;var pe=Ce.id!==void 0?Ce.id:"ggbApplet",Ee=window[pe];(Ee==null||!Ee.recalculateEnvironments)&&we!==null&&!we.className.match(/fullscreen/)&&(we.parentNode.style.transform="",!isNaN(ye)&&ye!==1?(we.parentNode.style.width=Ce.width*ye+"px",we.parentNode.style.height=Ce.height*ye+"px",Mt(we,ye)):(Mt(we,1),we.parentNode.style.width=Ce.width+"px",we.parentNode.style.height=Ce.height+"px")),typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&Re(Fe),window.GGBT_wsf_view&&!window.GGBT_wsf_view.isFullscreen()&&window.GGBT_wsf_general.adjustContentToResize($(ve).parents(".content-added-content"))}}return{responsiveResize:be,isFlexibleWorksheetEditor:Pt,positionCenter:Re,getScale:Ve,scaleElement:Mt}}();__WEBPACK_AMD_DEFINE_ARRAY__=[],__WEBPACK_AMD_DEFINE_RESULT__=function(){return GGBApplet}.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__),__WEBPACK_AMD_DEFINE_RESULT__!==void 0&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__),GGBAppletUtils.makeModule=function(name,permutation){function webModule(){var H="bootstrap",I="begin",J="gwt.codesvr."+name+"=",K="gwt.codesvr=",L=name,M="startup",N="DUMMY",O=0,P=1,Q="iframe",R="position:absolute; width:0; height:0; border:none; left: -1000px;",S=" top: -1000px;",T="Chrome",U="CSS1Compat",V="<!doctype html>",W="",X="<html><head></head><body></body></html>",Y="undefined",Z="readystatechange",$=10,_="script",ab="javascript",bb="Failed to load ",cb="moduleStartup",db="scriptTagAdded",eb="moduleRequested",fb="meta",gb="name",hb=name+"::",ib="::",jb="gwt:property",kb="content",lb="=",mb="gwt:onPropertyErrorFn",nb='Bad handler "',ob='" for "gwt:onPropertyErrorFn"',pb="gwt:onLoadErrorFn",qb='" for "gwt:onLoadErrorFn"',rb="#",sb="?",tb="/",ub="img",vb="clear.cache.gif",wb="baseUrl",xb=name+".nocache.js",yb="base",zb="//",Ab="selectingPermutation",Bb=name+".devmode.js",Cb=permutation,Db=":",Eb=".cache.js",Fb="loadExternalRefs",Gb="end",n=window,o=document;function p(){var Pt=n.location.search;return Pt.indexOf(J)!=-1||Pt.indexOf(K)!=-1}function q(Pt,Mt){}webModule.__sendStats=q,webModule.__moduleName=L,webModule.__errFn=null,webModule.__moduleBase=N,webModule.__softPermutationId=O,webModule.__computePropValue=null,webModule.__getPropMap=null,webModule.__installRunAsyncCode=function(){},webModule.__gwtStartLoadingFragment=function(){return null},webModule.__gwt_isKnownPropertyValue=function(){return!1},webModule.__gwt_getMetaProperty=function(){return null};var r=null,s=n.__gwt_activeModules=n.__gwt_activeModules||{};s[L]={moduleName:L},webModule.__moduleStartupDone=function(Pt){var Mt=s[L].bindings;s[L].bindings=function(){for(var Oe=Mt?Mt():{},_e=Pt[webModule.__softPermutationId],Ve=O;Ve<_e.length;Ve++){var Re=_e[Ve];Oe[Re[O]]=Re[P]}return Oe}};var t;function u(){return v(),t}function v(){if(!t){var Pt=o.createElement(Q);if(Pt.id=L,Pt.style.cssText=R+S,Pt.tabIndex=-1,o.body.appendChild(Pt),t=Pt.contentWindow.document,navigator.userAgent.indexOf(T)==-1){t.open();var Mt=document.compatMode==U?V:W;t.write(Mt+X),t.close()}}}function w(Pt){function Mt(_e){function Ve(){return typeof o.readyState==Y?typeof o.body!=Y&&o.body!=null:/loaded|complete/.test(o.readyState)}var Re=Ve();if(Re){_e();return}function be(){if(!Re){if(!Ve())return;Re=!0,_e(),o.removeEventListener&&o.removeEventListener(Z,be,!1),Fe&&clearInterval(Fe)}}o.addEventListener&&o.addEventListener(Z,be,!1);var Fe=setInterval(function(){be()},$)}function Oe(_e){var Ve=u(),Re=Ve.body,be=Ve.createElement(_);be.language=ab,be.crossOrigin=W,be.src=_e,webModule.__errFn&&(be.onerror=function(){webModule.__errFn(L,new Error(bb+_e))}),Re.appendChild(be)}Mt(function(){Oe(Pt)})}webModule.__startLoadingFragment=function(Pt){return C(Pt)},webModule.__installRunAsyncCode=function(Pt){var Mt=u(),Oe=Mt.body,_e=Mt.createElement(_);_e.language=ab,_e.text=Pt,Oe.appendChild(_e),Oe.removeChild(_e)};function A(){for(var c={},d,e,f=o.getElementsByTagName(fb),g=O,h=f.length;g<h;++g){var i=f[g],j=i.getAttribute(gb),k;if(j){if(j=j.replace(hb,W),j.indexOf(ib)>=O)continue;if(j==jb){if(k=i.getAttribute(kb),k){var l,m=k.indexOf(lb);m>=O?(j=k.substring(O,m),l=k.substring(m+P)):(j=k,l=W),c[j]=l}}else if(j==mb){if(k=i.getAttribute(kb),k)try{d=eval(k)}catch(Pt){alert(nb+k+ob)}}else if(j==pb&&(k=i.getAttribute(kb),k))try{e=eval(k)}catch(Pt){alert(nb+k+qb)}}}__gwt_getMetaProperty=function(Pt){var Mt=c[Pt];return Mt==null?null:Mt},r=d,webModule.__errFn=e}function B(){function Pt(Fe){var Ce=Fe.lastIndexOf(rb);Ce==-1&&(Ce=Fe.length);var ve=Fe.indexOf(sb);ve==-1&&(ve=Fe.length);var ye=Fe.lastIndexOf(tb,Math.min(ve,Ce));return ye>=O?Fe.substring(O,ye+P):W}function Mt(Fe){if(!Fe.match(/^\w+:\/\//)){var Ce=o.createElement(ub);Ce.src=Fe+vb,Fe=Pt(Ce.src)}return Fe}function Oe(){var Fe=__gwt_getMetaProperty(wb);return Fe!=null?Fe:W}function _e(){for(var Fe=o.getElementsByTagName(_),Ce=O;Ce<Fe.length;++Ce)if(Fe[Ce].src.indexOf(xb)!=-1)return Pt(Fe[Ce].src);return W}function Ve(){var Fe=o.getElementsByTagName(yb);return Fe.length>O?Fe[Fe.length-P].href:W}function Re(){var Fe=o.location;return Fe.href==Fe.protocol+zb+Fe.host+Fe.pathname+Fe.search+Fe.hash}var be=Oe();return be==W&&(be=_e()),be==W&&(be=Ve()),be==W&&Re()&&(be=Pt(o.location.href)),be=Mt(be),be}function C(Pt){return Pt.match(/^\//)||Pt.match(/^[a-zA-Z]+:\/\//)?Pt:webModule.__moduleBase+Pt}function D(){var Pt=[],Mt=O,Oe=[],_e=[];function Ve(Fe){var Ce=_e[Fe](),ve=Oe[Fe];if(Ce in ve)return Ce;var ye=[];for(var we in ve)ye[ve[we]]=we;throw r&&r(Fe,ye,Ce),null}if(__gwt_isKnownPropertyValue=function(Fe,Ce){return Ce in Oe[Fe]},webModule.__getPropMap=function(){var Fe={};for(var Ce in Oe)Oe.hasOwnProperty(Ce)&&(Fe[Ce]=Ve(Ce));return Fe},webModule.__computePropValue=Ve,n.__gwt_activeModules[L].bindings=webModule.__getPropMap,p())return C(Bb);var Re;try{Re=Cb;var be=Re.indexOf(Db);be!=-1&&(Mt=parseInt(Re.substring(be+P),$),Re=Re.substring(O,be))}catch(Fe){}return webModule.__softPermutationId=Mt,C(Re+Eb)}function F(){n.__gwt_stylesLoaded||(n.__gwt_stylesLoaded={})}A(),webModule.__moduleBase=window.ENV==="build"?"/react/build/js/mathematicalGraphics/"+name+"/":"/js/mathematicalGraphics/"+name+"/",s[L].moduleBase=webModule.__moduleBase;var G=D();return F(),w(G),!0}return webModule},typeof window.web3d!="function"&&(window.web3d=GGBAppletUtils.makeModule("web3d","A18F540516513B1292CA7CEF2F6AFC7E")),typeof window.webSimple!="function"&&(window.webSimple=GGBAppletUtils.makeModule("webSimple","96B09BF1B436BF53F0DF54116700F16A")),window.GGBApplet=GGBApplet})()},60224:function(Pt,Mt){var Oe=(_e,Ve,Re)=>new Promise((be,Fe)=>{var Ce=we=>{try{ye(Re.next(we))}catch(De){Fe(De)}},ve=we=>{try{ye(Re.throw(we))}catch(De){Fe(De)}},ye=we=>we.done?be(we.value):Promise.resolve(we.value).then(Ce,ve);ye((Re=Re.apply(_e,Ve)).next())});(function(_e,Ve){Ve(Mt)})(this,function(_e){"use strict";var Ve={value:()=>{}};function Re(){for(var He,et=0,it=arguments.length,Et={};et<it;++et){if(!(He=arguments[et]+"")||He in Et||/[\s.]/.test(He))throw new Error("illegal type: "+He);Et[He]=[]}return new be(Et)}function be(He){this._=He}function Fe(He,et){return He.trim().split(/^|\s+/).map(function(it){var Et="",It=it.indexOf(".");if(It>=0&&(Et=it.slice(It+1),it=it.slice(0,It)),it&&!et.hasOwnProperty(it))throw new Error("unknown type: "+it);return{type:it,name:Et}})}function Ce(He,et){for(var it,Et=0,It=He.length;Et<It;++Et)if((it=He[Et]).name===et)return it.value}function ve(He,et,it){for(var Et=0,It=He.length;Et<It;++Et)if(He[Et].name===et){He[Et]=Ve,He=He.slice(0,Et).concat(He.slice(Et+1));break}return it!=null&&He.push({name:et,value:it}),He}be.prototype=Re.prototype={constructor:be,on:function(He,et){var it,Et=this._,It=Fe(He+"",Et),Lt=-1,jt=It.length;if(!(arguments.length<2)){if(et!=null&&typeof et!="function")throw new Error("invalid callback: "+et);for(;++Lt<jt;)if(it=(He=It[Lt]).type)Et[it]=ve(Et[it],He.name,et);else if(et==null)for(it in Et)Et[it]=ve(Et[it],He.name,null);return this}for(;++Lt<jt;)if((it=(He=It[Lt]).type)&&(it=Ce(Et[it],He.name)))return it},copy:function(){var He={},et=this._;for(var it in et)He[it]=et[it].slice();return new be(He)},call:function(He,et){if((it=arguments.length-2)>0)for(var it,Et,It=new Array(it),Lt=0;Lt<it;++Lt)It[Lt]=arguments[Lt+2];if(!this._.hasOwnProperty(He))throw new Error("unknown type: "+He);for(Lt=0,it=(Et=this._[He]).length;Lt<it;++Lt)Et[Lt].value.apply(et,It)},apply:function(He,et,it){if(!this._.hasOwnProperty(He))throw new Error("unknown type: "+He);for(var Et=this._[He],It=0,Lt=Et.length;It<Lt;++It)Et[It].value.apply(et,it)}};var ye="http://www.w3.org/1999/xhtml",we={svg:"http://www.w3.org/2000/svg",xhtml:ye,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function De(He){var et=He+="",it=et.indexOf(":");return it>=0&&(et=He.slice(0,it))!=="xmlns"&&(He=He.slice(it+1)),we.hasOwnProperty(et)?{space:we[et],local:He}:He}function pe(He){return function(){var et=this.ownerDocument,it=this.namespaceURI;return it===ye&&et.documentElement.namespaceURI===ye?et.createElement(He):et.createElementNS(it,He)}}function Ee(He){return function(){return this.ownerDocument.createElementNS(He.space,He.local)}}function Pe(He){var et=De(He);return(et.local?Ee:pe)(et)}function de(){}function ee(He){return He==null?de:function(){return this.querySelector(He)}}function ne(He){return He==null?[]:Array.isArray(He)?He:Array.from(He)}function le(){return[]}function oe(He){return He==null?le:function(){return this.querySelectorAll(He)}}function ce(He){return function(){return this.matches(He)}}function he(He){return function(et){return et.matches(He)}}var ie=Array.prototype.find;function ue(){return this.firstElementChild}var ge=Array.prototype.filter;function xe(){return Array.from(this.children)}function Me(He){return new Array(He.length)}function Be(He,et){this.ownerDocument=He.ownerDocument,this.namespaceURI=He.namespaceURI,this._next=null,this._parent=He,this.__data__=et}function Ne(He){return function(){return He}}function Ue(He,et,it,Et,It,Lt){for(var jt,kt=0,qt=et.length,Zt=Lt.length;kt<Zt;++kt)(jt=et[kt])?(jt.__data__=Lt[kt],Et[kt]=jt):it[kt]=new Be(He,Lt[kt]);for(;kt<qt;++kt)(jt=et[kt])&&(It[kt]=jt)}function Ge(He,et,it,Et,It,Lt,jt){var kt,qt,Zt,ln=new Map,In=et.length,Cn=Lt.length,Yn=new Array(In);for(kt=0;kt<In;++kt)(qt=et[kt])&&(Yn[kt]=Zt=jt.call(qt,qt.__data__,kt,et)+"",ln.has(Zt)?It[kt]=qt:ln.set(Zt,qt));for(kt=0;kt<Cn;++kt)Zt=jt.call(He,Lt[kt],kt,Lt)+"",(qt=ln.get(Zt))?(Et[kt]=qt,qt.__data__=Lt[kt],ln.delete(Zt)):it[kt]=new Be(He,Lt[kt]);for(kt=0;kt<In;++kt)(qt=et[kt])&&ln.get(Yn[kt])===qt&&(It[kt]=qt)}function Xe(He){return He.__data__}function Ye(He){return typeof He=="object"&&"length"in He?He:Array.from(He)}function nt(He,et){return He<et?-1:He>et?1:He>=et?0:NaN}function $e(He){return function(){this.removeAttribute(He)}}function qe(He){return function(){this.removeAttributeNS(He.space,He.local)}}function st(He,et){return function(){this.setAttribute(He,et)}}function rt(He,et){return function(){this.setAttributeNS(He.space,He.local,et)}}function ct(He,et){return function(){var it=et.apply(this,arguments);it==null?this.removeAttribute(He):this.setAttribute(He,it)}}function tt(He,et){return function(){var it=et.apply(this,arguments);it==null?this.removeAttributeNS(He.space,He.local):this.setAttributeNS(He.space,He.local,it)}}function dt(He){return He.ownerDocument&&He.ownerDocument.defaultView||He.document&&He||He.defaultView}function At(He){return function(){this.style.removeProperty(He)}}function mt(He,et,it){return function(){this.style.setProperty(He,et,it)}}function ht(He,et,it){return function(){var Et=et.apply(this,arguments);Et==null?this.style.removeProperty(He):this.style.setProperty(He,Et,it)}}function vt(He,et){return He.style.getPropertyValue(et)||dt(He).getComputedStyle(He,null).getPropertyValue(et)}function Wt(He){return function(){delete this[He]}}function Jt(He,et){return function(){this[He]=et}}function en(He,et){return function(){var it=et.apply(this,arguments);it==null?delete this[He]:this[He]=it}}function mn(He){return He.trim().split(/^|\s+/)}function Ot(He){return He.classList||new an(He)}function an(He){this._node=He,this._names=mn(He.getAttribute("class")||"")}function tn(He,et){for(var it=Ot(He),Et=-1,It=et.length;++Et<It;)it.add(et[Et])}function Dn(He,et){for(var it=Ot(He),Et=-1,It=et.length;++Et<It;)it.remove(et[Et])}function Tn(He){return function(){tn(this,He)}}function sn(He){return function(){Dn(this,He)}}function dn(He,et){return function(){(et.apply(this,arguments)?tn:Dn)(this,He)}}function Kt(){this.textContent=""}function Tt(He){return function(){this.textContent=He}}function yt(He){return function(){var et=He.apply(this,arguments);this.textContent=et==null?"":et}}function Gt(){this.innerHTML=""}function gt(He){return function(){this.innerHTML=He}}function St(He){return function(){var et=He.apply(this,arguments);this.innerHTML=et==null?"":et}}function Qt(){this.nextSibling&&this.parentNode.appendChild(this)}function Nt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function wt(){return null}function rn(){var He=this.parentNode;He&&He.removeChild(this)}function On(){var He=this.cloneNode(!1),et=this.parentNode;return et?et.insertBefore(He,this.nextSibling):He}function zn(){var He=this.cloneNode(!0),et=this.parentNode;return et?et.insertBefore(He,this.nextSibling):He}function Gn(He){return He.trim().split(/^|\s+/).map(function(et){var it="",Et=et.indexOf(".");return Et>=0&&(it=et.slice(Et+1),et=et.slice(0,Et)),{type:et,name:it}})}function nr(He){return function(){var et=this.__on;if(et){for(var it,Et=0,It=-1,Lt=et.length;Et<Lt;++Et)it=et[Et],He.type&&it.type!==He.type||it.name!==He.name?et[++It]=it:this.removeEventListener(it.type,it.listener,it.options);++It?et.length=It:delete this.__on}}}function Xn(He,et,it){return function(){var Et,It=this.__on,Lt=function(qt){return function(Zt){qt.call(this,Zt,this.__data__)}}(et);if(It){for(var jt=0,kt=It.length;jt<kt;++jt)if((Et=It[jt]).type===He.type&&Et.name===He.name)return this.removeEventListener(Et.type,Et.listener,Et.options),this.addEventListener(Et.type,Et.listener=Lt,Et.options=it),void(Et.value=et)}this.addEventListener(He.type,Lt,it),Et={type:He.type,name:He.name,value:et,listener:Lt,options:it},It?It.push(Et):this.__on=[Et]}}function $t(He,et,it){var Et=dt(He),It=Et.CustomEvent;typeof It=="function"?It=new It(et,it):(It=Et.document.createEvent("Event"),it?(It.initEvent(et,it.bubbles,it.cancelable),It.detail=it.detail):It.initEvent(et,!1,!1)),He.dispatchEvent(It)}function gn(He,et){return function(){return $t(this,He,et)}}function jn(He,et){return function(){return $t(this,He,et.apply(this,arguments))}}Be.prototype={constructor:Be,appendChild:function(He){return this._parent.insertBefore(He,this._next)},insertBefore:function(He,et){return this._parent.insertBefore(He,et)},querySelector:function(He){return this._parent.querySelector(He)},querySelectorAll:function(He){return this._parent.querySelectorAll(He)}},an.prototype={add:function(He){this._names.indexOf(He)<0&&(this._names.push(He),this._node.setAttribute("class",this._names.join(" ")))},remove:function(He){var et=this._names.indexOf(He);et>=0&&(this._names.splice(et,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(He){return this._names.indexOf(He)>=0}};var Ln=[null];function Sr(He,et){this._groups=He,this._parents=et}function Ur(){return new Sr([[document.documentElement]],Ln)}function Mr(He){return typeof He=="string"?new Sr([[document.querySelector(He)]],[document.documentElement]):new Sr([[He]],Ln)}function Gr(He,et){if(He=function(Lt){let jt;for(;jt=Lt.sourceEvent;)Lt=jt;return Lt}(He),et===void 0&&(et=He.currentTarget),et){var it=et.ownerSVGElement||et;if(it.createSVGPoint){var Et=it.createSVGPoint();return Et.x=He.clientX,Et.y=He.clientY,[(Et=Et.matrixTransform(et.getScreenCTM().inverse())).x,Et.y]}if(et.getBoundingClientRect){var It=et.getBoundingClientRect();return[He.clientX-It.left-et.clientLeft,He.clientY-It.top-et.clientTop]}}return[He.pageX,He.pageY]}Sr.prototype=Ur.prototype={constructor:Sr,select:function(He){typeof He!="function"&&(He=ee(He));for(var et=this._groups,it=et.length,Et=new Array(it),It=0;It<it;++It)for(var Lt,jt,kt=et[It],qt=kt.length,Zt=Et[It]=new Array(qt),ln=0;ln<qt;++ln)(Lt=kt[ln])&&(jt=He.call(Lt,Lt.__data__,ln,kt))&&("__data__"in Lt&&(jt.__data__=Lt.__data__),Zt[ln]=jt);return new Sr(Et,this._parents)},selectAll:function(He){He=typeof He=="function"?function(ln){return function(){return ne(ln.apply(this,arguments))}}(He):oe(He);for(var et=this._groups,it=et.length,Et=[],It=[],Lt=0;Lt<it;++Lt)for(var jt,kt=et[Lt],qt=kt.length,Zt=0;Zt<qt;++Zt)(jt=kt[Zt])&&(Et.push(He.call(jt,jt.__data__,Zt,kt)),It.push(jt));return new Sr(Et,It)},selectChild:function(He){return this.select(He==null?ue:function(et){return function(){return ie.call(this.children,et)}}(typeof He=="function"?He:he(He)))},selectChildren:function(He){return this.selectAll(He==null?xe:function(et){return function(){return ge.call(this.children,et)}}(typeof He=="function"?He:he(He)))},filter:function(He){typeof He!="function"&&(He=ce(He));for(var et=this._groups,it=et.length,Et=new Array(it),It=0;It<it;++It)for(var Lt,jt=et[It],kt=jt.length,qt=Et[It]=[],Zt=0;Zt<kt;++Zt)(Lt=jt[Zt])&&He.call(Lt,Lt.__data__,Zt,jt)&&qt.push(Lt);return new Sr(Et,this._parents)},data:function(He,et){if(!arguments.length)return Array.from(this,Xe);var it=et?Ge:Ue,Et=this._parents,It=this._groups;typeof He!="function"&&(He=Ne(He));for(var Lt=It.length,jt=new Array(Lt),kt=new Array(Lt),qt=new Array(Lt),Zt=0;Zt<Lt;++Zt){var ln=Et[Zt],In=It[Zt],Cn=In.length,Yn=Ye(He.call(ln,ln&&ln.__data__,Zt,Et)),Kn=Yn.length,Rn=kt[Zt]=new Array(Kn),Vn=jt[Zt]=new Array(Kn),Fn=qt[Zt]=new Array(Cn);it(ln,In,Rn,Vn,Fn,Yn,et);for(var Qn,wr,Cr=0,Ar=0;Cr<Kn;++Cr)if(Qn=Rn[Cr]){for(Cr>=Ar&&(Ar=Cr+1);!(wr=Vn[Ar])&&++Ar<Kn;);Qn._next=wr||null}}return(jt=new Sr(jt,Et))._enter=kt,jt._exit=qt,jt},enter:function(){return new Sr(this._enter||this._groups.map(Me),this._parents)},exit:function(){return new Sr(this._exit||this._groups.map(Me),this._parents)},join:function(He,et,it){var Et=this.enter(),It=this,Lt=this.exit();return typeof He=="function"?(Et=He(Et))&&(Et=Et.selection()):Et=Et.append(He+""),et!=null&&(It=et(It))&&(It=It.selection()),it==null?Lt.remove():it(Lt),Et&&It?Et.merge(It).order():It},merge:function(He){for(var et=He.selection?He.selection():He,it=this._groups,Et=et._groups,It=it.length,Lt=Et.length,jt=Math.min(It,Lt),kt=new Array(It),qt=0;qt<jt;++qt)for(var Zt,ln=it[qt],In=Et[qt],Cn=ln.length,Yn=kt[qt]=new Array(Cn),Kn=0;Kn<Cn;++Kn)(Zt=ln[Kn]||In[Kn])&&(Yn[Kn]=Zt);for(;qt<It;++qt)kt[qt]=it[qt];return new Sr(kt,this._parents)},selection:function(){return this},order:function(){for(var He=this._groups,et=-1,it=He.length;++et<it;)for(var Et,It=He[et],Lt=It.length-1,jt=It[Lt];--Lt>=0;)(Et=It[Lt])&&(jt&&4^Et.compareDocumentPosition(jt)&&jt.parentNode.insertBefore(Et,jt),jt=Et);return this},sort:function(He){function et(In,Cn){return In&&Cn?He(In.__data__,Cn.__data__):!In-!Cn}He||(He=nt);for(var it=this._groups,Et=it.length,It=new Array(Et),Lt=0;Lt<Et;++Lt){for(var jt,kt=it[Lt],qt=kt.length,Zt=It[Lt]=new Array(qt),ln=0;ln<qt;++ln)(jt=kt[ln])&&(Zt[ln]=jt);Zt.sort(et)}return new Sr(It,this._parents).order()},call:function(){var He=arguments[0];return arguments[0]=this,He.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var He=this._groups,et=0,it=He.length;et<it;++et)for(var Et=He[et],It=0,Lt=Et.length;It<Lt;++It){var jt=Et[It];if(jt)return jt}return null},size:function(){let He=0;for(const et of this)++He;return He},empty:function(){return!this.node()},each:function(He){for(var et=this._groups,it=0,Et=et.length;it<Et;++it)for(var It,Lt=et[it],jt=0,kt=Lt.length;jt<kt;++jt)(It=Lt[jt])&&He.call(It,It.__data__,jt,Lt);return this},attr:function(He,et){var it=De(He);if(arguments.length<2){var Et=this.node();return it.local?Et.getAttributeNS(it.space,it.local):Et.getAttribute(it)}return this.each((et==null?it.local?qe:$e:typeof et=="function"?it.local?tt:ct:it.local?rt:st)(it,et))},style:function(He,et,it){return arguments.length>1?this.each((et==null?At:typeof et=="function"?ht:mt)(He,et,it==null?"":it)):vt(this.node(),He)},property:function(He,et){return arguments.length>1?this.each((et==null?Wt:typeof et=="function"?en:Jt)(He,et)):this.node()[He]},classed:function(He,et){var it=mn(He+"");if(arguments.length<2){for(var Et=Ot(this.node()),It=-1,Lt=it.length;++It<Lt;)if(!Et.contains(it[It]))return!1;return!0}return this.each((typeof et=="function"?dn:et?Tn:sn)(it,et))},text:function(He){return arguments.length?this.each(He==null?Kt:(typeof He=="function"?yt:Tt)(He)):this.node().textContent},html:function(He){return arguments.length?this.each(He==null?Gt:(typeof He=="function"?St:gt)(He)):this.node().innerHTML},raise:function(){return this.each(Qt)},lower:function(){return this.each(Nt)},append:function(He){var et=typeof He=="function"?He:Pe(He);return this.select(function(){return this.appendChild(et.apply(this,arguments))})},insert:function(He,et){var it=typeof He=="function"?He:Pe(He),Et=et==null?wt:typeof et=="function"?et:ee(et);return this.select(function(){return this.insertBefore(it.apply(this,arguments),Et.apply(this,arguments)||null)})},remove:function(){return this.each(rn)},clone:function(He){return this.select(He?zn:On)},datum:function(He){return arguments.length?this.property("__data__",He):this.node().__data__},on:function(He,et,it){var Et,It,Lt=Gn(He+""),jt=Lt.length;if(!(arguments.length<2)){for(kt=et?Xn:nr,Et=0;Et<jt;++Et)this.each(kt(Lt[Et],et,it));return this}var kt=this.node().__on;if(kt){for(var qt,Zt=0,ln=kt.length;Zt<ln;++Zt)for(Et=0,qt=kt[Zt];Et<jt;++Et)if((It=Lt[Et]).type===qt.type&&It.name===qt.name)return qt.value}},dispatch:function(He,et){return this.each((typeof et=="function"?jn:gn)(He,et))},[Symbol.iterator]:function*(){for(var He=this._groups,et=0,it=He.length;et<it;++et)for(var Et,It=He[et],Lt=0,jt=It.length;Lt<jt;++Lt)(Et=It[Lt])&&(yield Et)}};const ma={passive:!1},Oa={capture:!0,passive:!1};function Ea(He){He.stopImmediatePropagation()}function Ma(He){He.preventDefault(),He.stopImmediatePropagation()}function li(He){var et=He.document.documentElement,it=Mr(He).on("dragstart.drag",Ma,Oa);"onselectstart"in et?it.on("selectstart.drag",Ma,Oa):(et.__noselect=et.style.MozUserSelect,et.style.MozUserSelect="none")}function di(He,et){var it=He.document.documentElement,Et=Mr(He).on("dragstart.drag",null);et&&(Et.on("click.drag",Ma,Oa),setTimeout(function(){Et.on("click.drag",null)},0)),"onselectstart"in it?Et.on("selectstart.drag",null):(it.style.MozUserSelect=it.__noselect,delete it.__noselect)}var Hr=He=>()=>He;function Ta(He,{sourceEvent:et,subject:it,target:Et,identifier:It,active:Lt,x:jt,y:kt,dx:qt,dy:Zt,dispatch:ln}){Object.defineProperties(this,{type:{value:He,enumerable:!0,configurable:!0},sourceEvent:{value:et,enumerable:!0,configurable:!0},subject:{value:it,enumerable:!0,configurable:!0},target:{value:Et,enumerable:!0,configurable:!0},identifier:{value:It,enumerable:!0,configurable:!0},active:{value:Lt,enumerable:!0,configurable:!0},x:{value:jt,enumerable:!0,configurable:!0},y:{value:kt,enumerable:!0,configurable:!0},dx:{value:qt,enumerable:!0,configurable:!0},dy:{value:Zt,enumerable:!0,configurable:!0},_:{value:ln}})}function Ha(He){return!He.ctrlKey&&!He.button}function sr(){return this.parentNode}function pr(He,et){return et==null?{x:He.x,y:He.y}:et}function Qa(){return navigator.maxTouchPoints||"ontouchstart"in this}function hn(He,et,it){He.prototype=et.prototype=it,it.constructor=He}function kn(He,et){var it=Object.create(He.prototype);for(var Et in et)it[Et]=et[Et];return it}function ar(){}Ta.prototype.on=function(){var He=this._.on.apply(this._,arguments);return He===this._?this:He};var lr=.7,Fr=1/lr,pt="\\s*([+-]?\\d+)\\s*",Ae="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Le="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Ie=/^#([0-9a-f]{3,8})$/,ze=new RegExp(`^rgb\\(${pt},${pt},${pt}\\)$`),Ze=new RegExp(`^rgb\\(${Le},${Le},${Le}\\)$`),xt=new RegExp(`^rgba\\(${pt},${pt},${pt},${Ae}\\)$`),bt=new RegExp(`^rgba\\(${Le},${Le},${Le},${Ae}\\)$`),Yt=new RegExp(`^hsl\\(${Ae},${Le},${Le}\\)$`),Ht=new RegExp(`^hsla\\(${Ae},${Le},${Le},${Ae}\\)$`),cn={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 fn(){return this.rgb().formatHex()}function Zn(){return this.rgb().formatRgb()}function Mn(He){var et,it;return He=(He+"").trim().toLowerCase(),(et=Ie.exec(He))?(it=et[1].length,et=parseInt(et[1],16),it===6?er(et):it===3?new nn(et>>8&15|et>>4&240,et>>4&15|240&et,(15&et)<<4|15&et,1):it===8?rr(et>>24&255,et>>16&255,et>>8&255,(255&et)/255):it===4?rr(et>>12&15|et>>8&240,et>>8&15|et>>4&240,et>>4&15|240&et,((15&et)<<4|15&et)/255):null):(et=ze.exec(He))?new nn(et[1],et[2],et[3],1):(et=Ze.exec(He))?new nn(255*et[1]/100,255*et[2]/100,255*et[3]/100,1):(et=xt.exec(He))?rr(et[1],et[2],et[3],et[4]):(et=bt.exec(He))?rr(255*et[1]/100,255*et[2]/100,255*et[3]/100,et[4]):(et=Yt.exec(He))?hr(et[1],et[2]/100,et[3]/100,1):(et=Ht.exec(He))?hr(et[1],et[2]/100,et[3]/100,et[4]):cn.hasOwnProperty(He)?er(cn[He]):He==="transparent"?new nn(NaN,NaN,NaN,0):null}function er(He){return new nn(He>>16&255,He>>8&255,255&He,1)}function rr(He,et,it,Et){return Et<=0&&(He=et=it=NaN),new nn(He,et,it,Et)}function mr(He){return He instanceof ar||(He=Mn(He)),He?new nn((He=He.rgb()).r,He.g,He.b,He.opacity):new nn}function pn(He,et,it,Et){return arguments.length===1?mr(He):new nn(He,et,it,Et==null?1:Et)}function nn(He,et,it,Et){this.r=+He,this.g=+et,this.b=+it,this.opacity=+Et}function Bn(){return`#${tr(this.r)}${tr(this.g)}${tr(this.b)}`}function Hn(){const He=fr(this.opacity);return`${He===1?"rgb(":"rgba("}${br(this.r)}, ${br(this.g)}, ${br(this.b)}${He===1?")":`, ${He})`}`}function fr(He){return isNaN(He)?1:Math.max(0,Math.min(1,He))}function br(He){return Math.max(0,Math.min(255,Math.round(He)||0))}function tr(He){return((He=br(He))<16?"0":"")+He.toString(16)}function hr(He,et,it,Et){return Et<=0?He=et=it=NaN:it<=0||it>=1?He=et=NaN:et<=0&&(He=NaN),new Nn(He,et,it,Et)}function vr(He){if(He instanceof Nn)return new Nn(He.h,He.s,He.l,He.opacity);if(He instanceof ar||(He=Mn(He)),!He)return new Nn;if(He instanceof Nn)return He;var et=(He=He.rgb()).r/255,it=He.g/255,Et=He.b/255,It=Math.min(et,it,Et),Lt=Math.max(et,it,Et),jt=NaN,kt=Lt-It,qt=(Lt+It)/2;return kt?(jt=et===Lt?(it-Et)/kt+6*(it<Et):it===Lt?(Et-et)/kt+2:(et-it)/kt+4,kt/=qt<.5?Lt+It:2-Lt-It,jt*=60):kt=qt>0&&qt<1?0:jt,new Nn(jt,kt,qt,He.opacity)}function Nn(He,et,it,Et){this.h=+He,this.s=+et,this.l=+it,this.opacity=+Et}function xr(He){return(He=(He||0)%360)<0?He+360:He}function Jn(He){return Math.max(0,Math.min(1,He||0))}function Nr(He,et,it){return 255*(He<60?et+(it-et)*He/60:He<180?it:He<240?et+(it-et)*(240-He)/60:et)}hn(ar,Mn,{copy(He){return Object.assign(new this.constructor,this,He)},displayable(){return this.rgb().displayable()},hex:fn,formatHex:fn,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return vr(this).formatHsl()},formatRgb:Zn,toString:Zn}),hn(nn,pn,kn(ar,{brighter(He){return He=He==null?Fr:Math.pow(Fr,He),new nn(this.r*He,this.g*He,this.b*He,this.opacity)},darker(He){return He=He==null?lr:Math.pow(lr,He),new nn(this.r*He,this.g*He,this.b*He,this.opacity)},rgb(){return this},clamp(){return new nn(br(this.r),br(this.g),br(this.b),fr(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Bn,formatHex:Bn,formatHex8:function(){return`#${tr(this.r)}${tr(this.g)}${tr(this.b)}${tr(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Hn,toString:Hn})),hn(Nn,function(He,et,it,Et){return arguments.length===1?vr(He):new Nn(He,et,it,Et==null?1:Et)},kn(ar,{brighter(He){return He=He==null?Fr:Math.pow(Fr,He),new Nn(this.h,this.s,this.l*He,this.opacity)},darker(He){return He=He==null?lr:Math.pow(lr,He),new Nn(this.h,this.s,this.l*He,this.opacity)},rgb(){var He=this.h%360+360*(this.h<0),et=isNaN(He)||isNaN(this.s)?0:this.s,it=this.l,Et=it+(it<.5?it:1-it)*et,It=2*it-Et;return new nn(Nr(He>=240?He-240:He+120,It,Et),Nr(He,It,Et),Nr(He<120?He+240:He-120,It,Et),this.opacity)},clamp(){return new Nn(xr(this.h),Jn(this.s),Jn(this.l),fr(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const He=fr(this.opacity);return`${He===1?"hsl(":"hsla("}${xr(this.h)}, ${100*Jn(this.s)}%, ${100*Jn(this.l)}%${He===1?")":`, ${He})`}`}}));var Xa=He=>()=>He;function $a(He){return(He=+He)==1?ai:function(et,it){return it-et?function(Et,It,Lt){return Et=Math.pow(Et,Lt),It=Math.pow(It,Lt)-Et,Lt=1/Lt,function(jt){return Math.pow(Et+jt*It,Lt)}}(et,it,He):Xa(isNaN(et)?it:et)}}function ai(He,et){var it=et-He;return it?function(Et,It){return function(Lt){return Et+Lt*It}}(He,it):Xa(isNaN(He)?et:He)}var Zr=function He(et){var it=$a(et);function Et(It,Lt){var jt=it((It=pn(It)).r,(Lt=pn(Lt)).r),kt=it(It.g,Lt.g),qt=it(It.b,Lt.b),Zt=ai(It.opacity,Lt.opacity);return function(ln){return It.r=jt(ln),It.g=kt(ln),It.b=qt(ln),It.opacity=Zt(ln),It+""}}return Et.gamma=He,Et}(1);function ua(He,et){et||(et=[]);var it,Et=He?Math.min(et.length,He.length):0,It=et.slice();return function(Lt){for(it=0;it<Et;++it)It[it]=He[it]*(1-Lt)+et[it]*Lt;return It}}function Da(He,et){var it,Et=et?et.length:0,It=He?Math.min(Et,He.length):0,Lt=new Array(It),jt=new Array(Et);for(it=0;it<It;++it)Lt[it]=Ao(He[it],et[it]);for(;it<Et;++it)jt[it]=et[it];return function(kt){for(it=0;it<It;++it)jt[it]=Lt[it](kt);return jt}}function sa(He,et){var it=new Date;return He=+He,et=+et,function(Et){return it.setTime(He*(1-Et)+et*Et),it}}function Ja(He,et){return He=+He,et=+et,function(it){return He*(1-it)+et*it}}function Li(He,et){var it,Et={},It={};for(it in He!==null&&typeof He=="object"||(He={}),et!==null&&typeof et=="object"||(et={}),et)it in He?Et[it]=Ao(He[it],et[it]):It[it]=et[it];return function(Lt){for(it in Et)It[it]=Et[it](Lt);return It}}var Na=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ti=new RegExp(Na.source,"g");function ji(He,et){var it,Et,It,Lt=Na.lastIndex=Ti.lastIndex=0,jt=-1,kt=[],qt=[];for(He+="",et+="";(it=Na.exec(He))&&(Et=Ti.exec(et));)(It=Et.index)>Lt&&(It=et.slice(Lt,It),kt[jt]?kt[jt]+=It:kt[++jt]=It),(it=it[0])===(Et=Et[0])?kt[jt]?kt[jt]+=Et:kt[++jt]=Et:(kt[++jt]=null,qt.push({i:jt,x:Ja(it,Et)})),Lt=Ti.lastIndex;return Lt<et.length&&(It=et.slice(Lt),kt[jt]?kt[jt]+=It:kt[++jt]=It),kt.length<2?qt[0]?function(Zt){return function(ln){return Zt(ln)+""}}(qt[0].x):function(Zt){return function(){return Zt}}(et):(et=qt.length,function(Zt){for(var ln,In=0;In<et;++In)kt[(ln=qt[In]).i]=ln.x(Zt);return kt.join("")})}function Ao(He,et){var it,Et=typeof et;return et==null||Et==="boolean"?Xa(et):(Et==="number"?Ja:Et==="string"?(it=Mn(et))?(et=it,Zr):ji:et instanceof Mn?Zr:et instanceof Date?sa:function(It){return ArrayBuffer.isView(It)&&!(It instanceof DataView)}(et)?ua:Array.isArray(et)?Da:typeof et.valueOf!="function"&&typeof et.toString!="function"||isNaN(et)?Li:Ja)(He,et)}var uo,Os=180/Math.PI,zo={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function po(He,et,it,Et,It,Lt){var jt,kt,qt;return(jt=Math.sqrt(He*He+et*et))&&(He/=jt,et/=jt),(qt=He*it+et*Et)&&(it-=He*qt,Et-=et*qt),(kt=Math.sqrt(it*it+Et*Et))&&(it/=kt,Et/=kt,qt/=kt),He*Et<et*it&&(He=-He,et=-et,qt=-qt,jt=-jt),{translateX:It,translateY:Lt,rotate:Math.atan2(et,He)*Os,skewX:Math.atan(qt)*Os,scaleX:jt,scaleY:kt}}function qo(He,et,it,Et){function It(Lt){return Lt.length?Lt.pop()+" ":""}return function(Lt,jt){var kt=[],qt=[];return Lt=He(Lt),jt=He(jt),function(Zt,ln,In,Cn,Yn,Kn){if(Zt!==In||ln!==Cn){var Rn=Yn.push("translate(",null,et,null,it);Kn.push({i:Rn-4,x:Ja(Zt,In)},{i:Rn-2,x:Ja(ln,Cn)})}else(In||Cn)&&Yn.push("translate("+In+et+Cn+it)}(Lt.translateX,Lt.translateY,jt.translateX,jt.translateY,kt,qt),function(Zt,ln,In,Cn){Zt!==ln?(Zt-ln>180?ln+=360:ln-Zt>180&&(Zt+=360),Cn.push({i:In.push(It(In)+"rotate(",null,Et)-2,x:Ja(Zt,ln)})):ln&&In.push(It(In)+"rotate("+ln+Et)}(Lt.rotate,jt.rotate,kt,qt),function(Zt,ln,In,Cn){Zt!==ln?Cn.push({i:In.push(It(In)+"skewX(",null,Et)-2,x:Ja(Zt,ln)}):ln&&In.push(It(In)+"skewX("+ln+Et)}(Lt.skewX,jt.skewX,kt,qt),function(Zt,ln,In,Cn,Yn,Kn){if(Zt!==In||ln!==Cn){var Rn=Yn.push(It(Yn)+"scale(",null,",",null,")");Kn.push({i:Rn-4,x:Ja(Zt,In)},{i:Rn-2,x:Ja(ln,Cn)})}else In===1&&Cn===1||Yn.push(It(Yn)+"scale("+In+","+Cn+")")}(Lt.scaleX,Lt.scaleY,jt.scaleX,jt.scaleY,kt,qt),Lt=jt=null,function(Zt){for(var ln,In=-1,Cn=qt.length;++In<Cn;)kt[(ln=qt[In]).i]=ln.x(Zt);return kt.join("")}}}var Uo=qo(function(He){const et=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(He+"");return et.isIdentity?zo:po(et.a,et.b,et.c,et.d,et.e,et.f)},"px, ","px)","deg)"),Wo=qo(function(He){return He==null?zo:(uo||(uo=document.createElementNS("http://www.w3.org/2000/svg","g")),uo.setAttribute("transform",He),(He=uo.transform.baseVal.consolidate())?po((He=He.matrix).a,He.b,He.c,He.d,He.e,He.f):zo)},", ",")",")");function Qr(He){return((He=Math.exp(He))+1/He)/2}var jo,Ms,js=function He(et,it,Et){function It(Lt,jt){var kt,qt,Zt=Lt[0],ln=Lt[1],In=Lt[2],Cn=jt[0],Yn=jt[1],Kn=jt[2],Rn=Cn-Zt,Vn=Yn-ln,Fn=Rn*Rn+Vn*Vn;if(Fn<1e-12)qt=Math.log(Kn/In)/et,kt=function(va){return[Zt+va*Rn,ln+va*Vn,In*Math.exp(et*va*qt)]};else{var Qn=Math.sqrt(Fn),wr=(Kn*Kn-In*In+Et*Fn)/(2*In*it*Qn),Cr=(Kn*Kn-In*In-Et*Fn)/(2*Kn*it*Qn),Ar=Math.log(Math.sqrt(wr*wr+1)-wr),$n=Math.log(Math.sqrt(Cr*Cr+1)-Cr);qt=($n-Ar)/et,kt=function(va){var Va=va*qt,Za=Qr(Ar),Ir=In/(it*Qn)*(Za*function(Tr){return((Tr=Math.exp(2*Tr))-1)/(Tr+1)}(et*Va+Ar)-function(Tr){return((Tr=Math.exp(Tr))-1/Tr)/2}(Ar));return[Zt+Ir*Rn,ln+Ir*Vn,In*Za/Qr(et*Va+Ar)]}}return kt.duration=1e3*qt*et/Math.SQRT2,kt}return It.rho=function(Lt){var jt=Math.max(.001,+Lt),kt=jt*jt;return He(jt,kt,kt*kt)},It}(Math.SQRT2,2,4),yo=0,ki=0,Gs=0,$i=0,Go=0,No=0,Cs=typeof performance=="object"&&performance.now?performance:Date,tl=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(He){setTimeout(He,17)};function nl(){return Go||(tl(hu),Go=Cs.now()+No)}function hu(){Go=0}function _l(){this._call=this._time=this._next=null}function Ds(He,et,it){var Et=new _l;return Et.restart(He,et,it),Et}function vs(){Go=($i=Cs.now())+No,yo=ki=0;try{(function(){nl(),++yo;for(var He,et=jo;et;)(He=Go-et._time)>=0&&et._call.call(void 0,He),et=et._next;--yo})()}finally{yo=0,function(){for(var He,et,it=jo,Et=1/0;it;)it._call?(Et>it._time&&(Et=it._time),He=it,it=it._next):(et=it._next,it._next=null,it=He?He._next=et:jo=et);Ms=He,Su(Et)}(),Go=0}}function Fl(){var He=Cs.now(),et=He-$i;et>1e3&&(No-=et,$i=He)}function Su(He){yo||(ki&&(ki=clearTimeout(ki)),He-Go>24?(He<1/0&&(ki=setTimeout(vs,He-Cs.now()-No)),Gs&&(Gs=clearInterval(Gs))):(Gs||($i=Cs.now(),Gs=setInterval(Fl,1e3)),yo=1,tl(vs)))}function Ps(He,et,it){var Et=new _l;return et=et==null?0:+et,Et.restart(It=>{Et.stop(),He(It+et)},et,it),Et}_l.prototype=Ds.prototype={constructor:_l,restart:function(He,et,it){if(typeof He!="function")throw new TypeError("callback is not a function");it=(it==null?nl():+it)+(et==null?0:+et),this._next||Ms===this||(Ms?Ms._next=this:jo=this,Ms=this),this._call=He,this._time=it,Su()},stop:function(){this._call&&(this._call=null,this._time=1/0,Su())}};var Ku=Re("start","end","cancel","interrupt"),Bi=[];function za(He,et,it,Et,It,Lt){var jt=He.__transition;if(jt){if(it in jt)return}else He.__transition={};(function(kt,qt,Zt){var ln,In=kt.__transition;function Cn(Vn){Zt.state=1,Zt.timer.restart(Yn,Zt.delay,Zt.time),Zt.delay<=Vn&&Yn(Vn-Zt.delay)}function Yn(Vn){var Fn,Qn,wr,Cr;if(Zt.state!==1)return Rn();for(Fn in In)if((Cr=In[Fn]).name===Zt.name){if(Cr.state===3)return Ps(Yn);Cr.state===4?(Cr.state=6,Cr.timer.stop(),Cr.on.call("interrupt",kt,kt.__data__,Cr.index,Cr.group),delete In[Fn]):+Fn<qt&&(Cr.state=6,Cr.timer.stop(),Cr.on.call("cancel",kt,kt.__data__,Cr.index,Cr.group),delete In[Fn])}if(Ps(function(){Zt.state===3&&(Zt.state=4,Zt.timer.restart(Kn,Zt.delay,Zt.time),Kn(Vn))}),Zt.state=2,Zt.on.call("start",kt,kt.__data__,Zt.index,Zt.group),Zt.state===2){for(Zt.state=3,ln=new Array(wr=Zt.tween.length),Fn=0,Qn=-1;Fn<wr;++Fn)(Cr=Zt.tween[Fn].value.call(kt,kt.__data__,Zt.index,Zt.group))&&(ln[++Qn]=Cr);ln.length=Qn+1}}function Kn(Vn){for(var Fn=Vn<Zt.duration?Zt.ease.call(null,Vn/Zt.duration):(Zt.timer.restart(Rn),Zt.state=5,1),Qn=-1,wr=ln.length;++Qn<wr;)ln[Qn].call(kt,Fn);Zt.state===5&&(Zt.on.call("end",kt,kt.__data__,Zt.index,Zt.group),Rn())}function Rn(){for(var Vn in Zt.state=6,Zt.timer.stop(),delete In[qt],In)return;delete kt.__transition}In[qt]=Zt,Zt.timer=Ds(Cn,0,Zt.time)})(He,it,{name:et,index:Et,group:It,on:Ku,tween:Bi,time:Lt.time,delay:Lt.delay,duration:Lt.duration,ease:Lt.ease,timer:null,state:0})}function Ua(He,et){var it=Wi(He,et);if(it.state>0)throw new Error("too late; already scheduled");return it}function ja(He,et){var it=Wi(He,et);if(it.state>3)throw new Error("too late; already running");return it}function Wi(He,et){var it=He.__transition;if(!it||!(it=it[et]))throw new Error("transition not found");return it}function xo(He,et){var it,Et,It,Lt=He.__transition,jt=!0;if(Lt){for(It in et=et==null?null:et+"",Lt)(it=Lt[It]).name===et?(Et=it.state>2&&it.state<5,it.state=6,it.timer.stop(),it.on.call(Et?"interrupt":"cancel",He,He.__data__,it.index,it.group),delete Lt[It]):jt=!1;jt&&delete He.__transition}}function es(He,et){var it,Et;return function(){var It=ja(this,He),Lt=It.tween;if(Lt!==it){for(var jt=0,kt=(Et=it=Lt).length;jt<kt;++jt)if(Et[jt].name===et){(Et=Et.slice()).splice(jt,1);break}}It.tween=Et}}function ss(He,et,it){var Et,It;if(typeof it!="function")throw new Error;return function(){var Lt=ja(this,He),jt=Lt.tween;if(jt!==Et){It=(Et=jt).slice();for(var kt={name:et,value:it},qt=0,Zt=It.length;qt<Zt;++qt)if(It[qt].name===et){It[qt]=kt;break}qt===Zt&&It.push(kt)}Lt.tween=It}}function fi(He,et,it){var Et=He._id;return He.each(function(){var It=ja(this,Et);(It.value||(It.value={}))[et]=it.apply(this,arguments)}),function(It){return Wi(It,Et).value[et]}}function Ts(He,et){var it;return(typeof et=="number"?Ja:et instanceof Mn?Zr:(it=Mn(et))?(et=it,Zr):ji)(He,et)}function kl(He){return function(){this.removeAttribute(He)}}function Ks(He){return function(){this.removeAttributeNS(He.space,He.local)}}function so(He,et,it){var Et,It,Lt=it+"";return function(){var jt=this.getAttribute(He);return jt===Lt?null:jt===Et?It:It=et(Et=jt,it)}}function Ro(He,et,it){var Et,It,Lt=it+"";return function(){var jt=this.getAttributeNS(He.space,He.local);return jt===Lt?null:jt===Et?It:It=et(Et=jt,it)}}function ms(He,et,it){var Et,It,Lt;return function(){var jt,kt,qt=it(this);if(qt!=null)return(jt=this.getAttribute(He))===(kt=qt+"")?null:jt===Et&&kt===It?Lt:(It=kt,Lt=et(Et=jt,qt));this.removeAttribute(He)}}function So(He,et,it){var Et,It,Lt;return function(){var jt,kt,qt=it(this);if(qt!=null)return(jt=this.getAttributeNS(He.space,He.local))===(kt=qt+"")?null:jt===Et&&kt===It?Lt:(It=kt,Lt=et(Et=jt,qt));this.removeAttributeNS(He.space,He.local)}}function ts(He,et){return function(it){this.setAttribute(He,et.call(this,it))}}function Vs(He,et){return function(it){this.setAttributeNS(He.space,He.local,et.call(this,it))}}function zs(He,et){var it,Et;function It(){var Lt=et.apply(this,arguments);return Lt!==Et&&(it=(Et=Lt)&&Vs(He,Lt)),it}return It._value=et,It}function bu(He,et){var it,Et;function It(){var Lt=et.apply(this,arguments);return Lt!==Et&&(it=(Et=Lt)&&ts(He,Lt)),it}return It._value=et,It}function gu(He,et){return function(){Ua(this,He).delay=+et.apply(this,arguments)}}function Yc(He,et){return et=+et,function(){Ua(this,He).delay=et}}function md(He,et){return function(){ja(this,He).duration=+et.apply(this,arguments)}}function Zu(He,et){return et=+et,function(){ja(this,He).duration=et}}function vu(He,et){if(typeof et!="function")throw new Error;return function(){ja(this,He).ease=et}}function pd(He,et,it){var Et,It,Lt=function(jt){return(jt+"").trim().split(/^|\s+/).every(function(kt){var qt=kt.indexOf(".");return qt>=0&&(kt=kt.slice(0,qt)),!kt||kt==="start"})}(et)?Ua:ja;return function(){var jt=Lt(this,He),kt=jt.on;kt!==Et&&(It=(Et=kt).copy()).on(et,it),jt.on=It}}var yd=Ur.prototype.constructor;function Xc(He){return function(){this.style.removeProperty(He)}}function jd(He,et,it){return function(Et){this.style.setProperty(He,et.call(this,Et),it)}}function Oh(He,et,it){var Et,It;function Lt(){var jt=et.apply(this,arguments);return jt!==It&&(Et=(It=jt)&&jd(He,jt,it)),Et}return Lt._value=et,Lt}function _g(He){return function(et){this.textContent=He.call(this,et)}}function Th(He){var et,it;function Et(){var It=He.apply(this,arguments);return It!==it&&(et=(it=It)&&_g(It)),et}return Et._value=He,Et}var Ed=0;function Qu(He,et,it,Et){this._groups=He,this._parents=et,this._name=it,this._id=Et}function Gd(){return++Ed}var mu=Ur.prototype;Qu.prototype={constructor:Qu,select:function(He){var et=this._name,it=this._id;typeof He!="function"&&(He=ee(He));for(var Et=this._groups,It=Et.length,Lt=new Array(It),jt=0;jt<It;++jt)for(var kt,qt,Zt=Et[jt],ln=Zt.length,In=Lt[jt]=new Array(ln),Cn=0;Cn<ln;++Cn)(kt=Zt[Cn])&&(qt=He.call(kt,kt.__data__,Cn,Zt))&&("__data__"in kt&&(qt.__data__=kt.__data__),In[Cn]=qt,za(In[Cn],et,it,Cn,In,Wi(kt,it)));return new Qu(Lt,this._parents,et,it)},selectAll:function(He){var et=this._name,it=this._id;typeof He!="function"&&(He=oe(He));for(var Et=this._groups,It=Et.length,Lt=[],jt=[],kt=0;kt<It;++kt)for(var qt,Zt=Et[kt],ln=Zt.length,In=0;In<ln;++In)if(qt=Zt[In]){for(var Cn,Yn=He.call(qt,qt.__data__,In,Zt),Kn=Wi(qt,it),Rn=0,Vn=Yn.length;Rn<Vn;++Rn)(Cn=Yn[Rn])&&za(Cn,et,it,Rn,Yn,Kn);Lt.push(Yn),jt.push(qt)}return new Qu(Lt,jt,et,it)},selectChild:mu.selectChild,selectChildren:mu.selectChildren,filter:function(He){typeof He!="function"&&(He=ce(He));for(var et=this._groups,it=et.length,Et=new Array(it),It=0;It<it;++It)for(var Lt,jt=et[It],kt=jt.length,qt=Et[It]=[],Zt=0;Zt<kt;++Zt)(Lt=jt[Zt])&&He.call(Lt,Lt.__data__,Zt,jt)&&qt.push(Lt);return new Qu(Et,this._parents,this._name,this._id)},merge:function(He){if(He._id!==this._id)throw new Error;for(var et=this._groups,it=He._groups,Et=et.length,It=it.length,Lt=Math.min(Et,It),jt=new Array(Et),kt=0;kt<Lt;++kt)for(var qt,Zt=et[kt],ln=it[kt],In=Zt.length,Cn=jt[kt]=new Array(In),Yn=0;Yn<In;++Yn)(qt=Zt[Yn]||ln[Yn])&&(Cn[Yn]=qt);for(;kt<Et;++kt)jt[kt]=et[kt];return new Qu(jt,this._parents,this._name,this._id)},selection:function(){return new yd(this._groups,this._parents)},transition:function(){for(var He=this._name,et=this._id,it=Gd(),Et=this._groups,It=Et.length,Lt=0;Lt<It;++Lt)for(var jt,kt=Et[Lt],qt=kt.length,Zt=0;Zt<qt;++Zt)if(jt=kt[Zt]){var ln=Wi(jt,et);za(jt,He,it,Zt,kt,{time:ln.time+ln.delay+ln.duration,delay:0,duration:ln.duration,ease:ln.ease})}return new Qu(Et,this._parents,He,it)},call:mu.call,nodes:mu.nodes,node:mu.node,size:mu.size,empty:mu.empty,each:mu.each,on:function(He,et){var it=this._id;return arguments.length<2?Wi(this.node(),it).on.on(He):this.each(pd(it,He,et))},attr:function(He,et){var it=De(He),Et=it==="transform"?Wo:Ts;return this.attrTween(He,typeof et=="function"?(it.local?So:ms)(it,Et,fi(this,"attr."+He,et)):et==null?(it.local?Ks:kl)(it):(it.local?Ro:so)(it,Et,et))},attrTween:function(He,et){var it="attr."+He;if(arguments.length<2)return(it=this.tween(it))&&it._value;if(et==null)return this.tween(it,null);if(typeof et!="function")throw new Error;var Et=De(He);return this.tween(it,(Et.local?zs:bu)(Et,et))},style:function(He,et,it){var Et=(He+="")=="transform"?Uo:Ts;return et==null?this.styleTween(He,function(It,Lt){var jt,kt,qt;return function(){var Zt=vt(this,It),ln=(this.style.removeProperty(It),vt(this,It));return Zt===ln?null:Zt===jt&&ln===kt?qt:qt=Lt(jt=Zt,kt=ln)}}(He,Et)).on("end.style."+He,Xc(He)):typeof et=="function"?this.styleTween(He,function(It,Lt,jt){var kt,qt,Zt;return function(){var ln=vt(this,It),In=jt(this),Cn=In+"";return In==null&&(this.style.removeProperty(It),Cn=In=vt(this,It)),ln===Cn?null:ln===kt&&Cn===qt?Zt:(qt=Cn,Zt=Lt(kt=ln,In))}}(He,Et,fi(this,"style."+He,et))).each(function(It,Lt){var jt,kt,qt,Zt,ln="style."+Lt,In="end."+ln;return function(){var Cn=ja(this,It),Yn=Cn.on,Kn=Cn.value[ln]==null?Zt||(Zt=Xc(Lt)):void 0;Yn===jt&&qt===Kn||(kt=(jt=Yn).copy()).on(In,qt=Kn),Cn.on=kt}}(this._id,He)):this.styleTween(He,function(It,Lt,jt){var kt,qt,Zt=jt+"";return function(){var ln=vt(this,It);return ln===Zt?null:ln===kt?qt:qt=Lt(kt=ln,jt)}}(He,Et,et),it).on("end.style."+He,null)},styleTween:function(He,et,it){var Et="style."+(He+="");if(arguments.length<2)return(Et=this.tween(Et))&&Et._value;if(et==null)return this.tween(Et,null);if(typeof et!="function")throw new Error;return this.tween(Et,Oh(He,et,it==null?"":it))},text:function(He){return this.tween("text",typeof He=="function"?function(et){return function(){var it=et(this);this.textContent=it==null?"":it}}(fi(this,"text",He)):function(et){return function(){this.textContent=et}}(He==null?"":He+""))},textTween:function(He){var et="text";if(arguments.length<1)return(et=this.tween(et))&&et._value;if(He==null)return this.tween(et,null);if(typeof He!="function")throw new Error;return this.tween(et,Th(He))},remove:function(){return this.on("end.remove",function(He){return function(){var et=this.parentNode;for(var it in this.__transition)if(+it!==He)return;et&&et.removeChild(this)}}(this._id))},tween:function(He,et){var it=this._id;if(He+="",arguments.length<2){for(var Et,It=Wi(this.node(),it).tween,Lt=0,jt=It.length;Lt<jt;++Lt)if((Et=It[Lt]).name===He)return Et.value;return null}return this.each((et==null?es:ss)(it,He,et))},delay:function(He){var et=this._id;return arguments.length?this.each((typeof He=="function"?gu:Yc)(et,He)):Wi(this.node(),et).delay},duration:function(He){var et=this._id;return arguments.length?this.each((typeof He=="function"?md:Zu)(et,He)):Wi(this.node(),et).duration},ease:function(He){var et=this._id;return arguments.length?this.each(vu(et,He)):Wi(this.node(),et).ease},easeVarying:function(He){if(typeof He!="function")throw new Error;return this.each(function(et,it){return function(){var Et=it.apply(this,arguments);if(typeof Et!="function")throw new Error;ja(this,et).ease=Et}}(this._id,He))},end:function(){var He,et,it=this,Et=it._id,It=it.size();return new Promise(function(Lt,jt){var kt={value:jt},qt={value:function(){--It==0&&Lt()}};it.each(function(){var Zt=ja(this,Et),ln=Zt.on;ln!==He&&((et=(He=ln).copy())._.cancel.push(kt),et._.interrupt.push(kt),et._.end.push(qt)),Zt.on=et}),It===0&&Lt()})},[Symbol.iterator]:mu[Symbol.iterator]};var Uf={time:null,delay:0,duration:250,ease:function(He){return((He*=2)<=1?He*He*He:(He-=2)*He*He+2)/2}};function Wf(He,et){for(var it;!(it=He.__transition)||!(it=it[et]);)if(!(He=He.parentNode))throw new Error(`transition ${et} not found`);return it}Ur.prototype.interrupt=function(He){return this.each(function(){xo(this,He)})},Ur.prototype.transition=function(He){var et,it;He instanceof Qu?(et=He._id,He=He._name):(et=Gd(),(it=Uf).time=nl(),He=He==null?null:He+"");for(var Et=this._groups,It=Et.length,Lt=0;Lt<It;++Lt)for(var jt,kt=Et[Lt],qt=kt.length,Zt=0;Zt<qt;++Zt)(jt=kt[Zt])&&za(jt,He,et,Zt,kt,it||Wf(jt,et));return new Qu(Et,this._parents,He,et)};const Jc=Math.PI,Cc=2*Jc,pu=1e-6,df=Cc-pu;function Vd(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function ff(){return new Vd}function jf(He,et,it,Et){if(isNaN(et)||isNaN(it))return He;var It,Lt,jt,kt,qt,Zt,ln,In,Cn,Yn=He._root,Kn={data:Et},Rn=He._x0,Vn=He._y0,Fn=He._x1,Qn=He._y1;if(!Yn)return He._root=Kn,He;for(;Yn.length;)if((Zt=et>=(Lt=(Rn+Fn)/2))?Rn=Lt:Fn=Lt,(ln=it>=(jt=(Vn+Qn)/2))?Vn=jt:Qn=jt,It=Yn,!(Yn=Yn[In=ln<<1|Zt]))return It[In]=Kn,He;if(kt=+He._x.call(null,Yn.data),qt=+He._y.call(null,Yn.data),et===kt&&it===qt)return Kn.next=Yn,It?It[In]=Kn:He._root=Kn,He;do It=It?It[In]=new Array(4):He._root=new Array(4),(Zt=et>=(Lt=(Rn+Fn)/2))?Rn=Lt:Fn=Lt,(ln=it>=(jt=(Vn+Qn)/2))?Vn=jt:Qn=jt;while((In=ln<<1|Zt)==(Cn=(qt>=jt)<<1|kt>=Lt));return It[Cn]=Yn,It[In]=Kn,He}function fl(He,et,it,Et,It){this.node=He,this.x0=et,this.y0=it,this.x1=Et,this.y1=It}function hf(He){return He[0]}function Gf(He){return He[1]}function Zo(He,et,it){var Et=new Yu(et==null?hf:et,it==null?Gf:it,NaN,NaN,NaN,NaN);return He==null?Et:Et.addAll(He)}function Yu(He,et,it,Et,It,Lt){this._x=He,this._y=et,this._x0=it,this._y0=Et,this._x1=It,this._y1=Lt,this._root=void 0}function Pc(He){for(var et={data:He.data},it=et;He=He.next;)it=it.next={data:He.data};return et}Vd.prototype=ff.prototype={constructor:Vd,moveTo:function(He,et){this._+="M"+(this._x0=this._x1=+He)+","+(this._y0=this._y1=+et)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(He,et){this._+="L"+(this._x1=+He)+","+(this._y1=+et)},quadraticCurveTo:function(He,et,it,Et){this._+="Q"+ +He+","+ +et+","+(this._x1=+it)+","+(this._y1=+Et)},bezierCurveTo:function(He,et,it,Et,It,Lt){this._+="C"+ +He+","+ +et+","+ +it+","+ +Et+","+(this._x1=+It)+","+(this._y1=+Lt)},arcTo:function(He,et,it,Et,It){He=+He,et=+et,it=+it,Et=+Et,It=+It;var Lt=this._x1,jt=this._y1,kt=it-He,qt=Et-et,Zt=Lt-He,ln=jt-et,In=Zt*Zt+ln*ln;if(It<0)throw new Error("negative radius: "+It);if(this._x1===null)this._+="M"+(this._x1=He)+","+(this._y1=et);else if(In>pu)if(Math.abs(ln*kt-qt*Zt)>pu&&It){var Cn=it-Lt,Yn=Et-jt,Kn=kt*kt+qt*qt,Rn=Cn*Cn+Yn*Yn,Vn=Math.sqrt(Kn),Fn=Math.sqrt(In),Qn=It*Math.tan((Jc-Math.acos((Kn+In-Rn)/(2*Vn*Fn)))/2),wr=Qn/Fn,Cr=Qn/Vn;Math.abs(wr-1)>pu&&(this._+="L"+(He+wr*Zt)+","+(et+wr*ln)),this._+="A"+It+","+It+",0,0,"+ +(ln*Cn>Zt*Yn)+","+(this._x1=He+Cr*kt)+","+(this._y1=et+Cr*qt)}else this._+="L"+(this._x1=He)+","+(this._y1=et)},arc:function(He,et,it,Et,It,Lt){He=+He,et=+et,Lt=!!Lt;var jt=(it=+it)*Math.cos(Et),kt=it*Math.sin(Et),qt=He+jt,Zt=et+kt,ln=1^Lt,In=Lt?Et-It:It-Et;if(it<0)throw new Error("negative radius: "+it);this._x1===null?this._+="M"+qt+","+Zt:(Math.abs(this._x1-qt)>pu||Math.abs(this._y1-Zt)>pu)&&(this._+="L"+qt+","+Zt),it&&(In<0&&(In=In%Cc+Cc),In>df?this._+="A"+it+","+it+",0,1,"+ln+","+(He-jt)+","+(et-kt)+"A"+it+","+it+",0,1,"+ln+","+(this._x1=qt)+","+(this._y1=Zt):In>pu&&(this._+="A"+it+","+it+",0,"+ +(In>=Jc)+","+ln+","+(this._x1=He+it*Math.cos(It))+","+(this._y1=et+it*Math.sin(It))))},rect:function(He,et,it,Et){this._+="M"+(this._x0=this._x1=+He)+","+(this._y0=this._y1=+et)+"h"+ +it+"v"+ +Et+"h"+-it+"Z"},toString:function(){return this._}};var Ml=Zo.prototype=Yu.prototype;function Dl(He){return function(){return He}}function zl(He){return 1e-6*(He()-.5)}function Ad(He){return He.x+He.vx}function gf(He){return He.y+He.vy}function Bh(He){return He.index}function Cu(He,et){var it=He.get(et);if(!it)throw new Error("node not found: "+et);return it}function vf(He){var et,it,Et,It,Lt,jt,kt=Bh,qt=function(Rn){return 1/Math.min(It[Rn.source.index],It[Rn.target.index])},Zt=Dl(30),ln=1;function In(Rn){for(var Vn=0,Fn=He.length;Vn<ln;++Vn)for(var Qn,wr,Cr,Ar,$n,va,Va,Za=0;Za<Fn;++Za)wr=(Qn=He[Za]).source,Ar=(Cr=Qn.target).x+Cr.vx-wr.x-wr.vx||zl(jt),$n=Cr.y+Cr.vy-wr.y-wr.vy||zl(jt),Ar*=va=((va=Math.sqrt(Ar*Ar+$n*$n))-it[Za])/va*Rn*et[Za],$n*=va,Cr.vx-=Ar*(Va=Lt[Za]),Cr.vy-=$n*Va,wr.vx+=Ar*(Va=1-Va),wr.vy+=$n*Va}function Cn(){if(Et){var Rn,Vn,Fn=Et.length,Qn=He.length,wr=new Map(Et.map((Cr,Ar)=>[kt(Cr,Ar,Et),Cr]));for(Rn=0,It=new Array(Fn);Rn<Qn;++Rn)(Vn=He[Rn]).index=Rn,typeof Vn.source!="object"&&(Vn.source=Cu(wr,Vn.source)),typeof Vn.target!="object"&&(Vn.target=Cu(wr,Vn.target)),It[Vn.source.index]=(It[Vn.source.index]||0)+1,It[Vn.target.index]=(It[Vn.target.index]||0)+1;for(Rn=0,Lt=new Array(Qn);Rn<Qn;++Rn)Vn=He[Rn],Lt[Rn]=It[Vn.source.index]/(It[Vn.source.index]+It[Vn.target.index]);et=new Array(Qn),Yn(),it=new Array(Qn),Kn()}}function Yn(){if(Et)for(var Rn=0,Vn=He.length;Rn<Vn;++Rn)et[Rn]=+qt(He[Rn],Rn,He)}function Kn(){if(Et)for(var Rn=0,Vn=He.length;Rn<Vn;++Rn)it[Rn]=+Zt(He[Rn],Rn,He)}return He==null&&(He=[]),In.initialize=function(Rn,Vn){Et=Rn,jt=Vn,Cn()},In.links=function(Rn){return arguments.length?(He=Rn,Cn(),In):He},In.id=function(Rn){return arguments.length?(kt=Rn,In):kt},In.iterations=function(Rn){return arguments.length?(ln=+Rn,In):ln},In.strength=function(Rn){return arguments.length?(qt=typeof Rn=="function"?Rn:Dl(+Rn),Yn(),In):qt},In.distance=function(Rn){return arguments.length?(Zt=typeof Rn=="function"?Rn:Dl(+Rn),Kn(),In):Zt},In}Ml.copy=function(){var He,et,it=new Yu(this._x,this._y,this._x0,this._y0,this._x1,this._y1),Et=this._root;if(!Et)return it;if(!Et.length)return it._root=Pc(Et),it;for(He=[{source:Et,target:it._root=new Array(4)}];Et=He.pop();)for(var It=0;It<4;++It)(et=Et.source[It])&&(et.length?He.push({source:et,target:Et.target[It]=new Array(4)}):Et.target[It]=Pc(et));return it},Ml.add=function(He){const et=+this._x.call(null,He),it=+this._y.call(null,He);return jf(this.cover(et,it),et,it,He)},Ml.addAll=function(He){var et,it,Et,It,Lt=He.length,jt=new Array(Lt),kt=new Array(Lt),qt=1/0,Zt=1/0,ln=-1/0,In=-1/0;for(it=0;it<Lt;++it)isNaN(Et=+this._x.call(null,et=He[it]))||isNaN(It=+this._y.call(null,et))||(jt[it]=Et,kt[it]=It,Et<qt&&(qt=Et),Et>ln&&(ln=Et),It<Zt&&(Zt=It),It>In&&(In=It));if(qt>ln||Zt>In)return this;for(this.cover(qt,Zt).cover(ln,In),it=0;it<Lt;++it)jf(this,jt[it],kt[it],He[it]);return this},Ml.cover=function(He,et){if(isNaN(He=+He)||isNaN(et=+et))return this;var it=this._x0,Et=this._y0,It=this._x1,Lt=this._y1;if(isNaN(it))It=(it=Math.floor(He))+1,Lt=(Et=Math.floor(et))+1;else{for(var jt,kt,qt=It-it||1,Zt=this._root;it>He||He>=It||Et>et||et>=Lt;)switch(kt=(et<Et)<<1|He<it,(jt=new Array(4))[kt]=Zt,Zt=jt,qt*=2,kt){case 0:It=it+qt,Lt=Et+qt;break;case 1:it=It-qt,Lt=Et+qt;break;case 2:It=it+qt,Et=Lt-qt;break;case 3:it=It-qt,Et=Lt-qt}this._root&&this._root.length&&(this._root=Zt)}return this._x0=it,this._y0=Et,this._x1=It,this._y1=Lt,this},Ml.data=function(){var He=[];return this.visit(function(et){if(!et.length)do He.push(et.data);while(et=et.next)}),He},Ml.extent=function(He){return arguments.length?this.cover(+He[0][0],+He[0][1]).cover(+He[1][0],+He[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},Ml.find=function(He,et,it){var Et,It,Lt,jt,kt,qt,Zt,ln=this._x0,In=this._y0,Cn=this._x1,Yn=this._y1,Kn=[],Rn=this._root;for(Rn&&Kn.push(new fl(Rn,ln,In,Cn,Yn)),it==null?it=1/0:(ln=He-it,In=et-it,Cn=He+it,Yn=et+it,it*=it);qt=Kn.pop();)if(!(!(Rn=qt.node)||(It=qt.x0)>Cn||(Lt=qt.y0)>Yn||(jt=qt.x1)<ln||(kt=qt.y1)<In))if(Rn.length){var Vn=(It+jt)/2,Fn=(Lt+kt)/2;Kn.push(new fl(Rn[3],Vn,Fn,jt,kt),new fl(Rn[2],It,Fn,Vn,kt),new fl(Rn[1],Vn,Lt,jt,Fn),new fl(Rn[0],It,Lt,Vn,Fn)),(Zt=(et>=Fn)<<1|He>=Vn)&&(qt=Kn[Kn.length-1],Kn[Kn.length-1]=Kn[Kn.length-1-Zt],Kn[Kn.length-1-Zt]=qt)}else{var Qn=He-+this._x.call(null,Rn.data),wr=et-+this._y.call(null,Rn.data),Cr=Qn*Qn+wr*wr;if(Cr<it){var Ar=Math.sqrt(it=Cr);ln=He-Ar,In=et-Ar,Cn=He+Ar,Yn=et+Ar,Et=Rn.data}}return Et},Ml.remove=function(He){if(isNaN(Lt=+this._x.call(null,He))||isNaN(jt=+this._y.call(null,He)))return this;var et,it,Et,It,Lt,jt,kt,qt,Zt,ln,In,Cn,Yn=this._root,Kn=this._x0,Rn=this._y0,Vn=this._x1,Fn=this._y1;if(!Yn)return this;if(Yn.length)for(;;){if((Zt=Lt>=(kt=(Kn+Vn)/2))?Kn=kt:Vn=kt,(ln=jt>=(qt=(Rn+Fn)/2))?Rn=qt:Fn=qt,et=Yn,!(Yn=Yn[In=ln<<1|Zt]))return this;if(!Yn.length)break;(et[In+1&3]||et[In+2&3]||et[In+3&3])&&(it=et,Cn=In)}for(;Yn.data!==He;)if(Et=Yn,!(Yn=Yn.next))return this;return(It=Yn.next)&&delete Yn.next,Et?(It?Et.next=It:delete Et.next,this):et?(It?et[In]=It:delete et[In],(Yn=et[0]||et[1]||et[2]||et[3])&&Yn===(et[3]||et[2]||et[1]||et[0])&&!Yn.length&&(it?it[Cn]=Yn:this._root=Yn),this):(this._root=It,this)},Ml.removeAll=function(He){for(var et=0,it=He.length;et<it;++et)this.remove(He[et]);return this},Ml.root=function(){return this._root},Ml.size=function(){var He=0;return this.visit(function(et){if(!et.length)do++He;while(et=et.next)}),He},Ml.visit=function(He){var et,it,Et,It,Lt,jt,kt=[],qt=this._root;for(qt&&kt.push(new fl(qt,this._x0,this._y0,this._x1,this._y1));et=kt.pop();)if(!He(qt=et.node,Et=et.x0,It=et.y0,Lt=et.x1,jt=et.y1)&&qt.length){var Zt=(Et+Lt)/2,ln=(It+jt)/2;(it=qt[3])&&kt.push(new fl(it,Zt,ln,Lt,jt)),(it=qt[2])&&kt.push(new fl(it,Et,ln,Zt,jt)),(it=qt[1])&&kt.push(new fl(it,Zt,It,Lt,ln)),(it=qt[0])&&kt.push(new fl(it,Et,It,Zt,ln))}return this},Ml.visitAfter=function(He){var et,it=[],Et=[];for(this._root&&it.push(new fl(this._root,this._x0,this._y0,this._x1,this._y1));et=it.pop();){var It=et.node;if(It.length){var Lt,jt=et.x0,kt=et.y0,qt=et.x1,Zt=et.y1,ln=(jt+qt)/2,In=(kt+Zt)/2;(Lt=It[0])&&it.push(new fl(Lt,jt,kt,ln,In)),(Lt=It[1])&&it.push(new fl(Lt,ln,kt,qt,In)),(Lt=It[2])&&it.push(new fl(Lt,jt,In,ln,Zt)),(Lt=It[3])&&it.push(new fl(Lt,ln,In,qt,Zt))}Et.push(et)}for(;et=Et.pop();)He(et.node,et.x0,et.y0,et.x1,et.y1);return this},Ml.x=function(He){return arguments.length?(this._x=He,this):this._x},Ml.y=function(He){return arguments.length?(this._y=He,this):this._y};const Hd=4294967296;function ls(He){return He.x}function Vf(He){return He.y}var xd=Math.PI*(3-Math.sqrt(5));function Nh(He){var et,it=1,Et=.001,It=1-Math.pow(Et,1/300),Lt=0,jt=.6,kt=new Map,qt=Ds(In),Zt=Re("tick","end"),ln=function(){let Rn=1;return()=>(Rn=(1664525*Rn+1013904223)%Hd)/Hd}();function In(){Cn(),Zt.call("tick",et),it<Et&&(qt.stop(),Zt.call("end",et))}function Cn(Rn){var Vn,Fn,Qn=He.length;Rn===void 0&&(Rn=1);for(var wr=0;wr<Rn;++wr)for(it+=(Lt-it)*It,kt.forEach(function(Cr){Cr(it)}),Vn=0;Vn<Qn;++Vn)(Fn=He[Vn]).fx==null?Fn.x+=Fn.vx*=jt:(Fn.x=Fn.fx,Fn.vx=0),Fn.fy==null?Fn.y+=Fn.vy*=jt:(Fn.y=Fn.fy,Fn.vy=0);return et}function Yn(){for(var Rn,Vn=0,Fn=He.length;Vn<Fn;++Vn){if((Rn=He[Vn]).index=Vn,Rn.fx!=null&&(Rn.x=Rn.fx),Rn.fy!=null&&(Rn.y=Rn.fy),isNaN(Rn.x)||isNaN(Rn.y)){var Qn=10*Math.sqrt(.5+Vn),wr=Vn*xd;Rn.x=Qn*Math.cos(wr),Rn.y=Qn*Math.sin(wr)}(isNaN(Rn.vx)||isNaN(Rn.vy))&&(Rn.vx=Rn.vy=0)}}function Kn(Rn){return Rn.initialize&&Rn.initialize(He,ln),Rn}return He==null&&(He=[]),Yn(),et={tick:Cn,restart:function(){return qt.restart(In),et},stop:function(){return qt.stop(),et},nodes:function(Rn){return arguments.length?(He=Rn,Yn(),kt.forEach(Kn),et):He},alpha:function(Rn){return arguments.length?(it=+Rn,et):it},alphaMin:function(Rn){return arguments.length?(Et=+Rn,et):Et},alphaDecay:function(Rn){return arguments.length?(It=+Rn,et):+It},alphaTarget:function(Rn){return arguments.length?(Lt=+Rn,et):Lt},velocityDecay:function(Rn){return arguments.length?(jt=1-Rn,et):1-jt},randomSource:function(Rn){return arguments.length?(ln=Rn,kt.forEach(Kn),et):ln},force:function(Rn,Vn){return arguments.length>1?(Vn==null?kt.delete(Rn):kt.set(Rn,Kn(Vn)),et):kt.get(Rn)},find:function(Rn,Vn,Fn){var Qn,wr,Cr,Ar,$n,va=0,Va=He.length;for(Fn==null?Fn=1/0:Fn*=Fn,va=0;va<Va;++va)(Cr=(Qn=Rn-(Ar=He[va]).x)*Qn+(wr=Vn-Ar.y)*wr)<Fn&&($n=Ar,Fn=Cr);return $n},on:function(Rn,Vn){return arguments.length>1?(Zt.on(Rn,Vn),et):Zt.on(Rn)}}}function xl(He){return function(){return He}}const mf=Math.abs,Sl=Math.atan2,Xu=Math.cos,Kd=Math.max,uc=Math.min,Ql=Math.sin,wc=Math.sqrt,Ul=1e-12,qc=Math.PI,$c=qc/2,Xr=2*qc;function Hf(He){return He>1?0:He<-1?qc:Math.acos(He)}function Zd(He){return He>=1?$c:He<=-1?-$c:Math.asin(He)}function Rh(He){return He.innerRadius}function Kf(He){return He.outerRadius}function _h(He){return He.startAngle}function Zf(He){return He.endAngle}function Mc(He){return He&&He.padAngle}function Il(He,et,it,Et,It,Lt,jt,kt){var qt=it-He,Zt=Et-et,ln=jt-It,In=kt-Lt,Cn=In*qt-ln*Zt;if(!(Cn*Cn<Ul))return[He+(Cn=(ln*(et-Lt)-In*(He-It))/Cn)*qt,et+Cn*Zt]}function Dc(He,et,it,Et,It,Lt,jt){var kt=He-it,qt=et-Et,Zt=(jt?Lt:-Lt)/wc(kt*kt+qt*qt),ln=Zt*qt,In=-Zt*kt,Cn=He+ln,Yn=et+In,Kn=it+ln,Rn=Et+In,Vn=(Cn+Kn)/2,Fn=(Yn+Rn)/2,Qn=Kn-Cn,wr=Rn-Yn,Cr=Qn*Qn+wr*wr,Ar=It-Lt,$n=Cn*Rn-Kn*Yn,va=(wr<0?-1:1)*wc(Kd(0,Ar*Ar*Cr-$n*$n)),Va=($n*wr-Qn*va)/Cr,Za=(-$n*Qn-wr*va)/Cr,Ir=($n*wr+Qn*va)/Cr,Tr=(-$n*Qn+wr*va)/Cr,da=Va-Vn,Wn=Za-Fn,Br=Ir-Vn,ra=Tr-Fn;return da*da+Wn*Wn>Br*Br+ra*ra&&(Va=Ir,Za=Tr),{cx:Va,cy:Za,x01:-ln,y01:-In,x11:Va*(It/Ar-1),y11:Za*(It/Ar-1)}}function iu(){var He=Rh,et=Kf,it=xl(0),Et=null,It=_h,Lt=Zf,jt=Mc,kt=null;function qt(){var Zt,ln,In=+He.apply(this,arguments),Cn=+et.apply(this,arguments),Yn=It.apply(this,arguments)-$c,Kn=Lt.apply(this,arguments)-$c,Rn=mf(Kn-Yn),Vn=Kn>Yn;if(kt||(kt=Zt=ff()),Cn<In&&(ln=Cn,Cn=In,In=ln),Cn>Ul)if(Rn>Xr-Ul)kt.moveTo(Cn*Xu(Yn),Cn*Ql(Yn)),kt.arc(0,0,Cn,Yn,Kn,!Vn),In>Ul&&(kt.moveTo(In*Xu(Kn),In*Ql(Kn)),kt.arc(0,0,In,Kn,Yn,Vn));else{var Fn,Qn,wr=Yn,Cr=Kn,Ar=Yn,$n=Kn,va=Rn,Va=Rn,Za=jt.apply(this,arguments)/2,Ir=Za>Ul&&(Et?+Et.apply(this,arguments):wc(In*In+Cn*Cn)),Tr=uc(mf(Cn-In)/2,+it.apply(this,arguments)),da=Tr,Wn=Tr;if(Ir>Ul){var Br=Zd(Ir/In*Ql(Za)),ra=Zd(Ir/Cn*Ql(Za));(va-=2*Br)>Ul?(Ar+=Br*=Vn?1:-1,$n-=Br):(va=0,Ar=$n=(Yn+Kn)/2),(Va-=2*ra)>Ul?(wr+=ra*=Vn?1:-1,Cr-=ra):(Va=0,wr=Cr=(Yn+Kn)/2)}var Wr=Cn*Xu(wr),ca=Cn*Ql(wr),aa=In*Xu($n),Ba=In*Ql($n);if(Tr>Ul){var pi,Ai=Cn*Xu(Cr),oa=Cn*Ql(Cr),ni=In*Xu(Ar),ao=In*Ql(Ar);if(Rn<qc&&(pi=Il(Wr,ca,ni,ao,Ai,oa,aa,Ba))){var Io=Wr-pi[0],qi=ca-pi[1],Fo=Ai-pi[0],Yo=oa-pi[1],fs=1/Ql(Hf((Io*Fo+qi*Yo)/(wc(Io*Io+qi*qi)*wc(Fo*Fo+Yo*Yo)))/2),ws=wc(pi[0]*pi[0]+pi[1]*pi[1]);da=uc(Tr,(In-ws)/(fs-1)),Wn=uc(Tr,(Cn-ws)/(fs+1))}}Va>Ul?Wn>Ul?(Fn=Dc(ni,ao,Wr,ca,Cn,Wn,Vn),Qn=Dc(Ai,oa,aa,Ba,Cn,Wn,Vn),kt.moveTo(Fn.cx+Fn.x01,Fn.cy+Fn.y01),Wn<Tr?kt.arc(Fn.cx,Fn.cy,Wn,Sl(Fn.y01,Fn.x01),Sl(Qn.y01,Qn.x01),!Vn):(kt.arc(Fn.cx,Fn.cy,Wn,Sl(Fn.y01,Fn.x01),Sl(Fn.y11,Fn.x11),!Vn),kt.arc(0,0,Cn,Sl(Fn.cy+Fn.y11,Fn.cx+Fn.x11),Sl(Qn.cy+Qn.y11,Qn.cx+Qn.x11),!Vn),kt.arc(Qn.cx,Qn.cy,Wn,Sl(Qn.y11,Qn.x11),Sl(Qn.y01,Qn.x01),!Vn))):(kt.moveTo(Wr,ca),kt.arc(0,0,Cn,wr,Cr,!Vn)):kt.moveTo(Wr,ca),In>Ul&&va>Ul?da>Ul?(Fn=Dc(aa,Ba,Ai,oa,In,-da,Vn),Qn=Dc(Wr,ca,ni,ao,In,-da,Vn),kt.lineTo(Fn.cx+Fn.x01,Fn.cy+Fn.y01),da<Tr?kt.arc(Fn.cx,Fn.cy,da,Sl(Fn.y01,Fn.x01),Sl(Qn.y01,Qn.x01),!Vn):(kt.arc(Fn.cx,Fn.cy,da,Sl(Fn.y01,Fn.x01),Sl(Fn.y11,Fn.x11),!Vn),kt.arc(0,0,In,Sl(Fn.cy+Fn.y11,Fn.cx+Fn.x11),Sl(Qn.cy+Qn.y11,Qn.cx+Qn.x11),Vn),kt.arc(Qn.cx,Qn.cy,da,Sl(Qn.y11,Qn.x11),Sl(Qn.y01,Qn.x01),!Vn))):kt.arc(0,0,In,$n,Ar,Vn):kt.lineTo(aa,Ba)}else kt.moveTo(0,0);if(kt.closePath(),Zt)return kt=null,Zt+""||null}return qt.centroid=function(){var Zt=(+He.apply(this,arguments)+ +et.apply(this,arguments))/2,ln=(+It.apply(this,arguments)+ +Lt.apply(this,arguments))/2-qc/2;return[Xu(ln)*Zt,Ql(ln)*Zt]},qt.innerRadius=function(Zt){return arguments.length?(He=typeof Zt=="function"?Zt:xl(+Zt),qt):He},qt.outerRadius=function(Zt){return arguments.length?(et=typeof Zt=="function"?Zt:xl(+Zt),qt):et},qt.cornerRadius=function(Zt){return arguments.length?(it=typeof Zt=="function"?Zt:xl(+Zt),qt):it},qt.padRadius=function(Zt){return arguments.length?(Et=Zt==null?null:typeof Zt=="function"?Zt:xl(+Zt),qt):Et},qt.startAngle=function(Zt){return arguments.length?(It=typeof Zt=="function"?Zt:xl(+Zt),qt):It},qt.endAngle=function(Zt){return arguments.length?(Lt=typeof Zt=="function"?Zt:xl(+Zt),qt):Lt},qt.padAngle=function(Zt){return arguments.length?(jt=typeof Zt=="function"?Zt:xl(+Zt),qt):jt},qt.context=function(Zt){return arguments.length?(kt=Zt==null?null:Zt,qt):kt},qt}function Qf(He){return typeof He=="object"&&"length"in He?He:Array.from(He)}function Ct(He,et){return et<He?-1:et>He?1:et>=He?0:NaN}function _t(He){return He}function zt(){var He=_t,et=Ct,it=null,Et=xl(0),It=xl(Xr),Lt=xl(0);function jt(kt){var qt,Zt,ln,In,Cn,Yn=(kt=Qf(kt)).length,Kn=0,Rn=new Array(Yn),Vn=new Array(Yn),Fn=+Et.apply(this,arguments),Qn=Math.min(Xr,Math.max(-Xr,It.apply(this,arguments)-Fn)),wr=Math.min(Math.abs(Qn)/Yn,Lt.apply(this,arguments)),Cr=wr*(Qn<0?-1:1);for(qt=0;qt<Yn;++qt)(Cn=Vn[Rn[qt]=qt]=+He(kt[qt],qt,kt))>0&&(Kn+=Cn);for(et!=null?Rn.sort(function(Ar,$n){return et(Vn[Ar],Vn[$n])}):it!=null&&Rn.sort(function(Ar,$n){return it(kt[Ar],kt[$n])}),qt=0,ln=Kn?(Qn-Yn*Cr)/Kn:0;qt<Yn;++qt,Fn=In)Zt=Rn[qt],In=Fn+((Cn=Vn[Zt])>0?Cn*ln:0)+Cr,Vn[Zt]={data:kt[Zt],index:qt,value:Cn,startAngle:Fn,endAngle:In,padAngle:wr};return Vn}return jt.value=function(kt){return arguments.length?(He=typeof kt=="function"?kt:xl(+kt),jt):He},jt.sortValues=function(kt){return arguments.length?(et=kt,it=null,jt):et},jt.sort=function(kt){return arguments.length?(it=kt,et=null,jt):it},jt.startAngle=function(kt){return arguments.length?(Et=typeof kt=="function"?kt:xl(+kt),jt):Et},jt.endAngle=function(kt){return arguments.length?(It=typeof kt=="function"?kt:xl(+kt),jt):It},jt.padAngle=function(kt){return arguments.length?(Lt=typeof kt=="function"?kt:xl(+kt),jt):Lt},jt}var bn=He=>()=>He;function An(He,{sourceEvent:et,target:it,transform:Et,dispatch:It}){Object.defineProperties(this,{type:{value:He,enumerable:!0,configurable:!0},sourceEvent:{value:et,enumerable:!0,configurable:!0},target:{value:it,enumerable:!0,configurable:!0},transform:{value:Et,enumerable:!0,configurable:!0},_:{value:It}})}function cr(He,et,it){this.k=He,this.x=et,this.y=it}cr.prototype={constructor:cr,scale:function(He){return He===1?this:new cr(this.k*He,this.x,this.y)},translate:function(He,et){return He===0&et===0?this:new cr(this.k,this.x+this.k*He,this.y+this.k*et)},apply:function(He){return[He[0]*this.k+this.x,He[1]*this.k+this.y]},applyX:function(He){return He*this.k+this.x},applyY:function(He){return He*this.k+this.y},invert:function(He){return[(He[0]-this.x)/this.k,(He[1]-this.y)/this.k]},invertX:function(He){return(He-this.x)/this.k},invertY:function(He){return(He-this.y)/this.k},rescaleX:function(He){return He.copy().domain(He.range().map(this.invertX,this).map(He.invert,He))},rescaleY:function(He){return He.copy().domain(He.range().map(this.invertY,this).map(He.invert,He))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ir=new cr(1,0,0);function kr(He){He.stopImmediatePropagation()}function Rr(He){He.preventDefault(),He.stopImmediatePropagation()}function qr(He){return!(He.ctrlKey&&He.type!=="wheel"||He.button)}function _a(){var He=this;return He instanceof SVGElement?(He=He.ownerSVGElement||He).hasAttribute("viewBox")?[[(He=He.viewBox.baseVal).x,He.y],[He.x+He.width,He.y+He.height]]:[[0,0],[He.width.baseVal.value,He.height.baseVal.value]]:[[0,0],[He.clientWidth,He.clientHeight]]}function ta(){return this.__zoom||ir}function ia(He){return-He.deltaY*(He.deltaMode===1?.05:He.deltaMode?1:.002)*(He.ctrlKey?10:1)}function Aa(){return navigator.maxTouchPoints||"ontouchstart"in this}function xa(He,et,it){var Et=He.invertX(et[0][0])-it[0][0],It=He.invertX(et[1][0])-it[1][0],Lt=He.invertY(et[0][1])-it[0][1],jt=He.invertY(et[1][1])-it[1][1];return He.translate(It>Et?(Et+It)/2:Math.min(0,Et)||Math.max(0,It),jt>Lt?(Lt+jt)/2:Math.min(0,Lt)||Math.max(0,jt))}function zr(){var He,et,it,Et=qr,It=_a,Lt=xa,jt=ia,kt=Aa,qt=[0,1/0],Zt=[[-1/0,-1/0],[1/0,1/0]],ln=250,In=js,Cn=Re("start","zoom","end"),Yn=500,Kn=0,Rn=10;function Vn(Wn){Wn.property("__zoom",ta).on("wheel.zoom",va,{passive:!1}).on("mousedown.zoom",Va).on("dblclick.zoom",Za).filter(kt).on("touchstart.zoom",Ir).on("touchmove.zoom",Tr).on("touchend.zoom touchcancel.zoom",da).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function Fn(Wn,Br){return(Br=Math.max(qt[0],Math.min(qt[1],Br)))===Wn.k?Wn:new cr(Br,Wn.x,Wn.y)}function Qn(Wn,Br,ra){var Wr=Br[0]-ra[0]*Wn.k,ca=Br[1]-ra[1]*Wn.k;return Wr===Wn.x&&ca===Wn.y?Wn:new cr(Wn.k,Wr,ca)}function wr(Wn){return[(+Wn[0][0]+ +Wn[1][0])/2,(+Wn[0][1]+ +Wn[1][1])/2]}function Cr(Wn,Br,ra,Wr){Wn.on("start.zoom",function(){Ar(this,arguments).event(Wr).start()}).on("interrupt.zoom end.zoom",function(){Ar(this,arguments).event(Wr).end()}).tween("zoom",function(){var ca=this,aa=arguments,Ba=Ar(ca,aa).event(Wr),pi=It.apply(ca,aa),Ai=ra==null?wr(pi):typeof ra=="function"?ra.apply(ca,aa):ra,oa=Math.max(pi[1][0]-pi[0][0],pi[1][1]-pi[0][1]),ni=ca.__zoom,ao=typeof Br=="function"?Br.apply(ca,aa):Br,Io=In(ni.invert(Ai).concat(oa/ni.k),ao.invert(Ai).concat(oa/ao.k));return function(qi){if(qi===1)qi=ao;else{var Fo=Io(qi),Yo=oa/Fo[2];qi=new cr(Yo,Ai[0]-Fo[0]*Yo,Ai[1]-Fo[1]*Yo)}Ba.zoom(null,qi)}})}function Ar(Wn,Br,ra){return!ra&&Wn.__zooming||new $n(Wn,Br)}function $n(Wn,Br){this.that=Wn,this.args=Br,this.active=0,this.sourceEvent=null,this.extent=It.apply(Wn,Br),this.taps=0}function va(Wn,...Br){if(Et.apply(this,arguments)){var ra=Ar(this,Br).event(Wn),Wr=this.__zoom,ca=Math.max(qt[0],Math.min(qt[1],Wr.k*Math.pow(2,jt.apply(this,arguments)))),aa=Gr(Wn);if(ra.wheel)ra.mouse[0][0]===aa[0]&&ra.mouse[0][1]===aa[1]||(ra.mouse[1]=Wr.invert(ra.mouse[0]=aa)),clearTimeout(ra.wheel);else{if(Wr.k===ca)return;ra.mouse=[aa,Wr.invert(aa)],xo(this),ra.start()}Rr(Wn),ra.wheel=setTimeout(Ba,150),ra.zoom("mouse",Lt(Qn(Fn(Wr,ca),ra.mouse[0],ra.mouse[1]),ra.extent,Zt))}function Ba(){ra.wheel=null,ra.end()}}function Va(Wn,...Br){if(!it&&Et.apply(this,arguments)){var ra=Wn.currentTarget,Wr=Ar(this,Br,!0).event(Wn),ca=Mr(Wn.view).on("mousemove.zoom",Ai,!0).on("mouseup.zoom",oa,!0),aa=Gr(Wn,ra),Ba=Wn.clientX,pi=Wn.clientY;li(Wn.view),kr(Wn),Wr.mouse=[aa,this.__zoom.invert(aa)],xo(this),Wr.start()}function Ai(ni){if(Rr(ni),!Wr.moved){var ao=ni.clientX-Ba,Io=ni.clientY-pi;Wr.moved=ao*ao+Io*Io>Kn}Wr.event(ni).zoom("mouse",Lt(Qn(Wr.that.__zoom,Wr.mouse[0]=Gr(ni,ra),Wr.mouse[1]),Wr.extent,Zt))}function oa(ni){ca.on("mousemove.zoom mouseup.zoom",null),di(ni.view,Wr.moved),Rr(ni),Wr.event(ni).end()}}function Za(Wn,...Br){if(Et.apply(this,arguments)){var ra=this.__zoom,Wr=Gr(Wn.changedTouches?Wn.changedTouches[0]:Wn,this),ca=ra.invert(Wr),aa=ra.k*(Wn.shiftKey?.5:2),Ba=Lt(Qn(Fn(ra,aa),Wr,ca),It.apply(this,Br),Zt);Rr(Wn),ln>0?Mr(this).transition().duration(ln).call(Cr,Ba,Wr,Wn):Mr(this).call(Vn.transform,Ba,Wr,Wn)}}function Ir(Wn,...Br){if(Et.apply(this,arguments)){var ra,Wr,ca,aa,Ba=Wn.touches,pi=Ba.length,Ai=Ar(this,Br,Wn.changedTouches.length===pi).event(Wn);for(kr(Wn),Wr=0;Wr<pi;++Wr)aa=[aa=Gr(ca=Ba[Wr],this),this.__zoom.invert(aa),ca.identifier],Ai.touch0?Ai.touch1||Ai.touch0[2]===aa[2]||(Ai.touch1=aa,Ai.taps=0):(Ai.touch0=aa,ra=!0,Ai.taps=1+!!He);He&&(He=clearTimeout(He)),ra&&(Ai.taps<2&&(et=aa[0],He=setTimeout(function(){He=null},Yn)),xo(this),Ai.start())}}function Tr(Wn,...Br){if(this.__zooming){var ra,Wr,ca,aa,Ba=Ar(this,Br).event(Wn),pi=Wn.changedTouches,Ai=pi.length;for(Rr(Wn),ra=0;ra<Ai;++ra)ca=Gr(Wr=pi[ra],this),Ba.touch0&&Ba.touch0[2]===Wr.identifier?Ba.touch0[0]=ca:Ba.touch1&&Ba.touch1[2]===Wr.identifier&&(Ba.touch1[0]=ca);if(Wr=Ba.that.__zoom,Ba.touch1){var oa=Ba.touch0[0],ni=Ba.touch0[1],ao=Ba.touch1[0],Io=Ba.touch1[1],qi=(qi=ao[0]-oa[0])*qi+(qi=ao[1]-oa[1])*qi,Fo=(Fo=Io[0]-ni[0])*Fo+(Fo=Io[1]-ni[1])*Fo;Wr=Fn(Wr,Math.sqrt(qi/Fo)),ca=[(oa[0]+ao[0])/2,(oa[1]+ao[1])/2],aa=[(ni[0]+Io[0])/2,(ni[1]+Io[1])/2]}else{if(!Ba.touch0)return;ca=Ba.touch0[0],aa=Ba.touch0[1]}Ba.zoom("touch",Lt(Qn(Wr,ca,aa),Ba.extent,Zt))}}function da(Wn,...Br){if(this.__zooming){var ra,Wr,ca=Ar(this,Br).event(Wn),aa=Wn.changedTouches,Ba=aa.length;for(kr(Wn),it&&clearTimeout(it),it=setTimeout(function(){it=null},Yn),ra=0;ra<Ba;++ra)Wr=aa[ra],ca.touch0&&ca.touch0[2]===Wr.identifier?delete ca.touch0:ca.touch1&&ca.touch1[2]===Wr.identifier&&delete ca.touch1;if(ca.touch1&&!ca.touch0&&(ca.touch0=ca.touch1,delete ca.touch1),ca.touch0)ca.touch0[1]=this.__zoom.invert(ca.touch0[0]);else if(ca.end(),ca.taps===2&&(Wr=Gr(Wr,this),Math.hypot(et[0]-Wr[0],et[1]-Wr[1])<Rn)){var pi=Mr(this).on("dblclick.zoom");pi&&pi.apply(this,arguments)}}}return Vn.transform=function(Wn,Br,ra,Wr){var ca=Wn.selection?Wn.selection():Wn;ca.property("__zoom",ta),Wn!==ca?Cr(Wn,Br,ra,Wr):ca.interrupt().each(function(){Ar(this,arguments).event(Wr).start().zoom(null,typeof Br=="function"?Br.apply(this,arguments):Br).end()})},Vn.scaleBy=function(Wn,Br,ra,Wr){Vn.scaleTo(Wn,function(){var ca=this.__zoom.k,aa=typeof Br=="function"?Br.apply(this,arguments):Br;return ca*aa},ra,Wr)},Vn.scaleTo=function(Wn,Br,ra,Wr){Vn.transform(Wn,function(){var ca=It.apply(this,arguments),aa=this.__zoom,Ba=ra==null?wr(ca):typeof ra=="function"?ra.apply(this,arguments):ra,pi=aa.invert(Ba),Ai=typeof Br=="function"?Br.apply(this,arguments):Br;return Lt(Qn(Fn(aa,Ai),Ba,pi),ca,Zt)},ra,Wr)},Vn.translateBy=function(Wn,Br,ra,Wr){Vn.transform(Wn,function(){return Lt(this.__zoom.translate(typeof Br=="function"?Br.apply(this,arguments):Br,typeof ra=="function"?ra.apply(this,arguments):ra),It.apply(this,arguments),Zt)},null,Wr)},Vn.translateTo=function(Wn,Br,ra,Wr,ca){Vn.transform(Wn,function(){var aa=It.apply(this,arguments),Ba=this.__zoom,pi=Wr==null?wr(aa):typeof Wr=="function"?Wr.apply(this,arguments):Wr;return Lt(ir.translate(pi[0],pi[1]).scale(Ba.k).translate(typeof Br=="function"?-Br.apply(this,arguments):-Br,typeof ra=="function"?-ra.apply(this,arguments):-ra),aa,Zt)},Wr,ca)},$n.prototype={event:function(Wn){return Wn&&(this.sourceEvent=Wn),this},start:function(){return++this.active==1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(Wn,Br){return this.mouse&&Wn!=="mouse"&&(this.mouse[1]=Br.invert(this.mouse[0])),this.touch0&&Wn!=="touch"&&(this.touch0[1]=Br.invert(this.touch0[0])),this.touch1&&Wn!=="touch"&&(this.touch1[1]=Br.invert(this.touch1[0])),this.that.__zoom=Br,this.emit("zoom"),this},end:function(){return--this.active==0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(Wn){var Br=Mr(this.that).datum();Cn.call(Wn,this.that,new An(Wn,{sourceEvent:this.sourceEvent,target:Vn,type:Wn,transform:this.that.__zoom,dispatch:Cn}),Br)}},Vn.wheelDelta=function(Wn){return arguments.length?(jt=typeof Wn=="function"?Wn:bn(+Wn),Vn):jt},Vn.filter=function(Wn){return arguments.length?(Et=typeof Wn=="function"?Wn:bn(!!Wn),Vn):Et},Vn.touchable=function(Wn){return arguments.length?(kt=typeof Wn=="function"?Wn:bn(!!Wn),Vn):kt},Vn.extent=function(Wn){return arguments.length?(It=typeof Wn=="function"?Wn:bn([[+Wn[0][0],+Wn[0][1]],[+Wn[1][0],+Wn[1][1]]]),Vn):It},Vn.scaleExtent=function(Wn){return arguments.length?(qt[0]=+Wn[0],qt[1]=+Wn[1],Vn):[qt[0],qt[1]]},Vn.translateExtent=function(Wn){return arguments.length?(Zt[0][0]=+Wn[0][0],Zt[1][0]=+Wn[1][0],Zt[0][1]=+Wn[0][1],Zt[1][1]=+Wn[1][1],Vn):[[Zt[0][0],Zt[0][1]],[Zt[1][0],Zt[1][1]]]},Vn.constrain=function(Wn){return arguments.length?(Lt=Wn,Vn):Lt},Vn.duration=function(Wn){return arguments.length?(ln=+Wn,Vn):ln},Vn.interpolate=function(Wn){return arguments.length?(In=Wn,Vn):In},Vn.on=function(){var Wn=Cn.on.apply(Cn,arguments);return Wn===Cn?Vn:Wn},Vn.clickDistance=function(Wn){return arguments.length?(Kn=(Wn=+Wn)*Wn,Vn):Math.sqrt(Kn)},Vn.tapDistance=function(Wn){return arguments.length?(Rn=+Wn,Vn):Rn},Vn}function Kr(){Kr=function(){return He};var He={},et=Object.prototype,it=et.hasOwnProperty,Et=typeof Symbol=="function"?Symbol:{},It=Et.iterator||"@@iterator",Lt=Et.asyncIterator||"@@asyncIterator",jt=Et.toStringTag||"@@toStringTag";function kt(Ir,Tr,da){return Object.defineProperty(Ir,Tr,{value:da,enumerable:!0,configurable:!0,writable:!0}),Ir[Tr]}try{kt({},"")}catch(Ir){kt=function(Tr,da,Wn){return Tr[da]=Wn}}function qt(Ir,Tr,da,Wn){var Br=Tr&&Tr.prototype instanceof In?Tr:In,ra=Object.create(Br.prototype),Wr=new va(Wn||[]);return ra._invoke=function(ca,aa,Ba){var pi="suspendedStart";return function(Ai,oa){if(pi==="executing")throw new Error("Generator is already running");if(pi==="completed"){if(Ai==="throw")throw oa;return Za()}for(Ba.method=Ai,Ba.arg=oa;;){var ni=Ba.delegate;if(ni){var ao=Cr(ni,Ba);if(ao){if(ao===ln)continue;return ao}}if(Ba.method==="next")Ba.sent=Ba._sent=Ba.arg;else if(Ba.method==="throw"){if(pi==="suspendedStart")throw pi="completed",Ba.arg;Ba.dispatchException(Ba.arg)}else Ba.method==="return"&&Ba.abrupt("return",Ba.arg);pi="executing";var Io=Zt(ca,aa,Ba);if(Io.type==="normal"){if(pi=Ba.done?"completed":"suspendedYield",Io.arg===ln)continue;return{value:Io.arg,done:Ba.done}}Io.type==="throw"&&(pi="completed",Ba.method="throw",Ba.arg=Io.arg)}}}(Ir,da,Wr),ra}function Zt(Ir,Tr,da){try{return{type:"normal",arg:Ir.call(Tr,da)}}catch(Wn){return{type:"throw",arg:Wn}}}He.wrap=qt;var ln={};function In(){}function Cn(){}function Yn(){}var Kn={};kt(Kn,It,function(){return this});var Rn=Object.getPrototypeOf,Vn=Rn&&Rn(Rn(Va([])));Vn&&Vn!==et&&it.call(Vn,It)&&(Kn=Vn);var Fn=Yn.prototype=In.prototype=Object.create(Kn);function Qn(Ir){["next","throw","return"].forEach(function(Tr){kt(Ir,Tr,function(da){return this._invoke(Tr,da)})})}function wr(Ir,Tr){function da(Br,ra,Wr,ca){var aa=Zt(Ir[Br],Ir,ra);if(aa.type!=="throw"){var Ba=aa.arg,pi=Ba.value;return pi&&typeof pi=="object"&&it.call(pi,"__await")?Tr.resolve(pi.__await).then(function(Ai){da("next",Ai,Wr,ca)},function(Ai){da("throw",Ai,Wr,ca)}):Tr.resolve(pi).then(function(Ai){Ba.value=Ai,Wr(Ba)},function(Ai){return da("throw",Ai,Wr,ca)})}ca(aa.arg)}var Wn;this._invoke=function(Br,ra){function Wr(){return new Tr(function(ca,aa){da(Br,ra,ca,aa)})}return Wn=Wn?Wn.then(Wr,Wr):Wr()}}function Cr(Ir,Tr){var da=Ir.iterator[Tr.method];if(da===void 0){if(Tr.delegate=null,Tr.method==="throw"){if(Ir.iterator.return&&(Tr.method="return",Tr.arg=void 0,Cr(Ir,Tr),Tr.method==="throw"))return ln;Tr.method="throw",Tr.arg=new TypeError("The iterator does not provide a 'throw' method")}return ln}var Wn=Zt(da,Ir.iterator,Tr.arg);if(Wn.type==="throw")return Tr.method="throw",Tr.arg=Wn.arg,Tr.delegate=null,ln;var Br=Wn.arg;return Br?Br.done?(Tr[Ir.resultName]=Br.value,Tr.next=Ir.nextLoc,Tr.method!=="return"&&(Tr.method="next",Tr.arg=void 0),Tr.delegate=null,ln):Br:(Tr.method="throw",Tr.arg=new TypeError("iterator result is not an object"),Tr.delegate=null,ln)}function Ar(Ir){var Tr={tryLoc:Ir[0]};1 in Ir&&(Tr.catchLoc=Ir[1]),2 in Ir&&(Tr.finallyLoc=Ir[2],Tr.afterLoc=Ir[3]),this.tryEntries.push(Tr)}function $n(Ir){var Tr=Ir.completion||{};Tr.type="normal",delete Tr.arg,Ir.completion=Tr}function va(Ir){this.tryEntries=[{tryLoc:"root"}],Ir.forEach(Ar,this),this.reset(!0)}function Va(Ir){if(Ir){var Tr=Ir[It];if(Tr)return Tr.call(Ir);if(typeof Ir.next=="function")return Ir;if(!isNaN(Ir.length)){var da=-1,Wn=function Br(){for(;++da<Ir.length;)if(it.call(Ir,da))return Br.value=Ir[da],Br.done=!1,Br;return Br.value=void 0,Br.done=!0,Br};return Wn.next=Wn}}return{next:Za}}function Za(){return{value:void 0,done:!0}}return Cn.prototype=Yn,kt(Fn,"constructor",Yn),kt(Yn,"constructor",Cn),Cn.displayName=kt(Yn,jt,"GeneratorFunction"),He.isGeneratorFunction=function(Ir){var Tr=typeof Ir=="function"&&Ir.constructor;return!!Tr&&(Tr===Cn||(Tr.displayName||Tr.name)==="GeneratorFunction")},He.mark=function(Ir){return Object.setPrototypeOf?Object.setPrototypeOf(Ir,Yn):(Ir.__proto__=Yn,kt(Ir,jt,"GeneratorFunction")),Ir.prototype=Object.create(Fn),Ir},He.awrap=function(Ir){return{__await:Ir}},Qn(wr.prototype),kt(wr.prototype,Lt,function(){return this}),He.AsyncIterator=wr,He.async=function(Ir,Tr,da,Wn,Br){Br===void 0&&(Br=Promise);var ra=new wr(qt(Ir,Tr,da,Wn),Br);return He.isGeneratorFunction(Tr)?ra:ra.next().then(function(Wr){return Wr.done?Wr.value:ra.next()})},Qn(Fn),kt(Fn,jt,"Generator"),kt(Fn,It,function(){return this}),kt(Fn,"toString",function(){return"[object Generator]"}),He.keys=function(Ir){var Tr=[];for(var da in Ir)Tr.push(da);return Tr.reverse(),function Wn(){for(;Tr.length;){var Br=Tr.pop();if(Br in Ir)return Wn.value=Br,Wn.done=!1,Wn}return Wn.done=!0,Wn}},He.values=Va,va.prototype={constructor:va,reset:function(Ir){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach($n),!Ir)for(var Tr in this)Tr.charAt(0)==="t"&&it.call(this,Tr)&&!isNaN(+Tr.slice(1))&&(this[Tr]=void 0)},stop:function(){this.done=!0;var Ir=this.tryEntries[0].completion;if(Ir.type==="throw")throw Ir.arg;return this.rval},dispatchException:function(Ir){if(this.done)throw Ir;var Tr=this;function da(aa,Ba){return ra.type="throw",ra.arg=Ir,Tr.next=aa,Ba&&(Tr.method="next",Tr.arg=void 0),!!Ba}for(var Wn=this.tryEntries.length-1;Wn>=0;--Wn){var Br=this.tryEntries[Wn],ra=Br.completion;if(Br.tryLoc==="root")return da("end");if(Br.tryLoc<=this.prev){var Wr=it.call(Br,"catchLoc"),ca=it.call(Br,"finallyLoc");if(Wr&&ca){if(this.prev<Br.catchLoc)return da(Br.catchLoc,!0);if(this.prev<Br.finallyLoc)return da(Br.finallyLoc)}else if(Wr){if(this.prev<Br.catchLoc)return da(Br.catchLoc,!0)}else{if(!ca)throw new Error("try statement without catch or finally");if(this.prev<Br.finallyLoc)return da(Br.finallyLoc)}}}},abrupt:function(Ir,Tr){for(var da=this.tryEntries.length-1;da>=0;--da){var Wn=this.tryEntries[da];if(Wn.tryLoc<=this.prev&&it.call(Wn,"finallyLoc")&&this.prev<Wn.finallyLoc){var Br=Wn;break}}Br&&(Ir==="break"||Ir==="continue")&&Br.tryLoc<=Tr&&Tr<=Br.finallyLoc&&(Br=null);var ra=Br?Br.completion:{};return ra.type=Ir,ra.arg=Tr,Br?(this.method="next",this.next=Br.finallyLoc,ln):this.complete(ra)},complete:function(Ir,Tr){if(Ir.type==="throw")throw Ir.arg;return Ir.type==="break"||Ir.type==="continue"?this.next=Ir.arg:Ir.type==="return"?(this.rval=this.arg=Ir.arg,this.method="return",this.next="end"):Ir.type==="normal"&&Tr&&(this.next=Tr),ln},finish:function(Ir){for(var Tr=this.tryEntries.length-1;Tr>=0;--Tr){var da=this.tryEntries[Tr];if(da.finallyLoc===Ir)return this.complete(da.completion,da.afterLoc),$n(da),ln}},catch:function(Ir){for(var Tr=this.tryEntries.length-1;Tr>=0;--Tr){var da=this.tryEntries[Tr];if(da.tryLoc===Ir){var Wn=da.completion;if(Wn.type==="throw"){var Br=Wn.arg;$n(da)}return Br}}throw new Error("illegal catch attempt")},delegateYield:function(Ir,Tr,da){return this.delegate={iterator:Va(Ir),resultName:Tr,nextLoc:da},this.method==="next"&&(this.arg=void 0),ln}},He}function Sa(He){return Sa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(et){return typeof et}:function(et){return et&&typeof Symbol=="function"&&et.constructor===Symbol&&et!==Symbol.prototype?"symbol":typeof et},Sa(He)}function gi(He,et,it,Et,It,Lt,jt){try{var kt=He[Lt](jt),qt=kt.value}catch(Zt){return void it(Zt)}kt.done?et(qt):Promise.resolve(qt).then(Et,It)}function Ka(He){return function(){var et=this,it=arguments;return new Promise(function(Et,It){var Lt=He.apply(et,it);function jt(qt){gi(Lt,Et,It,jt,kt,"next",qt)}function kt(qt){gi(Lt,Et,It,jt,kt,"throw",qt)}jt(void 0)})}}function vi(He,et){if(!(He instanceof et))throw new TypeError("Cannot call a class as a function")}function bi(He,et){for(var it=0;it<et.length;it++){var Et=et[it];Et.enumerable=Et.enumerable||!1,Et.configurable=!0,"value"in Et&&(Et.writable=!0),Object.defineProperty(He,Et.key,Et)}}function hi(He,et,it){return et&&bi(He.prototype,et),it&&bi(He,it),Object.defineProperty(He,"prototype",{writable:!1}),He}function ii(He,et){return function(it){if(Array.isArray(it))return it}(He)||function(it,Et){var It=it==null?null:typeof Symbol!="undefined"&&it[Symbol.iterator]||it["@@iterator"];if(It!=null){var Lt,jt,kt=[],qt=!0,Zt=!1;try{for(It=It.call(it);!(qt=(Lt=It.next()).done)&&(kt.push(Lt.value),!Et||kt.length!==Et);qt=!0);}catch(ln){Zt=!0,jt=ln}finally{try{qt||It.return==null||It.return()}finally{if(Zt)throw jt}}return kt}}(He,et)||Ni(He,et)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Ni(He,et){if(He){if(typeof He=="string")return ro(He,et);var it=Object.prototype.toString.call(He).slice(8,-1);return it==="Object"&&He.constructor&&(it=He.constructor.name),it==="Map"||it==="Set"?Array.from(He):it==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(it)?ro(He,et):void 0}}function ro(He,et){(et==null||et>He.length)&&(et=He.length);for(var it=0,Et=new Array(et);it<et;it++)Et[it]=He[it];return Et}function bo(He,et){var it=typeof Symbol!="undefined"&&He[Symbol.iterator]||He["@@iterator"];if(!it){if(Array.isArray(He)||(it=Ni(He))||et&&He&&typeof He.length=="number"){it&&(He=it);var Et=0,It=function(){};return{s:It,n:function(){return Et>=He.length?{done:!0}:{done:!1,value:He[Et++]}},e:function(qt){throw qt},f:It}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Lt,jt=!0,kt=!1;return{s:function(){it=it.call(He)},n:function(){var qt=it.next();return jt=qt.done,qt},e:function(qt){kt=!0,Lt=qt},f:function(){try{jt||it.return==null||it.return()}finally{if(kt)throw Lt}}}}function Mo(He){var et=32;switch(He){case 0:et=23;break;case 1:et=26;break;case 2:default:et=32;break;case 3:et=38}return et}function ns(He){He=He.sort();for(var et=[],it=0;it<He.length;it++)He[it]!==He[it-1]&&et.push(He[it]);return et}function ps(He,et){var it=0,Et=[],It=[];return He&&function(){var Lt,jt=(He+="").split(""),kt=0;for(kt=0;kt<jt.length;kt++)Lt=jt[kt],/(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])/.test(Lt)?new Array(10).fill(1).forEach(function(){(it===et||it===2*et||it===3*et)&&Et.push(kt),it+=1}):new Array(5).fill(1).forEach(function(){(it===et||it===2*et||it===3*et)&&Et.push(kt),it+=1});kt===He.length&&(it<et||!Et.length||it>et&&it<2*et||it>et&&it<3*et)&&Et.push(He.length);var qt=Et.length;qt===1?It.push({text:He,x:0,y:0}):qt===2?Et.forEach(function(Zt,ln){ln===0?It.push({text:He.substring(0,Zt),x:0,y:-7}):It.push({text:He.substring(Et[0],Zt),x:0,y:7})}):Et.forEach(function(Zt,ln){ln===0?It.push({text:He.substring(0,Zt),x:0,y:-12}):ln===1?It.push({text:He.substring(Et[0],Zt+1),x:0,y:4}):He.length>Zt?(()=>{var In=It.reduce((Cn,Yn)=>Cn+Yn.text.length,0);It.push({text:He.substring(In,In+2)+(He.length-(In+2)>0?"...":""),x:0,y:16})})():It.push({text:He.substring(Et[1]+1,Zt),x:0,y:16})})}(),It}cr.prototype;var Ns=["circle","rect","ellipse"],$o=["url(#radialGradient-1)","url(#radialGradient-2)","url(#radialGradient-3)"],ho=["url(#lines1)","url(#lines2)","url(#lines3)"];function _o(He,et,it){return He.selectAll(".node-circle").remove(),He.selectAll(".node-circle").data(et,function(Et){return Et.id}).enter().append(function(Et){return Ns.includes(Et.shape)?document.createElementNS("http://www.w3.org/2000/svg",Et.shape):document.createElementNS("http://www.w3.org/2000/svg","circle")}).style("display",function(Et){return Et.hide?"none":"block"}).style("opacity",function(Et){return Et.hide?"0":"1"}).attr("r",function(Et){return Et.shape=="circle"?Do(Et.size):null}).attr("rx",function(Et){return Et.shape=="ellipse"?Do(Et.size)+10:Et.shape=="rect"?10:null}).attr("ry",function(Et){return Et.shape=="ellipse"?Do(Et.size)+10:Et.shape=="rect"?10:null}).attr("width",function(Et){return Et.shape=="rect"?3*(Do(Et.size)-6):2*(Do(Et.size)-6)}).attr("height",function(Et){return Et.shape=="rect"?1.5*(Do(Et.size)-6):2*(Do(Et.size)-6)}).attr("fill",function(Et){return Et.colorType?$o[Et.colorType-1]:Et.color||"url(#radialGradient-1)"}).attr("color",function(Et){return Et.color||"#2E8B57"}).attr("class",function(Et){return"node-circle node-circle-".concat(Et.id," transition-opacity duration-500")}).attr("id",function(Et){return"node-circle".concat(Et.id)}).style("cursor","pointer").on("mouseover",function(Et,It){var Lt=It.activeColor||"#008FFF";Et.target.setAttribute("stroke",Lt),Et.target.setAttribute("stroke-width","8")}).on("mouseout",function(Et){Et.target.setAttribute("stroke-width","0")}).append("title").text(function(Et){return Et.name}),He.selectAll(".node-circle")}function Do(He){var et=32;switch(He){case 0:et=23;break;case 1:et=26;break;case 2:default:et=32;break;case 3:et=38}return et}function As(He,et){return He.selectAll("text").remove(),He.selectAll("text").data(et,function(it){return it.id}).enter().append("text").attr("dy",".35em").attr("text-anchor","middle").attr("pointer-events","none").style("fill","#fff").style("font-size","10px").style("text-anchor","middle").attr("class",function(it){return"node-text node-circle node-circle--text-".concat(it.id," node-text-").concat(it.id," transition-opacity duration-500")}).style("cursor","pointer").append("svg:title").text(function(it){return it.name}),He.selectAll("text").style("display",function(it){return it.hide?"none":"block"}),He.selectAll("text").attr("d",function(it){it.shape=="rect"?Mr(".node-circle--text-".concat(it.id)).append("tspan").style("cursor","pointer").append("tspan").text(function(Et){return Et.name}):ps(it.name,Do(it.size)).forEach(function(Et,It){Mr(".node-circle--text-".concat(it.id)).append("tspan").style("cursor","pointer").attr("class",function(Lt){return"node-circle--tspan-".concat(Lt.id,"-").concat(It)}).attr("x",Et.x).attr("y",Et.y).text(function(){return Et.text})})}),He.selectAll("text")}function Qo(He){var et=arguments.length>1&&arguments[1]!==void 0&&arguments[1],it=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],Et=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},It=Et._ops,Lt=Mr("body"),jt=[];if(et&&It.isShowBatchOperation)return it.push(He.id),Mr("".concat(It.containerName)).style("background","#5e5e5e"),it.forEach(function(In){jt.push(Lt.select("".concat(It.containerName," .node-circle-").concat(In)).attr("color"))}),Lt.selectAll("".concat(It.containerName," .node-circle")).attr("fill","#3c3b3b"),it.forEach(function(In,Cn){Lt.select("".concat(It.containerName," .node-circle-").concat(In)).attr("fill",jt[Cn])}),void Mr(".graph-bath").style("display","block");if(It.isShowMask){var kt=[],qt=[];It.links.map(function(In){In.source.id==He.id&&(kt.push(In.target.id),qt.push(In.source.id+In.target.id)),In.target.id==He.id&&(kt.push(In.source.id),qt.push(In.source.id+In.target.id))});var Zt=ns(kt),ln=ns(qt);Zt.push(He.id),Lt.selectAll("".concat(It.containerName," .line-item")).style("display","none"),Mr("".concat(It.containerName)).style("background","#5e5e5e"),Zt.forEach(function(In){jt.push(Lt.select("".concat(It.containerName," .node-circle-").concat(In)).attr("color"))}),Lt.selectAll("".concat(It.containerName," .node-circle")).attr("fill","#3c3b3b"),Zt.forEach(function(In,Cn){Lt.select("".concat(It.containerName," .node-circle-").concat(In)).attr("fill",jt[Cn])}),ln.forEach(function(In){Lt.selectAll("".concat(It.containerName," .line-item-").concat(In)).style("display",function(Cn){return Cn.hide?"none":"block"})})}}var Fa=[],Zs={addPath:function(He){He.forEach(function(et){var it=Fa.indexOf(et);it!=-1&&Fa.splice(it,1),Fa.unshift(et)})},getPath:function(){return Fa},clearPath:function(){Fa.length=0}};function Rs(He,et,it,Et){return Ft.apply(this,arguments)}function Ft(){return Ft=Ka(Kr().mark(function He(et,it,Et,It){var Lt;return Kr().wrap(function(jt){for(;;)switch(jt.prev=jt.next){case 0:return Lt=Et._ops,jt.delegateYield(Kr().mark(function kt(){var qt,Zt,ln,In,Cn,Yn,Kn,Rn,Vn,Fn,Qn,wr,Cr,Ar,$n,va,Va,Za,Ir,Tr,da,Wn,Br,ra,Wr,ca,aa,Ba,pi,Ai;return Kr().wrap(function(oa){for(;;)switch(oa.prev=oa.next){case 0:oa.t0=et,oa.next=oa.t0==="remove"?3:oa.t0==="hide"?19:oa.t0==="contraction"?22:oa.t0==="extend"?42:oa.t0==="editSize"?62:oa.t0==="editColor"?71:oa.t0==="editShape"?79:oa.t0==="extend-path"?87:oa.t0==="contraction-path"?96:100;break;case 3:qt=0;case 4:if(!(qt<it.length)){oa.next=17;break}Zt=0;case 6:if(!(Zt<Lt.nodes.length)){oa.next=13;break}if(Lt.nodes[Zt].id!=it[qt]){oa.next=10;break}return Lt.nodes.splice(Zt,1),oa.abrupt("break",13);case 10:Zt++,oa.next=6;break;case 13:for(ln=0;ln<Lt.links.length;ln++)Lt.links[ln].source.id!=it[qt]&&Lt.links[ln].target.id!=it[qt]||(Lt.links.splice(ln,1),ln--);case 14:qt++,oa.next=4;break;case 17:return Et.update(),oa.abrupt("break",100);case 19:for(In=0;In<it.length;In++){for(Cn=0;Cn<Lt.nodes.length;Cn++)Lt.nodes[Cn].id==it[In]&&(Lt.nodes[Cn].hide=!0);for(Yn=0;Yn<Lt.links.length;Yn++)Lt.links[Yn].source.id!=it[In]&&Lt.links[Yn].target.id!=it[In]||(Lt.links[Yn].hide=!0)}return Et.update(),oa.abrupt("break",100);case 22:for(Kn=[],Rn=function(ni){Lt.links.map(function(ao){if(ao.source.id==it[ni]){ao.hide=!0;for(var Io=!1,qi=0;qi<Lt.links.length;qi++)(Lt.links[qi].source.id==ao.target.id||Lt.links[qi].target.id==ao.target.id&&Lt.links[qi].source.id!=it[ni])&&(Io=!0);Io||Kn.push(ao.target.id)}})},Vn=0;Vn<it.length;Vn++)Rn(Vn);Fn=0;case 26:if(!(Fn<Lt.nodes.length)){oa.next=40;break}Qn=0;case 28:if(!(Qn<Kn.length)){oa.next=37;break}if(Lt.nodes[Fn].id!=Kn[Qn]){oa.next=34;break}return Lt.nodes[Fn].hide=!0,Kn.splice(Qn,1),Qn--,oa.abrupt("break",37);case 34:Qn++,oa.next=28;break;case 37:Fn++,oa.next=26;break;case 40:return Et.update(),oa.abrupt("break",100);case 42:for(wr=[],Cr=function(ni){Lt.links.map(function(ao){ao.source.id==it[ni]&&(ao.hide=!1,wr.push(ao.target.id))})},Ar=0;Ar<it.length;Ar++)Cr(Ar);$n=0;case 46:if(!($n<Lt.nodes.length)){oa.next=60;break}va=0;case 48:if(!(va<wr.length)){oa.next=57;break}if(Lt.nodes[$n].id!=wr[va]){oa.next=54;break}return Lt.nodes[$n].hide=!1,wr.splice(va,1),va--,oa.abrupt("break",57);case 54:va++,oa.next=48;break;case 57:$n++,oa.next=46;break;case 60:return Et.update(),oa.abrupt("break",100);case 62:if(Va=0,!It){oa.next=70;break}return oa.next=66,It();case 66:for((Va=oa.sent)<=24&&(Va=24),Za=0;Za<it.length;Za++)for(Ir=0;Ir<Lt.nodes.length;Ir++)Lt.nodes[Ir].id==it[Za]&&(Lt.nodes[Ir].size=Va);Et.update();case 70:return oa.abrupt("break",100);case 71:if(Tr=0,!It){oa.next=78;break}return oa.next=75,It();case 75:for(Tr=oa.sent,da=0;da<it.length;da++)for(Wn=0;Wn<Lt.nodes.length;Wn++)Lt.nodes[Wn].id==it[da]&&(Lt.nodes[Wn].color=Tr);Et.update();case 78:return oa.abrupt("break",100);case 79:if(Br="circle",!It){oa.next=86;break}return oa.next=83,It();case 83:for(Br=oa.sent,ra=0;ra<it.length;ra++)for(Wr=0;Wr<Lt.nodes.length;Wr++)Lt.nodes[Wr].id==it[ra]&&(Lt.nodes[Wr].shape=Br);Et.update();case 86:return oa.abrupt("break",100);case 87:return ca=it[0],aa=Zs.getPath(),(Ba=aa.length>1?aa[1]:null)&&un.contractionPath(Ba,aa,Et),un.extendPath(ca,Et),un.previousStep.id=ca,un.previousStep.operate="extend",Et.update(),oa.abrupt("break",100);case 96:return pi=it[0],(Ai=Zs.getPath()).indexOf(pi)!=-1&&(un.contractionPath(pi,Ai,Et),un.previousStep.operate=="extend"&&un.previousStep.id!=pi?(un.extendPath(un.previousStep.id,Et),un.previousStep.operate="extend"):(un.previousStep.id=pi,un.previousStep.operate="contraction"),Et.update()),oa.abrupt("break",100);case 100:case"end":return oa.stop()}},kt)})(),"t0",2);case 2:Mr(Lt.containerName).style("background",Lt.background);case 3:case"end":return jt.stop()}},He)})),Ft.apply(this,arguments)}var Ut,un={extendPath:function(He,et){for(var it=et._ops,Et=it.nodes,It=it.links,Lt=[],jt=[],kt=0;kt<It.length;kt++)It[kt].source.id==He&&It[kt].target.id!=He&&(it.links[kt].hide=!1,Lt.push(It[kt].target.id)),It[kt].source.id!=He&&It[kt].target.id==He&&(it.links[kt].hide=!1,Lt.push(It[kt].source.id));if(Lt.length){for(var qt=0;qt<Et.length;qt++)for(var Zt=0;Zt<Lt.length;Zt++)if(Et[qt].id==Lt[Zt]){it.nodes[qt].hide=!1,Lt.splice(Zt,1),Zt--;break}if(Et.map(function(Yn){Yn.hide&&jt.push(Yn.id)}),jt.length>0)for(var ln=0;ln<It.length;ln++)for(var In=0;In<jt.length;In++)It[ln].source.id!=jt[In]&&It[ln].target.id!=jt[In]||(It[ln].hide=!0),jt.includes(It[ln].source.id)||jt.includes(It[ln].target.id)||(It[ln].hide=!1);else for(var Cn=0;Cn<It.length;Cn++)It[Cn].hide=!1}},contractionPath:function(He,et,it){for(var Et=it._ops,It=Et.nodes,Lt=Et.links,jt=[],kt=[],qt=!1,Zt=0;Zt<It.length;Zt++)if(It[Zt].id==He){qt=!!It[Zt].isExtendedState;break}if(qt&&(Lt.forEach(function(Kn,Rn){Kn.source.id==He&&un.filterEvery(et,Kn.target.id)&&(Et.links[Rn].hide=!0,jt.push(Kn.target.id)),Kn.target.id==He&&un.filterEvery(et,Kn.source.id)&&(Et.links[Rn].hide=!0,jt.push(Kn.source.id))}),jt.length)){for(var ln=0;ln<It.length;ln++)for(var In=0;In<jt.length;In++)if(It[ln].id==jt[In]){Et.nodes[ln].hide=!0,kt.push(Et.nodes[ln].id),jt.splice(In,1),In--;break}for(var Cn=0;Cn<Lt.length;Cn++)for(var Yn=0;Yn<kt.length;Yn++)Lt[Cn].source.id!=kt[Yn]&&Lt[Cn].target.id!=kt[Yn]||(Lt[Cn].hide=!0)}},filterEvery:function(He,et){return He.every(function(it){return it!=et})},previousStep:{id:"0",operate:"undefined"}};function Sn(He,et,it){var Et=He.selectAll(".line-item");return(Et=Et.data(et,function(It){return"".concat(It.source.id,"_").concat(It.target.id)})).exit().remove(),(Et=Et.enter().append("g")).append("path").style("fill",function(It){return It.colorType?ho[It.colorType-1]:It.color||"url(#lines1)"}).attr("stroke-width",function(It){return Math.sqrt(It.value)}).attr("stroke","none").style("cursor","pointer").attr("class",function(It,Lt){return"line-item-inner line-item-inner-".concat(Lt)}).on("click",function(It,Lt){it._ops.linkClick(Lt)}).on("mouseover",function(It,Lt){_n(He,Lt,"in",it)}).on("mouseout",function(It,Lt){_n(He,Lt,"out",it)}),Et.attr("class",function(It){return"line-item line-item-".concat(It.source.id).concat(It.target.id)}).append("text").attr("class",function(It,Lt){return"line-text-item line-text-item-".concat(Lt)}).attr("stroke","none").style("pointer-events","none").style("text-anchor","middle").style("fill","rgba(184, 191, 204, 1)").style("font-size","10px"),He.selectAll(".line-item").style("display",function(It){return It.hide?"none":"block"}).style("opacity",function(It){return It.hide?"0":"1"}).attr("class",function(It,Lt){return"line-item line-item-".concat(It.source.id).concat(It.target.id," line-item-index-").concat(Lt," transition-opacity duration-500")}),[He.selectAll(".line-item"),He.selectAll(".line-item-inner"),He.selectAll(".line-text-item")]}function _n(He,et,it,Et){it==="in"?(He.select(".line-item-inner-".concat(et.index)).style("fill",function(It){return It.colorType?ho[It.colorType-1]:It.color||ho[0]}),He.select(".line-item-inner-".concat(et.index)).attr("stroke-width","3"),He.select(".line-item-inner-".concat(et.index)).attr("stroke",function(It){return It.colorType?ho[It.colorType-1]:It.color||ho[0]}),He.select(".line-text-item-".concat(et.index)).style("fill","rgba(184, 191, 204, 1)"),He.select(".line-text-item-".concat(et.index)).style("font-size","14px")):(He.select(".line-item-inner-".concat(et.index)).style("fill",function(It){return It.colorType?ho[It.colorType-1]:It.color||ho[0]}),He.select(".line-item-inner-".concat(et.index)).attr("stroke-width",Math.sqrt(et.value)),He.select(".line-item-inner-".concat(et.index)).attr("stroke","none"),He.select(".line-text-item-".concat(et.index)).style("fill","rgba(184, 191, 204, 1)"),He.select(".line-text-item-".concat(et.index)).style("font-size","10px"))}function Un(He){var et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Ut=He,et._linkContainer.selectAll(".connect-item")._groups[0].length||et._linkContainer.append("g").attr("class","connect-item").append("path").attr("stroke-width",2).attr("stroke","#5e5ef0").attr("class","connect-item-inner"),Mr("".concat(et._ops.containerName)).on("mousemove",function(it){gr(it,et)})}function gr(He,et){var it,Et,It,Lt=(it=et._linkContainer._groups[0][0].parentNode.attributes.transform,{translate:(It=(Et=it)&&/translate/.test(Et.value)&&/scale/.test(Et.value)&&Et.value.match(/translate\(([^\)]+)\)\s?scale\(([^\)]+)/))&&It[1].split(",")||[0,0],scale:It&&It[2]||1}),jt=Lt.translate,kt=Lt.scale;et._linkContainer.selectAll(".connect-item-inner").attr("d",function(){return"M".concat(Ut.x,", ").concat(Ut.y," L").concat(He.offsetX/kt-jt[0]/kt,", ").concat(He.offsetY/kt-jt[1]/kt)})}function ur(He){return Array.isArray(He[0])?{message:"success",done:function(et){for(var it=0;it<He.length;it++){var Et={hide:!1,label:He[it][2]?He[it][2].name:"",source:He[it][0][et._ops.benchmark],target:He[it][1][et._ops.benchmark],props:He[it][3]?He[it][3].name:[],sourceRadius:32,targetRadius:32,value:1,sh:1,relation:1};et._ops.links.push(Et)}dr(et),et.update()}}:{message:"error",done:dr}}function dr(He){Mr("".concat(He._ops.containerName)).on("mousemove",null),He._linkContainer.selectAll(".connect-item-inner").attr("d",null)}function Lr(He){var et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"order",it=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,Et=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,It=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,Lt=!0;return Et==1&&He.length%2==0&&(Lt=!1),He.map(function(jt,kt){jt._level=Et,jt._value=Et==1?kt+1:kt+1+(it-1)*He.length,jt._parent=Et==2?1:It,jt._site=Et!=1||Lt?et:kt<He.length/2?"right":"left",jt.children&&jt.children.length&&Lr(jt.children,jt._site,jt._value,Et+1,He.length)}),He}var Pr,Dr,$r,Jr=!1,Er=[],pa=!1,ha=[],ka=["arc-item","pie-item","pie-icon","operation-item","node-circle"],Pa=function(){function He(et){var it=this;vi(this,He),this._example=et,this._operationContainer=et.operationContainer,this._operationContainer.addElement(this.initPie,this),this.containerSize=0,Mr(this._example._ops.containerName).on("click",function(Et){if(!(Et.target.classList&&Et.target.classList[0]&&ka.includes(Et.target.classList[0]))&&it._example._ops.isCustomClick){var It=it;Pr=null,Ra(it._operationContainer),Mr(It._example._ops.containerName).selectAll(".node-circle").attr("fill",function(Lt){return Lt.colorType?$o[Lt.colorType-1]:Lt.color||"url(#radialGradient-1)"}),Mr(It._example._ops.containerName).selectAll(".line-item").style("display",function(Lt){return Lt.hide?"none":"block"}),Mr(it._example._ops.containerName).style("background",it._example._ops.background),Mr(".graph-bath").style("display","none"),Er=[]}}),document.addEventListener("keyup",function(Et){Et.keyCode==27&&pa&&(Mr("".concat(it._example._ops.containerName)).on("mousemove",null),Mr(".graph-container").on("mousemove",null),it._example._linkContainer.selectAll(".connect-item-inner").attr("d",null),ha.length=0)})}return hi(He,[{key:"initPie",value:function(et,it){it._toolbarData=Lr(it._example._ops.toolbarData),it._symbolIcon=et.append("g").attr("class","icons")}},{key:"showPie",value:function(et,it){if(et){var Et=this._example._ops;if(this.containerSize=function(Lt){var jt=32;switch(Lt){case 1:jt=26;break;case 2:default:jt=32;break;case 3:jt=38}return jt}(et.size)+8,pa)(function(Lt,jt){ui.apply(this,arguments)})(et,this._example);else if(Qo(et,it.shiftKey,Er,this._example),this._toolbarData.length&&(Ra(this._operationContainer),!it.shiftKey&&!Er.length))if(Pr!=it.target.id){Pr=it.target.id,this._operationContainer.attr("transform",function(){return"translate("+et.x+" "+et.y+")"}).attr("data-node",JSON.stringify(et)).style("display","block");var It={code:"root",name:"\u6839",_level:0,_parent:1,_value:1,children:this._toolbarData};Jr=!0,Dr=et,this._operationContainer.selectAll(".operation-item-root")._groups[0].length?this.drawPie("".concat(Et.containerName," .operation-item-root"),It):this.createArc(It)}else Pr=null}else Ra(this._operationContainer)}},{key:"createArc",value:function(et){var it=this._example._ops,Et=this,It=this._operationContainer.selectAll("".concat(it.containerName," .operation-item-").concat(et.code)).data(et.children).enter().append("a").style("color",it.arcColor).attr("class","operation-item-".concat(et.code," arc-item"));this._symbolIcon.selectAll(".icons-symbol").data(et.children).enter().append("symbol").attr("class",function(Lt,jt){return"icons-symbol-".concat(Lt.code).concat(jt)}).attr("id",function(Lt,jt){return"icons-symbol-".concat(Lt.code).concat(jt)}).append("path").attr("class","icon").attr("d",function(Lt){return Lt.icon}),It.append("path").attr("fill",it.pieFill).attr("class","pie-item").on("mouseover",function(Lt){Lt.target.setAttribute("fill",it.activePieFill)}).on("mouseout",function(Lt){Lt.target.setAttribute("fill",it.pieFill)}).on("click",function(Lt,jt){if(!jt.click&&jt.children&&jt.code&&(Et._operationContainer.selectAll("".concat(it.containerName," .operation-item-").concat(jt.code))._groups[0].length?Et.drawPie("".concat(it.containerName," .operation-item-").concat(jt.code),jt):Et.createArc(jt)),jt.click){if(!(jt.click({verify:!0})instanceof Promise))throw Ra(Et._operationContainer),new Error("the click function does not return a promise");$r=jt,function(kt,qt,Zt){wi.apply(this,arguments)}(jt,Dr,Et)}}).append("title").text(function(Lt){return Lt.name}),It.append("svg").attr("class","pie-icon").style("display","none").attr("width",18).attr("height",18).attr("viewBox","0 0 1024 1024").append("use").attr("xlink:href",function(Lt,jt){return"#icons-symbol-".concat(Lt.code).concat(jt)}).style("pointer-events","none"),this.drawPie("".concat(it.containerName," .operation-item-").concat(et.code),et)}},{key:"drawPie",value:function(et,it){var Et=this;if(!this._operationContainer.selectAll("".concat(et," .pie-item")).attr("d")){var It=document.querySelectorAll("".concat(et," .pie-icon"));this._operationContainer.selectAll(".arc-item").style("color",Et._example._ops.arcColor),this._operationContainer.selectAll("".concat(et," .pie-item")).attr("fill",Et._example._ops.pieFill).transition().duration(500).attrTween("d",function(Lt,jt){var kt=function(Zt,ln,In){var Cn=[];if(ln._site=="order"){var Yn=Zt._num||1,Kn=zt()(new Array(Zt.children.length*Yn).fill(1));return ln._num=Kn.length,Cn=Mi(Kn,Kn.length/Zt._num)[Zt._value-1],Zt._level==0&&(Cn=Kn),Cn}var Rn,Vn=0,Fn=[];Zt._level==0?(Vn=Zt.children.length,Rn=zt()(new Array(Vn).fill(1)).map(function(wr,Cr){if(Cr>=Vn/2){var Ar=wr.startAngle;wr.startAngle=wr.endAngle,wr.endAngle=Ar}return wr})):(Vn=Zt._level==1?Zt.children.length*In._toolbarData.length:Zt.children.length*Zt._num,Rn=zt()(new Array(Vn).fill(1)).map(function(wr){if(Zt._site=="left"){var Cr=wr.startAngle;wr.startAngle=wr.endAngle,wr.endAngle=Cr}return wr})),ln._num=Rn.length;var Qn=Zt._value;return ln._site=="left"?(Fn=Rn.slice(Rn.length/2,Rn.length),Qn=Zt._value-Zt._num/2):Fn=Rn.slice(0,Rn.length/2),Cn=Mi(Fn,Fn.length/(Zt._num/2))[Qn-1],Zt._level==0&&(Cn=Rn),Cn}(it,Lt,Et),qt=Ao(kt[jt].startAngle,kt[jt].endAngle);return function(Zt){return Jr?function(ln,In,Cn,Yn,Kn,Rn,Vn,Fn){var Qn=Ci(Cn[Vn].startAngle,In(ln),Kn._level+1,Kn._level+2,Fn),wr=Qn.centroid(Cn[Vn]);return Yn[Vn].setAttribute("x",wr[0]-6),Yn[Vn].setAttribute("y",wr[1]-6),Fn._operationContainer.selectAll("".concat(Rn," .pie-icon")).transition().delay(150).styleTween("display",function(){return ji("none",Jr?"block":"none")}),Qn()}(Zt,qt,kt,It,it,et,jt,Et):""}})}}}]),He}();function Ra(He){He.selectAll(".arc-item .pie-item").interrupt().attr("d",null),He.selectAll(".arc-item .pie-icon").interrupt().style("display","none"),He.style("display","none"),He.selectAll(".operation-item").attr("transform",function(){return"rotate(0)"}),Jr=!1}var Ci=function(He,et){var it=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,Et=arguments.length>3&&arguments[3]!==void 0?arguments[3]:2,It=arguments.length>4?arguments[4]:void 0;return iu().innerRadius(it*It.containerSize+2).outerRadius(Et*It.containerSize).padAngle(.02).startAngle(He).endAngle(et)};function wi(){return wi=Ka(Kr().mark(function He(et,it,Et){var It,Lt,jt;return Kr().wrap(function(kt){for(;;)switch(kt.prev=kt.next){case 0:kt.t0=et.type,kt.next=kt.t0==="connect"?3:kt.t0==="unlocked"?8:33;break;case 3:return ha.length=0,pa=!0,ha.push(it),Un(it,Et._example),kt.abrupt("break",36);case 8:Lt=bo(Et._example._ops.nodes),kt.prev=9,Lt.s();case 11:if((jt=Lt.n()).done){kt.next=19;break}if((It=jt.value).id!=it.id){kt.next=17;break}return It.fx=null,It.fy=null,kt.abrupt("break",19);case 17:kt.next=11;break;case 19:kt.next=24;break;case 21:kt.prev=21,kt.t1=kt.catch(9),Lt.e(kt.t1);case 24:return kt.prev=24,Lt.f(),kt.finish(24);case 27:return Et._example._simulation._simulation.nodes(Et._example._ops.nodes),Et._example._simulation._simulation.alphaTarget(.08).restart(),setTimeout(function(){Et._example._simulation._simulation.alphaTarget(0)},300),kt.next=32,et.click(it);case 32:return kt.abrupt("break",36);case 33:return kt.next=35,et.click({node:it});case 35:Rs(et.type,[it.id],Et._example);case 36:Pr=null,Ra(Et._operationContainer);case 38:case"end":return kt.stop()}},He,null,[[9,21,24,27]])})),wi.apply(this,arguments)}function ui(){return(ui=Ka(Kr().mark(function He(et,it){var Et,It,Lt;return Kr().wrap(function(jt){for(;;)switch(jt.prev=jt.next){case 0:return Mr(".graph-container").on("mousemove",null),pa=!1,ha.push(et),It={node:et,connects:(Et=[]).concat.apply(Et,ha)},jt.next=6,$r.click(It);case 6:Lt=jt.sent,ur(Lt||[ha.splice(0)]).done(it),Qo(It.connects[0],!1,[],it),ha.length=0;case 11:case"end":return jt.stop()}},He)}))).apply(this,arguments)}function Mi(He,et){for(var it=[],Et=0;Et<He.length;)it.push(He.slice(Et,Et+=et));return it}function Fi(He,et,it,Et){var It=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,Lt=arguments.length>5&&arguments[5]!==void 0?arguments[5]:7,jt=arguments.length>6&&arguments[6]!==void 0?arguments[6]:7;this.deflection=Et;var kt=function(aa){return aa*aa},qt=this.deflection*Math.PI/180,Zt={x:Math.cos(qt)*He,y:Math.sin(qt)*He},ln=He/(et+jt),In=-it*ln/(1-ln),Cn=function(aa,Ba,pi,Ai){var oa=aa.y/(aa.x-In),ni=aa.y-oa*aa.x,ao=1+kt(oa),Io=2*(oa*ni-pi),qi=kt(ni)+kt(pi)-kt(Ba),Fo={x:(-Io+Ai*Math.sqrt(kt(Io)-4*ao*qi))/(2*ao)};return Fo.y=(Fo.x-In)*oa,Fo},Yn=Cn(Zt,et+jt,it,-1),Kn=-Zt.x/Zt.y,Rn=Zt.y+kt(Zt.x)/Zt.y,Vn=-(Yn.x-it)/Yn.y,Fn=Yn.y+(Yn.x-it)*Yn.x/Yn.y,Qn=(Rn-Fn)/(Vn-Kn),wr=Kn*Qn+Rn,Cr=Math.sqrt(kt(Qn-Zt.x)+kt(wr-Zt.y)),Ar=Math.atan2(Zt.x-Qn,wr-Zt.y),$n=Math.atan2(Yn.x-Qn,wr-Yn.y),va=(Ar+$n)/2;this.deflection>0&&(va+=Math.PI);var Va=$n-Ar;this.deflection>0&&(Va=2*Math.PI-Va),this.shaftLength=Va*Cr,Ar>$n&&(this.shaftLength=0),this.midShaftPoint={x:Qn+Cr*Math.sin(va),y:wr-Cr*Math.cos(va)};var Za=function(aa){var Ba=(aa<0?1:-1)*Math.sqrt(kt(aa)/(1+kt(Kn))),pi=Kn*Ba;return{x:Zt.x+Ba,y:Zt.y+pi}},Ir=function(aa){var Ba=(aa<0?-1:1)*Math.sqrt(kt(aa)/(1+kt(Vn))),pi=Vn*Ba;return{x:Yn.x+Ba,y:Yn.y+pi}},Tr=function(aa,Ba){return{x:Qn+(Cr+Ba)*Math.sin(aa),y:wr-(Cr+Ba)*Math.cos(aa)}},da=function(aa){var Ba=(aa<0?-1:1)*Math.sqrt(kt(aa)/(1+kt(1/Vn))),pi=Ba/Vn;return{x:Yn.x+Ba,y:Yn.y-pi}},Wn=function(aa){return aa.x+","+aa.y},Br=It/2,ra=Lt/2,Wr=Zt.y>0?0:1,ca=Zt.y<0?0:1;this.outline=function(){if(Ar>$n)return["M",Wn(Ir(-ra)),"L",Wn(da(jt)),"L",Wn(Ir(ra)),"Z"].join(" ");var aa=va-0,Ba=va+0;return["M",Wn(Za(Br)),"L",Wn(Za(-Br)),"A",Cr-Br,Cr-Br,0,0,Wr,Wn(Tr(aa,-Br)),"L",Wn(Tr(aa,Br)),"A",Cr+Br,Cr+Br,0,0,ca,Wn(Za(Br)),"Z","M",Wn(Tr(Ba,Br)),"L",Wn(Tr(Ba,-Br)),"A",Cr-Br,Cr-Br,0,0,Wr,Wn(Ir(-Br)),"L",Wn(Ir(-ra)),"L",Wn(da(jt)),"L",Wn(Ir(ra)),"L",Wn(Ir(Br)),"A",Cr+Br,Cr+Br,0,0,ca,Wn(Tr(Ba,Br))].join(" ")}}function ei(He,et,it){var Et=arguments.length>3&&arguments[3]!==void 0?arguments[3]:8,It=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,Lt=arguments.length>5&&arguments[5]!==void 0?arguments[5]:7,jt=arguments.length>6&&arguments[6]!==void 0?arguments[6]:7,kt=it*Math.PI/180,qt=He,Zt=He+jt,ln=He+et,In=ln*Math.tan(kt/2),Cn=It/2;function Yn(Qn,wr){return Qn+","+wr}this.shaftLength=3*In+It;var Kn=function(Qn,wr,Cr){var Ar=wr*Math.tan(kt/2),$n=wr/Math.cos(kt/2);return Yn((Ar+Cr)*Math.sin(Qn),$n+(Ar+Cr)*Math.cos(Qn))},Rn=function(){var Qn=Kn(0,ln,Cn+Et/2+2).split(",");return{x:Qn[0],y:Qn[1]}};this.midShaftPoint=Rn();var Vn=function(Qn,wr){return Kn((Math.PI+kt)/2,Qn,wr)},Fn=function(Qn,wr){return Kn(-(Math.PI+kt)/2,Qn,wr)};this.outline=function(){var Qn=In-Cn,wr=In+Cn;return["M",Vn(qt,Cn),"L",Vn(ln,Cn),"A",wr,wr,0,1,1,Fn(ln,Cn),"L",Fn(Zt,Cn),"L",Fn(Zt,-Lt/2),"L",Fn(qt,0),"L",Fn(Zt,Lt/2),"L",Fn(Zt,-Cn),"L",Fn(ln,-Cn),"A",Qn,Qn,0,1,0,Vn(ln,-Cn),"L",Vn(qt,-Cn),"Z"].join(" ")}}function Ei(He,et,it){var Et=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,It=arguments.length>4&&arguments[4]!==void 0?arguments[4]:7,Lt=arguments.length>5&&arguments[5]!==void 0?arguments[5]:7;this.length=it-(He+et),this.shaftLength=this.length-Lt;var jt=He,kt=jt+this.shaftLength,qt=jt+this.length,Zt=Et/2,ln=It/2;this.midShaftPoint={x:jt+this.shaftLength/2,y:0},this.outline=function(){var In=0,Cn=0;return["M",jt,Zt,"L",In,Zt,"L",In,-Zt,"L",jt,-Zt,"Z","M",Cn,Zt,"L",kt,Zt,"L",kt,ln,"L",qt,0,"L",kt,-ln,"L",kt,-Zt,"L",Cn,-Zt,"Z"].join(" ")}}function ti(){}var Wa=new ti;function ba(He,et){this.relationships=[],He.id<et.id?(this.nodeA=He,this.nodeB=et):(this.nodeA=et,this.nodeB=He)}ti.prototype.computeGeometryForNonLoopArrows=function(He){for(var et,it=function(Cn){return Cn*Cn},Et=0,It=Array.from(He);Et<It.length;Et++)for(var Lt=(et=It[Et]).nodeA.x-et.nodeB.x,jt=et.nodeA.y-et.nodeB.y,kt=(Math.atan2(jt,Lt)/Math.PI*180+360)%360,qt=Math.sqrt(it(Lt)+it(jt)),Zt=void 0,ln=0,In=Array.from(et.relationships);ln<In.length;ln++)(Zt=In[ln]).naturalAngle=Zt.target.id===et.nodeA.id?(kt+180)%360:kt,Zt.centreDistance=qt},ti.prototype.shortenCaption=function(He,et){for(var it=He,Et=12*it.length;;){if(et>Et)return it;var It=Math.ceil((Et-et)/12);return it.length-It<=0?"":it.substr(0,it.length-It)+"\u2026"}},ti.prototype.distributeAnglesForLoopArrows=function(He,et){for(var it,Et=0,It=Array.from(He);Et<It.length;Et++)if((it=It[Et]).isLoop()){for(var Lt=void 0,jt=void 0,kt=[],qt=it.nodeA,Zt=void 0,ln=0,In=Array.from(et);ln<In.length;ln++)(Zt=In[ln]).isLoop||(Zt.source.id===qt.id&&kt.push(Zt.naturalAngle),Zt.target.id===qt.id&&kt.push(Zt.naturalAngle+180));if(kt=kt.map(function(Rn){return(Rn+360)%360}).sort(function(Rn,Vn){return Rn-Vn}),kt.length>0){var Cn=void 0,Yn=void 0,Kn={start:0,end:0};for(Lt=0;Lt<kt.length;Lt++)Yn=kt[Lt],(Cn=Lt===kt.length-1?kt[0]+360:kt[Lt+1])-Yn>Kn.end-Kn.start&&(Kn.start=Yn,Kn.end=Cn);for(jt=(Kn.end-Kn.start)/(it.relationships.length+1),Lt=0;Lt<it.relationships.length;Lt++)(Zt=it.relationships[Lt]).naturalAngle=(Kn.start+(Lt+1)*jt-90)%360}else for(jt=360/it.relationships.length,Lt=0;Lt<it.relationships.length;Lt++)(Zt=it.relationships[Lt]).naturalAngle=Lt*jt}},ti.prototype.layoutRelationships=function(He){var et,it,Et=function(Yn){for(var Kn,Rn={},Vn=0,Fn=Array.from(Yn);Vn<Fn.length;Vn++){var Qn=new ba((Kn=Fn[Vn]).source,Kn.target);(Qn=Rn[Qn]!=null?Rn[Qn]:Qn).relationships.push(Kn),Rn[Qn]=Qn}return function(){var wr=[];for(var Cr in Rn){var Ar=Rn[Cr];wr.push(Ar)}return wr}()}(He);this.computeGeometryForNonLoopArrows(Et),this.distributeAnglesForLoopArrows(Et,He);for(var It=0,Lt=Array.from(Et);It<Lt.length;It++){it=Lt[It];for(var jt=0,kt=Array.from(it.relationships);jt<kt.length;jt++)delete(et=kt[jt]).arrow;for(var qt=(it.relationships.length-1)/2,Zt=it.relationships.length-1,ln=30*Zt>150?150/Zt:30,In=0;In<it.relationships.length;In++){if(et=it.relationships[In],it.isLoop())et.arrow=new ei(et.sourceRadius,40,30);else if(In===qt)et.arrow=new Ei(et.sourceRadius,et.targetRadius,et.centreDistance);else{var Cn=ln*(In-qt);it.nodeA.id!==et.source.id&&(Cn*=-1),et.arrow=new Fi(et.sourceRadius,et.targetRadius,et.centreDistance,Cn)}et.shortCaption=this.shortenCaption(et.label,et.arrow.shaftLength)}}},ti.prototype.layoutNodes=function(He){var et=He.width,it=He.height,Et=He.layout,It=He.nodes;(function(){var Lt=99999999,jt=-99999999,kt=99999999,qt=-99999999,Zt=-9999999;It.forEach(function(Cn){Lt>Cn.x&&(Lt=Cn.x),jt<Cn.x&&(jt=Cn.x),kt>Cn.y&&(kt=Cn.y),qt<Cn.y&&(qt=Cn.y),Zt<Cn.size&&(Zt=12)});var ln=(et-Et.x-Zt)/(jt-Lt),In=(it-Et.y-Zt)/(qt-kt);It.forEach(function(Cn){Cn.x=(Cn.x-Lt)*ln+Et.x/2,Cn.y=(Cn.y-kt)*In+Et.y/2})})()},ba.prototype.toString=function(){return this.nodeA.id+""+this.nodeB.id},ba.prototype.isLoop=function(){return this.nodeA.id===this.nodeB.id};var Ii=function(){function He(et){vi(this,He);var it=et.operationContainer,Et=et._ops,It=Et.width,Lt=Et.height,jt=Et.layout;this._root=et._ops,this._rootComponent=it,this.init(It,Lt,jt)}return hi(He,[{key:"init",value:function(et,it,Et){console.log(et,"width");var It=Et.simulation?Et.simulation:.01;this._simulation=Nh([]).force("center",function(Lt,jt){var kt,qt=1;function Zt(){var ln,In,Cn=kt.length,Yn=0,Kn=0;for(ln=0;ln<Cn;++ln)Yn+=(In=kt[ln]).x,Kn+=In.y;for(Yn=(Yn/Cn-Lt)*qt,Kn=(Kn/Cn-jt)*qt,ln=0;ln<Cn;++ln)(In=kt[ln]).x-=Yn,In.y-=Kn}return Lt==null&&(Lt=0),jt==null&&(jt=0),Zt.initialize=function(ln){kt=ln},Zt.x=function(ln){return arguments.length?(Lt=+ln,Zt):Lt},Zt.y=function(ln){return arguments.length?(jt=+ln,Zt):jt},Zt.strength=function(ln){return arguments.length?(qt=+ln,Zt):qt},Zt}(et/2,it/2).strength(.03)).force("charge",function(){var Lt,jt,kt,qt,Zt,ln=Dl(-30),In=1,Cn=1/0,Yn=.81;function Kn(Qn){var wr,Cr=Lt.length,Ar=Zo(Lt,ls,Vf).visitAfter(Vn);for(qt=Qn,wr=0;wr<Cr;++wr)jt=Lt[wr],Ar.visit(Fn)}function Rn(){if(Lt){var Qn,wr,Cr=Lt.length;for(Zt=new Array(Cr),Qn=0;Qn<Cr;++Qn)wr=Lt[Qn],Zt[wr.index]=+ln(wr,Qn,Lt)}}function Vn(Qn){var wr,Cr,Ar,$n,va,Va=0,Za=0;if(Qn.length){for(Ar=$n=va=0;va<4;++va)(wr=Qn[va])&&(Cr=Math.abs(wr.value))&&(Va+=wr.value,Za+=Cr,Ar+=Cr*wr.x,$n+=Cr*wr.y);Qn.x=Ar/Za,Qn.y=$n/Za}else{(wr=Qn).x=wr.data.x,wr.y=wr.data.y;do Va+=Zt[wr.data.index];while(wr=wr.next)}Qn.value=Va}function Fn(Qn,wr,Cr,Ar){if(!Qn.value)return!0;var $n=Qn.x-jt.x,va=Qn.y-jt.y,Va=Ar-wr,Za=$n*$n+va*va;if(Va*Va/Yn<Za)return Za<Cn&&($n===0&&(Za+=($n=zl(kt))*$n),va===0&&(Za+=(va=zl(kt))*va),Za<In&&(Za=Math.sqrt(In*Za)),jt.vx+=$n*Qn.value*qt/Za,jt.vy+=va*Qn.value*qt/Za),!0;if(!(Qn.length||Za>=Cn)){(Qn.data!==jt||Qn.next)&&($n===0&&(Za+=($n=zl(kt))*$n),va===0&&(Za+=(va=zl(kt))*va),Za<In&&(Za=Math.sqrt(In*Za)));do Qn.data!==jt&&(Va=Zt[Qn.data.index]*qt/Za,jt.vx+=$n*Va,jt.vy+=va*Va);while(Qn=Qn.next)}}return Kn.initialize=function(Qn,wr){Lt=Qn,kt=wr,Rn()},Kn.strength=function(Qn){return arguments.length?(ln=typeof Qn=="function"?Qn:Dl(+Qn),Rn(),Kn):ln},Kn.distanceMin=function(Qn){return arguments.length?(In=Qn*Qn,Kn):Math.sqrt(In)},Kn.distanceMax=function(Qn){return arguments.length?(Cn=Qn*Qn,Kn):Math.sqrt(Cn)},Kn.theta=function(Qn){return arguments.length?(Yn=Qn*Qn,Kn):Math.sqrt(Yn)},Kn}().strength(-350)).force("collide",function(Lt){var jt,kt,qt,Zt=1,ln=1;function In(){for(var Kn,Rn,Vn,Fn,Qn,wr,Cr,Ar=jt.length,$n=0;$n<ln;++$n)for(Rn=Zo(jt,Ad,gf).visitAfter(Cn),Kn=0;Kn<Ar;++Kn)Vn=jt[Kn],wr=kt[Vn.index],Cr=wr*wr,Fn=Vn.x+Vn.vx,Qn=Vn.y+Vn.vy,Rn.visit(va);function va(Va,Za,Ir,Tr,da){var Wn=Va.data,Br=Va.r,ra=wr+Br;if(!Wn)return Za>Fn+ra||Tr<Fn-ra||Ir>Qn+ra||da<Qn-ra;if(Wn.index>Vn.index){var Wr=Fn-Wn.x-Wn.vx,ca=Qn-Wn.y-Wn.vy,aa=Wr*Wr+ca*ca;aa<ra*ra&&(Wr===0&&(aa+=(Wr=zl(qt))*Wr),ca===0&&(aa+=(ca=zl(qt))*ca),aa=(ra-(aa=Math.sqrt(aa)))/aa*Zt,Vn.vx+=(Wr*=aa)*(ra=(Br*=Br)/(Cr+Br)),Vn.vy+=(ca*=aa)*ra,Wn.vx-=Wr*(ra=1-ra),Wn.vy-=ca*ra)}}}function Cn(Kn){if(Kn.data)return Kn.r=kt[Kn.data.index];for(var Rn=Kn.r=0;Rn<4;++Rn)Kn[Rn]&&Kn[Rn].r>Kn.r&&(Kn.r=Kn[Rn].r)}function Yn(){if(jt){var Kn,Rn,Vn=jt.length;for(kt=new Array(Vn),Kn=0;Kn<Vn;++Kn)Rn=jt[Kn],kt[Rn.index]=+Lt(Rn,Kn,jt)}}return typeof Lt!="function"&&(Lt=Dl(Lt==null?1:+Lt)),In.initialize=function(Kn,Rn){jt=Kn,qt=Rn,Yn()},In.iterations=function(Kn){return arguments.length?(ln=+Kn,In):ln},In.strength=function(Kn){return arguments.length?(Zt=+Kn,In):Zt},In.radius=function(Kn){return arguments.length?(Lt=typeof Kn=="function"?Kn:Dl(+Kn),Yn(),In):Lt},In}(40)).force("x",function(Lt){var jt,kt,qt,Zt=Dl(.1);function ln(Cn){for(var Yn,Kn=0,Rn=jt.length;Kn<Rn;++Kn)(Yn=jt[Kn]).vx+=(qt[Kn]-Yn.x)*kt[Kn]*Cn}function In(){if(jt){var Cn,Yn=jt.length;for(kt=new Array(Yn),qt=new Array(Yn),Cn=0;Cn<Yn;++Cn)kt[Cn]=isNaN(qt[Cn]=+Lt(jt[Cn],Cn,jt))?0:+Zt(jt[Cn],Cn,jt)}}return typeof Lt!="function"&&(Lt=Dl(Lt==null?0:+Lt)),ln.initialize=function(Cn){jt=Cn,In()},ln.strength=function(Cn){return arguments.length?(Zt=typeof Cn=="function"?Cn:Dl(+Cn),In(),ln):Zt},ln.x=function(Cn){return arguments.length?(Lt=typeof Cn=="function"?Cn:Dl(+Cn),In(),ln):Lt},ln}(et/2).strength(.01)).force("y",function(Lt){var jt,kt,qt,Zt=Dl(.1);function ln(Cn){for(var Yn,Kn=0,Rn=jt.length;Kn<Rn;++Kn)(Yn=jt[Kn]).vy+=(qt[Kn]-Yn.y)*kt[Kn]*Cn}function In(){if(jt){var Cn,Yn=jt.length;for(kt=new Array(Yn),qt=new Array(Yn),Cn=0;Cn<Yn;++Cn)kt[Cn]=isNaN(qt[Cn]=+Lt(jt[Cn],Cn,jt))?0:+Zt(jt[Cn],Cn,jt)}}return typeof Lt!="function"&&(Lt=Dl(Lt==null?0:+Lt)),ln.initialize=function(Cn){jt=Cn,In()},ln.strength=function(Cn){return arguments.length?(Zt=typeof Cn=="function"?Cn:Dl(+Cn),In(),ln):Zt},ln.y=function(Cn){return arguments.length?(Lt=typeof Cn=="function"?Cn:Dl(+Cn),In(),ln):Lt},ln}(it/2).strength(It))}},{key:"updateSimulation",value:function(et,it,Et){var It=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,Lt=Et.benchmark,jt=Et.height,kt=Et.width,qt=Et.isResize,Zt=Et.layout,ln=Zt.distance?Zt.distance:Math.min(jt,kt)/2-80,In=vf(it).iterations(.05).id(function(Cn){return Cn[Lt]}).distance(function(){return it.length<=5&&qt?100:it.length<=20&&qt?ln:it.length<=60?180:230});this._simulation.nodes(et).force("link",In).velocityDecay(.2).alpha(It).alphaDecay(.08),this._simulation.restart()}},{key:"addSimulationEvent",value:function(et,it,Et,It){var Lt=this,jt=ii(et,3),kt=jt[0],qt=jt[1],Zt=jt[2];this._simulation.on("tick",function(){return Wa.layoutRelationships(It),Lt._root.layout.force&&Wa.layoutNodes(Lt._root),kt.attr("transform",function(ln){return"translate("+ln.source.x+" "+ln.source.y+") rotate("+(ln.naturalAngle-180)+")"}),qt.attr("d",function(ln){return ln.arrow.outline(ln)}),Zt.attr("x",function(ln){return ln.arrow.midShaftPoint.x}).attr("y",function(ln){return ln.arrow.midShaftPoint.y+13}).attr("transform",function(ln){return ln.naturalAngle<90||ln.naturalAngle>270?"rotate(180 "+ln.arrow.midShaftPoint.x+" "+ln.arrow.midShaftPoint.y+")":null}).text(function(ln){return ln.shortCaption}),it.attr("cx",function(ln){return ln.x}).attr("cy",function(ln){return ln.y}).attr("x",function(ln){return ln.shape=="rect"?ln.x-Mo(ln.size):ln.x-ln.size+6}).attr("y",function(ln){return ln.shape=="rect"?ln.y-Mo(ln.size)/1.5:ln.y-ln.size+6}),void Et.attr("x",function(ln){return ps(ln.name,Mo(ln.size)).forEach(function(In,Cn){Mr(".node-circle--tspan-".concat(ln.id,"-").concat(Cn)).attr("x",ln.x).attr("y",In.y+ln.y)}),ln.x}).attr("y",function(ln){return ln.y})})}},{key:"drag",value:function(){var et=this;return function(){var it,Et,It,Lt,jt=Ha,kt=sr,qt=pr,Zt=Qa,ln={},In=Re("start","drag","end"),Cn=0,Yn=0;function Kn($n){$n.on("mousedown.drag",Rn).filter(Zt).on("touchstart.drag",Qn).on("touchmove.drag",wr,ma).on("touchend.drag touchcancel.drag",Cr).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function Rn($n,va){if(!Lt&&jt.call(this,$n,va)){var Va=Ar(this,kt.call(this,$n,va),$n,va,"mouse");Va&&(Mr($n.view).on("mousemove.drag",Vn,Oa).on("mouseup.drag",Fn,Oa),li($n.view),Ea($n),It=!1,it=$n.clientX,Et=$n.clientY,Va("start",$n))}}function Vn($n){if(Ma($n),!It){var va=$n.clientX-it,Va=$n.clientY-Et;It=va*va+Va*Va>Yn}ln.mouse("drag",$n)}function Fn($n){Mr($n.view).on("mousemove.drag mouseup.drag",null),di($n.view,It),Ma($n),ln.mouse("end",$n)}function Qn($n,va){if(jt.call(this,$n,va)){var Va,Za,Ir=$n.changedTouches,Tr=kt.call(this,$n,va),da=Ir.length;for(Va=0;Va<da;++Va)(Za=Ar(this,Tr,$n,va,Ir[Va].identifier,Ir[Va]))&&(Ea($n),Za("start",$n,Ir[Va]))}}function wr($n){var va,Va,Za=$n.changedTouches,Ir=Za.length;for(va=0;va<Ir;++va)(Va=ln[Za[va].identifier])&&(Ma($n),Va("drag",$n,Za[va]))}function Cr($n){var va,Va,Za=$n.changedTouches,Ir=Za.length;for(Lt&&clearTimeout(Lt),Lt=setTimeout(function(){Lt=null},500),va=0;va<Ir;++va)(Va=ln[Za[va].identifier])&&(Ea($n),Va("end",$n,Za[va]))}function Ar($n,va,Va,Za,Ir,Tr){var da,Wn,Br,ra=In.copy(),Wr=Gr(Tr||Va,va);if((Br=qt.call($n,new Ta("beforestart",{sourceEvent:Va,target:Kn,identifier:Ir,active:Cn,x:Wr[0],y:Wr[1],dx:0,dy:0,dispatch:ra}),Za))!=null)return da=Br.x-Wr[0]||0,Wn=Br.y-Wr[1]||0,function ca(aa,Ba,pi){var Ai,oa=Wr;switch(aa){case"start":ln[Ir]=ca,Ai=Cn++;break;case"end":delete ln[Ir],--Cn;case"drag":Wr=Gr(pi||Ba,va),Ai=Cn}ra.call(aa,$n,new Ta(aa,{sourceEvent:Ba,subject:Br,target:Kn,identifier:Ir,active:Ai,x:Wr[0]+da,y:Wr[1]+Wn,dx:Wr[0]-oa[0],dy:Wr[1]-oa[1],dispatch:ra}),Za)}}return Kn.filter=function($n){return arguments.length?(jt=typeof $n=="function"?$n:Hr(!!$n),Kn):jt},Kn.container=function($n){return arguments.length?(kt=typeof $n=="function"?$n:Hr($n),Kn):kt},Kn.subject=function($n){return arguments.length?(qt=typeof $n=="function"?$n:Hr($n),Kn):qt},Kn.touchable=function($n){return arguments.length?(Zt=typeof $n=="function"?$n:Hr(!!$n),Kn):Zt},Kn.on=function(){var $n=In.on.apply(In,arguments);return $n===In?Kn:$n},Kn.clickDistance=function($n){return arguments.length?(Yn=($n=+$n)*$n,Kn):Math.sqrt(Yn)},Kn}().on("start",function(it){var Et=it.subject;it.active||et._simulation.alphaTarget(.08).restart(),Et.fx=Et.x,Et.fy=Et.y}).on("drag",function(it){Ra(et._rootComponent),it.subject.fx=it.x,it.subject.fy=it.y,it.subject.drag=!0,et._simulation.force("center",null),et._root.nodeMove(it)}).on("end",function(it){it.active||et._simulation.alphaTarget(0)})}}]),He}();function eo(He,et,it){var Et=document.createElement("ul");Et.className="graph-bath",et.forEach(function(It){var Lt=document.createElement("li");if(Lt.innerText=It.name,Lt.className="graph-bath-item",It.click){if(!(It.click()instanceof Promise))throw new Error("the click function does not return a promise");Lt.onclick=function(){Rs(It.type,Er,it,It.click)}}else Lt.onclick=function(){Rs(It.type,Er,it)};Et.appendChild(Lt)}),Et.style.position="fixed",Et.style.top="100px",Et.style.right="0",Et.style.display="none",document.querySelector(it._ops.containerName).append(Et)}var Ki={width:1e3,height:1e3,containerName:"#graph",benchmark:"id",background:"#F7FAFC",pieFill:"#dddde1",activePieFill:"#b5b5bd",arcColor:"#000",isShowMask:!0,isResize:!1,isCustomClick:!0,isCustomMouse:!1,isShowBatchOperation:!1,clickToggle:!1,nodes:[],links:[],nodeSize:32,nodeClick:function(){},nodeMouseover:function(){},nodeMouseout:function(){},nodeMove:function(){},linkClick:function(){},zoomOptions:{minScale:.5,maxScale:1.5},linkOps:{stroke:"#999","stroke-opacity":.6},layout:{simulation:0,distance:0,force:!1,x:10,y:10},colors:["rgba(42, 134, 246, 1)","rgba(9, 179, 222, 1)","rgba(253, 141, 60, 1)","rgba(255, 71, 81, 1)","rgba(120, 152, 210, 1)","rgba(110, 184, 201, 1)","rgba(245, 174, 42, 1)","rgba(254, 126, 133, 1)"],activeColors:["rgba(42, 134, 246, .6)","rgba(9, 179, 222, .6)","rgba(253, 141, 60, .6)","rgba(255, 71, 81, .6)","rgba(120, 152, 210, .6)","rgba(110, 184, 201, .6)","rgba(245, 174, 42, .6)","rgba(254, 126, 133, .6)"],batchOperation:[{name:"\u5220\u9664",type:"remove"},{name:"\u9690\u85CF",type:"hide"},{name:"\u5C55\u5F00",type:"extend"},{name:"\u6536\u8D77",type:"contraction"},{name:"\u4FEE\u6539\u989C\u8272",type:"editColor"},{name:"\u4FEE\u6539\u5927\u5C0F",type:"editSize"},{name:"\u4FEE\u6539\u5F62\u72B6",type:"editShape"}],toolbarData:[{name:"\u5C55\u5F00",code:"extend",icon:"M512 426.666667c93.866667 0 170.666667-76.8 170.666667-170.666667 0-93.866667-76.8-170.666667-170.666667-170.666667C418.133333 85.333333 341.333333 162.133333 341.333333 256 341.333333 349.866667 418.133333 426.666667 512 426.666667zM512 170.666667c46.933333 0 85.333333 38.4 85.333333 85.333333 0 46.933333-38.4 85.333333-85.333333 85.333333-46.933333 0-85.333333-38.4-85.333333-85.333333C426.666667 209.066667 465.066667 170.666667 512 170.666667zM256 554.666667c-93.866667 0-170.666667 76.8-170.666667 170.666667 0 93.866667 76.8 170.666667 170.666667 170.666667 93.866667 0 170.666667-76.8 170.666667-170.666667C426.666667 631.466667 349.866667 554.666667 256 554.666667zM256 810.666667c-46.933333 0-85.333333-38.4-85.333333-85.333333 0-46.933333 38.4-85.333333 85.333333-85.333333 46.933333 0 85.333333 38.4 85.333333 85.333333C341.333333 772.266667 302.933333 810.666667 256 810.666667zM512 473.6c-42.666667 0-81.066667 38.4-81.066667 81.066667s38.4 81.066667 81.066667 81.066667c42.666667 0 81.066667-38.4 81.066667-81.066667S554.666667 473.6 512 473.6zM768 554.666667c-93.866667 0-170.666667 76.8-170.666667 170.666667 0 93.866667 76.8 170.666667 170.666667 170.666667 93.866667 0 170.666667-76.8 170.666667-170.666667C938.666667 631.466667 861.866667 554.666667 768 554.666667zM768 810.666667c-46.933333 0-85.333333-38.4-85.333333-85.333333 0-46.933333 38.4-85.333333 85.333333-85.333333 46.933333 0 85.333333 38.4 85.333333 85.333333C853.333333 772.266667 814.933333 810.666667 768 810.666667z",type:"extend",click:function(){return new Promise(function(He){He(!1)})}},{name:"\u9690\u85CF",code:"hide",icon:"M906.688 126.976a48 48 0 0 1 3.84 62.528l-4.736 5.376-104.96 101.952a1013.12 1013.12 0 0 1 130.24 112.128c53.952 54.336 56.512 140.352 7.68 197.76l-7.68 8.32-17.92 17.728C775.872 765.568 642.176 832 512 832c-67.584 0-136.064-17.92-205.568-53.696l-117.76 114.56a48 48 0 0 1-71.68-63.488l4.8-5.312L222.08 726.4a1015.04 1015.04 0 0 1-129.152-111.36 146.304 146.304 0 0 1-7.68-197.76l7.68-8.32 17.92-17.728C248.128 258.432 381.824 192 512 192c67.2 0 135.36 17.728 204.416 53.12l122.368-119.04a48 48 0 0 1 67.84 0.896z m-208 269.44L626.944 466.304a123.584 123.584 0 0 1-163.584 159.296l-71.872 69.952a219.584 219.584 0 0 0 307.264-299.2zM512 292.416A219.584 219.584 0 0 0 324.608 626.56l72.064-70.08a123.584 123.584 0 0 1 162.88-158.592l72-70.144A218.56 218.56 0 0 0 512 292.48z",type:"hide",click:function(){return new Promise(function(He){He(!1)})}},{name:"\u89E3\u9501",code:"unlocked",icon:"M553.55 601.87v209.1c0 21.74-17.63 39.36-39.36 39.36-21.74 0-39.36-17.62-39.36-39.36v-209.1c0-21.74 17.63-39.36 39.36-39.36 21.74 0 39.36 17.62 39.36 39.36zM929.8 497.94v412.04c0 62.06-50.48 112.54-112.54 112.54h-611.3c-62.06 0-112.54-50.48-112.54-112.54V497.94c0-62.06 50.48-112.54 112.54-112.54h5.45c0.18-134.05 31.06-235.21 91.82-300.66 27.43-29.55 60.84-51.69 99.31-65.79C435.89 6.72 473.17 0.52 513.31 0.52c78.95 0 140.72 17.26 188.82 52.76 27.18 20.06 49.94 46.2 67.64 77.69 17.86 31.77 31.11 70.05 39.39 113.76 4.04 21.35-9.99 41.94-31.34 45.98-21.35 4.05-41.94-9.98-45.98-31.34-23.91-126.28-89.27-180.16-218.53-180.16-64.75 0-116.03 19.88-152.42 59.07-46.83 50.44-70.64 133.58-70.81 247.12h527.17c62.06 0 112.55 50.48 112.55 112.54z m-78.72 0c0-18.65-15.18-33.82-33.82-33.82h-611.3c-18.65 0-33.82 15.17-33.82 33.82v412.04c0 18.65 15.18 33.82 33.82 33.82h611.3c18.65 0 33.82-15.18 33.82-33.82V497.94z",type:"unlocked",click:function(){return new Promise(function(He){He(!1)})}},{name:"\u6536\u8D77",code:"contraction",icon:"M890.2 115H133.8c-20.9 0-37.8 16.9-37.8 37.8v37.8c0 20.9 16.9 37.8 37.8 37.8h756.4c20.9 0 37.8-16.9 37.8-37.8v-37.8c0-20.9-16.9-37.8-37.8-37.8zM890.2 455.3H398.5c-20.9 0-37.8 16.9-37.8 37.8v37.8c0 20.9 16.9 37.8 37.8 37.8h491.6c20.9 0 37.8-16.9 37.8-37.8v-37.8c0.1-20.9-16.8-37.8-37.7-37.8zM890.2 795.6H133.8c-20.9 0-37.8 16.9-37.8 37.8v37.8c0 20.9 16.9 37.8 37.8 37.8h756.4c20.9 0 37.8-16.9 37.8-37.8v-37.8c0-20.9-16.9-37.8-37.8-37.8zM266.2 600.7V423.3c0-22-29.2-33.1-46.2-17.5l-97.1 88.7c-10.6 9.7-10.6 25.3 0 35l97.1 88.7c17 15.5 46.2 4.5 46.2-17.5z",type:"contraction",click:function(){return new Promise(function(He){He(!1)})}},{name:"\u5220\u9664",code:"remove",icon:"M597.333333 128h-170.666666a42.666667 42.666667 0 0 0-42.666667 42.666667v42.666666h256V170.666667a42.666667 42.666667 0 0 0-37.674667-42.368L597.333333 128z m0 298.666667a42.666667 42.666667 0 0 1 42.666667 42.666666v256a42.666667 42.666667 0 0 1-85.333333 0v-256a42.666667 42.666667 0 0 1 42.666666-42.666666z m-170.666666 0a42.666667 42.666667 0 0 1 42.666666 42.666666v256a42.666667 42.666667 0 0 1-85.333333 0v-256a42.666667 42.666667 0 0 1 42.666667-42.666666z m341.333333-128H256v554.666666a42.666667 42.666667 0 0 0 37.674667 42.368L298.666667 896h426.666666a42.666667 42.666667 0 0 0 42.666667-42.666667V298.666667z m-170.666667-256a128 128 0 0 1 128 128v42.666666h170.666667a42.666667 42.666667 0 0 1 42.368 37.674667L938.666667 256a42.666667 42.666667 0 0 1-42.666667 42.666667h-42.666667v554.666666a128 128 0 0 1-120.490666 127.786667L725.333333 981.333333H298.666667a128 128 0 0 1-128-128V298.666667H128a42.666667 42.666667 0 0 1-42.368-37.674667L85.333333 256a42.666667 42.666667 0 0 1 42.666667-42.666667h170.666667V170.666667a128 128 0 0 1 120.490666-127.786667L426.666667 42.666667h170.666666z",type:"remove",click:function(){return new Promise(function(He){He(!1)})}},{name:"\u8FDE\u7EBF",icon:"M922.00324 771.5L712.90324 892.2c-2.7 1.5-6-0.4-6-3.5V816c0-8.8-7.2-16-16-16H208.00324c-42.5 0-82.6-16.7-113-47-30.3-30.3-47-70.4-47-113s16.7-82.6 47-113c30.3-30.3 70.5-47 113-47h576c53.3 0 96.5-43.6 96-97-0.5-52.8-44.4-95-97.2-95h-519c-6.8 0-12.8 4.3-15.1 10.7-17.6 49.7-65 85.3-120.7 85.3C57.00324 384-0.49676 326.2 0.00324 255.1c0.5-71 59.4-128.3 130.4-127.1 54.7 1 101.1 36.4 118.4 85.4 2.2 6.4 8.3 10.6 15 10.6H784.00324c42.5 0 82.6 16.7 113 47 30.3 30.3 47 70.5 47 113s-16.7 82.6-47 113c-30.3 30.3-70.5 47-113 47H208.00324c-53.3 0-96.5 43.6-96 97 0.5 52.8 44.4 95 97.2 95h481.7c8.8 0 16-7.2 16-16v-72.7c0-3.1 3.3-5 6-3.5L922.00324 764.5c2.7 1.6 2.7 5.4 0 7z",code:"connect",type:"connect",click:function(){return new Promise(function(He){He(!1)})}}]},xi=`
|
|
|
<svg width="300" height="200" viewBox="0 0 300 200" xmlns="http://www.w3.org/2000/svg">
|
|
|
<defs>
|
|
|
<radialGradient id="grad1" cx="64%" cy="41%" r="64%" fx="64%" fy="41%">
|
|
|
<stop offset="0%" stop-color="#ffcdca"/>
|
|
|
<stop offset="15%" stop-color="#f8a8af"/>
|
|
|
<stop offset="36%" stop-color="#f486bd"/>
|
|
|
<stop offset="64%" stop-color="#f15acb"/>
|
|
|
<stop offset="100%" stop-color="#dc48be"/>
|
|
|
</radialGradient>
|
|
|
<radialGradient cx="62.7929688%" cy="38.7660435%" fx="62.7929688%" fy="38.7660435%" r="69.6171323%" id="radialGradient-1">
|
|
|
<stop stop-color="#FF938E" offset="0%"></stop>
|
|
|
<stop stop-color="#F3629B" offset="27.7958615%"></stop>
|
|
|
<stop stop-color="#F25B98" offset="61.0231575%"></stop>
|
|
|
<stop stop-color="#D45C9F" offset="79.1889024%"></stop>
|
|
|
<stop stop-color="#FB94DC" offset="100%"></stop>
|
|
|
</radialGradient>
|
|
|
<radialGradient cx="64.4599781%" cy="41.4199561%" fx="64.4599781%" fy="41.4199561%" r="66.0105958%" gradientTransform="translate(0.644600,0.414200),scale(1.000000,0.982143),rotate(135.557584),translate(-0.644600,-0.414200)" id="radialGradient-2">
|
|
|
<stop stop-color="#9C4BFF" offset="0%"></stop>
|
|
|
<stop stop-color="#7D2FE3" offset="22.2365921%"></stop>
|
|
|
<stop stop-color="#7F29E3" offset="53.5499367%"></stop>
|
|
|
<stop stop-color="#9635DB" offset="82.281989%"></stop>
|
|
|
<stop stop-color="#C47AF8" offset="100%"></stop>
|
|
|
</radialGradient>
|
|
|
<radialGradient cx="64.4599781%" cy="41.4199561%" fx="64.4599781%" fy="41.4199561%" r="65.4353394%" id="radialGradient-3">
|
|
|
<stop stop-color="#6F99FF" offset="0%"></stop>
|
|
|
<stop stop-color="#2465E0" offset="15.3761414%"></stop>
|
|
|
<stop stop-color="#3047D6" offset="35.5277535%"></stop>
|
|
|
<stop stop-color="#3435D9" offset="79.4914212%"></stop>
|
|
|
<stop stop-color="#5D58F2" offset="100%"></stop>
|
|
|
</radialGradient>
|
|
|
<linearGradient x1="0%" y1="50.0019531%" x2="100%" y2="50%" id="lines1">
|
|
|
<stop stop-color="#F763AF" offset="0%"></stop>
|
|
|
<stop stop-color="#7328E5" offset="100%"></stop>
|
|
|
</linearGradient>
|
|
|
<linearGradient x1="-5.45107057%" y1="49.9980469%" x2="100%" y2="50.0019531%" id="linearGradient-1">
|
|
|
<stop stop-color="#862FF3" offset="0%"></stop>
|
|
|
<stop stop-color="#4531E9" offset="100%"></stop>
|
|
|
</linearGradient>
|
|
|
<linearGradient x1="-5.45107057%" y1="49.9980469%" x2="100%" y2="50.0019531%" id="linearGradient-1">
|
|
|
<stop stop-color="#862FF3" offset="0%"></stop>
|
|
|
<stop stop-color="#4531E9" offset="100%"></stop>
|
|
|
</linearGradient>
|
|
|
</defs>
|
|
|
</svg>
|
|
|
`;_e.createContainer=class{constructor(He){var et=["style","innerHTML","body","absolute","append","defsvg","div","createElement","zIndex"],it=function(kt,qt){kt=kt-0;var Zt=et[kt];return Zt};if(!document.getElementById("defsvg")){var Et=document[it("0x7")](it("0x6"));Et.id=it("0x5"),Et[it("0x1")]=xi,Et[it("0x0")].position=it("0x3"),Et.style.top="-10000px",Et[it("0x0")][it("0x8")]=-1,document[it("0x2")][it("0x4")](Et)}Ur.prototype.addElement=function(kt){for(var qt=arguments.length,Zt=new Array(qt>1?qt-1:0),ln=1;ln<qt;ln++)Zt[ln-1]=arguments[ln];return kt.apply(void 0,[this].concat(Zt))},Ur.prototype.attrs=function(kt){return function(qt,Zt){for(var ln in Zt)qt.attr(ln,Zt[ln]);return qt}(this,kt)},Ur.prototype.addElements=function(kt,qt){return this.data(kt).exit().remove(),this.data(kt).enter().append(qt)},this._ops=function(kt,qt){var Zt={};for(var ln in kt)Zt[ln]=qt[ln]!=null?qt[ln]:kt[ln];return Zt}(Ki,He);const It=Mr(this._ops.containerName);var Lt,jt=this;It.node()||(Lt="\u627E\u4E0D\u5230\u8981\u6302\u8F7D\u7684\u8282\u70B9",console.warn("\u3010graph error\u3011:"+Lt)),function(kt,qt){const{_ops:Zt}=qt,ln=kt.append("svg").attr("viewBox",[0,0,Zt.width,Zt.height]).attr("class",`${Zt.containerName}-graph-container`),In=ln.append("g").attr("class","graph-box");kt.style("background",Zt.background),qt._linkContainer=In.append("g").attr("class",`${Zt.containerName}-link-container`),qt._nodeContainer=In.append("g").attr("class",`${Zt.containerName}-node-container`),qt._textContainer=In.append("g").attr("class",`${Zt.containerName}-text-container`),kt.addElement(eo,Zt.batchOperation,qt),qt.operationContainer=In.append("g").attr("class",`${Zt.containerName}-operation-container`),qt._linkContainer.attrs(Zt.link_ops),qt.operationContainer.style("display","none"),function(Cn,Yn){var Kn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:.1,Rn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:15,Vn=zr().scaleExtent([Kn,Rn]).on("zoom",function(Fn){Yn.attr("transform",Fn.transform)});jt.zoom=Vn,Cn.call(Vn),Yn.on("dblclick.zoom",null),Cn.on("dblclick.zoom",null)}(ln,In,Zt.zoomOptions.minScale,Zt.zoomOptions.maxScale)}(It,this),this._simulation=new Ii(this),this._pie=new Pa(this),this.update()}addNode(He){(function(et,it){it._ops.nodes.push(et),it.update()})(He,this)}zoomIn(){Mr(this._ops.containerName).select("svg").transition().duration(750).call(this.zoom.scaleBy,1.2)}zoomOut(){Mr(this._ops.containerName).select("svg").transition().duration(750).call(this.zoom.scaleBy,.8)}toggleNode(He){if(!this._ops.clickToggle)return;var et=this._ops.nodes,it=this._ops.links;He.isExtendedState=!He.isExtendedState;var Et=!He.isExtendedState,It=[He.id];function Lt(jt,kt,qt){qt.forEach(Zt=>{if(Zt.source.id===jt){Zt.hide=Et;const ln=kt.find(In=>In.id===Zt.target.id);ln&&(ln.hide=Et,It.push(ln.id),Lt(ln.id,kt,qt))}})}setTimeout(()=>{It.forEach(jt=>{it.forEach(kt=>{(kt.source.id===jt||kt.target.id===jt)&&kt.target.id!==He.id&&(kt.hide=Et)})}),this.update()},100),Lt(He.id,et,it)}showAllNodes(){this._ops.nodes.forEach(He=>{He.hide=!1}),this._ops.links.forEach(He=>{He.hide=!1}),this.update()}deleteNode(He){(function(et,it){it._ops.nodes=it._ops.nodes.filter(function(Et){return Et.id!==et.id}),it._ops.links=it._ops.links.filter(function(Et){return Et.source.id!==et.id&&Et.target.id!==et.id}),it.update(),Ra(it.operationContainer)})(He,this)}scrollToNode(He){const it=document.querySelector(this._ops.containerName+" svg").querySelector("g.graph-box"),Et=this._ops.nodes.find(ln=>ln.id===He);if(!Et)return;const It=Et.x,Lt=Et.y,jt=1287,kt=596,qt=jt/2-It,Zt=kt/2-Lt;it.setAttribute("transform",`translate(${qt}, ${Zt})`)}selectToNode(He){const et=document.querySelector(this._ops.containerName+" svg");document.body.querySelectorAll("circle.node-circle").forEach(it=>{it.classList.remove("highlightNode")}),He&&et.querySelector(".node-circle-"+He).classList.add("highlightNode")}update(He=!0,et={}){var it,Et;this._pie.showPie("");const It=this._ops.nodes,Lt=this._ops.links,jt=this._nodeContainer.addElement(_o,It,this),kt=this._linkContainer.addElement(Sn,Lt,this),qt=this._textContainer.addElement(As,It);jt.on("click",(Cn,Yn)=>Oe(this,null,function*(){this.toggleNode(Yn);const Kn=yield this._ops.nodeClick(Yn);if(Kn){const{type:Rn,id:Vn}=Kn;Rs(Rn,Vn,this)}})),this._ops.isCustomMouse&&(jt.on("mouseover",(Cn,Yn)=>Oe(this,null,function*(){yield this._ops.nodeMouseover(Yn)})),jt.on("mouseout",()=>Oe(this,null,function*(){yield this._ops.nodeMouseout()}))),jt.on("contextmenu",(Cn,Yn)=>{Cn.preventDefault(),this._pie.showPie(Yn,Cn)}),jt.call(this._simulation.drag());const Zt=(it=document.querySelector(this._ops.containerName))===null||it===void 0?void 0:it.clientWidth,ln=(Et=document.querySelector(this._ops.containerName))===null||Et===void 0?void 0:Et.clientHeight,In=document.getElementsByClassName(`${this._ops.containerName}-graph-container`)[0];In&&Zt&&ln&&(this._ops.width=Zt,this._ops.height=ln,In.setAttribute("viewBox",`0 0 ${Zt} ${ln}`)),He?this._simulation.updateSimulation(It,Lt,this._ops):this._simulation.updateSimulation(It,Lt,this._ops,.1),this._simulation.addSimulationEvent(kt,jt,qt,Lt),function(Cn,Yn){var Kn=["object","function","undefined"];if(Sa(Yn)!=="object")return Cn;for(var Rn in Yn)Kn.indexOf(Sa(Yn[Rn]))===-1&&(Cn[Rn]=Yn[Rn])}(this._ops,et),Object.getOwnPropertyNames(et).length&&this._updateBaseTheme()}_updateBaseTheme(){Mr(this._ops.containerName).style("background",this._ops.background)}},_e.storage=Zs,Object.defineProperty(_e,"__esModule",{value:!0})})},49291:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Ax:function(){return be},Ds:function(){return Fe},KI:function(){return ve},SI:function(){return Re},f1:function(){return Ve}});var _e=Oe(38446);function Ve(ye){let we=!0;if(ye.length>0){for(let De=0;De<ye.length;De++)if(ye[De].compile_success==0||!ye[De].compile_success){we=!1;break}}else we=!1;return we}function Re(ye,we=""){let De=[];for(let pe=0;pe<ye.length;pe++){let Ee=ye[pe],Pe=we?`${we}/${Ee.name}`:`${Ee.name}`;De.push({title:Ee.name,type:Ee.type,isLeaf:Ee.type!=="tree",key:Pe})}return De}function be(ye,we,De){for(let pe=0;pe<ye.length;pe++){let Ee=ye[pe];if(Ee.key===we){Ee.children=De;break}Ee.children&&be(Ee.children,we,De)}return ye}function Fe(ye,we,De){let pe;return function(){let Ee=this,Pe=arguments,de=function(){pe=null,De||ye.apply(Ee,Pe)},ee=De&&!pe;clearTimeout(pe),pe=setTimeout(de,we),ee&&ye.apply(Ee,Pe)}}const Ce=!0,ve=_e.Z.API_SERVER},14573:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return pe}});var _e=Oe(59301),Ve={imageDimensions:"imageDimensions___a7crR",img:"img___Kroat",fullWidth:"fullWidth___c492T"},Re=Oe(92310),be=Oe.n(Re),Fe=Oe(71418),Ce=Oe(2859),ve=Oe(7660),ye=Oe(88230),we=(Ee,Pe,de)=>new Promise((ee,ne)=>{var le=he=>{try{ce(de.next(he))}catch(ie){ne(ie)}},oe=he=>{try{ce(de.throw(he))}catch(ie){ne(ie)}},ce=he=>he.done?ee(he.value):Promise.resolve(he.value).then(le,oe);ce((de=de.apply(Ee,Pe)).next())}),pe=({data:Ee,className:Pe,fullWidth:de,style:ee={},onClose:ne,onOk:le,showFullTools:oe,noAssociationId:ce})=>{const he=(0,_e.useRef)(null),ie=(0,_e.useRef)(null),ue=(0,_e.useRef)(null),ge=(0,_e.useRef)(null),[xe,Me]=(0,_e.useState)(!1),[Be,Ne]=(0,_e.useState)("\u6B63\u5728\u52A0\u8F7D\u4E2D");(0,_e.useEffect)(()=>{ue.current||(ue.current=document.createElement("style"),document.head.appendChild(ue.current)),Ee!=null&&Ee.visible?(document.body.setAttribute("data-custom","y-hidden"),ue.current.innerHTML=" html { overflow-y: hidden; }",Ee!=null&&Ee.src&&Ue()):(document.body.removeAttribute("data-custom"),ue.current&&(document.head.removeChild(ue.current),ue.current=null))},[Ee==null?void 0:Ee.visible]);const Ue=()=>we(void 0,null,function*(){Me(!0),Ne("\u6B63\u5728\u52A0\u8F7D\u4E2D");const $e=yield(0,ye.ZJ)(Ee==null?void 0:Ee.src);he.current.src="",he.current.src=$e,he.current.onload=function(){nt()},Me(!1),Ne("")}),Ge=()=>{document.body.removeAttribute("data-custom"),ue.current.innerHTML=" ",ne()},Xe=$e=>we(void 0,null,function*(){Me(!0),Ne("\u6B63\u5728\u4FDD\u5B58\u4E2D");const qe=yield(0,ve.ZP)("/api/attachments.json",{method:"post",body:{file_type:"base64",original_filename:Ee.title,file:$e.dataUrl}});qe!=null&&qe.id&&!ce?(yield(0,ve.ZP)(`/api/attachments/${Ee.id}/add_subitem.json`,{method:"post",body:{subitem_id:qe==null?void 0:qe.id,settings:JSON.stringify($e.state)}})).status===0&&le():qe!=null&&qe.id&&le(qe),document.body.removeAttribute("data-custom"),ue.current.innerHTML=" ",Me(!1),Ne("")}),Ye=()=>{const $e=document.querySelector('a[href="https://markerjs.com/"]');$e&&$e.parentNode&&($e.parentNode.style.display="none"),[{name:'[data-action="select"]',title:"\u9009\u62E9"},{name:'[data-action="delete"]',title:"\u5220\u9664\u5143\u7D20"},{name:'[data-action="undo"]',title:"\u64A4\u9500"},{name:'[data-type-name="FrameMarker"]',title:"\u77E9\u5F62"},{name:'[data-type-name="FreehandMarker"]',title:"\u753B\u7EBF"},{name:'[data-type-name="ArrowMarker"]',title:"\u7BAD\u5934"},{name:'[data-type-name="TextMarker"]',title:"\u6587\u672C"},{name:'[data-type-name="EllipseMarker"]',title:"\u692D\u5706"},{name:'[data-type-name="HighlightMarker"]',title:"\u65B9\u5757"},{name:'[data-type-name="CalloutMarker"]',title:"\u6CE8\u91CA"},{name:'[data-action="render"]',title:"\u4FDD\u5B58"},{name:'[data-action="close"]',title:"\u9000\u51FA"}].forEach(st=>{const rt=document.querySelector(st.name);rt&&rt.setAttribute("title",st.title)})},nt=()=>{ie.current=new Ce.hP(he.current),ie.current.targetRoot=ge.current,ie.current.addEventListener("render",Xe),ie.current.addEventListener("beforeclose",Ge),oe&&(ie.current.availableMarkerTypes=ie.current.ALL_MARKER_TYPES,ie.current.uiStyleSettings.redoButtonVisible=!0,ie.current.uiStyleSettings.notesButtonVisible=!0,ie.current.uiStyleSettings.zoomButtonVisible=!0,ie.current.uiStyleSettings.zoomOutButtonVisible=!0,ie.current.uiStyleSettings.clearButtonVisible=!0),window.markerArea=ie.current.uiStyleSettings,ie.current.show(),Ee!=null&&Ee.snapshotData&&ie.current.restoreState(Ee.snapshotData),setTimeout(()=>{window.scrollTo(0,0),Ye()},300)};return _e.createElement(_e.Fragment,null,(Ee==null?void 0:Ee.visible)&&_e.createElement(Fe.Z,{spinning:xe,tip:Be,style:{position:"absolute"}},_e.createElement("div",{ref:ge,className:be()(Ve.imageDimensions,Pe,de?Ve.fullWidth:""),style:ee},_e.createElement("img",{className:Ve.img,ref:he}))))}},46531:function(Pt,Mt,Oe){"use strict";var _e=Oe(59301),Ve=Oe(95237),Re=Oe(43604),be=Oe(99313),Fe=Oe(3113),Ce=Oe(99325),ve=Oe(11570),ye=Oe(48136),we=Oe(59301);const De=(0,_e.forwardRef)(({callback:pe,showSaveButton:Ee,value:Pe=""},de)=>{const ee=(0,_e.useRef)(),ne=[{name:"\u5206\u6570\u5F97\u5206",value:"\\frac{x}{y}",children:[{name:"\u5206\u6570 Fractions",data:[{value:"\\frac{a}{b}"},{value:"x\\tfrac{x}{a} "},{value:"\\mathrm{d}t"},{value:"\\partial t"},{value:"\\frac{\\partial y}{\\partial x}"},{value:"\\nabla\\psi"},{value:"\\frac{\\partial^2}{\\partial x_1\\partial x_2}y"},{value:"\\cfrac{1}{a + \\cfrac{7}{b + \\cfrac{2}{9}}} = c"}]},{name:"\u5BFC\u6570 Derivative",data:[{value:"\\dot{a} "},{value:"\\ddot{a}"},{value:"{f}^{\\prime}"},{value:"{f}^{\\prime\\prime}"},{value:"{f}^{(n)}"}]},{name:"\u6A21\u7B97\u672F Modular arithmetic",data:[{value:"a \\bmod b"},{value:"a \\equiv b \\pmod{m} "},{value:"\\gcd(m, n) "},{value:"\\operatorname{lcm}(m, n) "}]}]},{name:"\u6839\u5F0F\u89D2\u6807",value:"\\sqrt{x}",children:[{name:"\u6839\u5F0F Radicals",data:[{value:"\\sqrt{x}"},{value:"\\sqrt[y]{x}"}]},{name:"\u4E0A\u4E0B\u6807 Sub&Super",data:[{value:"x^{a}"},{value:"x_{a}"},{value:"x_{a}^{b} "},{value:"_{a}^{b} x"},{value:"x_{a}^{b} "}]},{name:"\u91CD\u97F3\u7B26\u53CA\u5176\u4ED6 Accents and Others",data:[{value:"\\hat{a} "},{value:"\\sqrt[y]{x}"},{value:"\\check{} "},{value:"\\grave{a} "},{value:"\\acute{a}"},{value:"\\tilde{a}"},{value:"\\breve{a}"},{value:"\\bar{a}"},{value:"\\vec{a}"},{value:"\\not{a}"},{value:"\\widetilde{abc}"},{value:"\\widehat{abc}"},{value:"\\overleftarrow{abc} "},{value:"\\overrightarrow{abc}"},{value:"\\overline{abc}"},{value:"\\underline{abc}"},{value:"\\overbrace{abc}"},{value:"\\underbrace{abc}"},{value:"\\overset{a}{abc}"},{value:"\\underset{a}{abc} \\stackrel\\frown{ab}"},{value:"\\overline{ab} "},{value:"\\overleftrightarrow{ab}"},{value:"\\overset{a}{\\leftarrow}"},{value:"\\overset{a}{\\rightarrow}"},{value:"\\xleftarrow[abc]{a}"},{value:"\\xrightarrow[abc]{a} "}]}]},{name:"\u6781\u9650\u5BF9\u6570",value:"\\lim_{x \\to 0}",children:[{name:"\u6781\u9650 Limits",data:[{value:"\\lim a"},{value:"\\lim_{x \\to 0}"},{value:"\\lim_{x \\to \\infty}"},{value:"\\max_b{a}"},{value:"\\min_a{b}"}]},{name:"\u5BF9\u6570\u6307\u6570 Logarithms and exponentials",data:[{value:"\\log_{a}{b}"},{value:"\\lg_{a}{b}"},{value:"\\ln_{a}{b}"},{value:"\\exp a"}]},{name:"\u754C\u9650 Bounds",data:[{value:"\\min x"},{value:"\\sup t"},{value:"\\inf s"},{value:"\\lim u"},{value:"\\limsup w"},{value:"\\dim p"},{value:"\\ker\\phi "}]}]},{name:"\u4E09\u89D2\u51FD\u6570",value:"\\sin a",children:[{name:"\u4E09\u89D2\u51FD\u6570 Trigonometric functions",data:[{value:"\\sin a"},{value:"\\cos a"},{value:"\\tan a"},{value:"\\cot a "},{value:"\\sec a "},{value:"\\csc a "}]},{name:"\u53CD\u4E09\u89D2\u51FD\u6570 Inverse trigonometric functions",data:[{value:"\\sin^{-1}"},{value:"\\cos^{-1}"},{value:"\\tan^{-1}"},{value:"\\cot^{-1}"},{value:"\\sec^{-1}"},{value:"\\csc^{-1}"},{value:"\\arcsin a"},{value:"\\arccos a"},{value:"\\arctan a"},{value:"\\operatorname{arccot} a"},{value:"\\operatorname{arcsec} a"},{value:"\\operatorname{arccsc} a"}]},{name:"\u53CC\u66F2\u51FD\u6570 Hyperblic functions",data:[{value:"\\sinh a"},{value:"\\cosh a"},{value:"\\tanh a"},{value:"\\coth a"},{value:"\\operatorname{sech} a"},{value:"\\operatorname{csch} a"}]},{name:"\u53CD\u53CC\u66F2\u51FD\u6570 Inverse hyperbolic functions",data:[{value:"\\sinh^{-1}"},{value:"a\\cosh^{-1} a"},{value:"\\tanh^{-1} a"},{value:"\\coth^{-1} a"},{value:"\\operatorname{sech}^{-1} a"},{value:"\\operatorname{csch}^{-1} a"}]}]},{name:"\u79EF\u5206\u8FD0\u7B97",value:"\\int_{a}^{b}",children:[{name:"\u79EF\u5206 Integral",data:[{value:"\\int"},{value:"\\int_{a}^{b}"},{value:"\\int\\limits_{a}^{b}"}]},{name:"\u53CC\u91CD\u79EF\u5206 Double integral",data:[{value:"\\iint"},{value:"\\iint_{a}^{b} "},{value:"\\iint\\limits_{a}^{b} "}]},{name:"\u4E09\u91CD\u79EF\u5206 Triple integral",data:[{value:"\\iiint"},{value:"\\iiint_{a}^{b}"},{value:"\\iiint\\limits_{a}^{b} "}]},{name:"\u66F2\u7EBF\u79EF\u5206 Closed line or path integral",data:[{value:"\\oint"},{value:"\\oint_{a}^{b} "}]}]},{name:"\u5927\u578B\u8FD0\u7B97",value:"\\sum_{a}^{b}",children:[{name:"\u6C42\u548C Summation",data:[{value:"\\sum"},{value:"\\sum_{a}^{b}"},{value:"{\\textstyle \\sum_{a}^{b}} "}]},{name:"\u4E58\u79EF\u4F59\u79EF Product and coproduct",data:[{value:"\\prod"},{value:"\\prod_{a}^{b}"},{value:"{\\textstyle \\prod_{a}^{b}}"},{value:"\\coprod"},{value:"\\coprod_{a}^{b}"},{value:"{\\textstyle \\coprod_{a}^{b}} "}]},{name:"\u5E76\u96C6\u4EA4\u96C6 Union and intersection",data:[{value:"\\bigcup"},{value:"\\bigcup_{a}^{b}"},{value:"{\\textstyle \\bigcup_{a}^{b}}"},{value:"\\bigcap"},{value:"\\bigcap_{a}^{b}"}]},{name:"\u6790\u53D6\u5408\u53D6 Disjunction and conjunction",data:[{value:"\\bigvee"},{value:"\\bigvee_{a}^{b}"},{value:"\\bigwedge"},{value:"\\bigwedge_{a}^{b}"}]}]},{name:"\u62EC\u53F7\u53D6\u6574",value:"\\left [ \\left ( \\right ) \\right ] ",children:[{name:"\u62EC\u53F7 Brackets",data:[{value:"\\left ( \\right )"},{value:"\\left [ \\right ]"},{value:"\\left \\langle \\right \\rangle "},{value:"\\left | \\right | "},{value:"\\left \\lfloor \\right \\rfloor "},{value:"\\left \\lceil \\right \\rceil "}]}]}],le=[{name:"\u4EE3\u6570",value:"\\sqrt{a^2+b^2}",children:[{data:[{value:"\\left(x-1\\right)\\left(x+3\\right) "},{value:"\\sqrt{a^2+b^2}"},{value:"\\left ( \\frac{a}{b}\\right )^{n}= \\frac{a^{n}}{b^{n}}"},{value:"\\frac{a}{b}\\pm \\frac{c}{d}= \\frac{ad \\pm bc}{bd} "},{value:"\\frac{x^{2}}{a^{2}}-\\frac{y^{2}}{b^{2}}=1 "},{value:"\\frac{1}{\\sqrt{a}}=\\frac{\\sqrt{a}}{a},a\\ge 0\\frac{1}{\\sqrt{a}}=\\frac{\\sqrt{a}}{a},a\\ge 0 "},{value:"\\sqrt[n]{a^{n}}=\\left ( \\sqrt[n]{a}\\right )^{n} "},{value:"x ={-b \\pm \\sqrt{b^2-4ac}\\over 2a} "},{value:"y-y_{1}=k \\left( x-x_{1}\\right) "},{value:`\\left\\{\\begin{matrix} \r
|
|
|
x=a + r\\text{cos}\\theta \\ \r
|
|
|
y=b + r\\text{sin}\\theta \r
|
|
|
\\end{matrix}\\right. `},{value:`\\begin{array}{l} \r
|
|
|
\\text{\u5BF9\u4E8E\u65B9\u7A0B\u5F62\u5982\uFF1A}x^{3}-1=0 \\ \r
|
|
|
\\text{\u8BBE}\\text{:}\\omega =\\frac{-1+\\sqrt{3}i}{2} \\ \r
|
|
|
x_{1}=1,x_{2}= \\omega =\\frac{-1+\\sqrt{3}i}{2} \\ \r
|
|
|
x_{3}= \\omega ^{2}=\\frac{-1-\\sqrt{3}i}{2} \r
|
|
|
\\end{array} `},{value:`\\begin{array}{l} \r
|
|
|
a\\mathop{{x}}\\nolimits^{{2}}+bx+c=0 \\ \r
|
|
|
\\Delta =\\mathop{{b}}\\nolimits^{{2}}-4ac \\ \r
|
|
|
\\left\\{\\begin{matrix} \r
|
|
|
\\Delta \\gt 0\\text{\u65B9\u7A0B\u6709\u4E24\u4E2A\u4E0D\u76F8\u7B49\u7684\u5B9E\u6839} \\ \r
|
|
|
\\Delta = 0\\text{\u65B9\u7A0B\u6709\u4E24\u4E2A\u76F8\u7B49\u7684\u5B9E\u6839} \\ \r
|
|
|
\\Delta \\lt 0\\text{\u65B9\u7A0B\u65E0\u5B9E\u6839} \r
|
|
|
\\end{matrix}\\right. \r
|
|
|
\\end{array} `},{value:`\\begin{array}{l} \r
|
|
|
a\\mathop{{x}}\\nolimits^{{2}}+bx+c=0 \\ \r
|
|
|
\\Delta =\\mathop{{b}}\\nolimits^{{2}}-4ac \\ \r
|
|
|
\\mathop{{x}}\\nolimits_{{1,2}}=\\frac{{-b \\pm \r
|
|
|
\\sqrt{{\\mathop{{b}}\\nolimits^{{2}}-4ac}}}}{{2a}} \\ \r
|
|
|
\\mathop{{x}}\\nolimits_{{1}}+\\mathop{{x}}\\nolimits_{{2}}=-\\frac{{b}}{{a}} \\ \r
|
|
|
\\mathop{{x}}\\nolimits_{{1}}\\mathop{{x}}\\nolimits_{{2}}=\\frac{{c}}{{a}} \r
|
|
|
\\end{array} `}]}]},{name:"\u51E0\u4F55",value:"\\Delta A B C ",children:[{data:[{value:"\\Delta A B C "},{value:"a \\parallel c,b \\parallel c \\Rightarrow a \\parallel b "},{value:"l \\perp \\beta ,l \\subset \\alpha \\Rightarrow \\alpha \\perp \\beta"},{value:`\\left.\\begin{matrix} \r
|
|
|
a \\perp \\alpha \\ \r
|
|
|
b \\perp \\alpha \r
|
|
|
\\end{matrix}\\right\\}\\Rightarrow a \\parallel b`},{value:"P \\in \\alpha ,P \\in \\beta , \\alpha \\cap \\beta =l \\Rightarrow P \\in l "},{value:`\\alpha \\perp \\beta , \\alpha \\cap \\beta =l,a \\subset \\alpha ,a \\perp l \r
|
|
|
\\Rightarrow a \\perp \\beta `},{value:`\\left.\\begin{matrix} \r
|
|
|
a \\subset \\beta ,b \\subset \\beta ,a \\cap b=P \\ \r
|
|
|
a \\parallel \\partial ,b \\parallel \\partial \r
|
|
|
\\end{matrix}\\right\\}\\Rightarrow \\beta \\parallel \\alpha `},{value:"\\alpha \\parallel \\beta , \\gamma \\cap \\alpha =a, \\gamma \\cap \\beta =b \\Rightarrow a \\parallel b "},{value:"A \\in l,B \\in l,A \\in \\alpha ,B \\in \\alpha \\Rightarrow l \\subset \\alpha "},{value:`\\left.\\begin{matrix} \r
|
|
|
m \\subset \\alpha ,n \\subset \\alpha ,m \\cap n=P \\ \r
|
|
|
a \\perp m,a \\perp n \r
|
|
|
\\end{matrix}\\right\\}\\Rightarrow a \\perp \\alpha `},{value:`\\begin{array}{c} \r
|
|
|
\\text{\u76F4\u89D2\u4E09\u89D2\u5F62\u4E2D,\u76F4\u89D2\u8FB9\u957Fa,b,\u659C\u8FB9\u8FB9\u957Fc} \\ \r
|
|
|
a^{2}+b^{2}=c^{2} \r
|
|
|
\\end{array}`}]}]},{name:"\u4E0D\u7B49\u5F0F",value:"a > b",children:[{data:[{value:"a > b,b > c \\Rightarrow a > c "},{value:"a > b,c > d \\Rightarrow a+c > b+d "},{value:"a > b > 0,c > d > 0 \\Rightarrow ac bd "},{value:`\\begin{array}{c} \r
|
|
|
a \\gt b,c \\gt 0 \\Rightarrow ac \\gt bc \\ \r
|
|
|
a \\gt b,c \\lt 0 \\Rightarrow ac \\lt bc \r
|
|
|
\\end{array}`},{value:"\\left | a-b \\right | \\geqslant \\left | a \\right | -\\left | b \\right | "},{value:"-\\left | a \\right |\\leq a\\leqslant \\left | a \\right | "},{value:"\\left | a \\right |\\leqslant b \\Rightarrow -b \\leqslant a \\leqslant \\left | b \\right | "},{value:"\\left | a+b \\right | \\leqslant \\left | a \\right | + \\left | b \\right | "},{value:`\\begin{array}{c} \r
|
|
|
a \\gt b \\gt 0,n \\in N^{\\ast},n \\gt 1 \\ \r
|
|
|
\\Rightarrow a^{n}\\gt b^{n}, \\sqrt[n]{a}\\gt \\sqrt[n]{b} \r
|
|
|
\\end{array}`},{value:`\\left( \\sum_{k=1}^n a_k b_k \\right)^{\\!\\!2}\\leq \r
|
|
|
\\left( \\sum_{k=1}^n a_k^2 \\right) \\left( \\sum_{k=1}^n b_k^2 \\right) `},{value:`\\begin{array}{c} \r
|
|
|
a,b \\in R^{+} \\ \r
|
|
|
\\Rightarrow \\frac{a+b}{{2}}\\ge \\sqrt{ab} \\ \r
|
|
|
\\left( \\text{\u5F53\u4E14\u4EC5\u5F53}a=b\\text{\u65F6\u53D6\u201C}=\\text{\u201D\u53F7}\\right) \r
|
|
|
\\end{array}`},{value:`\\begin{array}{c} \r
|
|
|
a,b \\in R \\ \r
|
|
|
\\Rightarrow a^{2}+b^{2}\\gt 2ab \\ \r
|
|
|
\\left( \\text{\u5F53\u4E14\u4EC5\u5F53}a=b\\text{\u65F6\u53D6\u201C}=\\text{\u201D\u53F7}\\right) \r
|
|
|
\\end{array}`},{value:`\\begin{array}{c} \r
|
|
|
H_{n}=\\frac{n}{\\sum \\limits_{i=1}^{n}\\frac{1}{x_{i}}}= \\frac{n}{\\frac{1}{x_{1}}+ \\frac{1}{x_{2}}+ \\cdots + \\frac{1}{x_{n}}} \\ G_{n}=\\sqrt[n]{\\prod \\limits_{i=1}^{n}x_{i}}= \\sqrt[n]{x_{1}x_{2}\\cdots x_{n}} \\ A_{n}=\\frac{1}{n}\\sum \\limits_{i=1}^{n}x_{i}=\\frac{x_{1}+ x_{2}+ \\cdots + x_{n}}{n} \\ Q_{n}=\\sqrt{\\sum \\limits_{i=1}^{n}x_{i}^{2}}= \\sqrt{\\frac{x_{1}^{2}+ x_{2}^{2}+ \\cdots + x_{n}^{2}}{n}} \\ H_{n}\\leq G_{n}\\leq A_{n}\\leq Q_{n} \r
|
|
|
\\end{array}`}]}]},{name:"\u79EF\u5206",value:"\\frac{\\mathrm{d}\\partial}{\\partial x}",children:[{data:[{value:"\\frac{\\mathrm{d}}{\\mathrm{d}x}x^n=nx^{n-1} "},{value:"\\frac{\\mathrm{d}}{\\mathrm{d}x}e^{ax}=a\\,e^{ax} "},{value:"\\frac{\\mathrm{d}}{\\mathrm{d}x}\\ln(x)=\\frac{1}{x} "},{value:"\\frac{\\mathrm{d}}{\\mathrm{d}x}\\sin x=\\cos x "},{value:"\\frac{\\mathrm{d}}{\\mathrm{d}x}\\cos x=-\\sin x "},{value:"\\int k\\mathrm{d}x = kx+C "},{value:"\\frac{\\mathrm{d}}{\\mathrm{d}x}\\tan x=\\sec^2 x "},{value:"\\frac{\\mathrm{d}}{\\mathrm{d}x}\\cot x=-\\csc^2 x "},{value:"\\int \\frac{1}{x}\\mathrm{d}x= \\ln \\left| x \\right| +C "},{value:"\\int \\frac{1}{\\sqrt{1-x^{2}}}\\mathrm{d}x= \\arcsin x +C "},{value:"\\int \\frac{1}{1+x^{2}}\\mathrm{d}x= \\arctan x +C "},{value:"\\int u \\frac{\\mathrm{d}v}{\\mathrm{d}x}\\,\\mathrm{d}x=uv-\\int \\frac{\\mathrm{d}u}{\\mathrm{d}x}v\\,\\mathrm{d}x "},{value:"f(x) = \\int_{-\\infty}^\\infty \\hat f(x)\\xi\\,e^{2 \\pi i \\xi x} \\,\\mathrm{d}\\xi "},{value:"\\int x^{\\mu}\\mathrm{d}x=\\frac{x^{\\mu +1}}{\\mu +1}+C, \\left({\\mu \\neq -1}\\right) "}]}]},{name:"\u4E09\u89D2",value:"e^{i \\theta}",children:[{name:"\u6C42\u548C Summation",data:[{value:"e^{i \\theta} "},{value:"\\left(\\frac{\\pi}{2}-\\theta \\right ) "},{value:"\\text{sin}^{2}\\frac{\\alpha}{2}=\\frac{1- \\text{cos}\\alpha}{2} "},{value:"\\text{cos}^{2}\\frac{\\alpha}{2}=\\frac{1+ \\text{cos}\\alpha}{2} "},{value:"\\text{tan}\\frac{\\alpha}{2}=\\frac{\\text{sin}\\alpha}{1+ \\text{cos}\\alpha} "},{value:"\\sin \\alpha + \\sin \\beta =2 \\sin \\frac{\\alpha + \\beta}{2}\\cos \\frac{\\alpha - \\beta}{2} "},{value:"\\sin \\alpha - \\sin \\beta =2 \\cos \\frac{\\alpha + \\beta}{2}\\sin \\frac{\\alpha - \\beta}{2} "},{value:"\\cos \\alpha + \\cos \\beta =2 \\cos \\frac{\\alpha + \\beta}{2}\\cos \\frac{\\alpha - \\beta}{2} "},{value:"\\cos \\alpha - \\cos \\beta =-2\\sin \\frac{\\alpha + \\beta}{2}\\sin \\frac{\\alpha - \\beta}{2} "},{value:"a^{2}=b^{2}+c^{2}-2bc\\cos A "},{value:"\\frac{\\sin A}{a}=\\frac{\\sin B}{b}=\\frac{\\sin C}{c}=\\frac{1}{2R} "},{value:"\\sin \\left ( \\frac{\\pi}{2}-\\alpha \\right ) = \\cos \\alpha "},{value:"\\sin \\left ( \\frac{\\pi}{2}+\\alpha \\right ) = \\cos \\alpha "}]}]},{name:"\u7EDF\u8BA1",value:"C_{r}^{n}",children:[{data:[{value:"C_{r}^{n} "},{value:"\\frac{n!}{r!(n-r)!} "},{value:"\\sum_{i=1}^{n}{X_i} "},{value:"\\sum_{i=1}^{n}{X_i^2} "},{value:"X_1, \\cdots,X_n "},{value:"\\frac{x-\\mu}{\\sigma} "},{value:"\\sum_{i=1}^{n}{(X_i - \\overline{X})^2} "},{value:`\\begin{array}{c} \r
|
|
|
\\text{\u82E5}P \\left( AB \\right) =P \\left( A \\right) P \\left( B \\right) \\\\ \r
|
|
|
\\text{\u5219}P \\left( A \\left| B\\right. \\right) =P \\left({B}\\right) \r
|
|
|
\\end{array}`},{value:"P(E) ={n \\choose k}p^k (1-p)^{n-k} "},{value:"P \\left( A \\right) = \\lim \\limits_{n \\to \\infty}f_{n}\\left ( A \\right ) "},{value:"P \\left( \\bigcup \\limits_{i=1}^{+ \\infty}A_{i}\\right) = \\prod \\limits_{i=1}^{+ \\infty}P{\\left( A_{i}\\right)} "},{value:`\\begin{array}{c} \r
|
|
|
P \\left( \\emptyset \\right) =0 \\\\ \r
|
|
|
P \\left( S \\right) =1 \r
|
|
|
\\end{array}`},{value:`\\begin{array}{c} \r
|
|
|
\\forall A \\in S \\\\ \r
|
|
|
P \\left( A \\right) \\ge 0 \r
|
|
|
\\end{array}`},{value:"P \\left( \\bigcup \\limits_{i=1}^{n}A_{i}\\right) = \\prod \\limits_{i=1}^{n}P \\left( A_{i}\\right) "},{value:`\\begin{array}{c} \r
|
|
|
S= \\binom{N}{n},A_{k}=\\binom{M}{k}\\cdot \\binom{N-M}{n-k} \\\\ \r
|
|
|
P\\left ( A_{k}\\right ) = \\frac{\\binom{M}{k}\\cdot \\binom{N-M}{n-k}}{\\binom{N}{n}} \r
|
|
|
\\end{array}`},{value:`\\begin{array}{c} \r
|
|
|
P_{n}=n! \\\\ \r
|
|
|
A_{n}^{k}=\\frac{n!}{\\left( n-k \\left) !\\right. \\right.} \r
|
|
|
\\end{array}`}]}]}],oe=ie=>{ee.current.setValue(ee.current.getValue()+" "+ie.value+" ")},ce=[{key:"1",label:"\u5FEB\u6377\u6A21\u677F",children:we.createElement(Ve.Z,{className:ve.Z.lists,gutter:[10,10]},ne.map((ie,ue)=>we.createElement(Re.Z,{flex:"110px",className:ve.Z.item},we.createElement("div",null,we.createElement(Ce.Z,{value:`$$${ie.value}$$`}),ie.name),we.createElement("div",{className:ve.Z.children},ie.children.map((ge,xe)=>we.createElement("div",{key:xe},we.createElement("h1",null,ge.name),we.createElement(Ve.Z,{gutter:[10,10]},ge.data.map((Me,Be)=>we.createElement(Re.Z,{key:Be,onClick:()=>oe(Me),className:ve.Z.diamond},we.createElement(Ce.Z,{value:"`$$"+Me.value+"$$`"}))))))))))},{key:"2",label:"\u516C\u5F0F\u6A21\u677F",children:we.createElement(Ve.Z,{className:ve.Z.lists,gutter:[10,10]},le.map((ie,ue)=>we.createElement(Re.Z,{flex:"110px",className:ve.Z.item},we.createElement("div",null,we.createElement(Ce.Z,{value:"`$$"+ie.value+"$$`"}),ie.name),we.createElement("div",{className:ve.Z.children},ie.children.map((ge,xe)=>we.createElement("div",{key:xe},ge.name&&we.createElement("h1",null,ge.name),we.createElement(Ve.Z,{gutter:[10,10]},ge.data.map((Me,Be)=>we.createElement(Re.Z,{key:Be,onClick:()=>oe(Me),className:ve.Z.diamond},we.createElement(Ce.Z,{value:"`$$"+Me.value+"$$`"}))))))))))}],he=()=>{var ie=document.createElement("div");ie.innerHTML=ee.current.getValue();var ue=ie.innerText;return pe&&pe(ue),ue};return(0,_e.useImperativeHandle)(de,()=>({getData:he})),we.createElement("div",{className:ve.Z.mathWrap},we.createElement(be.default,{defaultActiveKey:"1",items:ce}),we.createElement("math-field",{locale:"zh_cn",className:ve.Z.mathField,placeholder:"\u8BF7\u6253\u5F00\u952E\u76D8\uFF0C\u8F93\u5165\u516C\u5F0F",ref:ee,style:{width:800,marginTop:30,fontSize:18}},Pe||""),Ee&&we.createElement("div",{className:ve.Z.button},we.createElement(Fe.ZP,{size:"large",onClick:he,style:{zIndex:8,marginTop:10},type:"primary"},"\u4FDD\u5B58\u5230\u7F16\u8F91\u5668")))});Mt.Z=De},55954:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Q:function(){return Ce}});var _e=Oe(59301),Ve=Oe(57809),Re=Oe(5112),be=Oe(5871),Fe=Oe(59301),Ce=(ye=>(ye[ye.Number=1]="Number",ye[ye.Percent=2]="Percent",ye))(Ce||{});const ve=({value:ye,onChange:we,disabled:De,hidePercentOption:pe=!1,percentType:Ee="select"})=>{const Pe=(0,_e.useMemo)(()=>pe?1:2,[pe]),[de,ee]=(0,_e.useState)(Pe);console.log(de);const ne=oe=>ye.type===1?`${oe}\u5206`:`${oe}%`,le=(0,_e.useCallback)(oe=>{if(de===1){const ce=oe.replace("\u5206","");return isNaN(parseInt(ce,10))?0:ce}else return oe.replace("%","")},[de]);return(0,_e.useEffect)(()=>{ee(ye.type)},[ye]),Fe.createElement("div",{style:{display:"flex",alignItems:"center"}},Ee=="select"&&Fe.createElement(Ve.default,{size:"large",onChange:oe=>{ee(oe),we({type:oe,inputValue:oe===1?5:20})},value:de||Pe,style:{width:100},options:pe?[{label:"\u5206\u503C",value:1}]:[{label:"\u767E\u5206\u6BD4",value:2},{label:"\u5206\u503C",value:1}],disabled:De}),Ee=="radio"&&Fe.createElement(Re.ZP.Group,{size:"large",onChange:oe=>{const ce=oe.target.value;ee(ce),we({type:ce,inputValue:ce===1?5:20})},value:de||Pe,disabled:De},!pe&&Fe.createElement(Re.ZP,{value:2,style:{marginRight:"50px"}},"\u767E\u5206\u6BD4\u6263\u5206"),Fe.createElement(Re.ZP,{value:1},"\u56FA\u5B9A\u5206\u503C")),Ee=="radio"&&Fe.createElement("div",{style:{marginRight:"10px",color:"#000000"}},ye.type==2?"\u6263\u9664\u8865\u4EA4\u9636\u6BB5\u5F97\u5206\u7684":"\u6263\u9664\u603B\u6210\u7EE9\u7684"),Fe.createElement(be.Z,{size:"large",disabled:De,value:ye.inputValue,style:{width:"120px"},parser:le,addonAfter:ye.type===1?"\u5206":"%",max:de===2?100:Number.MAX_SAFE_INTEGER,min:0,precision:0,onChange:oe=>{we({type:de,inputValue:oe})}}),Ee=="radio"&&ye.type==2&&Fe.createElement("div",{style:{marginLeft:"10px",color:"#000000"}},"\u5206\u6570"))};Mt.Z=ve},67732:function(Pt,Mt,Oe){"use strict";var _e=Oe(59301),Ve=Oe(78241),Re=Oe(95237),be=Oe(57809),Fe=Oe(92832),Ce=Oe(88522),ve=Oe(3113),ye=Oe(24905),we=Oe(6848),De=Oe(8591),pe=Oe(1710),Ee=Oe(24459),Pe=Oe(61186),de=Oe.n(Pe),ee=Oe(26724),ne=Oe.n(ee),le=Oe(58143),oe=Oe(94811),ce=Oe(11420),he=Oe(13669),ie=Oe(59301),ue=Object.defineProperty,ge=Object.defineProperties,xe=Object.getOwnPropertyDescriptors,Me=Object.getOwnPropertySymbols,Be=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable,Ue=(ct,tt,dt)=>tt in ct?ue(ct,tt,{enumerable:!0,configurable:!0,writable:!0,value:dt}):ct[tt]=dt,Ge=(ct,tt)=>{for(var dt in tt||(tt={}))Be.call(tt,dt)&&Ue(ct,dt,tt[dt]);if(Me)for(var dt of Me(tt))Ne.call(tt,dt)&&Ue(ct,dt,tt[dt]);return ct},Xe=(ct,tt)=>ge(ct,xe(tt)),Ye=(ct,tt,dt)=>new Promise((At,mt)=>{var ht=Jt=>{try{Wt(dt.next(Jt))}catch(en){mt(en)}},vt=Jt=>{try{Wt(dt.throw(Jt))}catch(en){mt(en)}},Wt=Jt=>Jt.done?At(Jt.value):Promise.resolve(Jt.value).then(ht,vt);Wt((dt=dt.apply(ct,tt)).next())});const nt=[];function $e({onSearch:ct,schools:tt}){return ie.createElement(Ve.default,{colon:!1,layout:"horizontal",onFinish:ct,initialValues:{keyword:"",school_name:"",search_type:"1"}},ie.createElement(Re.Z,{style:{flexWrap:"nowrap"}},ie.createElement(Ve.default.Item,{name:"search_type",label:"\u641C\u7D22\u7C7B\u578B"},ie.createElement(be.default,{popupClassName:he.Z.selectdown,style:{width:106}},ie.createElement(be.default.Option,{value:"1"},"\u59D3\u540D"),ie.createElement(be.default.Option,{value:"2"},"\u624B\u673A\u53F7"),ie.createElement(be.default.Option,{value:"3"},"\u90AE\u7BB1"))),ie.createElement(Ve.default.Item,{style:{marginLeft:20},label:"\u641C\u7D22\u5185\u5BB9",name:"keyword",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u641C\u7D22\u5185\u5BB9"}]},ie.createElement(Fe.default,{allowClear:!0,style:{width:300},size:"middle"})),ie.createElement(Ve.default.Item,{style:{marginLeft:20},label:"\u5355\u4F4D",name:"school_name"},ie.createElement(Ce.Z,{options:tt,style:{width:300},size:"middle",showSearch:!0,filterOption:(dt,At)=>At.value.toUpperCase().indexOf(dt.toUpperCase())!==-1,placeholder:"\u8BF7\u8F93\u5165\u5355\u4F4D\u540D\u79F0"})),ie.createElement(ve.ZP,{type:"primary",style:{background:"#F6F7F9 linear-gradient(180deg, #FFFFFF 0%, #F6F7F9 100%)",boxShadow:"0px 2px 4px 0px #E0DFE1, inset 0px 1px 3px 0px rgba(255,255,255,0.5)",borderRadius:16,color:"#165DFF",marginLeft:40,border:"1px solid #BACFFE"},htmlType:"submit"},"\u641C\u7D22")))}var qe=(ct=>(ct[ct.INITDATA=0]="INITDATA",ct[ct.INITSCHOOLS=1]="INITSCHOOLS",ct[ct.SHOWLOADING=2]="SHOWLOADING",ct[ct.SELECTEDIDS=3]="SELECTEDIDS",ct[ct.SETQUERY=4]="SETQUERY",ct[ct.SETPAGE=5]="SETPAGE",ct))(qe||{});function st(ct,tt){switch(tt.type){case 0:return Ge(Ge({},ct),tt.payload);case 4:return Ge(Ge({},ct),tt.payload);case 5:return Xe(Ge({},ct),{page:tt.payload,reload:!1});case 2:return Xe(Ge({},ct),{loading:tt.payload});case 1:return Xe(Ge({},ct),{schools:tt.payload});case 3:return Xe(Ge({},ct),{selectedIds:tt.payload});default:throw new Error}}const rt={data:[],schools:[],loading:!1,selectedIds:[],query:null,page:1,count:0,reload:!1};Mt.Z=({onSelect:ct,onCancel:tt,container_id:dt,container_type:At})=>{const[mt,ht]=(0,_e.useReducer)(st,rt),{data:vt,schools:Wt,loading:Jt,selectedIds:en,page:mn,count:Ot,query:an,reload:tn}=mt;(0,_e.useEffect)(()=>{function yt(){return Ye(this,null,function*(){const{users:Gt,user_count:gt}=yield(0,oe.nQ)(Xe(Ge({},an),{page:mn,container_type:At,container_id:dt,display_aliases:!0}));ht({type:0,payload:{data:tn?Gt:[...vt,...Gt],count:gt}})})}an&&yt()},[mn,an,tn,dt,At]),(0,_e.useEffect)(()=>{function yt(){return Ye(this,null,function*(){const{school_names:Gt}=yield(0,oe.K$)({display_aliases:!0});ht({type:1,payload:Gt.map(gt=>({value:gt}))})})}yt()},[]);const Dn=[{title:"",dataIndex:"added",width:40,ellipsis:!0,render:(yt,Gt)=>ie.createElement(ye.default,{value:Gt.numid,checked:en.includes(Gt.numid),disabled:!!yt})},{title:"\u59D3\u540D",width:100,ellipsis:!0,align:"left",dataIndex:"username",render:(yt,Gt)=>ie.createElement("div",null,ie.createElement(we.Z,{placement:"bottom",title:yt},ie.createElement(Ee.Link,{style:{color:"#000000"},className:"bold c-black",to:`/users/${Gt.login}`,target:"_blank"},yt||"--")))},{title:"\u624B\u673A",width:100,dataIndex:"phone",ellipsis:!0,render:yt=>ie.createElement(we.Z,{placement:"bottom",title:yt},ie.createElement("span",{style:{color:"#000000"}},yt||"--"))},{title:"\u90AE\u7BB1",dataIndex:"email",width:100,ellipsis:!0,render:yt=>ie.createElement(we.Z,{placement:"bottom",title:yt},ie.createElement("span",{style:{color:"#000000"}},yt||"--"))},{title:"\u5B66\u53F7/\u5DE5\u53F7",width:100,dataIndex:"student_number",ellipsis:!0,render:yt=>ie.createElement(we.Z,{placement:"bottom",title:yt},ie.createElement("span",{style:{color:"#000000"}},yt||"--"))},{title:"\u5B66\u6821/\u5355\u4F4D",width:150,dataIndex:"school_name",ellipsis:!0,render:yt=>ie.createElement(we.Z,{placement:"bottom",title:yt},ie.createElement("span",{style:{color:"#000000"}},yt||"--"))},{title:"\u9662\u7CFB/\u90E8\u95E8",dataIndex:"depart_name",width:130,ellipsis:!0,render:yt=>ie.createElement(we.Z,{placement:"bottom",title:yt},ie.createElement("span",{style:{color:"#000000"}},yt||"--"))},{title:"\u5B9E\u540D\u8BA4\u8BC1",dataIndex:"auth",width:100,render:yt=>ie.createElement("span",{style:{color:"#000000"}},yt?"\u662F":"\u5426")},{title:"\u6700\u540E\u767B\u5F55\u65F6\u95F4",dataIndex:"last_login_on",width:140,ellipsis:!0,render:yt=>ie.createElement(we.Z,{placement:"bottom",title:yt},ie.createElement("span",{style:{color:"#000000"}},de()(yt).format("YYYY-MM-DD HH:mm")))},{title:"\u72B6\u6001",dataIndex:"added",width:80,render:yt=>{if(yt===1)return ie.createElement("span",{style:{color:"#000000"}},"\u5DF2\u6DFB\u52A0")}}];function Tn(yt){ht({type:4,payload:{page:1,reload:!0,query:yt}})}function sn(yt){ht({type:5,payload:yt})}function dn(yt){let Gt=en.indexOf(yt);Gt>=0?en.splice(Gt,1):en.push(yt),ht({type:3,payload:[...en]})}function Kt(){en.length===0?De.ZP.warning("\u8BF7\u5148\u5728\u4E0B\u9762\u5217\u8868\u4E2D\u9009\u62E9\u8981\u6DFB\u52A0\u6210\u5458"):(ct(en,dt),ht({type:0,payload:{data:[],count:0,page:1,selectedIds:[],query:null,reload:!1}}))}const Tt=Ot>mn*10;return ie.createElement("div",{className:"select-user-container",style:{paddingBottom:20}},ie.createElement($e,{onSearch:Tn,schools:Wt}),an?ie.createElement(ie.Fragment,null,ie.createElement("div",{className:"flexd-table-header mt20"},ie.createElement(ce.Gi,null,ie.createElement(pe.default,{pagination:!1,dataSource:nt,columns:Dn}))),ie.createElement("div",{style:{maxHeight:260,overflow:"auto",marginBottom:20}},ie.createElement(ne(),{initialLoad:!1,pageStart:1,threshold:20,loadMore:sn,hasMore:Tt,useWindow:!1},ie.createElement(ce.Gi,null,ie.createElement(pe.default,{loading:Jt,showHeader:!1,pagination:!1,dataSource:vt,columns:Dn,onRow:yt=>({onClick:Gt=>{yt.added!==1&&dn(yt.numid)}})})))),ie.createElement("div",{className:"flex-container flex-end"},ie.createElement(ve.ZP,{type:"ghost",style:{marginRight:10,border:"1px solid #C3CFE0",color:"#464F66"},onClick:tt},"\u53D6\u6D88"),ie.createElement(ve.ZP,{style:{background:"#F6F7F9 linear-gradient(180deg, #FFFFFF 0%, #F6F7F9 100%)",boxShadow:"0px 2px 4px 0px #E0DFE1, inset 0px 1px 3px 0px rgba(255,255,255,0.5)",borderRadius:2,color:"#165DFF",border:"1px solid #BACFFE"},type:"primary",onClick:Kt},"\u786E\u5B9A"))):ie.createElement("div",{className:"tc font16 c-light-black mt40 pb30"},ie.createElement("img",{src:le,width:"100",alt:""}),ie.createElement("br",null),ie.createElement("p",{className:"mt20"},"\u8BF7\u641C\u7D22\u8981\u6DFB\u52A0\u7684\u4EBA\u5458")))}},20527:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ye}});var _e=Oe(59301),Ve={flex_box_center:"flex_box_center___rQJfc",flex_space_between:"flex_space_between___MDW24",flex_box_vertical_center:"flex_box_vertical_center___RZbAv",flex_box_center_end:"flex_box_center_end___ILhJA",flex_box_column:"flex_box_column___Fmij7",orangeColor:"orangeColor___U5vU6",redColor:"redColor___qYa6X",statustitle:"statustitle___pTBLm",statusbody:"statusbody___qUPQx",flex:"flex___VtL45"},Re=Oe(43418),be="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAPCAYAAADUFP50AAAAAXNSR0IArs4c6QAAAUFJREFUOE+V0ktKw1AUxvH/rVqIxT4wkgwEUSmK4APRBfiYCKU7cOZEBOkadAMZiwhuwJETBQciFRTtwJkPBLW2BRGrRanU9kpN2sSYiGaWc/PjuznnCN2Qh8AkPo+AzXxKLLiPhW7ICtDqB4GzQkqM/huGFZgZcDCBBDaaicsTMKbZH2xfwdY5/ICAEGSasC0AwRYblj+gKkENwfy4WS9V4LHsgsk49EZteJKHdBa6w7AybdZzr3D64ILxGKjtNrx9gfsSRBSYtf6xZh1/u+qQClrIhtdFuHmGvhisJcz65RPsZl2Jc/3QE7FhpgDHuT80x2+O9cR1K/GiCDt3rkQ/+Ns43gDFD0YVmHIuQGOOmiGTARhxwkGd1cZ7Vwd0OppWr3911StpcV++Iwn67q/kyBMuHchErcqwFxT1XZXsfQJqo2zI6kdI4QAAAABJRU5ErkJggg==",Fe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAW1JREFUOE+dkj1IQmEUht9z/blp4VQEjS39eW+oSCFCpFCI4BiKFGWWQUSrCjVVg+lQNJZQDZGNTm1B4NTibS3n2lo0wuqEN8i/a0HfeN7v+d73nO+QJEcKAJzQPAwCnSpKNtoqkyRHqgDrtUFAb6Rnedx43KgT6O5P0GQijFiNLe/Sy3/B8g+YTIRRrb5jP32JYNADr8eOldU0RJEqVlm8r1kyuA/AIEB10OWy4vBgA4ryCIdjCJlMDmfn1zAY6EmyGY/UrAwrgGATWKsn4mGEQl4Uiw+YX9hT73aZiEcl8eMbZAGA0AT6/ZPY3Ykiny/A55tA7uoGqdQFBD2VbDbDugoSTTEj3gTGYgG8Vt7UeG63hNkZJ7a2s+gw1XqPnf5REKhkt4kxNakO08ycbOtRC/7FcakCwNTJ0WwmDI+1LUCZZDkSYGa5Eewf0G0KAnprNYtFQHdPbZhNS1cmLafF5bUTJsyBSVMHPm+/ADTrfrtCH68WAAAAAElFTkSuQmCC",Ce=(we,De,pe)=>new Promise((Ee,Pe)=>{var de=le=>{try{ne(pe.next(le))}catch(oe){Pe(oe)}},ee=le=>{try{ne(pe.throw(le))}catch(oe){Pe(oe)}},ne=le=>le.done?Ee(le.value):Promise.resolve(le.value).then(de,ee);ne((pe=pe.apply(we,De)).next())}),ye=({type:we,resdata:De,onok:pe,oktext:Ee,okloading:Pe})=>{const[de,ee]=(0,_e.useState)(!1),{can_copy_list:ne,can_copy_num:le,challenge_type:oe,course_data_list:ce,no_copy_list:he,no_copy_num:ie,no_use_list:ue,no_use_num:ge,repeat_shixun_num:xe,student_count:Me,total_num:Be,use_num:Ne}=De;let Ue=le>0||we==="exercise";(0,_e.useEffect)(()=>{(De==null?void 0:De.student_count)>0&&ee(!0)},[De]),console.log("---11",Pe),(0,_e.useEffect)(()=>{Pe||ee(!1)},[Pe]);const Ge=()=>{if(we==="exercise"&&oe===1)return _e.createElement(_e.Fragment,null,"\u8BFE\u5802\u5185\u6709",_e.createElement("span",{className:Ve.orangeColor},Me),"\u540D\u5B66\u751F\u5DF2\u5728\u5176\u4ED6\u8003\u8BD5\u4E2D\u6311\u6218\u8FC7\u5176\u4E2D\u7684",_e.createElement("span",{className:Ve.orangeColor},Ne),"\u4E2A\u5B9E\u8DF5\u9879\u76EE\uFF0C",_e.createElement("span",{className:Ve.redColor},"\u91CD\u590D\u53D1\u9001\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u4F5C\u7B54\u5DF2\u6311\u6218\u8FC7\u7684\u5B9E\u8BAD\u9898\u3002"));if(we==="exercise"&&oe===2)return _e.createElement(_e.Fragment,null,"\u8BFE\u5802\u5185\u6709",_e.createElement("span",{className:Ve.orangeColor},Me),"\u540D\u5B66\u751F\u5DF2\u5728\u8BFE\u5802\u5B9E\u9A8C\u4E2D\u6311\u6218\u8FC7\u5176\u4E2D\u7684",_e.createElement("span",{className:Ve.orangeColor},Ne),"\u4E2A\u5B9E\u8DF5\u9879\u76EE\uFF0C\u4E14\u4F5C\u4E1A\u5DF2\u5F00\u542F\u201C\u4F5C\u4E1A\u622A\u6B62\u540E\u4E0D\u5141\u8BB8\u5B66\u751F\u7F16\u8F91\u4EE3\u7801\u201D\u8BBE\u7F6E\u9879\uFF0C",_e.createElement("span",{className:Ve.redColor},"\u91CD\u590D\u53D1\u5E03\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(we==="shixun"&&oe===1)return _e.createElement(_e.Fragment,null,"\u8BFE\u5802\u5185\u6709",_e.createElement("span",{className:Ve.orangeColor},Me),"\u540D\u5B66\u751F\u5DF2\u5728\u8003\u8BD5\u4E2D\u6311\u6218\u8FC7\u8BE5\u5B9E\u8DF5\u9879\u76EE\uFF0C",_e.createElement("span",{className:Ve.redColor},"\u91CD\u590D\u53D1\u9001\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(we==="shixun"&&oe===2)return _e.createElement(_e.Fragment,null,"\u8BFE\u5802\u5185\u6709",_e.createElement("span",{className:Ve.orangeColor},Me),"\u540D\u5B66\u751F\u5DF2\u5728\u8BFE\u5802\u5B9E\u9A8C\u4E2D\u6311\u6218\u8FC7\u8BE5\u5B9E\u8DF5\u9879\u76EE\uFF0C\u4E14\u4F5C\u4E1A\u5DF2\u5F00\u542F\u201C\u4F5C\u4E1A\u622A\u6B62\u540E\u4E0D\u5141\u8BB8\u5B66\u751F\u7F16\u8F91\u4EE3\u7801\u201D\u8BBE\u7F6E\u9879\uFF0C",_e.createElement("span",{className:Ve.redColor},"\u91CD\u590D\u53D1\u9001\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(we==="subject"&&oe===1)return _e.createElement(_e.Fragment,null,"\u8BFE\u5802\u5185\u6709",_e.createElement("span",{className:Ve.orangeColor},Me),"\u540D\u5B66\u751F\u5DF2\u5728\u8003\u8BD5\u4E2D\u6311\u6218\u8FC7\u5176\u4E2D\u7684",_e.createElement("span",{className:Ve.orangeColor},Ne),"\u4E2A\u5B9E\u8DF5\u9879\u76EE\uFF0C",_e.createElement("span",{className:Ve.redColor},"\u91CD\u590D\u53D1\u9001\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(we==="subject"&&oe===2)return _e.createElement(_e.Fragment,null,"\u8BFE\u5802\u5185\u6709 ",_e.createElement("span",{className:Ve.orangeColor},Me)," \u540D\u5B66\u751F\u5DF2\u5728\u8BFE\u5802\u5B9E\u9A8C\u6311\u6218\u8FC7\u5176\u4E2D\u7684 ",_e.createElement("span",{className:Ve.orangeColor},Ne)," \u4E2A\u5B9E\u8DF5\u9879\u76EE\uFF0C\u4E14\u4F5C\u4E1A\u5DF2\u5F00\u542F\u201C\u4F5C\u4E1A\u622A\u6B62\u540E\u4E0D\u5141\u8BB8\u5B66\u751F\u7F16\u8F91\u4EE3\u7801\u201D\u8BBE\u7F6E\u9879\uFF0C",_e.createElement("span",{className:Ve.redColor},"\u91CD\u590D\u53D1\u9001\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(we==="exercisepush")return _e.createElement(_e.Fragment,null,"\u8BFE\u5802\u5185\u6709",_e.createElement("span",{className:Ve.orangeColor},Me),"\u540D\u5B66\u751F\u5DF2\u5728\u5176\u4ED6\u8003\u8BD5\u4E2D\u6311\u6218\u8FC7\u8BD5\u5377\u4E2D\u7684",_e.createElement("span",{className:Ve.orangeColor},Ne),"\u4E2A\u5B9E\u8DF5\u9879\u76EE \uFF0C",_e.createElement("span",{className:Ve.redColor},"\u91CD\u590D\u53D1\u5E03\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u5728\u5F53\u524D\u8003\u8BD5\u4E2D\u8FDB\u884C\u4F5C\u7B54\u3002"));if(we==="shixunpush"&&oe===1)return _e.createElement(_e.Fragment,null,"\u8BFE\u5802\u5185\u6709",_e.createElement("span",{className:Ve.orangeColor},Me),"\u540D\u5B66\u751F\u5DF2\u5728\u8003\u8BD5\u4E2D\u6311\u6218\u8FC7\u5176\u4E2D\u7684",_e.createElement("span",{className:Ve.orangeColor},Ne),"\u4E2A\u5B9E\u8DF5\u9879\u76EE\uFF0C",_e.createElement("span",{className:Ve.redColor},"\u91CD\u590D\u53D1\u5E03\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(we==="shixunpush"&&oe===2)return _e.createElement(_e.Fragment,null,"\u8BFE\u5802\u5185\u6709",_e.createElement("span",{className:Ve.orangeColor},Me),"\u540D\u5B66\u751F\u5DF2\u5728\u8BFE\u5802\u5B9E\u9A8C\u4E2D\u6311\u6218\u8FC7",_e.createElement("span",{className:Ve.orangeColor},Ne),"\u4E2A\u5B9E\u8DF5\u9879\u76EE\uFF0C\u4E14\u4F5C\u4E1A\u5DF2\u5F00\u542F\u201C\u4F5C\u4E1A\u622A\u6B62\u540E\u4E0D\u5141\u8BB8\u5B66\u751F\u7F16\u8F91\u4EE3\u7801\u201D\u8BBE\u7F6E\u9879\uFF0C",_e.createElement("span",{className:Ve.redColor},"\u91CD\u590D\u53D1\u5E03\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"))},Xe=()=>{if(we==="exercise"||we==="subject"||we==="exercisepush"||we==="shixunpush")return _e.createElement("div",{style:{marginTop:20}},ie>0&&_e.createElement("div",null,_e.createElement("span",{className:Ve.flex},_e.createElement("img",{src:Fe,style:{width:14}}),_e.createElement("span",{className:Ve.statustitle},"\u4E0D\u652F\u6301\u590D\u5236\u7684\u5B9E\u8DF5\u9879\u76EE")),_e.createElement("div",{className:Ve.statusbody},we==="exercise"&&_e.createElement("div",{style:{marginBottom:15}},"\u6CA1\u6709\u590D\u5236\u6743\u9650\u7684\u5B9E\u8DF5\u9879\u76EE\uFF0C",_e.createElement("span",{className:Ve.redColor},"\u4EE5\u4E0B\u8BD5\u9898\u5C06\u4E0D\u4F1A\u88AB\u53D1\u9001\u81F3\u8BFE\u5802\u4E2D\u3002"),"\u60A8\u4E5F\u53EF\u4EE5\u8054\u7CFB\u9879\u76EE\u521B\u5EFA\u8005\u5F00\u542F\u590D\u5236\u6743\u9650\u6216\u8005\u8054\u7CFB\u5E73\u53F0\u6559\u7814\u52A9\u7406\u8FDB\u884C\u534F\u52A9\u3002"),(we==="subject"||we==="exercisepush")&&_e.createElement("div",{style:{marginBottom:15}},"\u6CA1\u6709\u590D\u5236\u6743\u9650\u7684\u5B9E\u8DF5\u9879\u76EE\uFF0C",Ue&&_e.createElement("span",{className:Ve.redColor},"\u4E00\u952E\u590D\u5236\u4E0D\u4F1A\u590D\u5236\u6B64\u90E8\u5206\u9879\u76EE\u3002"),"\u60A8\u53EF\u4EE5\u8054\u7CFB\u9879\u76EE\u521B\u5EFA\u8005\u5F00\u542F\u590D\u5236\u6743\u9650\u6216\u8005\u8054\u7CFB\u5E73\u53F0\u6559\u7814\u52A9\u7406\u8FDB\u884C\u534F\u52A9\u3002"),we==="shixunpush"&&_e.createElement("div",{style:{marginBottom:15}},"\u6CA1\u6709\u590D\u5236\u6743\u9650\u7684\u5B9E\u8DF5\u9879\u76EE\uFF0C",Ue&&_e.createElement("span",{className:Ve.redColor},"\u4E00\u952E\u590D\u5236\u4E0D\u4F1A\u590D\u5236\u6B64\u90E8\u5206\u9879\u76EE\u3002"),"\u5EFA\u8BAE\u60A8\u91CD\u65B0\u9009\u62E9\u5B9E\u8DF5\u9879\u76EE\u518D\u53D1\u5E03\u4F5C\u4E1A\uFF0C\u4E5F\u53EF\u8054\u7CFB\u9879\u76EE\u521B\u5EFA\u8005\u5F00\u542F\u590D\u5236\u6743\u9650\u6216\u8054\u7CFB\u5E73\u53F0\u6559\u7814\u52A9\u7406\u8FDB\u884C\u534F\u52A9\u3002"),_e.createElement("div",null,he==null?void 0:he.map((Ye,nt)=>_e.createElement("a",{href:`/shixuns/${Ye.identifier}/challenges`,target:"_blank"},"\u300A",Ye==null?void 0:Ye.name,"\u300B",nt+1!==ie&&"\u3001"))))),le>0&&_e.createElement("div",{style:{marginTop:20}},_e.createElement("span",{className:Ve.flex},_e.createElement("img",{src:be,style:{width:14}}),_e.createElement("span",{className:Ve.statustitle},"\u652F\u6301\u590D\u5236\u7684\u5B9E\u8DF5\u9879\u76EE")),_e.createElement("div",{className:Ve.statusbody},we==="exercise"&&_e.createElement("div",{style:{marginBottom:15}},"\u5EFA\u8BAE\u60A8\u4E00\u952E\u590D\u5236\u5E76\u66FF\u6362\u8BD5\u9898\uFF08\u5C06\u590D\u5236\u5E76\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u9879\u76EE\u66FF\u6362\u8BD5\u5377\u4E2D\u7684\u539F\u8BD5\u9898\uFF0C\u4E0D\u4F1A\u590D\u5236\u5B66\u751F\u7684\u6311\u6218\u8BB0\u5F55\uFF0C\u65B0\u7684\u9879\u76EE\u652F\u6301\u8FDB\u884C\u7F16\u8F91\u5E76\u4E0E\u539F\u9879\u76EE\u4FE1\u606F\u4E92\u4E0D\u5F71\u54CD\uFF09\u3002"),(we==="subject"||we==="exercisepush")&&_e.createElement("div",{style:{marginBottom:15}},"\u5EFA\u8BAE\u60A8\u4E00\u952E\u590D\u5236\u5E76\u53D1\u9001\uFF08\u5C06\u590D\u5236\u5E76\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u9879\u76EE\uFF0C\u4E0D\u4F1A\u590D\u5236\u5B66\u751F\u7684\u6311\u6218\u8BB0\u5F55\uFF0C\u65B0\u7684\u9879\u76EE\u652F\u6301\u8FDB\u884C\u7F16\u8F91\u5E76\u4E0E\u539F\u9879\u76EE\u4FE1\u606F\u4E92\u4E0D\u5F71\u54CD\uFF09\u3002"),we==="shixunpush"&&_e.createElement("div",{style:{marginBottom:15}},"\u5EFA\u8BAE\u60A8\u4E00\u952E\u590D\u5236\u5E76\u66FF\u6362\u8BD5\u9898\uFF08\u5C06\u590D\u5236\u5E76\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u9879\u76EE\u66FF\u6362\u5F53\u524D\u4F5C\u4E1A\u4E2D\u7684\u5B9E\u8DF5\u9879\u76EE\uFF0C\u4E0D\u4F1A\u590D\u5236\u5B66\u751F\u7684\u6311\u6218\u8BB0\u5F55\uFF0C\u65B0\u7684\u9879\u76EE\u652F\u6301\u8FDB\u884C\u7F16\u8F91\u5E76\u4E0E\u539F\u9879\u76EE\u4FE1\u606F\u4E92\u4E0D\u5F71\u54CD\uFF09\u3002"),_e.createElement("div",null,ne==null?void 0:ne.map((Ye,nt)=>_e.createElement("a",{href:`/shixuns/${Ye.identifier}/challenges`,target:"_blank"},"\u300A",Ye==null?void 0:Ye.name,"\u300B",nt+1!==le&&"\u3001"))))));if(we==="shixun")return _e.createElement("div",{style:{marginTop:20}},le>0?"\u8BE5\u9879\u76EE\u652F\u6301\u590D\u5236\uFF0C\u5EFA\u8BAE\u60A8\u4E00\u952E\u590D\u5236\u5E76\u53D1\u9001\uFF08\u5C06\u590D\u5236\u5E76\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u9879\u76EE\uFF0C\u4E0D\u4F1A\u590D\u5236\u5B66\u751F\u7684\u6311\u6218\u8BB0\u5F55\uFF0C\u65B0\u7684\u9879\u76EE\u652F\u6301\u8FDB\u884C\u7F16\u8F91\u5E76\u4E0E\u539F\u9879\u76EE\u4FE1\u606F\u4E92\u4E0D\u5F71\u54CD\uFF09\u3002":"\u8BE5\u9879\u76EE\u4E0D\u652F\u6301\u590D\u5236\uFF0C\u60A8\u53EF\u4EE5\u8054\u7CFB\u9879\u76EE\u521B\u5EFA\u8005\u5F00\u542F\u590D\u5236\u6743\u9650\u6216\u8005\u8054\u7CFB\u5E73\u53F0\u6559\u7814\u52A9\u7406\u8FDB\u884C\u534F\u52A9\u3002")};return _e.createElement(Re.default,{open:de,onCancel:()=>{ee(!1)},cancelText:"\u53D6\u6D88",title:"\u63D0\u793A",width:700,centered:!0,cancelButtonProps:{style:{display:!Ue&&"none"}},zIndex:1003,confirmLoading:Pe,okText:Ue?Ee:"\u6211\u77E5\u9053\u4E86",onOk:()=>Ce(void 0,null,function*(){Ue?yield pe([...ne,...ue]):ee(!1)})},_e.createElement("div",{style:{maxHeight:600,overflow:"auto"}},Ge(),Xe()))}},71628:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ee}});var _e=Oe(59301),Ve=Oe(8591),Re=Oe(38854),be=Oe(44860),Fe=Oe(40846),Ce=Oe(73898),ve=Oe(56102),ye=Oe(20736),we={watermark:"watermark___hNYlv",videovideo:"videovideo___ovOkV",animate__loop:"animate__loop___mvL6s",upDown:"upDown___SlgHv",container:"container___g1WYG","video-container":"video-container___XPkWR","video-controls":"video-controls___to0Zq",hide:"hide___NA3DV","video-progress":"video-progress___gqHsd",seek:"seek___iZHBm","seek-tooltip":"seek-tooltip___uWyXx","bottom-controls":"bottom-controls___uoIBm","left-controls":"left-controls___mBEx4","right-controls":"right-controls___e9L6r",rateOverlay:"rateOverlay___HHBWe",controlText:"controlText___M_BWR","volume-controls":"volume-controls___fa3mE","fullscreen-button":"fullscreen-button___ur0es","fullscreen-button1":"fullscreen-button1___rfaXm","pip-button":"pip-button___GFO8W","playback-animation":"playback-animation___ndURq",volume:"volume___OTmpP",hidden:"hidden___o7GkT"},De=(ne,le,oe)=>new Promise((ce,he)=>{var ie=xe=>{try{ge(oe.next(xe))}catch(Me){he(Me)}},ue=xe=>{try{ge(oe.throw(xe))}catch(Me){he(Me)}},ge=xe=>xe.done?ce(xe.value):Promise.resolve(xe.value).then(ie,ue);ge((oe=oe.apply(ne,le)).next())});function pe(ne){if(isNaN(ne))return{minutes:"00",seconds:"00"};const le=new Date(ne*1e3).toISOString().substr(11,8);return{hour:le.substr(0,2),minutes:le.substr(3,2),seconds:le.substr(6,2)}}Object.defineProperty(HTMLMediaElement.prototype,"playing",{get:function(){return this.currentTime>0&&!this.paused&&!this.ended&&this.readyState>2}});function Ee(ne,le){return ne-le}function Pe(ne){ne.sort(Ee);let le=0;for(let oe=0;oe<ne.length-1;oe++){let ce=Math.abs(ne[oe+1]-ne[oe]);ce<21&&(le+=ce)}return le}const de=/(android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini)/i;var ee=(0,_e.forwardRef)(({allow_skip:ne,src:le,toLog:oe,videoId:ce,logWatchHistory:he,courseId:ie=null,startTime:ue,handlePause:ge=()=>{},handlePlay:xe=()=>{},handlePlayEnded:Me=()=>{},autoPlay:Be=!1,onPlayEnded:Ne=()=>{},isShowWaterMark:Ue=!0},Ge)=>{var Xe;const nt=((Xe=le==null?void 0:le.split("."))==null?void 0:Xe.pop())==="flv",$e=(0,_e.useRef)(),qe=(0,_e.useRef)(),st=(0,_e.useRef)(),rt=(0,_e.useRef)(),ct=(0,_e.useRef)(),tt=(0,_e.useRef)(),dt=(0,_e.useRef)(),At=(0,_e.useRef)(),mt=(0,_e.useRef)(),ht=(0,_e.useRef)(),vt=(0,_e.useRef)(),Wt=(0,_e.useRef)(),Jt=(0,_e.useRef)(),en=(0,_e.useRef)(),mn=navigator.userAgent.toLowerCase().match(de),Ot=mn?mn[0]:"pc",an=(0,_e.useRef)(!1),tn=(0,Ce.eY)();let Dn=0,Tn=0,sn=0,dn=null,Kt=!1,Tt=20,yt=1,Gt=!1,gt=!1,St=[];(0,_e.useImperativeHandle)(Ge,()=>({getLastUpdatedTime:()=>$e.current.currentTime,getDuration:()=>$e.current.duration})),Ve.ZP.config({maxCount:1,getContainer:()=>st.current});const Qt=(0,_e.useCallback)((nr,Xn=!1)=>{let $t={point:$e.current.currentTime};dn?($t.log_id=dn,$t.watch_duration=Pe(St),$t.total_duration=Tn):(ie?($t.video_id=parseInt(ce,10),$t.course_id=ie):$t.video_id=ce,$t.duration=Dn,$t.device=Ot),Xn&&($t.ed="1");function gn(){return De(this,null,function*(){Gt=!0,dn=yield he==null?void 0:he($t),Gt=!1,nr&&nr()})}gn()},[ce,ie]);(0,_e.useEffect)(()=>{$e.current&&(rt.current.style.display="none",ct.current.style.display="block"),Ve.ZP.destroy();let nr=null;return be.Z.isSupported&&nt&&le&&(le==null?void 0:le.indexOf(".m3u8"))<0?(nr=be.Z.createPlayer({type:"flv",volume:.8,cors:!0,url:le,muted:!1}),$e.current&&(nr.attachMediaElement($e.current),nr.load())):$e.current.setAttribute("src",le),wt(),()=>{nr&&(nr.unload(),nr.pause(),nr.destroy(),nr=null)}},[$e,nt,le]);function Nt(){$e.current.paused?(rt.current.style.display="none",ct.current.style.display="block"):(rt.current.style.display="block",ct.current.style.display="none")}function wt(){vt.current.style.display="none",Jt.current.style.display="none",Wt.current.style.display="none",$e.current.muted||$e.current.volume===0?vt.current.style.display="block":$e.current.volume>0&&$e.current.volume<=.5?Jt.current.style.display="block":Wt.current.style.display="block"}(0,_e.useEffect)(()=>{const nr=document.getElementById("play"),Xn=document.querySelectorAll(".playback-icons use");function $t(){xe(),ue&&!an.current&&($e.current.currentTime=ue),an.current=!0,St.push($e.current.currentTime),Kt||(Kt=!0,oe&&Qt())}function gn(){return De(this,null,function*(){Nt(),St.push($e.current.currentTime),oe&&Qt(()=>{dn=null,sn=0,Kt=!1,Gt=!1,gt=!1,St=[],Tn=0,yt=1},!0),Ne()})}function jn(){tt.current.value=Math.round($e.current.currentTime),dt.current.value=Math.round($e.current.currentTime)}function Ln(){const Hr=pe(Math.round($e.current.currentTime));mt.current.innerText=`${Hr.hour>0?Hr.hour+":":""}${Hr.minutes}:${Hr.seconds}`,mt.current.setAttribute("datetime",`${Hr.hour>0?" "+Hr.hour+" ":""}${Hr.minutes}m ${Hr.seconds}s`)}function Sr(){var Hr,Ta,Ha,sr,pr,Qa,hn;const kn=Math.round((Hr=$e.current)==null?void 0:Hr.duration);(Ha=(Ta=tt.current)==null?void 0:Ta.setAttribute)==null||Ha.call(Ta,"max",kn),(pr=(sr=dt.current)==null?void 0:sr.setAttribute)==null||pr.call(sr,"max",kn);const ar=pe(kn);At.current&&(At.current.innerText=`${ar.hour>0?ar.hour+":":""}${ar.minutes}:${ar.seconds}`,(hn=(Qa=At.current).setAttribute)==null||hn.call(Qa,"datetime",`${ar.hour>0?" "+ar.hour+" ":""}${ar.minutes}m ${ar.seconds}s`))}function Ur(){try{const Hr=Math.round($e.current.duration);tt.current.setAttribute("max",Hr),dt.current.setAttribute("max",Hr);const Ta=pe(Hr);At.current.innerText=`${Ta.hour>0?Ta.hour+":":""}${Ta.minutes}:${Ta.seconds}`,At.current.setAttribute("datetime",`${Ta.hour>0?" "+Ta.hour+" ":""}${Ta.minutes}m ${Ta.seconds}s`),jn(),Ln();const{width:Ha,height:sr,x:pr,y:Qa}=qe.current.getBoundingClientRect();if(pr<0||Qa<0||!Ha)return;if(!gt){let hn=$e.current.currentTime,kn=hn-sn;Math.abs(kn)<10?(Tn+=Math.abs(kn),sn=hn,Gt||Tn-yt*Tt>=0&&(yt++,St.push(sn),oe&&Qt())):(sn=hn,oe&&Qt())}}catch(Hr){console.log(Hr)}}function Mr(){gt=!0}function Gr(){$e.current.playing&&St.push($e.current.currentTime,sn),sn=$e.current.currentTime,gt=!1}function ma(){Dn=$e.current.duration,Dn<=20&&(Tt=Dn/3),$e.current.addEventListener("play",$t)}function Oa(Hr){Hr.preventDefault(),(0,ye.vp)()?($e.current.style.width="100%",$e.current.style.height="100%"):$e.current.style.cssText=""}function Ea(){ge()}function Ma(Hr){if(!ne){Ve.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");return}const Ta=Hr.target.dataset.seek?Hr.target.dataset.seek:Hr.target.value;$e.current.currentTime=Ta,dt.current.value=Ta,tt.current.value=Ta}function li(Hr){const Ta=Math.round(Hr.offsetX/Hr.target.clientWidth*parseInt(Hr.target.getAttribute("max"),10));tt.current.setAttribute("data-seek",Ta);const Ha=pe(Ta);ht.current.textContent=`${Ha.hour>0?Ha.hour+":":""}${Ha.minutes}:${Ha.seconds}`;const sr=$e.current.getBoundingClientRect();ht.current.style.left=`${Hr.pageX-sr.left}px`}function di(Hr){switch(Hr.code){case"Space":Hr.preventDefault(),zn();break;case"ArrowRight":if(Hr.preventDefault(),!ne){Ve.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");break}if($e.current.currentTime>=$e.current.duration)break;$e.current.currentTime=parseInt($e.current.currentTime)+5,jn();break;case"ArrowLeft":if(Hr.preventDefault(),!ne){Ve.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");break}if($e.current.currentTime===0)break;$e.current.currentTime=parseInt($e.current.currentTime)-5,jn();break;case"ArrowUp":Hr.preventDefault(),$e.current.volume<1&&($e.current.volume=(parseInt($e.current.volume*10)+1)/10);break;case"ArrowDown":Hr.preventDefault(),$e.current.volume>0&&($e.current.volume=(parseInt($e.current.volume*10)-1)/10);break}}return st.current.addEventListener((0,ye.gH)(),Oa),$e.current.addEventListener("canplay",ma),$e.current.addEventListener("ended",gn),$e.current.addEventListener("seeking",Mr),$e.current.addEventListener("seeked",Gr),$e.current.addEventListener("loadedmetadata",Sr),tt.current.addEventListener("mousemove",li),tt.current.addEventListener("input",Ma),$e.current.addEventListener("timeupdate",Ur),$e.current.addEventListener("pause",Ea),$e.current.addEventListener("volumechange",wt),document.addEventListener("keydown",di),()=>{var Hr,Ta,Ha,sr,pr,Qa,hn,kn,ar,lr,Fr,pt;(Hr=$e.current)==null||Hr.removeEventListener("canplay",ma),(Ta=$e.current)==null||Ta.removeEventListener("play",$t),(Ha=$e.current)==null||Ha.removeEventListener("ended",gn),(sr=$e.current)==null||sr.removeEventListener("seeking",Mr),(pr=$e.current)==null||pr.removeEventListener("seeked",Gr),(Qa=tt.current)==null||Qa.removeEventListener("mousemove",li),(hn=tt.current)==null||hn.removeEventListener("input",Ma),(kn=$e.current)==null||kn.removeEventListener("timeupdate",Ur),(ar=$e.current)==null||ar.removeEventListener("pause",Ea),(lr=$e.current)==null||lr.removeEventListener("loadedmetadata",Sr),(Fr=$e.current)==null||Fr.removeEventListener("volumechange",wt),document.removeEventListener("keydown",di),(pt=$e.current)!=null&&pt.playing&&(St.push(sn,$e.current.currentTime),oe&&Qt())}},[$e,le]),(0,_e.useEffect)(()=>{if($e.current.onended=()=>{Me($e)},$e.current.oncontextmenu=()=>!1,(le==null?void 0:le.indexOf(".m3u8"))>-1){if($e.current.canPlayType("application/vnd.apple.mpegurl"))$e.current.src=le;else if(Fe.ZP.isSupported()){var nr=new Fe.ZP;nr.loadSource(le),nr.attachMedia($e.current)}}},[le]);const[rn,On]=(0,_e.useState)(1),zn=()=>{$e.current.paused||$e.current.ended?$e.current.play():$e.current.pause(),Nt()};function Gn(){$e.current.muted=!$e.current.muted,$e.current.muted?(en.current.setAttribute("data-volume",volume.value),en.current.value=0):en.current.value=en.current.dataset.volume}return _e.createElement("div",{style:{position:"relative"},ref:st},_e.createElement("div",{ref:qe,className:`${we.watermark} animated_alternate animate__animated_10s animate__infinite animate__stepstart ${we.animate__loop}`},Ue&&tn?tn.login:" "),_e.createElement("div",{className:we.container},_e.createElement("div",{className:we["video-container"],id:"video-container"},_e.createElement("div",{className:we["playback-animation"],id:"playback-animation"},_e.createElement("svg",{className:we["playback-icons"]},_e.createElement("use",{className:"hidden",href:"#play-icon"}),_e.createElement("use",{href:"#pause"}))),_e.createElement("video",{className:we.video,id:"video",preload:"auto",disablePictureInPicture:!0,ref:$e,autoPlay:Be}),_e.createElement("div",{className:`${we["video-controls"]} `,id:"video-controls"},_e.createElement("div",{className:we["bottom-controls"]},_e.createElement("div",{className:we["left-controls"]},_e.createElement("button",{"data-title":"\u64AD\u653E/\u6682\u505C",id:"play",onClick:zn},_e.createElement("svg",{className:we["playback-icons"]},_e.createElement("use",{ref:ct,href:"#play-icon"}),_e.createElement("use",{ref:rt,style:{display:"none"},href:"#pause"}))),_e.createElement("div",{className:we.time},_e.createElement("time",{id:"time-elapsed",ref:mt},"00:00"),_e.createElement("span",null," / "),_e.createElement("time",{id:"duration",ref:At},"00:00"))),_e.createElement("div",{className:we["right-controls"]},ne&&_e.createElement(Re.Z,{placement:"top",overlayClassName:we.rateOverlay,getPopupContainer:nr=>nr.parentNode,menu:{items:[{key:"1",label:_e.createElement("span",{onClick:()=>{On(1),$e.current.playbackRate=1}},"1.0x")},{key:"2",label:_e.createElement("span",{onClick:()=>{On(1.5),$e.current.playbackRate=1.5}},"1.5x")},{key:"3",label:_e.createElement("span",{onClick:()=>{On(2),$e.current.playbackRate=2}},"2.0x")}]}},_e.createElement("div",{className:`${we.controlText} mr5`},"\u500D\u901F")),_e.createElement(ve.CopyToClipboard,{text:le,onCopy:()=>Ve.ZP.success("\u590D\u5236\u6210\u529F")},_e.createElement("button",{"data-title":"\u590D\u5236\u94FE\u63A5"},_e.createElement("i",{className:"icon-lianjie2 iconfont",style:{fontSize:"12px",color:"white"}}))),_e.createElement("div",{className:we["volume-controls"]},_e.createElement("button",{"data-title":"\u5F00\u542F/\u5173\u95ED\u58F0\u97F3",className:we["volume-button"],id:"volume-button",onClick:Gn},_e.createElement("i",{ref:vt,className:"icon-a-bianzu8 iconfont",style:{fontSize:"14px",color:"white"}}),_e.createElement("i",{ref:Jt,className:"icon-shengyinkaibeifen iconfont",style:{fontSize:"14px",color:"white"}}),_e.createElement("i",{ref:Wt,className:"icon-shengyinkai iconfont",style:{fontSize:"14px",color:"white"}})),_e.createElement("input",{className:we.volume,id:"volume",value:"1","data-mute":"0.5",type:"range",max:"1",min:"0",step:"0.01",ref:en,style:{display:"none"},onClick:wt})),_e.createElement("button",{"data-title":"\u5168\u5C4F/\u9000\u51FA\u5168\u5C4F",className:we["fullscreen-button"],onClick:()=>{(0,ye.vp)()?(0,ye.BU)():(0,ye.Dj)(st.current)}},_e.createElement("i",{className:"icon-fangda1 iconfont",style:{fontSize:"12px",color:"white"}})))),_e.createElement("div",{className:we["video-progress"]},_e.createElement("progress",{ref:dt,value:"0",min:"0"}),_e.createElement("input",{className:we.seek,ref:tt,value:"0",min:"0",type:"range",step:"1"}),_e.createElement("div",{className:we["seek-tooltip"],ref:ht,id:"seek-tooltip"},"00:00"))))),_e.createElement("svg",{style:{display:"none"}},_e.createElement("defs",null,_e.createElement("symbol",{id:"pause",viewBox:"0 0 24 24"},_e.createElement("path",{d:"M14.016 5.016h3.984v13.969h-3.984v-13.969zM6 18.984v-13.969h3.984v13.969h-3.984z"})),_e.createElement("symbol",{id:"play-icon",viewBox:"0 0 24 24"},_e.createElement("path",{d:"M8.016 5.016l10.969 6.984-10.969 6.984v-13.969z"})),_e.createElement("symbol",{id:"volume-high",viewBox:"0 0 24 24"},_e.createElement("path",{d:"M14.016 3.234q3.047 0.656 5.016 3.117t1.969 5.648-1.969 5.648-5.016 3.117v-2.063q2.203-0.656 3.586-2.484t1.383-4.219-1.383-4.219-3.586-2.484v-2.063zM16.5 12q0 2.813-2.484 4.031v-8.063q1.031 0.516 1.758 1.688t0.727 2.344zM3 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6z"})),_e.createElement("symbol",{id:"volume-low",viewBox:"0 0 24 24"},_e.createElement("path",{d:"M5.016 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6zM18.516 12q0 2.766-2.531 4.031v-8.063q1.031 0.516 1.781 1.711t0.75 2.32z"})),_e.createElement("symbol",{id:"volume-mute",viewBox:"0 0 24 24"},_e.createElement("path",{d:"M12 3.984v4.219l-2.109-2.109zM4.266 3l16.734 16.734-1.266 1.266-2.063-2.063q-1.547 1.313-3.656 1.828v-2.063q1.172-0.328 2.25-1.172l-4.266-4.266v6.75l-5.016-5.016h-3.984v-6h4.734l-4.734-4.734zM18.984 12q0-2.391-1.383-4.219t-3.586-2.484v-2.063q3.047 0.656 5.016 3.117t1.969 5.648q0 2.203-1.031 4.172l-1.5-1.547q0.516-1.266 0.516-2.625zM16.5 12q0 0.422-0.047 0.609l-2.438-2.438v-2.203q1.031 0.516 1.758 1.688t0.727 2.344z"})),_e.createElement("symbol",{id:"fullscreen",viewBox:"0 0 24 24"},_e.createElement("path",{d:"M14.016 5.016h4.969v4.969h-1.969v-3h-3v-1.969zM17.016 17.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 9.984v-4.969h4.969v1.969h-3v3h-1.969zM6.984 14.016v3h3v1.969h-4.969v-4.969h1.969z"})),_e.createElement("symbol",{id:"fullscreen-exit",viewBox:"0 0 24 24"},_e.createElement("path",{d:"M15.984 8.016h3v1.969h-4.969v-4.969h1.969v3zM14.016 18.984v-4.969h4.969v1.969h-3v3h-1.969zM8.016 8.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 15.984v-1.969h4.969v4.969h-1.969v-3h-3z"})),_e.createElement("symbol",{id:"pip",viewBox:"0 0 24 24"},_e.createElement("path",{d:"M21 19.031v-14.063h-18v14.063h18zM23.016 18.984q0 0.797-0.609 1.406t-1.406 0.609h-18q-0.797 0-1.406-0.609t-0.609-1.406v-14.016q0-0.797 0.609-1.383t1.406-0.586h18q0.797 0 1.406 0.586t0.609 1.383v14.016zM18.984 11.016v6h-7.969v-6h7.969z"})))))})},73278:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{h:function(){return ie}});var _e=Oe(59301),Ve=Oe(57809),Re=Oe(78241),be=Oe(3113),Fe=Oe(89780),Ce=Oe.n(Fe),ve=Oe(78780),ye=Oe(19136),we=Object.defineProperty,De=Object.defineProperties,pe=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,Pe=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable,ee=(ue,ge,xe)=>ge in ue?we(ue,ge,{enumerable:!0,configurable:!0,writable:!0,value:xe}):ue[ge]=xe,ne=(ue,ge)=>{for(var xe in ge||(ge={}))Pe.call(ge,xe)&&ee(ue,xe,ge[xe]);if(Ee)for(var xe of Ee(ge))de.call(ge,xe)&&ee(ue,xe,ge[xe]);return ue},le=(ue,ge)=>De(ue,pe(ge));const oe=Ve.default.Option,ce={labelCol:{span:4},wrapperCol:{span:20}},he={asp:["ASP","vbscript"],actionscript:["ActionScript(3.0)/Flash/Flex","clike"],bash:["Bash/Bat","shell"],css:["CSS","css"],c:["C","clike"],cpp:["C++","clike"],csharp:["C#","clike"],coffeescript:["CoffeeScript","coffeescript"],d:["D","d"],dart:["Dart","dart"],delphi:["Delphi/Pascal","pascal"],erlang:["Erlang","erlang"],go:["Golang","go"],groovy:["Groovy","groovy"],html:["HTML","text/html"],java:["Java","clike"],json:["JSON","text/json"],javascript:["Javascript","javascript"],lua:["Lua","lua"],less:["LESS","css"],markdown:["Markdown","gfm"],"objective-c":["Objective-C","clike"],php:["PHP","php"],perl:["Perl","perl"],python:["Python","python"],r:["R","r"],rst:["reStructedText","rst"],ruby:["Ruby","ruby"],sql:["SQL","sql"],sass:["SASS/SCSS","sass"],shell:["Shell","shell"],scala:["Scala","clike"],swift:["Swift","clike"],vb:["VB/VBScript","vb"],xml:["XML","text/xml"],yaml:["YAML","yaml"]};Mt.Z=({callback:ue,onCancel:ge})=>{const[xe,Me]=(0,_e.useState)("python");function Be(Ue){Me(he[Ue][1])}function Ne(Ue){ue(Ue)}return _e.createElement(Re.default,le(ne({},ce),{className:"code-block-panel",initialValues:{language:"python",content:""},onFinish:Ne,style:{width:500}}),_e.createElement(Re.default.Item,{label:"\u4EE3\u7801\u8BED\u8A00",name:"language"},_e.createElement(Ve.default,{getPopupContainer:Ue=>Ue.parentNode,onChange:Be},Object.keys(he).map(Ue=>_e.createElement(oe,{key:Ue,value:Ue},he[Ue][0])))),_e.createElement(Re.default.Item,{label:"\u4EE3\u7801\u5185\u5BB9",name:"content",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u4EE3\u7801\u5185\u5BB9"}]},_e.createElement(ie,{mode:xe})),_e.createElement("div",{className:"flex-container flex-end"},_e.createElement(be.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),_e.createElement(be.ZP,{type:"ghost",onClick:ge},"\u53D6\u6D88")))};function ie({value:ue,onChange:ge,mode:xe,options:Me={}}){const Be=(0,_e.useRef)(),[Ne,Ue]=(0,_e.useState)();return(0,_e.useEffect)(()=>{if(Ne){let Ge=function(Xe){const Ye=Xe.getValue();ge&&ge(Ye)};return Ne.on("change",Ge),()=>{Ne.off("change",Ge)}}},[Ne,ge]),(0,_e.useEffect)(()=>{Ne&&Ne.setOption("mode",xe)},[Ne,xe]),(0,_e.useEffect)(()=>{Ne&&(ue!==Ne.getValue()||ue==="")&&setTimeout(()=>{Ne.setValue(ue||"")},300)},[Ne,ue]),(0,_e.useEffect)(()=>{if(Be.current&&!Ne){const Ge=Ce().fromTextArea(Be.current,ne({mode:xe,lineNumbers:!0,lineWrapping:!0,autoCloseBrackets:!0,tabSize:4,autofocus:!0,autoCloseTags:!0,matchBrackets:!0,styleActiveLine:!0},Me));Ue(Ge)}},[Be.current,Ne]),_e.createElement("div",{className:"my-codemirror-container"},_e.createElement("textarea",{ref:Be}))}},64726:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return Ae}});var _e=Oe(59301),Ve=Oe(89780),Re=Oe.n(Ve),be=Oe(76374),Fe=Oe(78780),Ce=Oe(6313),ve=Oe(25717),ye=Oe(99498),we=Oe(25419),De=Oe(67549),pe=Oe(99325),Ee=({value:Le="",className:Ie,showTextOnly:ze,showLines:Ze,style:xt={}})=>{const bt=(0,_e.useMemo)(()=>"",[Le]);return _e.createElement(_e.Fragment,null,_e.createElement("div",{dangerouslySetInnerHTML:{__html:bt}}))},Pe=Oe(59301),de=Object.defineProperty,ee=Object.defineProperties,ne=Object.getOwnPropertyDescriptors,le=Object.getOwnPropertySymbols,oe=Object.prototype.hasOwnProperty,ce=Object.prototype.propertyIsEnumerable,he=(Le,Ie,ze)=>Ie in Le?de(Le,Ie,{enumerable:!0,configurable:!0,writable:!0,value:ze}):Le[Ie]=ze,ie=(Le,Ie)=>{for(var ze in Ie||(Ie={}))oe.call(Ie,ze)&&he(Le,ze,Ie[ze]);if(le)for(var ze of le(Ie))ce.call(Ie,ze)&&he(Le,ze,Ie[ze]);return Le},ue=(Le,Ie)=>ee(Le,ne(Ie));let ge=[{title:"\u7C97\u4F53",icon:"md-iconfont icon-bold",actionName:"bold"},{title:"\u659C\u4F53",icon:"md-iconfont icon-italic",actionName:"italic"},"|",{title:"\u65E0\u5E8F\u5217\u8868",icon:"md-iconfont icon-unorder-list",actionName:"list-ul"},{title:"\u6709\u5E8F\u5217\u8868",icon:"md-iconfont icon-order-list",actionName:"list-ol"},"|",{title:"\u884C\u5185\u4EE3\u7801",icon:"md-iconfont icon-code",actionName:"code"},{title:"\u4EE3\u7801\u5757\uFF08\u591A\u8BED\u8A00\u98CE\u683C\uFF09",icon:"md-iconfont icon-file-code",actionName:"code-block"},{title:"\u94FE\u63A5",icon:"md-iconfont icon-link",actionName:"link"},"|",{title:"\u884C\u5185\u516C\u5F0F",icon:"md-iconfont icon-sum",actionName:"inline-latex"},{title:"\u6570\u5B66\u56FE\u50CF",icon:"iconfont icon-shuxuetuxiang2",actionName:"maths-latex"},{title:"\u591A\u884C\u516C\u5F0F",icon:"iconfont icon-jisuan1",actionName:"latex"},"|",{title:"\u6DFB\u52A0\u56FE\u7247",icon:"md-iconfont icon-picture",actionName:"upload-image"},{title:"\u63D2\u5165\u753B\u56FE",icon:"iconfont icon-sheji",actionName:"draw-image"},{title:"\u63D2\u5165\u6D41\u7A0B\u56FE",icon:"iconfont icon-liucheng",actionName:"add-flowchart"},{title:"\u8868\u683C",icon:"md-iconfont icon-table",actionName:"add-table"},"|",{title:"\u6362\u884C",icon:"md-iconfont icon-minus",actionName:"line-break"},{title:"\u6E05\u7A7A",icon:"md-iconfont icon-eraser",actionName:"eraser"}];function xe({onActionCallback:Le,title:Ie,icon:ze,actionName:Ze,className:xt="",children:bt}){function Yt(){Le(Ze)}return Pe.createElement("a",{title:Ie,className:xt,onClick:Yt},Pe.createElement("i",{className:`${ze}`}),bt)}var Me=({watch:Le,showNullButton:Ie,showNullProgramButton:ze,onActionCallback:Ze,fullScreen:xt,insertTemp:bt,hidetoolBar:Yt,extraUse:Ht})=>{const cn=[...ge,{title:`${Le?"\u5173\u95ED\u5B9E\u65F6\u9884\u89C8":"\u5F00\u542F\u5B9E\u65F6\u9884\u89C8"}`,icon:`${Le?"md-iconfont icon-eye-slash":"md-iconfont icon-eye"}`,actionName:"trigger-watch"}];return Pe.createElement("ul",{className:"markdown-toolbar-container"},!Yt&&cn.map((fn,Zn)=>Pe.createElement("li",{key:Zn},fn.actionName?Pe.createElement(xe,ue(ie({},fn),{onActionCallback:Ze})):Pe.createElement("span",{className:"v-line"}))),Ie?Pe.createElement("li",null,Pe.createElement(xe,{icon:"md-iconfont icon-edit insert-blank",className:"btn-null",title:"\u589E\u52A0\u586B\u7A7A",actionName:"add-null-ch",onActionCallback:Ze},Pe.createElement("span",{className:"fill-tip"},"\u70B9\u51FB\u63D2\u5165\b\u586B\u7A7A\u9879"))):null,ze?Pe.createElement(Pe.Fragment,null,Pe.createElement("li",null,Pe.createElement(xe,{icon:"md-iconfont icon-edit insert-blank",className:"btn-null",title:"\u589E\u52A0\u586B\u7A7A",actionName:"add-signal",onActionCallback:Ze},Pe.createElement("span",{className:"fill-tip"},"+\u5355\u884C\u586B\u7A7A\u9879"))),Pe.createElement("li",null,Pe.createElement(xe,{icon:"md-iconfont icon-uniE900 insert-blank",className:"btn-null",title:"\u589E\u52A0\u586B\u7A7A",actionName:"add-multiple",onActionCallback:Ze},Pe.createElement("span",{className:"fill-tip"},"+\u591A\u884C\u586B\u7A7A\u9879")))):null,bt&&Pe.createElement("li",null,Pe.createElement(xe,{icon:"md-iconfont icon-edit",className:"btn-null",title:"\u63D2\u5165\u6A21\u677F",actionName:`inster-template-${bt}`,onActionCallback:Ze},Pe.createElement("span",{className:"fill-tip"},"\u63D2\u5165\u6A21\u677F"))),Ht&&Pe.createElement("li",null,Ht),Pe.createElement("li",{className:"btn-full-screen"},Pe.createElement(xe,{icon:`${xt?"md-iconfont icon-shrink":"md-iconfont icon-enlarge"}`,title:xt?"\u5173\u95ED\u5168\u5C4F":"\u5F00\u542F\u5168\u5C4F",actionName:"trigger-full-screen",onActionCallback:Ze})))},Be=Oe(19647),Ne=Oe(78241),Ue=Oe(92832),Ge=Oe(3113),Xe=Object.defineProperty,Ye=Object.defineProperties,nt=Object.getOwnPropertyDescriptors,$e=Object.getOwnPropertySymbols,qe=Object.prototype.hasOwnProperty,st=Object.prototype.propertyIsEnumerable,rt=(Le,Ie,ze)=>Ie in Le?Xe(Le,Ie,{enumerable:!0,configurable:!0,writable:!0,value:ze}):Le[Ie]=ze,ct=(Le,Ie)=>{for(var ze in Ie||(Ie={}))qe.call(Ie,ze)&&rt(Le,ze,Ie[ze]);if($e)for(var ze of $e(Ie))st.call(Ie,ze)&&rt(Le,ze,Ie[ze]);return Le},tt=(Le,Ie)=>Ye(Le,nt(Ie));const dt={labelCol:{span:4},wrapperCol:{span:20}};var At=({callback:Le,onCancel:Ie})=>{function ze(Ze){Le(Ze)}return _e.createElement(Ne.default,tt(ct({},dt),{initialValues:{link:"http://",title:""},className:"link-panel",onFinish:ze,style:{width:500}}),_e.createElement(Ne.default.Item,{label:"\u94FE\u63A5\u5730\u5740",name:"link",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u94FE\u63A5\u5730\u5740"}]},_e.createElement(Ue.default,null)),_e.createElement(Ne.default.Item,{label:"\u94FE\u63A5\u6807\u9898",name:"title",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u94FE\u63A5\u6807\u9898"}]},_e.createElement(Ue.default,null)),_e.createElement("div",{className:"flex-container flex-end"},_e.createElement(Ge.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),_e.createElement(Ge.ZP,{type:"ghost",onClick:Ie},"\u53D6\u6D88")))},mt=Oe(73278),ht=Oe(56030),vt=Oe(43418),Wt=Oe(95237),Jt=Oe(14573),en=Oe(59301),mn=({callback:Le,onCancel:Ie})=>{const ze=document.createElement("canvas"),Ze=ze.getContext("2d");ze.width=1e3,ze.height=800,Ze.fillStyle="#ffffff",Ze.fillRect(0,0,ze.width,ze.height);const xt=ze.toDataURL("image/png");return en.createElement(vt.default,{open:!0,width:"100vw",style:{height:"100vh",top:0},footer:null,title:null,closable:!1},en.createElement(Wt.Z,{style:{height:"100vh"}},en.createElement(Jt.Z,{fullWidth:!0,noAssociationId:!0,showFullTools:!0,data:{src:xt,visible:!0,title:String(Date.now())},onOk:bt=>{Le({src:bt.url})},onClose:Ie})))},Ot=Oe(12378);function an(){go.CommandHandler.call(this),this._arrowKeyBehavior="move",this._pasteOffset=new go.Point(10,10),this._lastPasteOffset=new go.Point(0,0)}go.Diagram.inherit(an,go.CommandHandler),an.prototype.canAlignSelection=function(){var Le=this.diagram;return!(Le===null||Le.isReadOnly||Le.isModelReadOnly||Le.selection.count<2)},an.prototype.alignLeft=function(){var Le=this.diagram;Le.startTransaction("aligning left");var Ie=1/0;Le.selection.each(function(ze){ze instanceof go.Link||(Ie=Math.min(ze.position.x,Ie))}),Le.selection.each(function(ze){ze instanceof go.Link||ze.move(new go.Point(Ie,ze.position.y))}),Le.commitTransaction("aligning left")},an.prototype.alignRight=function(){var Le=this.diagram;Le.startTransaction("aligning right");var Ie=-1/0;Le.selection.each(function(ze){if(!(ze instanceof go.Link)){var Ze=ze.actualBounds.x+ze.actualBounds.width;Ie=Math.max(Ze,Ie)}}),Le.selection.each(function(ze){ze instanceof go.Link||ze.move(new go.Point(Ie-ze.actualBounds.width,ze.position.y))}),Le.commitTransaction("aligning right")},an.prototype.alignTop=function(){var Le=this.diagram;Le.startTransaction("alignTop");var Ie=1/0;Le.selection.each(function(ze){ze instanceof go.Link||(Ie=Math.min(ze.position.y,Ie))}),Le.selection.each(function(ze){ze instanceof go.Link||ze.move(new go.Point(ze.position.x,Ie))}),Le.commitTransaction("alignTop")},an.prototype.alignBottom=function(){var Le=this.diagram;Le.startTransaction("aligning bottom");var Ie=-1/0;Le.selection.each(function(ze){if(!(ze instanceof go.Link)){var Ze=ze.actualBounds.y+ze.actualBounds.height;Ie=Math.max(Ze,Ie)}}),Le.selection.each(function(ze){ze instanceof go.Link||ze.move(new go.Point(ze.actualBounds.x,Ie-ze.actualBounds.height))}),Le.commitTransaction("aligning bottom")},an.prototype.alignCenterX=function(){var Le=this.diagram,Ie=Le.selection.first();if(Ie){Le.startTransaction("aligning Center X");var ze=Ie.actualBounds.x+Ie.actualBounds.width/2;Le.selection.each(function(Ze){Ze instanceof go.Link||Ze.move(new go.Point(ze-Ze.actualBounds.width/2,Ze.actualBounds.y))}),Le.commitTransaction("aligning Center X")}},an.prototype.alignCenterY=function(){var Le=this.diagram,Ie=Le.selection.first();if(Ie){Le.startTransaction("aligning Center Y");var ze=Ie.actualBounds.y+Ie.actualBounds.height/2;Le.selection.each(function(Ze){Ze instanceof go.Link||Ze.move(new go.Point(Ze.actualBounds.x,ze-Ze.actualBounds.height/2))}),Le.commitTransaction("aligning Center Y")}},an.prototype.alignColumn=function(Le){var Ie=this.diagram;Ie.startTransaction("align Column"),Le===void 0&&(Le=0),Le=parseFloat(Le);var ze=new Array;Ie.selection.each(function(Ht){Ht instanceof go.Link||ze.push(Ht)});for(var Ze=0;Ze<ze.length-1;Ze++){var xt=ze[Ze],bt=xt.actualBounds.y+xt.actualBounds.height+Le,Yt=ze[Ze+1];Yt.move(new go.Point(xt.actualBounds.x,bt))}Ie.commitTransaction("align Column")},an.prototype.alignRow=function(Le){Le===void 0&&(Le=0),Le=parseFloat(Le);var Ie=this.diagram;Ie.startTransaction("align Row");var ze=new Array;Ie.selection.each(function(Ht){Ht instanceof go.Link||ze.push(Ht)});for(var Ze=0;Ze<ze.length-1;Ze++){var xt=ze[Ze],bt=xt.actualBounds.x+xt.actualBounds.width+Le,Yt=ze[Ze+1];Yt.move(new go.Point(bt,xt.actualBounds.y))}Ie.commitTransaction("align Row")},an.prototype.canRotate=function(Le){var Ie=this.diagram;return!(Ie===null||Ie.isReadOnly||Ie.isModelReadOnly||Ie.selection.count<1)},an.prototype.rotate=function(Le){Le===void 0&&(Le=90);var Ie=this.diagram;Ie.startTransaction("rotate "+Le.toString());var Ie=this.diagram;Ie.selection.each(function(ze){ze instanceof go.Link||ze instanceof go.Group||(ze.angle+=Le)}),Ie.commitTransaction("rotate "+Le.toString())},an.prototype.pullToFront=function(){var Le=this.diagram;Le.startTransaction("pullToFront");var Ie=new go.Map;Le.selection.each(function(ze){Ie.set(ze.layer,0)}),Ie.iteratorKeys.each(function(ze){var Ze=0;ze.parts.each(function(xt){if(!xt.isSelected){var bt=xt.zOrder;isNaN(bt)?xt.zOrder=0:Ze=Math.max(Ze,bt)}}),Ie.set(ze,Ze)}),Le.selection.each(function(ze){an._assignZOrder(ze,Ie.get(ze.layer)+1)}),Le.commitTransaction("pullToFront")},an.prototype.pushToBack=function(){var Le=this.diagram;Le.startTransaction("pushToBack");var Ie=new go.Map;Le.selection.each(function(ze){Ie.set(ze.layer,0)}),Ie.iteratorKeys.each(function(ze){var Ze=0;ze.parts.each(function(xt){if(!xt.isSelected){var bt=xt.zOrder;isNaN(bt)?xt.zOrder=0:Ze=Math.min(Ze,bt)}}),Ie.set(ze,Ze)}),Le.selection.each(function(ze){an._assignZOrder(ze,Ie.get(ze.layer)-1-an._findGroupDepth(ze))}),Le.commitTransaction("pushToBack")},an._assignZOrder=function(Le,Ie,ze){ze===void 0&&(ze=Le),Le.layer===ze.layer&&(Le.zOrder=Ie),Le instanceof go.Group&&Le.memberParts.each(function(Ze){an._assignZOrder(Ze,Ie+1,ze)})},an._findGroupDepth=function(Le){if(Le instanceof go.Group){var Ie=0;return Le.memberParts.each(function(ze){Ie=Math.max(Ie,an._findGroupDepth(ze))}),Ie+1}else return 0},an.prototype.doKeyDown=function(){var Le=this.diagram;if(Le!==null){var Ie=Le.lastInput;if(Ie.key==="Up"||Ie.key==="Down"||Ie.key==="Left"||Ie.key==="Right"){var ze=this.arrowKeyBehavior;if(ze==="none")return;if(ze==="select"){this._arrowKeySelect();return}else if(ze==="move"){this._arrowKeyMove();return}else if(ze==="tree"){this._arrowKeyTree();return}}go.CommandHandler.prototype.doKeyDown.call(this)}},an.prototype._getAllParts=function(){var Le=new Array;return this.diagram.nodes.each(function(Ie){Le.push(Ie)}),this.diagram.parts.each(function(Ie){Le.push(Ie)}),Le},an.prototype._arrowKeyMove=function(){var Le=this.diagram,Ie=Le.lastInput,ze=0,Ze=0;if(Ie.control||Ie.meta)ze=1,Ze=1;else if(Le.grid!==null){var xt=Le.grid.gridCellSize;Ze=xt.width,ze=xt.height}Le.startTransaction("arrowKeyMove"),Le.selection.each(function(bt){Ie.key==="Up"?bt.move(new go.Point(bt.actualBounds.x,bt.actualBounds.y-ze)):Ie.key==="Down"?bt.move(new go.Point(bt.actualBounds.x,bt.actualBounds.y+ze)):Ie.key==="Left"?bt.move(new go.Point(bt.actualBounds.x-Ze,bt.actualBounds.y)):Ie.key==="Right"&&bt.move(new go.Point(bt.actualBounds.x+Ze,bt.actualBounds.y))}),Le.commitTransaction("arrowKeyMove")},an.prototype._arrowKeySelect=function(){var Le=this.diagram,Ie=Le.lastInput,ze=null;Ie.key==="Up"?ze=this._findNearestPartTowards(270):Ie.key==="Down"?ze=this._findNearestPartTowards(90):Ie.key==="Left"?ze=this._findNearestPartTowards(180):Ie.key==="Right"&&(ze=this._findNearestPartTowards(0)),ze!==null&&(Ie.shift?ze.isSelected=!0:Ie.control||Ie.meta?ze.isSelected=!ze.isSelected:Le.select(ze))},an.prototype._findNearestPartTowards=function(Le){var Ie=this.diagram.selection.first();if(Ie===null)return null;for(var ze=Ie.actualBounds.center,Ze=this._getAllParts(),xt=1/0,bt=Ie,Yt=0;Yt<Ze.length;Yt++){var Ht=Ze[Yt];if(Ht!==Ie&&Ht.canSelect()){var cn=Ht.actualBounds.center,fn=ze.directionPoint(cn),Zn=this._angleCloseness(fn,Le);if(Zn<=45){var Mn=ze.distanceSquaredPoint(cn);Mn*=1+Math.sin(Zn*Math.PI/180),Mn<xt&&(xt=Mn,bt=Ht)}}}return bt},an.prototype._angleCloseness=function(Le,Ie){return Math.min(Math.abs(Ie-Le),Math.min(Math.abs(Ie+360-Le),Math.abs(Ie-360-Le)))},an.prototype._arrowKeyTree=function(){var Le=this.diagram,Ie=Le.selection.first();if(Ie instanceof go.Node){var ze=Le.lastInput;if(ze.key==="Right"){if(!Ie.isTreeLeaf)if(!Ie.isTreeExpanded)Le.commandHandler.canExpandTree(Ie)&&Le.commandHandler.expandTree(Ie);else{var Ze=this._sortTreeChildrenByY(Ie).first();Ze!==null&&Le.select(Ze)}}else if(ze.key==="Left")if(!Ie.isTreeLeaf&&Ie.isTreeExpanded)Le.commandHandler.canCollapseTree(Ie)&&Le.commandHandler.collapseTree(Ie);else{var xt=Ie.findTreeParentNode();xt!==null&&Le.select(xt)}else if(ze.key==="Up"){var xt=Ie.findTreeParentNode();if(xt!==null){var bt=this._sortTreeChildrenByY(xt),Yt=bt.indexOf(Ie);if(Yt>0){for(var Ht=bt.elt(Yt-1);Ht!==null&&Ht.isTreeExpanded&&!Ht.isTreeLeaf;){var cn=this._sortTreeChildrenByY(Ht);Ht=cn.last()}Ht!==null&&Le.select(Ht)}else Le.select(xt)}}else if(ze.key==="Down")if(Ie.isTreeExpanded&&!Ie.isTreeLeaf){var Ze=this._sortTreeChildrenByY(Ie).first();Ze!==null&&Le.select(Ze)}else for(;Ie!==null;){var xt=Ie.findTreeParentNode();if(xt===null)break;var bt=this._sortTreeChildrenByY(xt),Yt=bt.indexOf(Ie);if(Yt<bt.length-1){Le.select(bt.elt(Yt+1));break}else Ie=xt}var fn=Le.selection.first();fn!==null&&Le.scrollToRect(fn.actualBounds)}},an.prototype._sortTreeChildrenByY=function(Le){var Ie=new go.List().addAll(Le.findTreeChildrenNodes());return Ie.sort(function(ze,Ze){var xt=ze.location,bt=Ze.location;return xt.y<bt.y?-1:xt.y>bt.y?1:xt.x<bt.x?-1:xt.x>bt.x?1:0}),Ie},an.prototype.copyToClipboard=function(Le){go.CommandHandler.prototype.copyToClipboard.call(this,Le),this._lastPasteOffset.set(this.pasteOffset)},an.prototype.pasteFromClipboard=function(){var Le=go.CommandHandler.prototype.pasteFromClipboard.call(this);return this.diagram.moveParts(Le,this._lastPasteOffset),this._lastPasteOffset.add(this.pasteOffset),Le},Object.defineProperty(an.prototype,"arrowKeyBehavior",{get:function(){return this._arrowKeyBehavior},set:function(Le){if(Le!=="move"&&Le!=="select"&&Le!=="scroll"&&Le!=="tree"&&Le!=="none")throw new Error('DrawCommandHandler.arrowKeyBehavior must be either "move", "select", "scroll", "tree", or "none", not: '+Le);this._arrowKeyBehavior=Le}}),Object.defineProperty(an.prototype,"pasteOffset",{get:function(){return this._pasteOffset},set:function(Le){if(!(Le instanceof go.Point))throw new Error("DrawCommandHandler.pasteOffset must be a Point, not: "+Le);this._pasteOffset.set(Le)}});var tn=an,Dn=Oe(29277),Tn=Oe(43604),sn=Oe(7660),dn={myPaletteDiv:"myPaletteDiv___Xjz2I",flowChartWrp:"flowChartWrp____f45r",maxH60:"maxH60___Pd4Re"},Kt=Oe(59301),Tt=(Le,Ie,ze)=>new Promise((Ze,xt)=>{var bt=cn=>{try{Ht(ze.next(cn))}catch(fn){xt(fn)}},Yt=cn=>{try{Ht(ze.throw(cn))}catch(fn){xt(fn)}},Ht=cn=>cn.done?Ze(cn.value):Promise.resolve(cn.value).then(bt,Yt);Ht((ze=ze.apply(Le,Ie)).next())});function yt({onCancel:Le,callback:Ie}){let ze=(0,_e.useRef)(),Ze=(0,_e.useRef)(),xt=(0,_e.useRef)(),bt=(0,_e.useRef)(!1);const Yt=(0,_e.useRef)(!1),[Ht,cn]=(0,_e.useState)(0);function fn(){const Mn=Ot.bx.make,er={red:"#ff3333",blue:"#3358ff",green:"#25ad23",magenta:"#d533ff",purple:"#7d33ff",orange:"#ff6233",brown:"#8e571e",white:"#ffffff",black:"#000000",beige:"#fffcd5",extralightblue:"#d5ebff",extralightred:"#f2dfe0",lightblue:"#a5d2fa",lightgray:"#cccccc",lightgreen:"#b3e6b3",lightred:"#fcbbbd"};ze.current=new Ot.S0(Ze.current,{padding:20,grid:Mn(Ot.s_,"Grid",Mn(Ot.bn,"LineH",{stroke:"lightgray",strokeWidth:.5}),Mn(Ot.bn,"LineV",{stroke:"lightgray",strokeWidth:.5})),"draggingTool.isGridSnapEnabled":!0,handlesDragDropForTopLevelParts:!0,mouseDrop:Zr=>{var ua=Zr.diagram.commandHandler.addTopLevelParts(Zr.diagram.selection,!0);ua||Zr.diagram.currentTool.doCancel()},commandHandler:Mn(tn),"clickCreatingTool.archetypeNodeData":{text:"\u672A\u547D\u540D",fill:null,stroke:null,borderColor:"rgba(0,0,0,0)"},PartCreated:Zr=>{var ua=Zr.subject;ua.location=ua.location.copy().snapToGridPoint(Zr.diagram.grid.gridOrigin,Zr.diagram.grid.gridCellSize),setTimeout(()=>{Zr.diagram.commandHandler.editTextBlock()},20)},"commandHandler.archetypeGroupData":{isGroup:!0,text:"NEW GROUP"},SelectionGrouped:Zr=>{var ua=Zr.subject;setTimeout(()=>{Zr.diagram.commandHandler.editTextBlock()})},LinkRelinked:Zr=>{var ua=Zr.parameter.part;ua.invalidateConnectedLinks();var Da=Zr.subject;Zr.diagram.toolManager.linkingTool.isForwards?Da.toNode.invalidateConnectedLinks():Da.fromNode.invalidateConnectedLinks()},"undoManager.isEnabled":!0}),ze.current.nodeTemplate=Mn(Ot.NB,"Auto",{locationSpot:Ot.z6.Center,locationObjectName:"SHAPE",desiredSize:new Ot.$u(120,60),minSize:new Ot.$u(40,40),resizable:!0,resizeCellSize:new Ot.$u(10,10),rotatable:!0},new Ot.KX("location","loc",Ot.E9.parse).makeTwoWay(Ot.E9.stringify),new Ot.KX("desiredSize","size",Ot.$u.parse).makeTwoWay(Ot.$u.stringify),Mn(Ot.bn,{name:"SHAPE",fill:er.white,cursor:"pointer",portId:"",fromLinkable:!0,toLinkable:!0,fromLinkableDuplicates:!0,toLinkableDuplicates:!0,fromSpot:Ot.z6.AllSides,toSpot:Ot.z6.AllSides},new Ot.KX("figure"),new Ot.KX("fill"),new Ot.KX("stroke","borderColor"),new Ot.KX("strokeWidth","thickness"),new Ot.KX("strokeDashArray","dash")),Mn(Ot.bn,{width:100,height:20,strokeWidth:0,fill:"transparent"}),Mn(Ot.al,{margin:1,textAlign:"center",overflow:Ot.al.OverflowEllipsis,editable:!0},new Ot.KX("text").makeTwoWay(),new Ot.KX("stroke","color"))),ze.current.nodeTemplate.toolTip=Mn("ToolTip",Mn(Ot.s_,"Vertical",{maxSize:new Ot.$u(200,NaN)},Mn(Ot.al,{font:"bold 10pt sans-serif",textAlign:"center"},new Ot.KX("text")),Mn(Ot.al,{font:"10pt sans-serif",textAlign:"center"},new Ot.KX("text","details"))));function rr(Zr,ua){var Da=(sa,Ja)=>{sa.handled=!0,sa.diagram.model.commit(Li=>{var Na=Ja.part.adornedPart,Ti=new Ot.E9().setRectSpot(Na.actualBounds,Zr);Ti.subtract(Na.location),Ti.scale(2,2),Ti.x+=Math.sign(Ti.x)*130,Ti.y+=Math.sign(Ti.y)*130,Ti.add(Na.location),Ti.snapToGridPoint(sa.diagram.grid.gridOrigin,sa.diagram.grid.gridCellSize);var ji=Li.copyNodeData(Na.data);Li.setGroupKeyForNodeData(ji,Li.getGroupKeyForNodeData(Na.data)),Li.addNodeData(ji);var Ao={from:Na.key,to:Li.getKeyForNodeData(ji)};Li.addLinkData(Ao);var uo=sa.diagram.findNodeForData(ji);uo.location=Ti,sa.diagram.select(uo),setTimeout(()=>{sa.diagram.commandHandler.editTextBlock()},20)})};return Mn(Ot.bn,{figure:ua,alignment:Zr,alignmentFocus:Zr.opposite(),width:Zr.equals(Ot.z6.Top)||Zr.equals(Ot.z6.Bottom)?25:18,height:Zr.equals(Ot.z6.Top)||Zr.equals(Ot.z6.Bottom)?18:25,fill:"orange",stroke:er.white,strokeWidth:4,mouseEnter:(sa,Ja)=>Ja.fill="dodgerblue",mouseLeave:(sa,Ja)=>Ja.fill="orange",isActionable:!0,click:Da,contextClick:Da})}function mr(Zr){return Mn(Ot.bn,{fill:"orange",stroke:"rgba(0, 0, 0, 0)",strokeWidth:15,background:"transparent",geometryString:"F1 M0 0 b 0 360 -4 0 4 z M10 0 b 0 360 -4 0 4 z M20 0 b 0 360 -4 0 4",isActionable:!0,cursor:"context-menu",mouseEnter:(ua,Da)=>Da.fill="dodgerblue",mouseLeave:(ua,Da)=>Da.fill="orange",click:(ua,Da)=>{ua.diagram.commandHandler.showContextMenu(Da.part.adornedPart)}},Zr||{})}ze.current.nodeTemplate.selectionAdornmentTemplate=Mn(Ot.uz,"Spot",Mn(Ot.Vm,{padding:10}),rr(Ot.z6.Top,"TriangleUp"),rr(Ot.z6.Left,"TriangleLeft"),rr(Ot.z6.Right,"TriangleRight"),rr(Ot.z6.Bottom,"TriangleDown"),mr({alignment:new Ot.z6(.75,0)}));function pn(Zr,ua){return(Da,sa)=>{Da.handled=!0,Da.diagram.model.commit(Ja=>{Ja.set(sa.part.adornedPart.data,Zr,ua)})}}function nn(Zr,ua){return ua||(ua="color"),Mn(Ot.bn,{width:16,height:16,stroke:"lightgray",fill:Zr,margin:1,background:"transparent",mouseEnter:(Da,sa)=>sa.stroke="dodgerblue",mouseLeave:(Da,sa)=>sa.stroke="lightgray",click:pn(ua,Zr),contextClick:pn(ua,Zr)})}function Bn(){return[Mn("ContextMenuButton",Mn(Ot.s_,"Horizontal",nn(er.white,"fill"),nn(er.beige,"fill"),nn(er.extralightblue,"fill"),nn(er.extralightred,"fill"))),Mn("ContextMenuButton",Mn(Ot.s_,"Horizontal",nn(er.lightgray,"fill"),nn(er.lightgreen,"fill"),nn(er.lightblue,"fill"),nn(er.lightred,"fill")))]}function Hn(){return[Mn("ContextMenuButton",Mn(Ot.s_,"Horizontal",nn(er.black),nn(er.green),nn(er.blue),nn(er.red))),Mn("ContextMenuButton",Mn(Ot.s_,"Horizontal",nn(er.white),nn(er.magenta),nn(er.purple),nn(er.orange)))]}function fr(Zr,ua){return ua||(ua="thickness"),Mn(Ot.bn,"LineH",{width:16,height:16,strokeWidth:Zr,margin:1,background:"transparent",mouseEnter:(Da,sa)=>sa.background="dodgerblue",mouseLeave:(Da,sa)=>sa.background="transparent",click:pn(ua,Zr),contextClick:pn(ua,Zr)})}function br(Zr,ua){return ua||(ua="dash"),Mn(Ot.bn,"LineH",{width:24,height:16,strokeWidth:2,strokeDashArray:Zr,margin:1,background:"transparent",mouseEnter:(Da,sa)=>sa.background="dodgerblue",mouseLeave:(Da,sa)=>sa.background="transparent",click:pn(ua,Zr),contextClick:pn(ua,Zr)})}function tr(){return[Mn("ContextMenuButton",Mn(Ot.s_,"Horizontal",fr(1),fr(2),fr(3),fr(4))),Mn("ContextMenuButton",Mn(Ot.s_,"Horizontal",br(null),br([2,4]),br([4,4])))]}function hr(Zr,ua){return ua||(ua="figure"),Mn(Ot.bn,{width:32,height:32,scale:.5,fill:"lightgray",figure:Zr,margin:1,background:"transparent",mouseEnter:(Da,sa)=>sa.fill="dodgerblue",mouseLeave:(Da,sa)=>sa.fill="lightgray",click:pn(ua,Zr),contextClick:pn(ua,Zr)})}ze.current.nodeTemplate.contextMenu=Mn("ContextMenu",Mn("ContextMenuButton",Mn(Ot.s_,"Horizontal",hr("Rectangle"),hr("RoundedRectangle"),hr("Ellipse"),hr("Diamond"))),Mn("ContextMenuButton",Mn(Ot.s_,"Horizontal",hr("Parallelogram2"),hr("ManualOperation"),hr("Procedure"),hr("Cylinder1"))),Mn("ContextMenuButton",Mn(Ot.s_,"Horizontal",hr("Terminator"),hr("CreateRequest"),hr("Document"),hr("TriangleDown"))),Bn(),Hn(),tr()),ze.current.groupTemplate=Mn(Ot.ZA,"Spot",{layerName:"Background",ungroupable:!0,locationSpot:Ot.z6.Center,selectionObjectName:"BODY",computesBoundsAfterDrag:!0,handlesDragDropForMembers:!0,mouseDrop:(Zr,ua)=>{var Da=ua.addMembers(ua.diagram.selection,!0);Da||ua.diagram.currentTool.doCancel()},avoidable:!1},new Ot.KX("location","loc",Ot.E9.parse).makeTwoWay(Ot.E9.stringify),Mn(Ot.s_,"Auto",{name:"BODY"},Mn(Ot.bn,{parameter1:10,fill:er.white,strokeWidth:2,cursor:"pointer",fromLinkable:!0,toLinkable:!0,fromLinkableDuplicates:!0,toLinkableDuplicates:!0,fromSpot:Ot.z6.AllSides,toSpot:Ot.z6.AllSides},new Ot.KX("fill"),new Ot.KX("stroke","color"),new Ot.KX("strokeWidth","thickness"),new Ot.KX("strokeDashArray","dash")),Mn(Ot.Vm,{background:"transparent",margin:20})),Mn(Ot.al,{alignment:Ot.z6.Top,alignmentFocus:Ot.z6.Bottom,font:"bold 12pt sans-serif",editable:!0},new Ot.KX("text"),new Ot.KX("stroke","color"))),ze.current.groupTemplate.selectionAdornmentTemplate=Mn(Ot.uz,"Spot",Mn(Ot.s_,"Auto",Mn(Ot.bn,{fill:null,stroke:"dodgerblue",strokeWidth:3}),Mn(Ot.Vm,{margin:1.5})),mr({alignment:Ot.z6.TopRight,alignmentFocus:Ot.z6.BottomRight})),ze.current.groupTemplate.contextMenu=Mn("ContextMenu",Bn(),Hn(),tr()),ze.current.linkTemplate=Mn(Ot.rU,{layerName:"Foreground",routing:Ot.rU.AvoidsNodes,corner:10,fromShortLength:10,toShortLength:15,relinkableFrom:!0,relinkableTo:!0,reshapable:!0,resegmentable:!0},new Ot.KX("fromSpot","fromSpot",Ot.z6.parse),new Ot.KX("toSpot","toSpot",Ot.z6.parse),new Ot.KX("fromShortLength","dir",Zr=>Zr>=1?10:0),new Ot.KX("toShortLength","dir",Zr=>Zr>=1?10:0),new Ot.KX("points").makeTwoWay(),Mn(Ot.bn,{strokeWidth:2},new Ot.KX("stroke","color"),new Ot.KX("strokeWidth","thickness"),new Ot.KX("strokeDashArray","dash")),Mn(Ot.bn,{segmentIndex:0,segmentOffset:new Ot.E9(15,0),segmentOrientation:Ot.rU.OrientAlong,alignmentFocus:Ot.z6.Right,figure:"circle",width:10,strokeWidth:0},new Ot.KX("fill","color"),new Ot.KX("visible","dir",Zr=>Zr===1)),Mn(Ot.bn,{segmentIndex:-1,segmentOffset:new Ot.E9(-10,6),segmentOrientation:Ot.rU.OrientPlus90,alignmentFocus:Ot.z6.Right,figure:"triangle",width:12,height:12,strokeWidth:0},new Ot.KX("fill","color"),new Ot.KX("visible","dir",Zr=>Zr>=1),new Ot.KX("width","thickness",Zr=>7+3*Zr),new Ot.KX("height","thickness",Zr=>7+3*Zr),new Ot.KX("segmentOffset","thickness",Zr=>new Ot.E9(-15,4+1.5*Zr))),Mn(Ot.bn,{segmentIndex:0,segmentOffset:new Ot.E9(15,-6),segmentOrientation:Ot.rU.OrientMinus90,alignmentFocus:Ot.z6.Right,figure:"triangle",width:12,height:12,strokeWidth:0},new Ot.KX("fill","color"),new Ot.KX("visible","dir",Zr=>Zr===2),new Ot.KX("width","thickness",Zr=>7+3*Zr),new Ot.KX("height","thickness",Zr=>7+3*Zr),new Ot.KX("segmentOffset","thickness",Zr=>new Ot.E9(-15,4+1.5*Zr))),Mn(Ot.al,{alignmentFocus:new Ot.z6(0,1,-4,0),editable:!0},new Ot.KX("text").makeTwoWay(),new Ot.KX("stroke","color"))),ze.current.linkTemplate.selectionAdornmentTemplate=Mn(Ot.uz,Mn(Ot.bn,{isPanelMain:!0,stroke:"transparent",strokeWidth:6,pathPattern:vr(2)},new Ot.KX("pathPattern","thickness",vr)),mr({alignmentFocus:new Ot.z6(0,0,-6,-4)}));function vr(Zr){return Mn(Ot.bn,{stroke:"dodgerblue",strokeWidth:2,strokeCap:"square",geometryString:"M0 0 M4 2 H3 M4 "+(Zr+4).toString()+" H3"})}function Nn(Zr){var ua="M0 0 M8 16 M0 8 L16 8 M12 11 L16 8 L12 5";return Zr===0?ua="M0 0 M16 16 M0 8 L16 8":Zr===2&&(ua="M0 0 M16 16 M0 8 L16 8 M12 11 L16 8 L12 5 M4 11 L0 8 L4 5"),Mn(Ot.bn,{geometryString:ua,margin:2,background:"transparent",mouseEnter:(Da,sa)=>sa.background="dodgerblue",mouseLeave:(Da,sa)=>sa.background="transparent",click:pn("dir",Zr),contextClick:pn("dir",Zr)})}function xr(Zr){var ua=(Da,sa)=>{Da.handled=!0,Da.diagram.model.commit(Ja=>{var Li=sa.part.adornedPart;Ja.set(Li.data,Zr?"toSpot":"fromSpot",Ot.z6.stringify(Ot.z6.AllSides)),(Zr?Li.toNode:Li.fromNode).invalidateConnectedLinks()})};return Mn(Ot.bn,{width:12,height:12,fill:"transparent",mouseEnter:(Da,sa)=>sa.background="dodgerblue",mouseLeave:(Da,sa)=>sa.background="transparent",click:ua,contextClick:ua})}function Jn(Zr,ua){var Da=0,sa=Ot.z6.RightSide;Zr.equals(Ot.z6.Top)?(Da=270,sa=Ot.z6.TopSide):Zr.equals(Ot.z6.Left)?(Da=180,sa=Ot.z6.LeftSide):Zr.equals(Ot.z6.Bottom)&&(Da=90,sa=Ot.z6.BottomSide),ua||(Da-=180);var Ja=(Li,Na)=>{Li.handled=!0,Li.diagram.model.commit(Ti=>{var ji=Na.part.adornedPart;Ti.set(ji.data,ua?"toSpot":"fromSpot",Ot.z6.stringify(sa)),(ua?ji.toNode:ji.fromNode).invalidateConnectedLinks()})};return Mn(Ot.bn,{alignment:Zr,alignmentFocus:Zr.opposite(),geometryString:"M0 0 M12 12 M12 6 L1 6 L4 4 M1 6 L4 8",angle:Da,background:"transparent",mouseEnter:(Li,Na)=>Na.background="dodgerblue",mouseLeave:(Li,Na)=>Na.background="transparent",click:Ja,contextClick:Ja})}ze.current.linkTemplate.contextMenu=Mn("ContextMenu",Hn(),tr(),Mn("ContextMenuButton",Mn(Ot.s_,"Horizontal",Nn(0),Nn(1),Nn(2))),Mn("ContextMenuButton",Mn(Ot.s_,"Horizontal",Mn(Ot.s_,"Spot",xr(!1),Jn(Ot.z6.Top,!1),Jn(Ot.z6.Left,!1),Jn(Ot.z6.Right,!1),Jn(Ot.z6.Bottom,!1)),Mn(Ot.s_,"Spot",{margin:new Ot.Zt(0,0,0,2)},xr(!0),Jn(Ot.z6.Top,!0),Jn(Ot.z6.Left,!0),Jn(Ot.z6.Right,!0),Jn(Ot.z6.Bottom,!0)))));const Nr=`{ "class": "GraphLinksModel",
|
|
|
"nodeDataArray": [
|
|
|
{"text":"Find Problem","key":-9,"loc":"-20 -140","color":"#3358ff","fill":"white","figure":"Procedure","thickness":3},
|
|
|
{"text":"What do we want?","key":-10,"loc":"-65 -324.305","group":-16,"figure":"Ellipse","fill":"white"},
|
|
|
{"text":"What do our users want?","key":-11,"loc":"105 -334.305","group":-20,"figure":"Ellipse","fill":"#ffffff","color":"black"},
|
|
|
{"text":"Meetings","key":-12,"loc":"-65 -444.305","group":-16,"figure":"TriangleDown","fill":"#ffffff"},
|
|
|
{"text":"Reviews","key":-13,"loc":"105 -454.305","group":-20,"figure":"TriangleDown","fill":"#ffffff","color":"black"},
|
|
|
{"text":"Can we solve it?","key":-14,"loc":"190 -140","color":"#7d33ff","fill":"#ffffff","figure":"Diamond","size":"140 80","thickness":3},
|
|
|
{"isGroup":true,"text":"Internal","key":-16,"loc":"-65 -384.305","fill":"#d5ebff","dash":null,"thickness":1,"group":-22},
|
|
|
{"isGroup":true,"text":"External","key":-20,"loc":"105 -394.305","fill":"#d5ebff","dash":null,"thickness":1,"group":-22},
|
|
|
{"isGroup":true,"text":"Sources","key":-22,"loc":"20 -400","fill":"#a5d2fa","dash":[4,4],"color":"#3358ff"}
|
|
|
],
|
|
|
"linkDataArray": [
|
|
|
{"from":-12,"to":-10,"points":[-65,-414.305,-65,-404.305,-65,-384.305,-65,-384.305,-65,-364.305,-65,-354.305],"dash":null,"dir":1},
|
|
|
{"from":-13,"to":-11,"points":[105,-424.305,105,-414.305,105,-394.305,105,-394.305,105,-374.305,105,-364.305],"dash":null,"color":"#000000","dir":1},
|
|
|
{"from":-10,"to":-9,"points":[-65,-294.305,-65,-284.305,-65,-232.1525,-40,-232.1525,-40,-180,-40,-170],"dir":2,"dash":[4,4]},
|
|
|
{"from":-11,"to":-9,"points":[105,-304.305,105,-294.305,105,-237.1525,0,-237.1525,0,-180,0,-170],"dash":[4,4],"dir":2},
|
|
|
{"from":-9,"to":-14,"points":[40,-150,58,-150,80,-150,80,-153.33333333333331,102,-153.33333333333331,120,-153.33333333333331],"dir":1,"color":"#3358ff"},
|
|
|
{"from":-14,"to":-9,"points":[190,-100,190,-90,-20,-90,-20,-95,-20,-100,-20,-110],"fromSpot":"BottomSide","toSpot":"BottomSide","text":"No","color":"#ff3333","thickness":2,"dir":1},
|
|
|
{"from":-9,"to":-14,"points":[40,-130,58,-130,80,-130,80,-126.66666666666666,102,-126.66666666666666,120,-126.66666666666666]}
|
|
|
]}`;var Xa=["Rectangle","Square","RoundedRectangle","Border","Ellipse","Circle","TriangleRight","TriangleDown","TriangleLeft","TriangleUp","Triangle","Diamond","LineH","LineV","None","BarH","BarV","MinusLine","PlusLine","XLine","LineRight","LineDown","LineLeft","LineUp"];function $a(Zr){return console.log("shapeName:",Zr),Xa.indexOf(Zr)>=0}var ai=new Ot.YI(xt.current,{maxSelectionCount:1,linkTemplate:Mn(Ot.rU,{locationSpot:Ot.z6.Center,selectionAdornmentTemplate:Mn(Ot.uz,"Link",{locationSpot:Ot.z6.Center},Mn(Ot.bn,{isPanelMain:!0,fill:null,stroke:"deepskyblue",strokeWidth:0}),Mn(Ot.bn,{toArrow:"Standard",stroke:null}))},{routing:Ot.rU.AvoidsNodes,curve:Ot.rU.JumpOver,corner:5,toShortLength:4},new Ot.KX("points"),Mn(Ot.bn,{isPanelMain:!0,strokeWidth:2}),Mn(Ot.bn,{toArrow:"Standard",stroke:null})),model:new Ot.FJ([{text:"\u672A\u547D\u540D",size:"100 100",fill:null,stroke:"#000"},...Ot.bn.getFigureGenerators().toArray().map(Zr=>({text:"\u672A\u547D\u540D",size:"100 100",figure:Zr.key,fill:"white",stroke:"#666",borderColor:"#000"}))])});return ze.current.addDiagramListener("TextEdited",function(Zr){var ua;const Da=Zr.subject.part;var sa=(ua=document.activeElement)==null?void 0:ua.value;typeof sa=="string"&&sa.trim()===""&&ze.current.model.commit(function(Ja){Ja.set(Da.data,"text","\u672A\u547D\u540D"),ze.current.commandHandler.stopCommand()},"increment")}),ai.nodeTemplate=Mn(Ot.NB,"Auto",{locationSpot:Ot.z6.Center},new Ot.KX("location","location",Ot.E9.parse).makeTwoWay(Ot.E9.stringify),Mn(Ot.bn,"Circle",{fill:"white",stroke:"gray",strokeWidth:2,width:20,height:20,portId:"",fromLinkable:!0,toLinkable:!0,fromLinkableDuplicates:!0,toLinkableDuplicates:!0,fromLinkableSelfNode:!0,toLinkableSelfNode:!0},new Ot.KX("stroke").makeTwoWay(),new Ot.KX("fill").makeTwoWay(),new Ot.KX("figure")),Mn(Ot.al,{margin:new Ot.Zt(5,5,3,5),font:"10pt sans-serif",minSize:new Ot.$u(16,16),maxSize:new Ot.$u(10,NaN),textAlign:"center",editable:!0},new Ot.KX("key").makeTwoWay())),setTimeout(()=>{ze.current.grid=Mn(Ot.s_,"Grid",Mn(Ot.bn,"LineH",{stroke:"lightgray",strokeWidth:.5}),Mn(Ot.bn,"LineV",{stroke:"lightgray",strokeWidth:.5})),ze.current.grid.visible=!0,ze.current.grid.gridCellStroke="darkgray",ze.current.grid.gridCellStrokeWidth=1},300),window.myDiagrams=ze.current,ze.current}const Zn=()=>Tt(this,null,function*(){var Mn=ze.current.makeImage();const er=yield(0,sn.ZP)("/api/attachments.json",{method:"post",body:{file_type:"base64",original_filename:Date.now(),file:Mn.src}});Ie({src:er.url})});return(0,_e.useEffect)(()=>(setTimeout(()=>{fn()},500),cn(Ht+1),()=>{ze.current=null}),[]),Kt.createElement("div",{ref:Yt,className:bt.current?`${dn.maxH60} body-overflow-initial`:"body-overflow-initial"},Kt.createElement(vt.default,{width:1200,icon:null,footer:null,closable:!0,visible:!!Ht,destroyOnClose:!0,maskClosable:!1,rootClassName:"zIndex-9999",title:Kt.createElement(Wt.Z,null,Kt.createElement(Tn.Z,{flex:1},"\u63D2\u5165\u6D41\u7A0B\u56FE"),Kt.createElement(Tn.Z,{onClick:()=>{var Mn,er,rr=ze.current.selection.first();if(bt.current=!bt.current,document.activeElement&&rr){let mr=(er=(Mn=document.activeElement)==null?void 0:Mn.value)==null?void 0:er.trim();typeof mr=="string"&&ze.current.model.commit(function(pn){pn.set(rr.data,"text",mr||"\u672A\u547D\u540D"),ze.current.commandHandler.stopCommand()},"increment")}cn(Ht+1)}},Kt.createElement("span",{className:"current c-blue mr30",style:{fontWeight:400}},"\u5C55\u5F00/\u6536\u8D77"))),onCancel:Le},Kt.createElement("div",{style:{width:"100%",height:"80vh",overflow:"hidden",position:"relative"},className:dn.flowChartWrp},Kt.createElement("div",{style:{display:"flex",height:"100%"}},Kt.createElement("div",{style:{width:"300px",height:"100%"}},Kt.createElement("div",{style:{background:"#fff",position:"relative",zIndex:12,fontSize:16,color:"#3061d0"}},"\u56FE\u5F62\u5E93"),Kt.createElement("div",{style:{height:"calc(100% - 50px)"},className:dn.myPaletteDiv,ref:xt})),Kt.createElement("div",{style:{flex:1,position:"relative"}},Kt.createElement("div",{ref:Ze,style:{height:"80vh"}}))),Kt.createElement("div",{className:"tr"},Kt.createElement(Ge.ZP,{size:"large",onClick:Zn,style:{position:"absolute",right:0,bottom:0,zIndex:8},type:"primary"},"\u4FDD\u5B58\u5230\u7F16\u8F91\u5668")))))}var Gt=yt,gt=Oe(5112),St=Oe(5871);const Qt=gt.ZP.Group,Nt={margin:"0 8px"};var wt=({callback:Le,onCancel:Ie})=>{function ze(Ze){Le(Ze)}return _e.createElement(Ne.default,{className:"add-table-panel",initialValues:{row:3,col:2,align:"default"},onFinish:ze},_e.createElement("div",{className:"flex-container",style:{alignItems:"baseline"}},_e.createElement("span",{style:Nt},"\u5355\u5143\u683C\u6570\uFF1A"),_e.createElement("span",{style:Nt},"\u884C\u6570"),_e.createElement(Ne.default.Item,{name:"row",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u884C\u6570"}]},_e.createElement(St.Z,null)),_e.createElement("span",{style:Nt},"\u5217\u6570"),_e.createElement(Ne.default.Item,{name:"col",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u5217\u6570"}]},_e.createElement(St.Z,null))),_e.createElement("div",{className:"flex-container",style:{marginTop:12,alignItems:"baseline"}},_e.createElement("span",{style:Nt},"\u5BF9\u9F50\u65B9\u5F0F\uFF1A"),_e.createElement(Ne.default.Item,{name:"align"},_e.createElement(Qt,null,_e.createElement(gt.ZP,{value:"default"},_e.createElement("i",{className:"fa fa-align-justify"})),_e.createElement(gt.ZP,{value:"left"},_e.createElement("i",{className:"fa fa-align-left"})),_e.createElement(gt.ZP,{value:"center"},_e.createElement("i",{className:"fa fa-align-center"})),_e.createElement(gt.ZP,{value:"right"},_e.createElement("i",{className:"fa fa-align-right"}))))),_e.createElement("div",{className:"flex-container flex-end"},_e.createElement(Ge.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),_e.createElement(Ge.ZP,{type:"ghost",onClick:Ie},"\u53D6\u6D88")))},rn=Oe(78673),On=Oe(5559),zn=Oe.n(On),nr=(0,_e.forwardRef)(({use3d:Le,width:Ie,height:ze,callback:Ze,showSaveButton:xt},bt)=>{const Yt=(0,_e.useRef)(),Ht=(0,_e.useRef)(),[cn,fn]=(0,_e.useState)(!1),Zn=(0,_e.useRef)({id:Yt,appName:"graphing",width:Ie||1e3,height:ze||600,showToolBar:!0,showMenuBar:!0,allowStyleBar:!0,showAlgebraInput:!0,enableLabelDrags:!1,enableShiftDragZoom:!0,showToolBarHelp:!1,errorDialogsActive:!0,showTutorialLink:!0,showLogging:!0,useBrowserForJS:!1});(0,_e.useEffect)(()=>{Ht.current=new(zn())(Zn.current,!0),window.onload=function(){Ht.current.inject("applet_container")}},[]);const Mn=()=>{var er=window.ggbApplet.getPNGBase64(1,!0,72);return Ze&&Ze(er),er};return(0,_e.useEffect)(()=>{Zn.current.appName=cn?"3D":"graphing",Ht.current.inject("applet_container")},[cn]),(0,_e.useEffect)(()=>{fn(Le)},[Le]),(0,_e.useImperativeHandle)(bt,()=>({getImgData:Mn})),_e.createElement(_e.Fragment,null,_e.createElement("div",{style:{width:"100%",height:"100%"},id:"applet_container",ref:Yt}),_e.createElement(Wt.Z,{align:"middle"},_e.createElement(Tn.Z,{flex:1},_e.createElement(rn.Z,{size:"default",checkedChildren:"\u5173\u95ED3D\u56FE\u50CF",unCheckedChildren:"\u5F00\u542F3D\u56FE\u50CF",checked:cn,onChange:er=>fn(er)})),_e.createElement(Tn.Z,null,_e.createElement(Ge.ZP,{size:"large",onClick:Mn,style:{zIndex:8,marginTop:10},type:"primary"},"\u4FDD\u5B58\u5230\u7F16\u8F91\u5668"))))}),Xn=Oe(46531),$t=Oe(1012),gn=Oe(8591);const jn="link",Ln="upload-image",Sr="add-flowchart",Ur="draw-image",Mr="add-flowchart",Gr="code-block",ma="add-table",Oa="------------",Ea={default:Oa,left:`:${Oa}`,center:`:${Oa}:`,right:`${Oa}:`};var Ma=Oe(50505),li=(Le,Ie,ze)=>new Promise((Ze,xt)=>{var bt=cn=>{try{Ht(ze.next(cn))}catch(fn){xt(fn)}},Yt=cn=>{try{Ht(ze.throw(cn))}catch(fn){xt(fn)}},Ht=cn=>cn.done?Ze(cn.value):Promise.resolve(cn.value).then(bt,Yt);Ht((ze=ze.apply(Le,Ie)).next())});function di(){}let Hr=0;const Ta=1e4,Ha="\u2581",sr="@\u2581\u2581@",pr="@\u2581@",Qa=`
|
|
|
**\u6A21\u677F\u6807\u9898**
|
|
|
\u6A21\u677F\u6B63\u6587\u5185\u5BB9\uFF0C\u53EF\u8F93\u5165\u6587\u672C\u5185\u5BB9\u548C\u7C98\u8D34\u56FE\u7247\u7B49\u64CD\u4F5C`,hn=["pptm","pptx","ppt","pot","pps","ppa","potx","ppsx","ppam","pptm","potm","ppsm","doc","docx","dot","dotx","docm","dotm","xls","xlsx","csv","xlt","xla","xltx","xlsm","xltm","xlam","xlsb"];function kn(Le){return/^\d+$/.test(Le)?`${Le}px`:Le}const lr=navigator.platform.toUpperCase().indexOf("MAC")>=0?"Cmd":"Ctrl",Fr={[lr+"-B"]:"bold",[lr+"-I"]:"italic"},pt={[jn]:"\u6DFB\u52A0\u94FE\u63A5",[Gr]:"\u6DFB\u52A0\u4EE3\u7801\u5757",[Ln]:"\u6DFB\u52A0\u56FE\u7247",[Ur]:"\u6DFB\u52A0\u753B\u56FE",[Sr]:"\u63D2\u5165\u6D41\u7A0B\u56FE",[ma]:"\u6DFB\u52A0\u8868\u683C","maths-latex":"\u6570\u5B66\u56FE\u50CF","inline-latex":"LATEX\u516C\u5F0F"};var Ae=({defaultValue:Le="",onChange:Ie,width:ze="100%",height:Ze=400,miniToolbar:xt=!1,isFocus:bt=!1,watch:Yt,insertTemp:Ht,mode:cn="markdown",id:fn="markdown-editor-id",showResizeBar:Zn=!1,noStorage:Mn=!1,showNullButton:er=!1,showNullProgramButton:rr=!1,hidetoolBar:mr=!1,fullScreen:pn=!1,onBlur:nn,onCMBeforeChange:Bn,onFullScreen:Hn,className:fr="",disablePaste:br=!1,disabled:tr=!1,disabledFill:hr=!1,placeholder:vr="",values:Nn="",extraUse:xr})=>{const[Jn,Nr]=(0,_e.useState)(null),[Xa,$a]=(0,_e.useState)(Le),[ai,Zr]=(0,_e.useState)(Yt),[ua,Da]=(0,_e.useState)(pn),[sa,Ja]=(0,_e.useState)(""),[Li,Na]=(0,_e.useState)(0),[Ti,ji]=(0,_e.useState)(Ze),[Ao,uo]=(0,_e.useState)(!1),Os=(0,_e.useRef)((0,$t.Z)()),zo=(0,_e.useRef)(!1),po=(0,_e.useRef)(),[qo,Uo]=(0,_e.useState)(0),[Wo,Qr]=(0,_e.useState)(0),jo=(0,_e.useRef)(),Ms=(0,_e.useRef)(),js=(0,_e.useRef)(),yo=(0,_e.useRef)(),ki=()=>li(void 0,null,function*(){var Bi;const za=yield Fetch("/api/attachments/distinct_hash_val.json",{method:"post",body:{hash_val:Os.current}});(Bi=za==null?void 0:za.attachments)!=null&&Bi.length&&(console.log("cm:",Jn,jo),za.attachments.map(Ua=>{Ua.content_type.indexOf("image")>-1?Jn.replaceSelection(``):Ua.content_type.indexOf("video")>-1?Jn.replaceSelection(`<video width="100%" controls src="${ENV.API_SERVER}/api/attachments/${data.id}"></video>`):Ua.content_type.indexOf("pdf")>-1?Jn.replaceSelection(`<a href="${ENV.API_SERVER}/api/attachments/${Ua.id}?type=${Ua.content_type}&disposition=inline" target="_blank">${Ua.name}</a>`):Jn.replaceSelection(`[${Ua.name}](${ENV.API_SERVER}/api/attachments/${Ua.id}?type=${Ua.content_type})`)}))});(0,_e.useEffect)(()=>{const Bi=window.scrollY||window.pageYOffset;$a(Nn),Jn==null||Jn.setValue(Nn),window.scrollTo(0,Bi)},[Nn]),(0,_e.useEffect)(()=>{Hn==null||Hn(ua)},[ua]),(0,_e.useEffect)(()=>{if(jo.current){let Bi=function(Ua,ja){var Wi;if(br){ja.preventDefault();return}const xo=ja.clipboardData;if(xo){const es=xo.types.toString(),ss=xo.items;if(es==="Files"||xo.types.indexOf("Files")>-1){if(ja.preventDefault(),cn=="stex")return;try{let fi=ss[1];((Wi=ss[0])==null?void 0:Wi.kind)==="file"&&(fi=ss[0]);const Ts=fi.getAsFile(),kl=Ts.name.split(".").pop();(0,ht.I)(Ts,Ks=>{var so,Ro,ms;Ks.id?((so=Ts==null?void 0:Ts.type)==null?void 0:so.indexOf("image"))>-1?za.replaceSelection(``):((Ro=Ts==null?void 0:Ts.type)==null?void 0:Ro.indexOf("video"))>-1?za.replaceSelection(`<video width="100%" controls src="/api/attachments/${Ks.id}"></video>`):((ms=Ts==null?void 0:Ts.type)==null?void 0:ms.indexOf("pdf"))>-1?za.replaceSelection(`<a href="/api/attachments/${Ks.id}?type=${Ts.type}&disposition=inline" target="_blank">${Ts.name}</a>`):hn.includes(kl)?za.replaceSelection(`<a href="/api/attachments/${Ks.id}?type=office&disposition=inline" target="_blank">${Ts.name}</a>`):za.replaceSelection(`[${Ts.name}](/api/attachments/${Ks.id}?type=${Ks.content_type})`):(Ks==null?void 0:Ks.status)===401&&(gn.ZP.warning((Ks==null?void 0:Ks.message)||"\u8BF7\u767B\u5F55\u540E\u518D\u64CD\u4F5C"),document.location.href="/user/login")})}catch(fi){gn.ZP.warning("\u8BF7\u4F7F\u7528chrome\u6D4F\u89C8\u5668\u7C98\u8D34")}return!0}else return!0}return!0};const za=Re().fromTextArea(jo.current,{mode:cn,lineNumbers:!xt,lineWrapping:!0,value:Le,autoCloseTags:!rr,autoCloseBrackets:!0});return za.on("keyup",function(Ua,ja){ja.keyCode===8&&(Ua.getValue()==""?za.setOption("placeholder",vr):za.setOption("placeholder",null))}),za.on("keydown",function(Ua,ja){if(ja.keyCode===8){var Wi=$i(Ua);Wi&&ja.preventDefault()}}),bt&&za.focus(),za.on("paste",Bi),za.on("dragleave",function(Ua,ja){Ms.current.classList.remove("mouse-hover-md")}),tr&&za.on("beforeChange",function(Ua,ja){(ja.origin==="paste"||ja.origin==="+input")&&ja.cancel()}),Nr(za),()=>{za.off("paste",Bi)}}},[]);const Gs=(0,_e.useCallback)(()=>{if(Ms.current)try{}catch(Bi){console.log(Bi,"---- to set md editor body height")}},[Ti,Ms,ua]);(0,_e.useEffect)(()=>{function Bi(){let za=new be.Z(Ua=>{for(let ja of Ua)(ja.target.offsetHeight>0||ja.target.offsetWidth>0)&&(Gs(),Jn.setSize("100%","100%"),Jn.refresh())});return za.observe(jo.current.parentElement),za}if(Jn){const za=Bi();return()=>{var Ua,ja;(Ua=jo.current)!=null&&Ua.parentElement&&za.unobserve((ja=jo.current)==null?void 0:ja.parentElement)}}},[Jn,Gs]),(0,_e.useEffect)(()=>{if(Jn){let Bi=[];for(const[za,Ua]of Object.entries(Fr)){let ja={[za]:()=>{Go(Ua)}};Bi.push(ja),Jn.addKeyMap(ja)}return po.current=setInterval(()=>{zo.current&&ki()},4e3),()=>{clearInterval(po.current);for(let za of Bi)Jn.removeKeyMap(za)}}},[Jn]),(0,_e.useEffect)(()=>{pn!==ua&&Da(pn)},[pn]),(0,Ma.Z)(()=>{if(!Mn&&Li>0){let Bi=new Date().getTime(),za=window.sessionStorage.getItem(fn);Bi>=Li+Ta&&(!za||za!==Xa)&&(window.sessionStorage.setItem(fn,Xa),uo(!0))}},Ta),(0,_e.useEffect)(()=>{Zr(Yt)},[Jn,Yt]),(0,_e.useEffect)(()=>{Jn&&bt&&Jn.focus()},[Jn,bt]),(0,_e.useEffect)(()=>{if(ai&&Jn){let Bi=function(Ua){let ja=Ua.target;if(yo.current){let Wi=ja.scrollTop/ja.scrollHeight;yo.current.scrollTop=yo.current.scrollHeight*Wi}};const za=Jn.getScrollerElement();return za.addEventListener("scroll",Bi),()=>{za.removeEventListener("scroll",Bi)}}},[Jn,ai]),(0,_e.useEffect)(()=>{if(Jn&&Bn){let Bi=function(za,Ua){Bn(za,Ua)};return Jn.on("beforeChange",Bi),()=>{Jn.off("beforeChange",Bi)}}},[Jn,Bn]),(0,_e.useEffect)(()=>{if(Jn&&nn){let Bi=function(){nn(Jn.getValue())};return Jn.on("blur",Bi),()=>{Jn.off("blur",Bi)}}},[Jn,nn]);function $i(Bi,za){var Ua=Bi.getDoc(),ja=Ua.getCursor(),Wi=Ua.getLine(ja.line),xo=Wi.charAt(ja.ch-1),es=Wi.lastIndexOf("@\u2581@",ja.ch),ss=Wi.lastIndexOf("@\u2581\u2581@",ja.ch),fi=es>ss?es:ss,Ts=es>ss?3:4;if(sr.indexOf(xo)===-1)return null;if(console.log("change1:",za,Bi,Wi,ja,fi,es,ss,xo),fi>=0&&ja.ch-fi<5){var kl=fi+Ts;return Ua.replaceRange("",{line:ja.line,ch:fi},{line:ja.line,ch:kl}),{line:ja.line,ch:kl}}return null}(0,_e.useEffect)(()=>{if(Jn){let Bi=function(za,Ua){const ja=za.getValue();$a(ja),Na(new Date().getTime()),za.getScrollerElement().dispatchEvent(new CustomEvent("scroll")),Ie&&(rr?Ie(ja,vs(ja)):Ie(ja))};return Jn.on("change",Bi),()=>{Jn.off("change",Bi)}}},[Jn,Ie]),(0,_e.useEffect)(()=>{if(Jn)if(Le==null)Jn.setValue(""),$a("");else{const Bi=window.scrollY||window.pageYOffset;Le!==Jn.getValue()&&(Jn.setValue(Le),$a(Le),Jn.setCursor(tr?1:Jn.lineCount(),0),window.scrollTo(0,Bi))}},[Jn,Le]);const Go=(0,_e.useCallback)(Bi=>{const za=Jn.getCursor(),Ua=Jn.getSelection();let ja=Ua.split(`
|
|
|
`);switch(Bi){case"bold":return Jn.replaceSelection("**"+Ua+"**"),Ua===""&&Jn.setCursor(za.line,za.ch+2),Jn.focus();case"italic":return Jn.replaceSelection("*"+Ua+"*"),Ua===""&&Jn.setCursor(za.line,za.ch+1),Jn.focus();case"code":return Jn.replaceSelection("`"+Ua+"`"),Ua===""&&Jn.setCursor(za.line,za.ch+1),Jn.focus();case"inline-latex":return Ja("inline-latex"),Jn.focus();case"latex":return Jn.replaceSelection("```latex\n"+Ua+"\n```"),Jn.setCursor(za.line+1,Ua.length+1),Jn.focus();case"line-break":return Jn.replaceSelection(`<br/>
|
|
|
`),Jn.focus();case"list-ul":return Ua===""?Jn.replaceSelection("- "+Ua):Jn.replaceSelection(ja.map(Wi=>Wi===""?"":`- ${Wi}`).join(`
|
|
|
`)),Jn.focus();case"list-ol":return Ua===""?Jn.replaceSelection("1. "+Ua):Jn.replaceSelection(ja.map((Wi,xo)=>Wi===""?"":`${xo+1}. ${Wi}`).join(`
|
|
|
`)),Jn.focus();case"add-null-ch":return Ua===""&&Jn.setCursor(za.line,za.ch),Jn.replaceSelection(Ha),Jn.focus();case"add-signal":return Ua===""&&Jn.setCursor(za.line,za.ch),Jn.replaceSelection(pr),Jn.focus();case"add-multiple":return Ua===""&&Jn.setCursor(za.line,za.ch),Jn.replaceSelection(sr),Jn.focus();case"inster-template-1":return Ua===""&&Jn.setCursor(za.line,za.ch),Jn.replaceSelection(Qa),Jn.focus();case"eraser":return Jn.setValue(""),Jn.focus();case"trigger-watch":return Zr(!ai),Jn.focus();case"trigger-full-screen":return Da(!ua),Jn.focus();case jn:Ja(jn);return;case Gr:Ja(Gr);return;case Ln:Ja(Ln);return;case Ur:Ja(Ur);return;case"maths-latex":Ja("maths-latex");return;case Sr:Ja(Sr);return;case ma:Ja(ma);return;default:throw new Error}},[Jn,ai,ua]),No=(0,_e.useCallback)((Bi,za)=>{var Ua,ja,Wi,xo,es,ss;switch(Ja(""),sa){case jn:const{title:so,link:Ro}=Bi;return Jn.replaceSelection(`[${so}](${Ro})`),Jn.focus();case Gr:const{language:ms,content:So}=Bi;return Jn.replaceSelection(["```"+ms,So,"```"].join(`
|
|
|
`)),Jn.focus();case"maths-latex":for(var fi=atob(Bi),Ts=new Uint8Array(fi.length),kl=0;kl<fi.length;kl++)Ts[kl]=fi.charCodeAt(kl);var Ks=new Blob([Ts],{type:"image/png"});(0,ht.I)(Ks,vu=>{vu.id?Jn.replaceSelection(``):(vu==null?void 0:vu.status)===401&&(document.location.href="/user/login")});break;case"inline-latex":Jn.replaceSelection("`$$"+Bi+"$$`");break;case Ln:case Ur:case Mr:const{src:ts,alt:Vs}=Bi,zs=za,bu=(Wi=(ja=(Ua=zs==null?void 0:zs.name)==null?void 0:Ua.split("."))==null?void 0:ja.pop)==null?void 0:Wi.call(ja);return((xo=zs==null?void 0:zs.type)==null?void 0:xo.indexOf("image"))>-1||!(zs!=null&&zs.type)?Vs?Jn.replaceSelection(``):Jn.replaceSelection(``):((es=zs==null?void 0:zs.type)==null?void 0:es.indexOf("video"))>-1?Jn.replaceSelection(`<video width="100%" controls src="${ts}"></video>`):((ss=zs==null?void 0:zs.type)==null?void 0:ss.indexOf("pdf"))>-1?Jn.replaceSelection(`<a href="${ts}?type=${zs.type}&disposition=inline" target="_blank">${zs.name}</a>`):hn.includes(bu)?Jn.replaceSelection(`<a href="${ts}?type=office&disposition=inline" target="_blank">${zs.name}</a>`):Jn.replaceSelection(`[${zs.name}](${ts})`),Jn.focus();case ma:const{row:gu,col:Yc,align:md}=Bi;let Zu=`
|
|
|
`;for(let vu=0;vu<gu;vu++){let pd=[],yd=[];for(let Xc=0;Xc<Yc;Xc++)vu===1&&yd.push(Ea[md]),pd.push(" ");vu===1&&(Zu+=`| ${yd.join(" | ")} |
|
|
|
`),Zu+=`| ${pd.join(Yc===1?"":" | ")} |
|
|
|
`}return Jn.replaceSelection(Zu+`
|
|
|
`),Jn.focus();default:throw new Error}},[Jn,sa]),Cs=(0,_e.useMemo)(()=>{switch(sa){case jn:return _e.createElement(At,{callback:No,onCancel:tl});case Gr:return _e.createElement(mt.Z,{callback:No,onCancel:tl});case Ln:return _e.createElement(ht.Z,{callback:No,onCancel:tl});case Sr:return _e.createElement(Gt,{callback:No,onCancel:tl});case ma:return _e.createElement(wt,{callback:No,onCancel:tl});case"maths-latex":return _e.createElement(nr,{showSaveButton:!0,callback:No});case"inline-latex":return _e.createElement(Xn.Z,{showSaveButton:!0,callback:No});default:return null}},[sa]);function tl(){Ja("")}(0,_e.useEffect)(()=>{if(js.current){let Bi=function(es){Wi=!0,xo=es.pageY},za=function(){Wi=!1},Ua=function(es){if(Wi){let ss=es.pageY-xo;ss<0&&(ss=0),ss>300&&(ss=300);let fi=Ze+ss+"px";ji(fi)}},ja=js.current,Wi=!1,xo=0;return ja.addEventListener("mousedown",Bi),document.addEventListener("mousemove",Ua),document.addEventListener("mouseup",za),()=>{ja.removeEventListener("mousedown",Bi),document.removeEventListener("mousemove",Ua),document.removeEventListener("mouseup",za)}}},[Jn,js]),(0,_e.useEffect)(()=>{ji(Ze)},[Ze]);const nl=kn(ze),hu=kn(Ti),_l={width:nl,height:hu},Ds=(0,_e.useMemo)(()=>{if(Li){let Bi=new Date(Li),za=Bi.getHours(),Ua=Bi.getMinutes(),ja=Bi.getSeconds();return za=za<10?"0"+za:za,Ua=Ua<10?"0"+Ua:Ua,ja=ja<10?"0"+ja:ja,`${za}:${Ua}:${ja}`}return 0},[Li]),vs=Bi=>{const za=[];if(rr){let Ua=-1;Bi=Bi.replace(/(@▁▁@|@▁@)/g,function(ja,Wi,xo){za.push({multiLine:ja!==pr})})}return za};function Fl(){window.sessionStorage.removeItem(fn),uo(!1),Na(0)}function Su(){uo(!1),Na(0),Jn.setValue(window.sessionStorage.getItem(fn))}(0,_e.useEffect)(()=>{pt[sa]&&sa!==Ur&&sa!==Sr&&setTimeout(()=>{const Bi=document.getElementsByClassName("markdown-popup-form")[0],za=window.innerWidth/2-Bi.offsetWidth/2,Ua=window.innerHeight/2-Bi.offsetHeight/2;Uo(za),Qr(Ua)},0)},[sa]);const Ps=Bi=>{Bi.preventDefault();const za=Bi.clientX-qo,Ua=Bi.clientY-Wo;document.body.onmousemove=ja=>{let Wi=ja.clientX-za,xo=ja.clientY-Ua;const es=document.getElementsByClassName("markdown-popup-form")[0],ss=window.innerWidth-es.offsetWidth,fi=window.innerHeight-es.offsetHeight;Wi=Math.max(0,Math.min(Wi,ss)),xo=Math.max(0,Math.min(xo,fi)),Ku(ja.clientX,ja.clientY,za,Ua)&&(Uo(Wi),Qr(xo))},document.body.onmouseup=function(){document.body.onmousemove=null}},Ku=(Bi,za,Ua,ja)=>{const Wi=document.body.clientHeight,xo=document.body.clientWidth;return Bi<20&&Ua>Bi||Bi>xo-20&&Ua<Bi||za<20&&ja>za||za>Wi-20&&ja<za?(document.body.onmousemove=null,document.body.onmouseup=null,!1):!0};return _e.createElement(_e.Fragment,null,_e.createElement("div",{className:"markdown-editor-wrapper",ref:Ms},_e.createElement("div",{className:`markdown-editor-container ${fr} ${ai?"on-preview":""} ${xt?"mini":""} ${ua?"full-screen":""}`,style:_l},_e.createElement(Me,{insertTemp:Ht,watch:ai,fullScreen:ua,showNullButton:er,showNullProgramButton:rr,onActionCallback:Go,hidetoolBar:mr,extraUse:xr}),_e.createElement("div",{className:"markdown-editor-body"},_e.createElement("div",{className:"codemirror-container"},_e.createElement("textarea",{ref:jo,placeholder:vr})),ai?_e.createElement("div",{ref:yo,className:"preview-container"},cn==="stex"&&_e.createElement(Ee,{value:Xa}),cn!=="stex"&&_e.createElement(pe.Z,{disabledFill:hr,showProgramFill:rr,value:Xa})):null))),Zn?_e.createElement("a",{ref:js,className:"editor-resize"}):null,sa===Ur&&_e.createElement(mn,{callback:No,onCancel:tl}),sa===Sr&&_e.createElement(Gt,{callback:No,onCancel:tl}),_e.createElement(Be.Z,null,pt[sa]&&sa!==Ur&&sa!==Sr?_e.createElement(vt.default,{maskClosable:!1,centered:!0,style:{position:"absolute",left:qo,top:Wo},title:_e.createElement("div",{style:{cursor:"move"},onMouseDown:Ps},pt[sa]),open:!0,onCancel:tl,footer:null,destroyOnClose:!0,width:sa===Sr?"1200px":null,height:sa===Sr?"80vh":null,className:"markdown-popup-form"},Cs):null))}},56030:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ie},I:function(){return ge}});var _e=Oe(78241),Ve=Oe(8591),Re=Oe(92832),be=Oe(3113),Fe=Oe(49291),Ce=Oe(59301),ve=Oe(73898),ye=Oe(59301),we=Object.defineProperty,De=Object.defineProperties,pe=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,Pe=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable,ee=(xe,Me,Be)=>Me in xe?we(xe,Me,{enumerable:!0,configurable:!0,writable:!0,value:Be}):xe[Me]=Be,ne=(xe,Me)=>{for(var Be in Me||(Me={}))Pe.call(Me,Be)&&ee(xe,Be,Me[Be]);if(Ee)for(var Be of Ee(Me))de.call(Me,Be)&&ee(xe,Be,Me[Be]);return xe},le=(xe,Me)=>De(xe,pe(Me));const{useForm:oe}=_e.default,ce={width:280,marginRight:10},he={labelCol:{span:5},wrapperCol:{span:19}};var ie=({callback:xe,onCancel:Me})=>{const[Be]=oe();let Ne=(0,Ce.useRef)();function Ue(Ye){xe(Ye,Ne.current)}function Ge(Ye,nt){if(Ye.status===-1){Ve.ZP.error(Ye.message);return}Be.setFieldsValue({src:`/api/attachments/${Ye.id}`,type:nt.type})}function Xe(Ye){let nt=Ye.target.files[0];Ne.current=nt,ge(nt,Ge)}return ye.createElement(_e.default,le(ne({form:Be},he),{className:"upload-image-panel",onFinish:Ue,style:{width:470,overflow:"hidden"}}),ye.createElement(_e.default.Item,{label:"\u56FE\u7247\u5730\u5740",required:!0},ye.createElement("div",{className:"flex-container"},ye.createElement(_e.default.Item,{noStyle:!0,name:"src",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u6587\u4EF6\u5730\u5740"}]},ye.createElement(Re.default,{style:ce})),ye.createElement(ue,{onFileChange:Xe}))),ye.createElement(_e.default.Item,{label:"\u56FE\u7247\u63CF\u8FF0",name:"alt"},ye.createElement(Re.default,{style:{width:264}})),ye.createElement(_e.default.Item,{style:{textAlign:"right"}},ye.createElement(be.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),ye.createElement(be.ZP,{type:"default",onClick:Me},"\u53D6\u6D88")))};function ue({onFileChange:xe}){return ye.createElement("label",{className:"upload-button",style:{cursor:"pointer"}},"\u672C\u5730\u4E0A\u4F20",ye.createElement("input",{type:"file",onChange:xe}))}function ge(xe,Me){if(!xe)throw new String("\u6CA1\u6709\u6587\u4EF6");if(!(0,ve.bg)())throw Ve.ZP.warning("\u8BF7\u767B\u5F55\u540E\u518D\u64CD\u4F5C"),new String("\u8BF7\u767B\u5F55\u540E\u518D\u64CD\u4F5C");let Be=new FormData;Be.append("editormd-image-file",xe),Be.append("file_param_name","editormd-image-file"),Be.append("byxhr","true");var Ne=new window.XMLHttpRequest;Ne.withCredentials=!0,Ne.addEventListener("load",function(Ue){Me(JSON.parse(Ue.target.responseText),xe)},!1),Ne.addEventListener("error",function(Ue){console.error(Ue)},!1),Ne.open("POST",`${Fe.KI}/api/attachments.json`),Ne.send(Be)}},19647:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return Re}});var _e=Oe(59301),Ve=Oe(4676);class Re extends _e.Component{constructor(Fe){super(Fe);const Ce=window.document;this.node=Ce.createElement("div"),Ce.body.appendChild(this.node)}render(){const{children:Fe}=this.props;return(0,Ve.createPortal)(Fe,this.node)}componentWillUnmount(){window.document.body.removeChild(this.node)}}},55785:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{i:function(){return ue},Z:function(){return xe}});var _e={flex_box_center:"flex_box_center___AQ53o",flex_space_between:"flex_space_between___i2aIa",flex_box_vertical_center:"flex_box_vertical_center___sPEKB",flex_box_center_end:"flex_box_center_end___GhSSH",flex_box_column:"flex_box_column___R9_Hb",list:"list___jb2Ay",wrap:"wrap___VsQDr",lockWrap:"lockWrap___g1k1T",li:"li___IxCLC",cover:"cover___Mu8wr",img:"img___IpFLA",movebq:"movebq___mF7wt",bq:"bq___Bil0T",sign:"sign___DXJ4d",name:"name___l7FoJ",e:"e___pXQUG",unit:"unit___wCIFR",tags:"tags___w_Mil",tag1:"tag1___dxm7r",tag2:"tag2___llZkf"},Ve=Oe(71418),Re=Oe(6848),be=Oe(92310),Fe=Oe.n(be),Ce=Oe(88230),ve=Oe(57816),ye=Oe(73898),we="data:image/png;base64,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",De="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAAAqCAYAAABfjB7GAAAAAXNSR0IArs4c6QAAE8RJREFUeF7tW2l4FWWWfuuG7GFP2MOissgiotCKsiPQDa449uiD2IoCtm2r03ajstOKji0IIgZQwLZnuhVkBNRukUAIWyCBIBiWCIQlK8SQhZCFkNzqOedb6qubSmAm84x/KOC599atqlt13u895z0L1sXDn9iWZQGWBcvyiVf6Q/tAH9V3/EHuD3wVx9kAbMuCj88EbJ+8hs2n8ndX23x+uoo8n64o/gK2rV9pj23zr4n9/FacR/v5nzqX9tt+2Lafv/fTKx3qt0F3bPvVteQx6nz5Ste1+GfEeeL69F79rl88t3G8uB+6nrhH9R09Pe8z7lU+nfN8QJ4P/kTLCprWYey8bKsk7c8MkADC5wCiQKLdcIPEe/h4+ivOoVsReFjwe4GkrH4VkCxpEDa2fCAFqzC8AsMBifYLI6p9ge/JoMpgbmNaEiBx3Ro2vjKiaXS6LwGQ+N48Ri2e+kES59YLEoMpDOWDXWhZvr5WMQHEBqdVTgwSBhd2vDqT+HjFNOP1/wckZUwJpwGSWL1yxSrGydXv+o6YZLAG8MP2EysUOx0w1HGCPW6QNMu9wPtfMIltCv+nVvH3q6WLI0O7meQCiV2foIlglHR/il0BYLrcneHetJP7P2OSwwxefvUyyXF3JtvY3Wn2CRdWJ5PYBYuV7sUmF/iBYBkLRa4eww0qn+G4cx+QZxUfWm1z3GCDCYBMd+cGSbo7D5BEzHIzrn6QBMj1baa74whCrkw8mcKCXVdtpsiHDIhL+jgDAGVQAklaXV5fgqQBqZ9JLpdXKyY5bNTxU96bn92zAzoxmA1D90j2LDq4SosEQQYvJhmCQbmxnwAkJ/5IEaFjkngoYWzBKHdMUiveMEQgS4SC0CAJF9cAkOS91YpVhrtziQVP4eCHVXxgpc3RXau1AIWmY5IDklJ4jrtzYpaXCmywu2PF5Wy86jyZRCBJhaXkn1Z1JqsUG5yAr9UVKc7AmKRVmzv2eMWka2aSVppGrKwFkiUBElG+HpCEBHdJbwDlxT8i//RRdLzlLjQKDdfCgt4U5Z5B0+i2vL+s6DyLj4gWrYUEv0pMqqm6jJz0VETHdkVE8xiGgtQW3Sb/ZuYJdOhxG4KCQ9kdaWXO7s6R3Upq66AOG4XZp3ClogytbuhNZ0q5rOKOYlAASMwkUng2aqqvwBfUSKu40vPZqPFXo1mrWEfiSylNtmnergvfZ31MMuOW293ZsApTPzRktgdIMiY5UltkOQRWVloSkj5dgvtei0NUsxiZJwGVpSVY/8Zk3H7fk+gx5D5smD8Vbbr1xR2/fJ6P8QbJiUllRfn4Ys4kDJr4MroMGK6pQyCd3r8NO//zXYyfswqRzWI0kxyQ1Ir0ZtI/Fr+MyGbRGPzEKzLHUiC55bPU+BpAkuAHN/0NF7JPYtiTrwqXChvbP36LVd/Qia/A8gk3S/8Kc08jac0SdL1jNG762SgnTgaqPw+XJxM7frEK9y+3BTtEkio1s05KnUTVFBECpOy0PUj6bAnufzUOEc2jdRL7w66v8d3Xf8FDs1YivHFzpMWvwQ87/45H/vgJ4AuqlczuW7cc2YdTNBDkpsqLLyA0sjEahYS5dET15UpcLi9FRLMWsKwgmS0Bsb1+hv7jp6rgZDBJSGaKST+eScfmuJkY+tSraNutn7OqdbxxuzDa7bg7PwqzT2L7X95G90Hj0OPucXx+QeZx7P7bYtxyzyPo3HewTkx3f/YeKi8VY8jEVwzGMb8N0A2pLhUe/54URHS0dWFfnAZIqTflgpSi0wqNM1HH3WWl7cGez5bgvmlLEdmilZbem96bhrDIJhg+eTaDVlZUgA3zp2Dk1Llo172fu+JgATnHUlGSn6PjTFXFJXy/6TN06T8MLTve5ALoQuZJnN6fiL5jHkVIRJR+mKat2qP9zf1B8UlJ2MSP30TeDwf1+X5/DeyaGgQFh9QpHlvf1Bt3PfaSBk+JDeEm/Ti8dR1OpsRj2FPT0SSmHR+3b+NKFGVn4J4p8+CDD7knD2HfxlUYcP8kdqXKxSoV6eXuzKqDCZJ1ISXOFiUcIk2Qi0kkv10gyc+pG1aiqqIMFReLUJidgbbd+vJD3/7gMygvuYD4pdMRHBaOkPBIbYjykkJmE7kB2tp0uxV3PvqCp7sj9mxa/Af0u/cJNG/fBU3bxMLyEVuAzENJSPl8Gca9vAiRTVvyvhpKzxQwOjkFtqyYi7LCc7zihWZQ4KmV7KhB2nNizyZ2m4N/Nc2ViFYUF6D0x1w+u+ZKFc4c3ImOfe5EUHAwu6HKSyXw+/2IiGrKv5OWsI5LSH1GjNfVkKjmMQiLai6Vprua4Up8A5hkFSQvtS0fuazaINlSPJgg0fvkdctQVX6Jb6zkXCZiutyMoEbB+Nm/PItd/7GAA3GX24YgvBm5PaCitBinUhJww4DhiJBGbdqqAzr3Hy5rf7KWJ6Wa1Is4tn0DUjesxsPzPka4PM+19G0bPlmrY6Et1Z1yEVtXzEVNTTVG/XqeZIQBjKtmJ4TFtpWvwxfkw5BfveIK+ATc95s+rZN11/JFz6EPoMutQ2qVozS7XMpRuD5+HgIosAgaGJMCmaTiUvbhZOxdsxT3/uF9RDaPwcm9m5H65Wq+35HPzkOrG3oy8EU5Gdj03isY88JbiOl0s3geWZkgw+Yc3Yej276o9ZzFeZmoqa5Cy9iu9dhAsKJT30HoPuRejjWq3kUA+f3VuOfZP8r8SNZXaV1LVeFUFGwkEEC+IAx5kgSEE4+OJ23Cka2f4xcvvGOoMaHqRB3OKNT6/ToHIwOTy93y0VzcPPh+dOk3xHVd5fJqg+Qk39aPe98XiSrZTDNJxRlHOHiBxACt/QDjfr8EjUJD8Y+FL6Fp61gUnD2OkVPmIubGnuwiyQ1+u+RVjP7tW4ju1MOQ66IykX8mHWcP7XZyHQvISktGWXEBut/9C+3e6kKJDEGxI7bPQJGHSyZtWT4HRXln0aFXf1USlz7NcHdsJfE5N/0A3//QJ19zSfDjSd/g8JZ1eGDGh7hSXoryogJXVVslx7LSBPiFgSMbN0dwWCS+WvQSeg4hgIbWLsSqqoM8RyTHsnpOz5K/Z4lLZutSjxYDCiQL5PJMd5d9JBnJa+Mw9veLERwagR0fv4nb75+ELctno1nbjggOi+Abra6qRFHOGTRr2wnB4WLfbeOeQHTnm3XupFoR5Gyzj6Vg20fzceu9E9HnnkeEuqxvs50YJGsJvIq3Lp+DgqwTnE8JHGQMkqDoUr/8fCHnJFq0vwlDn3pNVyXIWj8QQPGf48GZH+HMgR1I3bjqWrwaC5nOfe7Gl+++iJ5DHhAMMloOroKrao+4Skt+WOeT3tMAmZLaqa05EjwwJuUcSUHy53HoOewBZB1OwYip81BxsRCb338V7XrchvAmzfmGLpeVIvtICtr3GoBwCqSWhW53jWUBIIvmIq+wLBTnncW3701Dy9gbMer5+SgtOIfNSyjvqHu7ZcyjLAREkifbPbCRsGwOSLmNeu511TrSpSBJGy3ByRUlfDiP2Tps0nQjVvg5hlaWFKJp207scqsrK5y6nS6a+nGlshwnU7YgM20vYnvfge6DxiI0NIrjdGhUU4SER+m+VGBLw6wJqt4Vx6HzuxfrGOQUSo2iqez3qDyJjHil8hLyM44g89AunM84gkYhIeh8+zD0G/cEis9nIf791zByyhzJEIuTNgKNDB7dsbsgBMcg1SAUn0sL8rB1xRxcunAeD89djfBmMSDJfTo1Ubo/h0mUCx1N+AJRLVtj6KTpaBzTTqRwKrYAiF8+m2X16Ofe0BUHTi+NyrVWd8S4FXM5BtH1nJUuE1iv9gP1kkCJeRGO7/kGZ77bieiO3dBr+EOIbNG6DqluNhQDWxpcF5F5qmgQWvm7Ftu2TO29JLVgkmARvb9cUYpvFv+OZSTJaJLbo59/E01adWAjlxBAS6djxOQ5rO5oKyKAlr6Ge37zBmI6ddeKUYFE1805th+7/7qIr0fbhEVfsgRXXVnaJ9hm4eyBnUhZtxyxfQdiwPgprrzGBIkAulx2EQMeniqFg2ChyjmcbqZwf/vXr0RoRGMMmzTDaAM4QoCe2eyQim6rjfQdX+Fw4noMfvxlRHfsWjvOyONU51csENmhDQDerAlygy9/5yJmkJ8Ws9FuqO3uHJBOp25D9I29mLr7/ms5fv5vC7l8QucwQB/MQMuOXREaEcVmraosR8GZdAYnOELkRn1G/RItY29igx+OX4fvv/0ULTvciPY9++P7zWswYdFGcT8BIFWVlWDt9MfRd+wE3PLzx7z9noxJBFBu+nfXFC/UQZTTDX96pksOn89IY7FhKjbd8oaN/JNHcC4jDbeM+lfHhQqtL9siNppEt0Orjt2MfpW7c6sWjq7LkWhgF7fjXd1u8AeIAG+QhMKjlU3ymAAa89ICDdBFAihuJlp37cPVBAao4hJn9G269kVYY9oH9Bh8H1p0uIHfU17ls3wY8NBknDqwE3vXvI+J727EsZ1fI+fofgGS9G7+mmqcP5GGZu06IaKJSFRpo8+3P/i0Awa5rGWzQKUhKu0odScppISxI78B7PxkARqFhGL4MwIg1fw7tOmvOLV/m1sJyl9SySslsFTZcG9OYtyh9x3oPXy8iJPGbENd1W+13zq/YyEzSAaGWkqtPiZlpxNAKzD6xXdcAG1ZNgvDnp4pXZyF4tzTiI+bgZG/fh0xtIrUPINq8tEd+0Qf6tS+BOxZs5QBykiOR17GYeeZLZHJZx5MQkyXHoiKbqO/o8S3z5hHXfbZGjcbBOiY38wXGb2syen2tFi2ukFHspxi0PDJs6QIqD3bIAznLqym7/gSRxI34OEZK41KgZhvMPMpbXQPkOoCyjq3fYHMg9RgiHB3tKJd7QU59SMUr/gu99h+pKz/kAGiCoHP50PJuSxsXU4AzUB0Z8p5fByDtsTNZIBI8jqgyzaHrmJYyNiXgL1rPsCEhRuEpKc1Ll/pfWXFRXw+/XHc/fjvuDJRnwRngPzVGPPcfEEcDUjAe9noi182B76gIGaQYlrtFnrt6Z/07RsZoPGzVrFIcURIfZNCboFQJ0C5ie/Y1O5WRuNQTGVzOc1Tl3Cg/ZlpyTjw1ccY/ds/cTWbtov52UhYPptlb+PotmzA8uICHN22Hj2HPYiolm34J4KCQtCp3yBH0Uk2ndovAHp84QY2aCBIVZdKsHbWRAaIWhFKOHgFGgKoMOcU2va4lfMir82sz+UdP8j9mxGTZ2kXp+OOa9bBbPgBRxPX4ygDtFrEDdd0Ud1MEsfWP9tg5Wz7EzNIgcTxhUniMEqVZRRYP+z+O8qKfkRhVgaqq6sw9sWFQKNGDIYCyNsczl5qJTw0c6Uzayfj36l927g6MWHBej3ORb97Mjmec5Tc9FSc/W4XRkydg3Y9+/MF6wKJAKJ2gIp1Zp4aGCvomYuyT7G4GTF5tlZrqi9kztnRar+QdYIFEf34iaRNnOuNfXmxoKYBkm6dc6XAYVdtd1e7u8t5UG7C2zw0YoIk+wYukEx3l5m2B/kZh1lmx/a+U7syuk5pQS52fvI2Bj72Ej+sSHlkvqMlu5oIkq+aweCG3N61cZiwQNTm1ILZvvpN0AqnclSrG3ph+KTpsEKctoEXSNuoFldTg5GUqKoSkBO3RUFSBXuqma2QMegZktnCKZpiQSe3to2zB3fhwNd/5l202LoPvhedbh3kYt7/vHXusEnFLisn4W1mkHYnxoQP+x+DSSZIpnjgmERDJMQ+w12KY5SbckBiwNTwiXqVLQ8eZfJTzybMiIGC1cRyNd8gOlPeeVK97JUVcBWTAkFy4pRMGA2QPPs6HjN3ClSh2MyYJAqs7ilVcUzgsSqOWTlb/11XEhRIrpjkMaugVqsDkhp2FG0LTi4De0kuJgUKEGOcS49vSedljCIHgnQt8w3egUe0KWhzj3NJ1abFxDWCZEwXBc7KcexzDTpSh7dudRdYArKyt7xlzGbTChV9IQckzmA9BkqcwqkDhphM1bK9FkiOGPEaQmHAmYkcBHUhVcRAca4Xk/T9qXjEtL1KFDSYxE1xUvqGu3OYJFe8LnIaBpdAutoOhgT3ZpI5hqwq107/R1UrJKh5DJB2N9KgagDeqc15g+S4PPG9OD5Ijg/LYXkvkHTrXA7sazdnxiTBINdvGDEp0N2p3IqhFa5AJ7d1QuUCSQZ3T5CcEePASSGBkRGrqL9rMMYRAyaTHJDMwii7W2OoBDY+tbLi33T6QYY7owdkh+WaNPUwukDGyG0ESMr9eXVl2fAB8w2uRcJWNufzPMAyGn7qXrllIZnDnVbF/HrIVPf0qgzYPKAhmxjGvAP3/GQPR5dndAOvLhfmBslJZJ0GnaHuCsMQ1tfK3DxfthsMIxhAOSC5WeSOMepcJQSEexJskiu5LiZp92UIBzW8r/+7i1J9zv+qIIckxpVlHJELKhCka2FS/SDJFkYASO6ipmSQ2eupM87IZpxqypkTriKZzoPtTwyrCZkWcefkbCtpxaQVAKbUtcjumrr6at78Ks7++tcNsYB1ZO3ckJKirETAHuh1oesANcS8DT+X2bF/xZS2VahJBey2gZe8DlDDjdyQK2j3lbxq0kB/DRJtG66pvusANcS8DT/XFV/2fvTMFL/fTzFJb9cBariRG3KFWgIgUDRcB6gh5m34ubUAChQN1wFquJEbcgVPCW2KhusANcS8DT+3zhxHiYaBU1bT/5K6vv1EFqg3CSXRcOfklR/+RPd2/Wf/2wL/BGiui/tFFRS/AAAAAElFTkSuQmCC",pe="data:image/png;base64,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",Ee="data:image/png;base64,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",Pe="data:image/png;base64,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",de="data:image/png;base64,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",ee="data:image/png;base64,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",ne="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAAAqCAYAAABfjB7GAAAAAXNSR0IArs4c6QAAE81JREFUeF7tW3l4Tef2fveJzIkxNQc1RFsxUxJjlWpTdHDRW7RoqXtVq6jqRAe0eltUdTL0VutWqWiVVqmKRJCoeSa0SCOEREhExrN/z7e+YX97n5NEm/v87j9O9Tknezp7r/d713rXcIyrh5aahmEAhgHDcPF39h/bBvan3Ed/iO3Od36cCcA0DLjoTMB0iWuYdCrtK+/lcrOriPPZFfk/wDTVO9timvRtfDt95Oex7fS/PJdtN90wTTftd7N3dqjbBLtj0y2vJY6R54t3dl2Dvoafx6/PPsvvdfPn1o7n98Oux+9R7mNPT9u0exVPZz0fkO6Ce4th+EypH/P6H8aVg58TQBwIlwWIBIlthh0k2kLHs3/8HHYrHA8Dbm8gSauXA5IhDELGFg8kYeWGl2BYILHt3Ihym/MzM6g0mN2YhgCIX7eEjC+NqBud3RcHiO/Xj5GLp2yQ+LllgkRgckO5YGYZhqu1kc0AIoOzVc4YxA3O7Vg+k+h4yTTt/f8HJGlMAacGEl+9YsVKxonVb9vHmKSxBnDDdDNWSHZaYMjjOHvsICmWewPvLzCJbAr3ciP7wGfCxTFD25lkA4lcH6cJZ5Rwf5JdDjBt7k5zb8rJ/deYZDGDll+ZTLLcnc42cneKfdyFlcokcsF8pXtjkw18J1jaQhGrR3OD0mdY7twFpBvZ+z8zKW6QwThAuruzgyTcnReQeMyyM65skDjIZb10d0cRhLky/mQSC3JdnkwRD+mIS+o4DQBpUAaSsLq4vgBJAVI2k2wuzyMmWWxU8VPcm5vcswU6YzAZht0js+flfUuUSOBk8MYkTTBIN/Y/AMmKP0JEqJjEH4obmzPKHpPkitcM4WQJVxAKJO7iKgCSuDePWKW5O5tY8Coc3DCy9yw2KborteZQaComWSBJhWe5OytmeVOBFXZ3pLisF606r0xiIAmFJeWfUnU6qyQbrICv1BVTnM6YpFSbPfZ4i0k3zCSlNLVY6QGSIQDiUb4MkLgEt0lvdooA1qbyYOD3PfGoXq8xqtVpRGb0kOBlxKQrGakIqVoTPn7+Nu/H1JYEiciv1LhJC5/jxZhkyW4ptVVQt0lvdqSUyzLuSAY5QCImFSuF5VR3EpTT+7fBLygEtRpHChkuVZkX1ecQDtL92t2dCSNr90JNZnsBScQkCwSe5Vgy20BxUT58/QOFAgRWvPQoWvV9BHf0fIiOO7BhOWo1bYmaTVvSIqAreIBkwHQX49s3RqNGeFP0ePJl+p69675QQPGbF1iI95CqtyAiuq8GklyRpTHJEhIcLwmSXT4LjU+GzruahR1fz0NElxjUbd5WrAWe//A8iedTe9d/icy0U+g16hWVmzmlv1wsNiXoRTzIhWZk7frE5OzgSarQzCoptRJVXURYIBXn5yFuyQzUaBiBDg8+QZZf+fKjaNl3CAHkLi5C0soFOLNvG1r3fQSRvQfBdPl4JLPsWU8lbcSO5R+g97gZqNO8DRni+xlj6f1Kxh8IrFwNfgHBCqRr2RcR1rA57vnnDNrGXB+3niPWCMZ5T2JlUlu6uysqzMeeH5Yi9WAS7ugxABHR9yE7/Qzyc69YCbMbuHoxDUcT16FFjwcRVDXMdh8BIVUQWqOuTb7bwBIgEdjaMxiZv36kAJLqTa5uqeiUQqNM1HJ3hfnXsHXpbFzLvIBeY19H5Zr1iDErXx7KAerxoHCLLqTsWI+dsZ+i3m1t0e3xF+ATEGRjkukuwfczx8I3IBj3T3nf5t7MkmIse+5BRD/6LJp07gPp7tbMHoe6t7VD+wGjLPdnA0lWADgIunDQ8xZdWTmlszyHGTMleQMObFxBCy3j96NIP7Hfdp9l/dEgsjMie/3Ne5Jrk/iCkZKdmTs/MnkJh5HGx8YkJr9tICkJbuDyH78hacUHKC7Mx11PvIqqdRoq9n3zyjC0vIcx6AECNPPsCfz63RJcOX8WPpV8ERpWGz1HT0NAaDUF0qldcdi+bC56jHoRDVpHIz83G4bLBf/gKijKz8PXUwajy/CJaNyxF2dLYQG+mjII3YdPRnjbbnDp7s8WbK1k1iMm6ccpI3kyieKd2H/+1EGENWgGl8tH5UFH47/H6X1bcfcT0+AbEMSZ4y5B9sU0VL6lnmdlwiHDvbk7ySTjUvICkxmCM8MOkinEgw4S+3z10jn8/OHLCAtvhqgh4xFQubqWPwHx/34bjTv0QFDVW3A88Qec3b8dDdtEo22/kSgpzMemj6chuFoY+k54l7tS043v3x5HboG5N/a18YtnIi8nC/dNnIO8yxcRO30kuo+cioZtuxJAl84cx/r3JmHgq4sQXKM2zx6EutPlOK/BySBNn2QNSavZ6cJCFw7iPHcJiq7nEbu5Ma263eVzvyH+i3fQ5t6hCG8ZRexmrvT03gQcjItFl8HjUbVOo1JBKism0fMwgJxFUGdMcjKJgZR2bDfq3tYeLlclCxwAhXk5SD2UjJPJP5OfDmvUHG1ihqJm4xaiUuFCzqV0FBVcR436Tciwv+3eguQVH2DA1AXwD62Gc8f2YOvn7yBm0nuo0SAC2emnsfatp9H+wVG4o9fDBNCx+O9x4KflGDLzK17f4hkQuTFV75KCgkBiRhX1VXa0kH5WEC8dpH0/fonzJ/aj27DnVWwxzRIUXLuK+KWzEVztFkQNHsfzXLeb7sFdUoIdqxYgNysD3YZNhn9gyJ8AyUq+jYtJH/BElWSzZJKMM5Zw8AYSA5bdyJX0szifsh/pJ/YiK+13+AUEoVG7bmjSqTeq1m7Iry0qDaogK5W9aeLrV4bCXVwMH18/FObl0vERXWPQadA/iNkZvx/GhnkvoHZEK/R5ehbtT1gyC2f2b1duv/vwSWjUvqeDSbIUbpVlZHmcmOQBklVt1iV47uUMbFs2h+6t+7BJqFwzHHlXM5H4nznIyTxPwoHZIT/3Kgqu56DwWg6Bx0REUUE+ajdthY4DRnnW7/RKh5uDwpNjETvZ02fsmG+T2arUo8SABMkAc3ls/5l9CRSDGENY3uIuLlGGYiAzZeVTyY9vc1R0ajZtgcheg7hiFCAdT/yRFkdIWG2c2ZuIc0d3YcBLn8A3MJjYcPbgDsQvngXDxwdD3lpOfv7S6eMU/3IunkPSig/xwAsLKA4ykhRczy2VSbLtwD2dKMGQYWRh1ap2+wYEqNhTmJ+HxKXvICczHX3HvYXcrIuIX/o2/INC4R8cAj/2HhQCv8BQ+LG/A4IRGBSKa9mXcHBzLDr0H0lA8djvWYhV7RFbackN48L29xVAuqS2amuWBJcxac93iwiYanVvxbXLl8gFNYu+l8cxDRH9MwPk9O54VA9viq7DJ1GbglcdOIgkJs79jp/mTkL3x55HeOsuqlZ38KevcCxhHfxDKqNNv8fQkO0TryO/rMbhzasxeMYyUdMClk7or/b/1Q9sMQx6Yxl3jcJoDPj04/vQgMUa06QUoij/OipRDmhSnHJV8oHhqoSS4iKUFBXCzy8QKUkb0KBVNHz9g1RfygmSXhOUi4hKVhe2zVMxyCqUakVT0e+ReRI13QST2PGHN8ci9cB2xEyap/WSHFUHcU7cojfgH1wZXYdNFOBYIBUXXsdP709BrWat0eHhMaTu5HdtWfQmXD4+qNn4DqQd2U1CQr42vv8CAqvWQLfHp/AUzm1S/BPhRisR8Rgj45PINmQ30MYgvtGFRu26qz6St/bDhRMHkPjVHMQ8+y4CQqtg9YzRaNHrYTTr1Acnd/6CY4nraJ8u1e25mJNJPHGWDT92G0ZG4jzTFKm9N0nNmcRZJBmmg3RkcyxObPsBgZWrl7pYhTPD9dxs1G9xJ7oMncg9HDHIRUbYvHgGCq5dQaeBY5Fx5jgyTh1GJT9/dHlsMlZPH4EWvf+GW9t1w6ppI9BtxBRakczFrps9HtFDJyj5LUESXsurcOCrVe/KCnfnVThIN2gSW+L/PQttYoajWr3GOLt/G35dvRAPTf0YLl9/xL45Ci3uZgDdg1M7N+HY1nW4b8J7VrVBk+uqQ+voO+k1QWrwZWydSwxys8WstRs83Z13kI7ErcaZPfHo+PBTltGlILC1H4B967+iZLbL0OeUrGcn7fzmY5xM3sQBc7lQve6tVJmof0dHVKlZD9/OGIP+L36IKrUbYNfqhUg9kIQHXv4EcYveBKsmDHjxIxguH2uBmFB5kYCCr2IeAKx63Q2BZAmM03sSsDP2E9w/aS4Cq9RAyo4NOPTzSjz00kKKKwygyN4DCSD2PMcS1yJmwhwVc6yurL32p/eQ1GcmGsjFJcxR7Qa35rrKc3c0b2AYYAxKPbANPZ54lcttEfkt5lk9oh0r5iOoShi6DJ2gzTeAMvKcjHOo0bAZqtdrApevH7k41pU98OMynEzeiIFvfkkAFBfkYc3MfxBw51MOoufoVxDesrMnex0gyTxJRGkNLOFSVLtZ693YhIMbcYvfIJR7jHqJjL73h6W4kHIQfce/Q/MNq14fSaWsiM73ICV5I45tXYv7n5trU283CpJkknEh4T1ikFj+SqndiLtjIDEGnUj84YZjcYNWUYh+9DlbR1YvvPLKt4Hi67nwCwxG7BtPolbTSHQdNkkNoRzdsga7v12MsEYRlMiW+iqHSXZG6Y0/wTStO3stKwNr/zUeHR8ag1vbdyejb/r4VYSG1UHHgWNptce+NoIAah51H1KSf8LRhLXoN3EuWC0v47cjqNUkkocKW+fXy4yDVmkwzse/K/IgORjC3Z3L2V4QUz9cHcu5BRcOx39LIqH3uFlwUR7FpbjlIq3cKmHpbASEVkWXv0sGCZ0tqhi5meeJFWcP7MClsycQ/cgz2LrsPdz//HxUrRVO7Ew/uR/xS2ahuKiQjNJuwAiVvHoFygGSapIpdyfltc4kregqQDq4aSWOxq/BAy99gkp+AbhyPhUbFryIdv0ex60d7qKvjp3+OFr2GYyIzvcSg44mrEG/SfOQn3MZ6+dPRa8x0xBSrZaKSXqJp7Q+knFuy79M1u6WBqWl7RI5TxkxSbqwI/Hf4cy+RNw56J8cHAdAVhvcwL4fv0BIWB1E//1ZNSnEam6siJqZmoKC3KuoXLMu6jZvh1saNceuNUvQuMNdaNdvBIpLinE07lvs37AcodVr4a6npuNk0kYc3hSLxh3vQudHxlOi6x0kEy6rUyEq0PxIUlUKLPvkj2w5MGW1dvZ4aoN0HvIMWGE3YenbyD6fipjn5sBVqRIZfdX0xxHZZzBui7oPJ5I2EED9J8/H5fTTiFsyE33HzaT6oyUErJEujyEUkcQaaXHvEIMkSIyCdMOyGSc7rR7M4KAeiV+DE9vW37CLY/EimjFIsKawIA87ls9H3dvbot7t7RFSvTZdl2XurGLcf+qHYMxK+Hw2lYjqNG+L7o9Nhm9IZfrOlO0bsPObj1C9fhP0eXomL1Z6e5kWSFxMWQ1AT5AIMWFI4MLJQ/hl4WvoOXIqake0JaHw2644RD3yDMIjO6mi6appjyHyniHk4tIO70TSqo/QuH1PZKWdoopD/4nzAJerlJjkWaSlezy3eTYNjeggiQBhA0mVg2zuy8Dxretw9lAyej/1ushbtMERlxzJ4vkOq36z6vSdA8d6GYy0TwoxdrDEtGGrLijIy8Hmha8h8u5BqN86mrOUmVAMRqYf20MG6zp8cpkL5cZn7uzuLjfzAo5vW4+2MUOp4n982490B82i+ooWOz9+95rFqHt7B9Rq0hIlhQU4tOkbZKWdpKpKeMtOPMH2OhipFXMdc3lG2ubZxCC2qmTskBM+JBw0JpUGEsUkNkTC2OcAUCW1snIgJ1hVfa686VU+yEKpoza96gRJuldZQipdOPx1JqnKs94u8DJzx10Yr67bWwlsMFJOplolJdmVdYJHDEr75W1VSZAg2WKSl1kFm5RW4kGMDjPB6QDVAlZUDjwEiDbOpca3hMm1UWQnSN5b51J4lEEmzd3Zx7m8xSS7u/MKkjZd5K3hZwOJxqm8tDRk69wBqvHHpre02WwucTlxrPk4r21wrzGJT6Z6G0CxanvWHLjOSKn+aFJIKcXyQVK1PFl8lVJFHwMqJybRHClTe+I4e0wSK14VOa3mna0rq6Z0nLHEySR9DFlWrrmLk7MNou7EtqUTQMo4AhQ5AG/JZSozeEz92JkhXaSPGh7hJSFHV5YtANU6l6zThlDUORwc23fQLXh3d2qegrlC7goopyvz9aeYJIZNHA0/pQRlboOSUuKMBiyNcUkgrfxLgSRYBBPLjdSfZ1n9IM2dyekbHSS228PoPMhoeQ/7zFrnfLu3riwZ3jHfYFskQkVarPMClqha0OOJSSFZI6TTmT3loioDpdKnV0WJhwY0RDtQn3dg7STRw9FLNeTOSnVhdpCsX0nYQRIxKSsAAa2NsxtninaDZgQNKEoz1U9TLBbZmSHP1WMMb5+XC5KKMfo4l3Bz6ucuVsNPVh2YQ+Jihg/LlgbSjTCpbJDkGJcdJHtR0/6rivJAsn7KIpmk5V9AOkz3loASvylBnUf/YWz/dNSnAMaUtsiin/qsPEdRjh+5ubsiFjAOr3zN78rl1C2AGeXtQjcBqoh5K34usWPXp2PqFKJkN2DWcV7yJkAVN3JFrqDcV/KSUVHuEmwxTdgKWjcBqoh5K36uLb4kLXpyjNvtZjFJvW4CVHEjV+QKHgLAKRpuAlQR81b8XA+AnKLhJkAVN3JFruBVQuui4SZAFTFvxc8tNceRoiFqzGf2X1JV/DtvXuFPWKDMJJSJhs6jFy/8E9e7eeh/2QL/B6DwevuUcCm/AAAAAElFTkSuQmCC",le="data:image/png;base64,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",oe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAAAqCAYAAABfjB7GAAAAAXNSR0IArs4c6QAAFNBJREFUeF7tW2d4VVXWfs9NJUAMgQQCIzUhdARGQ2/SizAOAUTsNEF4BHVGBPxE2ki3jA6oKCpNNEpJjBQlCoSSUEIgECRAQnoICenlnvM9e+29T7m5CQ7wfN8friW59+y97znr3e9a71prR7kdv1lTFAVQFCiKjf9k/7DPwN7Ka/RGfO74k4/TAGiKAhvNBDSbWEOjqXTtTi+bylYR89mK/F9A0/Sf7BNNo2/jn9OvfB77nP6Tc9nnmgpNU+m6yn6yoaoGdseaKtcSY+R88ZOtq9DX8Hl8ffa7/F6VP7dpPL8fth6/R3mNPT19ZrpX8XTG8wHpNqiHFMXlH38ZsfiGkn/uSwKIA2EzAJEgsY9hBYk+ofHsXz6H3QrHQ4HqDCRp9TuApAiDkLHFA0lYueElGAZI7HNuRPmZ4+/MoNJgVmMqAiC+rp2ML41oNjq7Lw4Qv24eIzdPzSDxuTWCRGByQ9mg5SqKrbOSxwAig7NdzhjEDc7teGcm0XjJNNPP/xuQpDEFnCaQ+O4VO1YyTux+yzXGJBNrABWaylgh2WmAIcdx9lhB0lnuDLy7YBLZFOo2JS9uk3BxzNBWJllAItfHacIZJdyfZJcDmBZ3Z3JvupO7b0wymEHbr0YmGe7OzDZydzr7uAurlknkgvlOd8YmC/iOYJk2itg9JjcofYbhzm1AupJ3dpNGcYMMxgEyuzsrSMLdOQGJxywr42oGiYNc08vs7iiCMFfGn0xiQa6rKlPEQzrEJX2cCQBpUAaSsLpYX4CkA1Izkywur0pMMtiox09xbyq5ZwN0xmAyDLtHZs9bZz7XRQIngzMmmQSDdGP/DyAZ8UeICD0m8YfixuaMssYkueNNhnBkCVcQOkjcxd0DSOLeqsQqk7uziAWnwkGFknfqM42iu67WHBSaHpMMkKTCM9ydEbOcqcB7dnekuIwX7TqnTGIgCYUl5Z+u6syskmwwAr6urpjidIxJumqzxh5nMelPM0lXmqZYWQUkRQDEo3wNIHEJbpHeXLQiPfEsfP/SCrW8fXVh4QhS8rloePs3wUMBzbkEv5uYZAKJyK+rcY02PseLMcmQ3apaCUVxEZLYUXqzkVIuy7gjGeQAEjGJKTyrlOcS3EEsVHkvXbLJzVninVV5Wt2dBiU3dqNJZjsBScQkQ2rzLIeBVVFWjLDFL6L3s6/j4fYhIk/SYK+osORLPy6fjqAew9Bu4JM0hq2g2GxQ3Nz5WvL/CpCReBaZV+KdhiYDFIIBDVt1REBgRwLFAIkb8cqJg0j4bRf6v7QAXt71CSS1sgKnf/pGJlYixxLoSncJDR51fRDcY4Th7kgRVKKkIA8FNzNwK/UqcpITkZeZgoFT3kbWlXjkJF+WfldyW09xavs2RPPOvatKcwegdI1tiklKbsx/NM4OnqQKzawnpUaiaoiAa7FR8H04ELV9GiDs3RfR55nX4dO4GQ5ueAf9XpiPn9a9XnP0B9Dir/3R++l5ejIrgTod/jXi9+9E3foNa1yj4GYmOg2diM5Dn9LdH3N9QjGg4GYaojatQEVZCfpPXQSfBk1QWV6KHQsno37TQHh4edPQ7GsJ8PCqC2//xmSfwpwM2NzcMGjGEjIw29Exuz5DyoWTsFeU0xwXV1fUa9wCvk1aoXnXvrgcHYmU+OPwaxpsgMOJg1sZ11G3fiM8OmaqsSGc5lGcScRImsvjpXLz5Mc6QFK9SRckFZ2u0CgTVRC9bT38W7RD86798MOSl9Br8jy6scTDERg47W0U5eda8qh9H85Hi279ENRrOKlF9tWunl7wquNTxd2dCf8KiUd+xvgVW6sFiCWX2+ZPQLt+Y9Bp2CSTumNx3gCpsqwEh75YgVupSRgwZSF8Gj6M7QueRv+X3kKjoEdo3r6P3oR/y/b6OvEHv0NqQgwGvbyUr6sBNy6cQHH+TXj5NEDs7k1o3XM4gkIGi72gIW7fduRcu4QBLy0EJb6m6kHM7k2wV5ZzgGpQd+aqgxkk5eaJjzVewmGkcbEwiclvC0ji/aUj4bideQNdR72gA5SXdg2VFaXoMup5pMafwM3UJAEScOlwBMUp/xZtCRwGc4fB4+Hi7lklJjGALt8BIPag2/85ngB6ZNgk2Fl6JoHRk1OepNorSnDi+43oNGQi3GvXwY63nkbHwaHwbdySDHlqz2b4BDRDi679aHzyuSP0bINmLtNdErlWsev3rJmDoB5D0TpkiJ4Hxe3fjpyrDKBFhlQX40/u+ZyY99jYac4rHaL0Y+RlViYpOcc/0lg84DmMFSRNiAczSOz3nOuJOLX3Cwyc+g5+XDoVvZ6ei6sxh9CsS280e6Q3+X/mOkQtCClxx+Dt15gMIV/dx82AzcNL1P5ELU8BdICWb60xT2IAte03Bl2GTeKlNfZtQt2Z5TivwfGHtpeXYftbk+BZxxsurjz+lRTegouLO9xqedH7itJict2DZy23VAukbN+zejZa9xyGoJAhAjQVcfu2ITMpAT0nzuEMMhk97sAOev/Y36YbYsWs1pyIDHm/9DwMIMciqGNMcmSSWlmOmB8/R5cxL2D30ukEUEVJMRoFdYSXj58ex6Rr/HHJFLTuPQIdHh/HGUoBh1cmKM2UtTsFOB3xNS5G7UWvyXNrBOjw5jVoP+hJPDJ0Eq9v8QwIankZbqVd1eMtW75B00AaUckAmj8JA6YuREBgZ7qNyA/+iYat2qPz8KdpTvyBnUi9cAJDXlmhA/T7VytRdDOTxhfm5cDD0wtunl70nY9PfRvMLSbFRlXrkv2atUHIk9Or1vhMxVNr/c9IvpXsYx/yRFUoK6OaYBUOZpByU68AqkoPfPjr1egwOBT+zdvB3asOKafrpw9Xe7PmC6Pf/Ag+/g/rILG7OBPBRcKfeXUa/hQZlu1aCdKtrBTsWT7TMn3yqu8Bm41Ewvb5T6H7+Fnwa9mWEtPfNq+EX7PWaNPvCR5Hj/yErKQLGDJ7hb7jmQgoKbyN8uIC8hR+LdrCt0lLAr1t71EoK76N0qICQwRQwkupM4Hi4uYBr4d8q9bvzLJd5aDw5FhUzxkmWdEfWGS2Xuohl2cGSQFzeex6+KrZKC8urGLDRkGd0G3MFJSXFOrVbskUThRRFWeRRwEeatgUru7M1bC1xSaxV8JOUUUQTTDMGWA2mysUF1cyhoxB9soK5OdmUHBPOXsUpyO+AQOIjassL8G2NyfeEXufgKYY8sp7nN+mpPXSkQic+3k7gnsOQ4dBE3QXx3Ik8zgKWaoKmyl28RhjKks5Flxle8RSWlKhZB59XwfILKmN2poBkoxJbCcyc6YlxCB21yZ0HfMCmnbsAcXmAjcPL6RfPoPsKxd0kSBjEdlaGPyR4ZOhuLqJ9/yKDpIERZQP5JyaLMsA4Ume4e6Sjh/A0W0fYPLq76HYXGlnlhXlmXpJwIEN75B46TAoVDey4sKfQy8dCaNFrn+D8iDFpqD7uJlo3KYbyevYPV+IW5MKsuqdNu/cC+36/a1akMw1QTOQSuaR9XoMMgqlpqKp6PfIPImMKJgUtWkpclOuwLOuDx6fsRheD9WneHIuchuSTv6CgLZddUDkLRfmZpEknbBiK1zdatH4/PRrCF/3mlP7e9cPwOgFn6C8KB87Fz1XLUaj53N3ydydBOny8f2I3vYBnlkdBmb0suIi3e1IWXvgk7fh17IdOg2ZQM07msuCs2KDi7uH3kfKTIrH+QPfoSAnHQHBXZCWEIseobNQy8cPN5MT9QLr7Zx0JB6NRHDvEajN4rGQ6rV9/eHTsKnu5mQ7w9q64NUNngLxBqGSdXi9pon6izNJzZnEWSQZxkDKTbuC2LCNKLqVjWade1JWPWDqItp5cZHbkfHHWQybs4oeWM5jaF0//Tuit3+ICcu3kMxmdYW89OsIX/Mq2g0YS2pPVm5S4o6iICcDYxZ9ijIG0FuTEdRzKOo3DdKBYnMvRu3BEws/wUMMIPZ9wtAMIM6gMGiqHVv+EXpH9yYHMDc3bM5KIdXLsO/fC9B19POI3vY+WvcZCZvNBecPhmHIzCXwqltfNBftyLp6AYe3rEPf595AvYAWJqlulKB0d0ehytp3MtcEqcGX9fs6YpBKYcF53uMIkqraEbV5BZVvTn7/H3SfMBsp547BXlGKXpNfR/z+b5EYHYladX2ssQQKBeqy4kKMX7YFrmyHKgry0pIRsXYuhsxahoatOtAclUnu3V+C1fHMAPV9/g0069pPXzftYiwOfvw/OkCSPiwm/XF8P44wgNaEwabYkJp4Rs/QMxLP0drsVbueP7KvJuDRv09DLZY8s0Ta3RP1m7am30+Hf4X8zGT0fe5N7Fo+HcF9RqF1r+GIP/g92vcfi4riIoo5zNzZyZdwbOcn6DlxNnwaGYxx96zNXbCpbV5tYVXEMGJf5m9r9XYDM4pjziMluAGSgviDO3E7Jw2P/v1lhK98BSETXqGyx6+fLsagGYtxOfpnpF6IwaNPzjB1Z3mcyfgjDud/CcP4Zd+QEdiLsSBi7WsEkF/L9rrsjt3zJVLORWPsgo0oLblNDOrDAOrSVy/cOgVI+LikY/sIoGfW/IDiwnx4efvS95UX3caeVXMQEjoTcZFb0TCwI+30W+nXMHAqSzZFJ1YDbmelImL9PCr91GvSEruWTRMAjdDdYfiqOSgtzK+WnS6ubhj52nrh7v4cSBI8JfO3NcQgHtENpVadu8vPTEXUl8sw4MW3UateA1J0IeNnoXHbv9KDs3gUv28HUs4fR6ehTxlNQHH72dcvEYChS78WALEYdB0R617DkJlL4d+qPTWqWEno1B7BoAUbae1vF5oA4r4T1QLECqbH9uPo1vcxat5aHPj0XTwx/yN41qqLqC/+BXtlJfpPWYif1s5Do8CO6DB4HHa/NxvBfUaiXf+xoiIAqgKc3PU5HqM8RsWPS6chuO9IBPcaqbsvBixTj0yosELqmcgt6DryWdT1CxCMVShJ143uhEnVsUnJiFot8iB5MIS7O+YSLO0FcepHtVcgIWo3Og4aj8qyUuxdM4cACmjTDTaqSADn9+/AlZMH4dO4uV6r5vgoFEsKstMRuoQBJFxc+nUqsDJ/zhjE4h2LQ2f2bkZyXDSeWMgB2mkCiK8GpF06VdXFic0gAWJVgoDATug+fiaOffsxMpPOY8TcNajj2xAR6+ahUauO6DL6WaRePEXg8RrfRHFqBVDtlXRWg71+WDqFGNSmNwfIKNHwclDOlfOI+noV+r/wFnybsBhklepWkIz51QKUdmiVxnarHsjZY9sEk6qNSbzzWlFaivC1ryIkdBYC2nbjECgKzu//Fkz1DJ65zDgpJNZKPnMYx3b+G6HvfsVFggLkZSQTQKwA61G7rsQSeenJ9NBjF2xASXEBvls4GQ2aBqGWT33dnZQW5CH76kVrDBJXf9+8Etdif0P7gU8i6LHH8eumFVS4ZG7Y268JjQpfOxeNAjuhyyimEFXcuBBDyWuTtt2odMNKQuYjXAygNn1HI7j3KGj2SpSVFOkgsF2Vc/0Sond8iF6T5sI3oLnRR9I0KifxJNTo3MojXTrQDqArqb+uJAZJkOTulV1WI7k04pOMS4xB7AFDxs3kAAmgJUCsIizleUl+DrKvXcTlo5Gk/MYu+Aw2F97iyGcArWcAtYVHHd4GYPxgsYk90ZgFG1DGGLToGQKIVZUpJwNQdjsPWVcTnAKU8OsPVJIJ7DGU+kwxYZ9i8IzF8PTmWT1bQgdo9PPCHanEpNN7v8KgmUvg7lGb50cikQxb8hIB1KbPE8jPTkHkujeqjT2OF0bNWwdXD0+HGl/V41xmNilpv7xHh0bMIIlEhx90M1W0JUMkaPZyBtA8hIx7mZI2niMpSPg1DFlJ5zFg2juivWRDaWEeDn22hNoMrNDY8tGBOuOK8rKpjM+SVyZvZbnpSswvuHntEh4LnQXWOji8ZQ3aDxwH/5bteGnHpiD3xh84G7GV3JdXPb8ajaVVlMPFxY0Hd5Hv7PtoPhq16kDtBqPIqkK126mpyI0ldj007F39Klr3GIrA7kNJkfKisNnI4hZMvR2Z8Po1C+bu26GKYHRleYnHAlDqL+8Rg6gNYALqz4Kkqzt2iIR9ucldciDFulTekTLe6MpK0GXLw7Fwy6/zmCR7SfQdIgbJ06syJpnKF87B0jRegjGBJM87kOHogii98jc6SDKp5EOsByf5NfOhRlHZsLgs3ja3nlLl7o5LcGtMIpanHvyXXkmQIFlikpOzCrL0YpSG5GFH3rYgozn2koSh+eeOAoTnYHQIRT++JUxuOorsCNLdnm9ghpAgWY9zCcP/tyCZThc5npUz95I4M6jmXgWM6s43KDcOrDCdzWZM4n0hAyRe2JRS3CimVo1J8mSqLturgGSIEWeHUAgcAolZiIF4Z5DkEMkc8/mGmv2dGSSe5etnyh3aztYip9G8k2zTXZJ+VMt8+seRSeZjyLJybWrSibqfYFM6AWR1M7xoSVwwHWJ0BpIhwzmIfLyLUG7isLwzkETrnI83uTt5WtXp0WM5zrm745uCQ0LsYG5b+q7qkPqvmCTijMNxLou7oyEOlW3huqxMMkAyg08uzdTAg4ZtSsr+5UY/yOTOZBPNDBK7LIWAnshyZEx/BcFBMup2ojlnERsKVYS5GHCSb5GVq7o764ao2vCThVwJkqy+18Sk6k+vioBNBzRkTDLOOzCcVNHDkZVog0nVuTAT++RfXDi0IUx5Uq4nPDsryfuWiXYDdydGYZMb3mCS1dVZY4ycK4UAd0+cTWInV8ckPcaYmSTcnP7nLqLgavqrCuaQ+HFla1fWEaQ/w6SaQTIq3PLUqmQNT2rMgsHIcaqPM6IZJ5ty5hOuXLikQ1MPedrd/+HVfeoN5eiGFzcAmFbdLus5fdOdHEWNrv7BxXuzgHL+23fc82+lHAK0Hs6WegDQvRn4XmcTO2I2TAsohz0W0AIcF3wA0L2a+N7m6+7r+Ocv9lDtOKRp4OeRxOsBQPdm4HudbYkvxz6dMk1VVRaTHgB0r5a9T/OrCABH0fCAQffJ0ne5TBWAHEXDA4Du0rL3aZpTCW0WDQ8Auk+Wvstlqs1xpGjoMW2Tx12u/WDafbBAjUkoEw3dp3628T58z4Ml7tIC/wuyLDr7JEtoSQAAAABJRU5ErkJggg==",ce="data:image/png;base64,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",he="data:image/png;base64,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",ie=Oe(59301);const ue=[{name:"\u63A8\u8350\u81EA\u5B66",ptimg:we,swimg:De},{name:"101\u8BA1\u5212",ptimg:pe,swimg:Ee},{name:"\u56FD\u5BB6\u4E00\u6D41",ptimg:Pe,swimg:de},{name:"\u7701\u7EA7\u4E00\u6D41",ptimg:ee,swimg:ne},{name:"\u7CBE\u54C1\u8BFE\u7A0B",ptimg:le,swimg:oe},{name:"\u519B\u961F\u4E00\u6D41",ptimg:ce,swimg:he}];var xe=({className:Me,dataSource:Be=[],col:Ne=4,right:Ue,bottom:Ge=23,precision:Xe=0,wrapWidth:Ye=1200,trackEventItems:nt,loading:$e,onRemove:qe=()=>{},isCurrent:st=!0,showAlias:rt=!1})=>{const ct=Math.floor((Ye-(Ne-1)*Ue)/Ne),tt=[{name:"\u63A8\u8350\u81EA\u5B66",ptimg:"/images/tjzx.png",swimg:"/images/sw_tjzx.png"},{name:"101\u8BA1\u5212",ptimg:"/images/jh.png",swimg:"/images/sw_jh.png"},{name:"\u56FD\u5BB6\u4E00\u6D41",ptimg:"/images/gjyl.png",swimg:"/images/sw_gjyl.png"},{name:"\u7701\u7EA7\u4E00\u6D41",ptimg:"/images/sjyl.png",swimg:"/images/sw_sjyl.png"},{name:"\u7CBE\u54C1\u8BFE\u7A0B",ptimg:"/images/jpkc.png",swimg:"/images/sw_jpkc.png"},{name:"\u519B\u961F\u4E00\u6D41",ptimg:"/images/jdyl.png",swimg:"/images/sw_jdyl.png"},{name:"\u65B0\u578B\u6559\u6750",ptimg:"/images/xxjc.png",swimg:"/images/sw_xxjc.png"}];return ie.createElement(Ve.Z,{spinning:$e},ie.createElement("div",{className:Fe()(_e.list,Me)},!!(Be!=null&&Be.length)&&(Be==null?void 0:Be.map((dt,At)=>{var mt;const{name:ht,id:vt,identifier:Wt,featured:Jt,school_name:en,image_url:mn,excellent:Ot,is_plan:an}=dt;return ie.createElement("div",{key:vt,className:_e.wrap,style:{width:ct,marginRight:(1+At)%Ne===0?0:Ue+Xe,marginBottom:Ge}},ie.createElement("a",{className:_e.li,onClick:tn=>{tn.preventDefault(),tn.stopPropagation(),nt&&(0,Ce.L9)([nt]),(0,Ce.xg)(`/paths/${Wt}`)}},ie.createElement("div",{className:_e.img},ie.createElement("img",{className:_e.cover,src:`${mn}`}),st&&(0,ye.bg)()&&(dt==null?void 0:dt.studying)&&ie.createElement("div",{className:`${_e.movebq} user-path-items`,onClick:tn=>{tn.stopPropagation(),qe(dt)}},ie.createElement("i",{className:"iconfont icon-yichu1 mr5 c-red"}),ie.createElement("span",{className:"c-red"},"\u79FB\u9664")),(mt=dt==null?void 0:dt.subject_tags)==null?void 0:mt.map((tn,Dn)=>{var Tn,sn;if(Dn===0){const Kt=(Tn=tt.find(Tt=>Tt.name==tn))==null?void 0:Tn.swimg;return ie.createElement("img",{className:_e.sign,src:Kt,style:{left:"-4px"}})}const dn=(sn=tt.find(Kt=>Kt.name==tn))==null?void 0:sn.ptimg;return ie.createElement("img",{className:_e.sign,src:dn,style:{left:`${48+52*(Dn-1)+2*Dn}px`}})}),ie.createElement("div",{style:{position:"absolute",top:"150px",left:"4px"}},(dt==null?void 0:dt.excellent)&&ie.createElement("div",{className:_e.bq},"\u5F00\u653E\u8BFE\u7A0B"))),ie.createElement("div",{className:_e.name},ie.createElement(Re.Z,{title:rt&&(dt!=null&&dt.excellent_alias_name)?ie.createElement("span",null,`\u8BFE\u7A0B\u539F\u540D\uFF1A${ht}`,ie.createElement("br",null),ie.createElement("span",null,`\u8BFE\u7A0B\u522B\u540D\uFF1A${dt==null?void 0:dt.excellent_alias_name}`)):ht},ie.createElement("span",{className:_e.e},rt&&(dt==null?void 0:dt.excellent_alias_name)||ht))),ie.createElement("div",{className:_e.tags},ie.createElement("div",null,ie.createElement(Re.Z,{placement:"bottom",title:"\u7AE0\u8282\u6570"},ie.createElement("span",null,ie.createElement("i",{className:"iconfont icon-zhangjie1 font14 mr3"}),ie.createElement("span",null,dt.stages_count))),ie.createElement(Re.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},ie.createElement("span",null,ie.createElement("i",{className:"iconfont icon-chengyuan font14 mr3"}),ie.createElement("span",null,dt.members_count)))))))})),!Be.length&&ie.createElement(ve.Z,null)))}},11420:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{jL:function(){return Fe},w9:function(){return dt},QD:function(){return Xn},cQ:function(){return qe.Z},op:function(){return wt},O5:function(){return Qa},_b:function(){return Ur},t7:function(){return oe},Gi:function(){return Jt},YG:function(){return vt},qp:function(){return pe},vr:function(){return jn},qE:function(){return zn},Je:function(){return ie},wb:function(){return $e},cq:function(){return Dn},tp:function(){return de}});var _e=Oe(59301),Ve={flex_box_center:"flex_box_center___NeSU8",flex_space_between:"flex_space_between___ImTGl",flex_box_vertical_center:"flex_box_vertical_center___BtRd9",flex_box_center_end:"flex_box_center_end___qcLe3",flex_box_column:"flex_box_column___Ze_3q",banner:"banner___PoUBO",content:"content___XoDjy",btns:"btns___Pb35j"},Re="data:image/png;base64,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",Fe=({dataSource:hn=[],img:kn,imgWidth:ar=346,title:lr,sunTitle:Fr,bannerExtraContent:pt})=>_e.createElement("div",{className:Ve.banner},_e.createElement("div",{className:Ve.content},_e.createElement("aside",null,_e.createElement("p",null,_e.createElement("b",null,lr),_e.createElement("span",null,Fr)),hn.length>0&&_e.createElement("div",{className:Ve.btns},hn.map((Ae,Le)=>_e.createElement("div",{key:Le,onClick:Ae.click},Ae.name,Ae.sign?_e.createElement("img",{src:Re,width:39}):null))),pt),kn&&_e.createElement("img",{style:{marginTop:33,marginRight:38},src:kn,width:ar}))),Ce={flex_box_center:"flex_box_center___hG6RI",flex_space_between:"flex_space_between___ss3Fh",flex_box_vertical_center:"flex_box_vertical_center___K80p9",flex_box_center_end:"flex_box_center_end___qmXX3",flex_box_column:"flex_box_column___GFV8F",row:"row___aXJjm",title:"title___HUKL0",tagsWrap:"tagsWrap___XB2W3",action:"action___VdHb1",bar:"bar___t1kKC",tag:"tag___V7Eft",name:"name___Hk1Ip",num:"num___xQpcH",active:"active___XryTX",tagsBorderWrap:"tagsBorderWrap___OMxjs"},ve=Oe(92310),ye=Oe.n(ve),we=Oe(89392),pe=({dataSource:hn=[],value:kn,onChange:ar,onTitleChange:lr,className:Fr,title:pt,titleWidth:Ae=41,style:Le={},fontColor:Ie="#6A7283",showCount:ze})=>{const[Ze,xt]=(0,_e.useState)(0),[bt,Yt]=(0,_e.useState)(!1),Ht=(0,_e.useRef)(null),cn=(0,_e.useRef)(null);return(0,_e.useEffect)(()=>{var fn;hn.length!==0&&(((fn=Ht==null?void 0:Ht.current)==null?void 0:fn.clientHeight)>97?xt(1):xt(0)),hn.length===0&&xt(0),Yt(!1)},[hn]),_e.createElement("div",{className:ye()(Ce.row,Fr),style:Le},_e.createElement("div",{onClick:(0,we.throttle)(()=>lr==null?void 0:lr(),2e3),style:{width:Ae,marginTop:bt?12:4},className:`${Ce.title} ${lr?"current":""}`},pt),_e.createElement("div",{className:bt?`${Ce.tagsWrap} ${Ce.tagsBorderWrap}`:Ce.tagsWrap},_e.createElement("div",{className:Ce.bar,ref:cn,style:Ze>0?{height:Ze===1?97:"auto",overflow:Ze===1?"hidden":"auto",paddingRight:55}:{paddingRight:0}},_e.createElement("div",{className:Ce.tag,ref:Ht},hn==null?void 0:hn.map(fn=>_e.createElement("span",{onClick:()=>ar(fn.id),key:fn.id,style:{color:Ie},className:kn===fn.id?Ce.active:""},_e.createElement("span",{title:fn.name,className:Ce.name},fn.name),!!ze&&_e.createElement("span",{className:Ce.num},fn.count))))),!!Ze&&_e.createElement(_e.Fragment,null,Ze===1?_e.createElement("div",{onClick:()=>{var fn;xt(2),((fn=Ht==null?void 0:Ht.current)==null?void 0:fn.clientHeight)>245?Yt(!0):Yt(!1)},className:Ce.action},"\u5C55\u5F00",_e.createElement("i",{style:{transform:"translateY(1px) scale(0.6)"},className:"iconfont icon-zhankai4"})):_e.createElement("div",{onClick:()=>{cn.current.scrollTop=0,xt(1),Yt(!1)},className:Ce.action},"\u6536\u8D77",_e.createElement("i",{style:{transform:"translateY(0px) scale(0.6)"},className:"iconfont icon-shouqi3"})))))},Ee={flex_box_center:"flex_box_center___aK2n3",flex_space_between:"flex_space_between___HX0Oh",flex_box_vertical_center:"flex_box_vertical_center___LJOJr",flex_box_center_end:"flex_box_center_end___SCakF",flex_box_column:"flex_box_column___AYv4m",tabs:"tabs___GTqPV",active:"active___F26E8"},de=({dataSource:hn=[],value:kn,onChange:ar,className:lr,style:Fr={}})=>_e.createElement("div",{style:Fr,className:ye()(Ee.tabs,lr)},hn.map(pt=>_e.createElement("span",{onClick:()=>ar(pt.id),className:kn===pt.id?Ee.active:"",key:pt.id},pt.name))),ee={flex_box_center:"flex_box_center___yX6Oa",flex_space_between:"flex_space_between___t7oqF",flex_box_vertical_center:"flex_box_vertical_center___dEIHy",flex_box_center_end:"flex_box_center_end___taQDF",flex_box_column:"flex_box_column___xY_Lr",input:"input___PW2zI",dropdown:"dropdown___vSy8B",menu:"menu___NiyBu",text:"text___Grueu",b1:"b1___ZKryM",b2:"b2___aKyGa"},ne=Oe(92832),oe=({dataSource:hn=[],value:kn="",onChange:ar,onInputChange:lr=()=>{},className:Fr,style:pt={},placeholder:Ae,allowClear:Le=!1})=>{var Ie;const[ze,Ze]=(0,_e.useState)(""),[xt,bt]=(0,_e.useState)("");(0,_e.useEffect)(()=>{var cn;let fn=kn;(cn=JSON.stringify(kn))!=null&&cn.includes("{")&&(Ze(kn.id),fn=kn.value||"");try{bt(decodeURIComponent(fn||""))}catch(Zn){bt(decodeURIComponent(fn||""))}},[kn]);const Yt=()=>{ar(encodeURIComponent(xt),ze||null)},Ht=cn=>{cn!==ze&&(Ze(cn),ar(encodeURIComponent(xt),cn))};return _e.createElement("div",{className:ye()(ee.input,Fr),style:pt},!!hn.length&&_e.createElement("div",{className:ee.dropdown},_e.createElement("div",{className:ee.text},(Ie=hn.find(cn=>cn.id===ze))==null?void 0:Ie.name,_e.createElement("i",{className:"iconfont icon-zhankai4"}),_e.createElement("b",{className:ee.b1}),_e.createElement("b",{className:ee.b2})),_e.createElement("div",{className:ee.menu},hn.map((cn,fn)=>_e.createElement("div",{key:fn,onClick:()=>Ht(cn.id)},cn.name)))),_e.createElement(ne.default,{onPressEnter:Yt,value:xt,onChange:cn=>{bt(cn.target.value),lr(encodeURIComponent(cn.target.value),ze||null)},bordered:!1,placeholder:Ae}),_e.createElement("i",{onClick:Yt,className:"iconfont icon-sousuo9 font14 pl10 current"}))},ce={flex_box_center:"flex_box_center___tol8o",flex_space_between:"flex_space_between___Z235C",flex_box_vertical_center:"flex_box_vertical_center___Wq1sZ",flex_box_center_end:"flex_box_center_end___LLxom",flex_box_column:"flex_box_column___DbMSN",quickPager:"quickPager___GM30J",disabled:"disabled___Ozc8I"},ie=({value:hn,onChange:kn,className:ar,total:lr,pageSize:Fr,style:pt={}})=>{const Ae=hn<2,Le=hn>=Math.ceil(lr/Fr);return lr<=Fr?_e.createElement(_e.Fragment,null):_e.createElement("div",{className:ye()(ce.quickPager,ar),style:pt},_e.createElement("div",{onClick:()=>{Ae||kn(hn-1,"prev")},className:Ae?ce.disabled:""},"\u4E0A\u4E00\u9875"),_e.createElement("div",{onClick:()=>{Le||kn(hn+1,"next")},className:Le?ce.disabled:""},"\u4E0B\u4E00\u9875"))},ue={flex_box_center:"flex_box_center___FO7TP",flex_space_between:"flex_space_between___LotYx",flex_box_vertical_center:"flex_box_vertical_center___bWdaw",flex_box_center_end:"flex_box_center_end___mVJ1o",flex_box_column:"flex_box_column___M83Mm",list:"list___oOsiS",wrap:"wrap___G6T7F",lockWrap:"lockWrap___Rl79E",li:"li___oZZ7l",cover:"cover___b2bYW",img:"img___IQX7w",sign:"sign___HkT6C",name:"name___SsJx8",e:"e___TMqq0",tags:"tags___bcjyo",rate:"rate___YACg7"},ge=Oe(71418),xe=Oe(6848),Me=Oe(13570),Be=Oe(38446),Ne=Oe(88230),Ue=Oe(96908),Ge=Oe(57177),Xe=Oe(81378),Ye=Oe(57816),$e=({className:hn,dataSource:kn=[],col:ar=4,right:lr,bottom:Fr=23,precision:pt=0,wrapWidth:Ae=1200,trackEventItems:Le,loading:Ie})=>{const ze=Math.floor((Ae-(ar-1)*lr)/ar);return _e.createElement(ge.Z,{spinning:Ie},_e.createElement("div",{className:ye()(ue.list,hn)},!!kn.length&&kn.map((Ze,xt)=>{const{name:bt,id:Yt,identifier:Ht,power:cn,cover_image_id:fn,pic:Zn}=Ze;return _e.createElement("div",{className:ue.wrap,key:Yt,style:{width:ze,marginRight:(1+xt)%ar===0?0:lr+pt,marginBottom:Fr}},_e.createElement("a",{target:"_blank",href:`/shixuns/${Ht}/challenges`,className:ue.li,onClick:Mn=>{Mn.preventDefault(),Le&&(0,Ne.L9)([Le]),cn&&(0,Ne.xg)(`/shixuns/${Ht}/challenges`)}},_e.createElement("div",{className:ue.img},_e.createElement("img",{className:ue.cover,src:`${Zn}`}),Ze.is_jupyter&&_e.createElement("img",{className:ue.sign,src:Ue}),Ze.is_jupyter_lab&&_e.createElement("img",{className:ue.sign,src:Ge}),Ze.is_unity_3d&&_e.createElement("img",{className:ue.sign,src:Xe})),_e.createElement("div",{className:ue.name},_e.createElement(xe.Z,{title:bt||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"},_e.createElement("span",{className:ue.e},bt||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"))),_e.createElement("div",{className:ue.tags},_e.createElement(xe.Z,{placement:"bottom",title:"\u5173\u5361\u6570"},_e.createElement("span",null,_e.createElement("i",{className:"iconfont icon-shixunguanqia font14 mr2"}),_e.createElement("span",null,Ze.challenges_count))),!!Ze.myshixuns_count&&_e.createElement(xe.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},_e.createElement("span",null,_e.createElement("i",{className:"iconfont icon-chengyuan font14 mr2"}),_e.createElement("span",null,Ze.myshixuns_count))),_e.createElement(xe.Z,{placement:"bottom",title:"\u96BE\u5EA6\u7B49\u7EA7"},_e.createElement("span",null,_e.createElement("span",null,Ze.level))),_e.createElement("div",{className:ue.rate},_e.createElement(Me.Z,{allowHalf:!0,disabled:!0,defaultValue:Ze.score_info}),_e.createElement("span",null,"\xA0",Ze.score_info?`${Ze.score_info}\u5206`:"5\u5206")))),!cn&&_e.createElement("div",{className:ue.lockWrap},_e.createElement("img",{src:`${Be.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),_e.createElement("span",{className:"mt15 font16 c-white"},"\u5B9A\u5411\u5F00\u653E\u5185\u5BB9\uFF0C\u9700\u8981\u6388\u6743")))}),!kn.length&&_e.createElement(Ye.Z,null)))},qe=Oe(55785),st={flex_box_center:"flex_box_center___eMcr7",flex_space_between:"flex_space_between___HcNca",flex_box_vertical_center:"flex_box_vertical_center___ZnvVN",flex_box_center_end:"flex_box_center_end___fdgDf",flex_box_column:"flex_box_column___SEKvd",list:"list___L1hmU",wrap:"wrap___pKgcW",lockWrap:"lockWrap___SMhkK",top:"top___udHSB",sign:"sign___uwRpq",name:"name___Fpf90",img:"img___AMLhL",text:"text___KiTb7",btns:"btns___i6IuZ",bottom:"bottom____k2sh"},rt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAAAXNSR0IArs4c6QAAIABJREFUeF7tXWmQXFd1/s59r3t6nX00o93GluV9AQNxiAkIB0OMISFsFQqSAhOohFR+JKmEQPILClJZfpEfIUAChFQSHIJxnGDiDYwsb8KRLUuWZcmSxqN9pJF6nV7eSZ373u1509Mzvd2eGVt6VV2z9Ht3+9459+yX8Bq4mDmWK2GLqla3MvFWZt4KpjVMSBNzGoQ0M6WJkJbpMiNDxBkwMkyUIUYGxCeJaB8x7fMcZ18yiv1EVHy1Lw+9GicwO8tXlSrlbSB6O4HfANAmZlY250JEHsBHGLQTzA9H3chDfX2012Yfy9HWqwJgZh7NF6vvY/a2gWkbgyeWY3Hq+yDQcRA/RKQeSsSce4jo9EqMo50+Vy3AzNxXKFTv9MAfB/AuZo60M7Fe30tEZQA/UqBvx+POvUQ02+s+O2l/1QGcy5Xe6Cn1SXj8YYAHO5nU8j9DM1D0b8rzvpFMRp9a/v4X73HVAJwplN9GHj7P4NtW0wK1OxYCPcAKX0rHI4+0+2wv7l9xgHPFyrs9j78A5l/sxQRXrE2ix5SiLyZj7v+s2BgArBjA+XzpzR7oq8x880ouQK/7JqKnFfiziUT0iV731aj9ZQeYmYez+fJXiOguZl72/ldkkYmYmb+eSkT+lIjOLOcYlm2BBcx8sfoJz+O/BHhkOSe5evqiaaXoTxIx55tExMsxrmUBOJ/njVVUvgvmW5djUqu+D6JHHbgfTSRostdj7TnAuWLlDq/K37pwqXYxCGlaOfRbyZh7Xy9B7hnAzOzmCpUvA/jDC2WvbReogE3/TTLufo6IKu0+38r9PQE4n+f1VVS+B+ZbWhnEBX8P0Q4H7gcTCZqyvRbWARZHQLlavp8ZG20P9rXcHhEmI07kdtsODasA5/OlX6gy/dfF/bbTV5GmHeL3JBLRxzttof45awCLRYo9vpuZE7YGdyG2Q0R5UvQBWxYwKwBn8pWPEPg7IlhdiKDYnrMIXAz6WDrh/mu3bXcNcEC5P7wIbrdQzH9eQCZF7+2WkrsCWPZcD/TgRbZsF1zTmrBrBX5HN3tyxwD7YTOVRy8KVL0Bd65Vmo667q2dStcdASx6rofyjouqUK/B9dsXFUohcksnenLbAMtemy1UfnrRiLE84NZ6IdqRirtvbdfi1TbA2Xz5r5j5j5Z5ehe705RMf51KRP64ncVoC2BxHLDH9/batlz2gJPnFc7PArNVgvjViABH6Zhm/ZErQoxkH7AmxYhHlsX71s7aWr9XbNek6M52HBQtA6xdflx5pldCVaEMHDuvcK5A8AjI5oB8EShXgEoZKFeBSgVQCohEgKjr/4z3AUP9gCIg7jLWpBn9fa9lsMXa5d7UqquxJYCFYrOFyk964c8V4F44oVCsEs5lgfNZIJcHPMFIk27wU0sbof/V0UcyBgz2AyMDQDQCbBzwXrtAEz2airu/3ErQQEsA5wqVT3qe93WbPKfqAS+eUsiWCWdmgJPTQLVaB2gjw6oB3U9B0azbsGz5XV6KsWFg01pAzGqXjniIua89ilZK3ZWMu99ohklTgP0YqsqLNlnz+SJh7ymF8xkf2JKEkFu+BOx1Y8CGNcBAH2P9gGe5h5VujqZTCfeKZjFeTQHO5EpfA/ApW9N5ZYYweU5h6jhwPlfHcpux5Ha/BxCLAldfBqSijMtHX2sg4x/SyejvLIXNkgAHoa07bEnNe48rnCkQDr8CFBokehh2q1ntIizYsOVG3y/g6AH7dl3gykuAvj4gAkahSihUCCVP9nryJfNgj1dguIrQ5wKJCCMZZaSjjOGEh6jV9LbuSUb2YAW+ZamQ3CUBzubLT9mKW95zTOFkhnDoqC8NL8clL0oqSYgnCSoCVIM92580axAjji+BuyqQ4RgQOq8wUKrK/0jv83Ilo8BQzMO6VBUDseWYQfM+JO46lYi8cbE7FwVYZxxUvf9u3kXzOyZnCIfPKuw/FAhSgcxTz3GbyFQLpOh6Ics877qE9AAQiZEGSyJUI6JGOT5VxlxocEWvdgTcAGQBUtQwWRTDTQTkYhXIlQnZElD2fMBjDmMizdjYX0VkhSlbOepXF/M6LQpwJl/ebiOd5FyR8PxxhQNHgGKP8+9EL04PKU2tAr5LjIQLJB0DJmswDbACpuP41KuBFYDlEwBsKFdz72ClZqvA2SJpI4yALc+PJ6rYPCDSevOXvSd3EG1PJyK/1KjthgBLIhg8frjbwYgq9MRhB5PHgXOZha01k5nq9d4FalEgowk4/UMKTp/fR59iJBX0nqkBo8ASpsGVPdYHVD7yuwY8uLcGcrAyNZCljbopZErAqQKhWPGB3pD2cEl/RUyK3S5d+88renujhLeGI8nmyv9rI8vv+aMKh6cJk8eC8Tbjye1Oi4BEkpDo91lxVDFSjghS/lVjuQZgMXc6DDdgxRrYEAWbl0GDHwC6FMBmuLkycKJAKFUJMQe4YriCwdjy6t6S1ZhKRn6l0TY37386Pxd4st21rr9fWNnTkw72HeyNnit7Z/+YAsn+CUbaBWJ68wzADbFZQ8GaJSuex6INy9ZCVmDvNkBLW2Y/DrPpxdbmTBGYLhCYCBvSVWzury4rNSvgTfX5yQsoOJMr/T2AJXWrVsDfeUThldOEoydbubu9e9wIYWBUFtJnxwPOHPuct28KyHWs1yHWVCsgCgULwAZkDXBA3ealaAdgmYWoXlNZ0vtzfx9wzUhZ97NM19fSyeinw33NA1jKJmTzlePdZtaL40Cod8+BQGq2OLtIFBgcVVrlSTiMtDPXeHgy+ndDgYFkrPfZEBUb9cgA7H8X7M/B3m0o17QXNLvkjGRsx/OkJW+R2q8erWjW3fuLZlIJdyJcTmIewPl85QNV9r7X7UD2nVTYd4wweXTplpoZNuqf7osB6WEFD4xBw5IbdFG/b8rfMlENoKZQn01rISvYg42qNPcSzLFneRH0FWL/razR6QLh7KxvNLl2tLwsUrZD6oOJhHu3Gd88gLP5skRH3tnK4Je6Z/tBBwenGkvOnbYtHqL+Nb5DeFgMFK2wPSNBB9gYdu2zaNZg14QsvZfPl6r1ixH+NFCfms3nfBk4lSdEXcK1Y2X0tTLuZo0u8T0R3ZtKRN67AGApVZQrVI52W81GDANPHnGw64XA5RcaTODsWbSswGJCthguhsYJHjNGWwXXEJ0BSChYfjdsGKzB05Qb/M/swWGVSb8MwbMycNNGeG9uhse5EnC6qLShRUAWga5Xl1T/ScbddabEU42CbbkEX55W2DtFONAg87WZltToBZAFHV4rbBkYiDASLSzOPLYUAtgA6APFvkFD2HQAvBikjSQt1C036BdAKDt4EbSEbQwjIQNIM8BEXz5fJu3Zunqkt7basCuxthbZfOm7zPjNZgNt9v3OSYWXpgjHpxf655sB3Kjt0XEhLyDpMvrrBZVGqmadXlDbPo3QFLJUacOJYuhce+NXDu4z0nRY0hbDiTgu6oWxZmsi30sXIniJk0NUKDGK9Ooiwr+kEtGPhsQGCZEpH7NRQc7sv9PnlgzA0HNrZslKpgnxftKq0FCHZkAjYEl/AkxNWBKngo4aYWxdR7h8Qr5f3AJVKDF2H/FNnZHASSHgmz26FbCkv6kcoQrCVaMVpHsUiCAV+VLJyNoawEHtxz2tDLLZPT894OClI37oTTeXcoHRCaUdBbLvLrH2S3YzT481+CrA84CKJ2oc49feRHA1T176+vlBT8eGxSJ+PJgxc7ZjmRQ9+WiOEHMJ142WemYIibqRqyVYXs8qkyv9HoCvNptgK98/+rKD3S8CxVIrdy9+z8ioguoDBiOMePO1X9hQ6JkwFcuNQkns+UaJSpnx4V8iOC28QY+/6KFSBeIxaJVHuxoDo0k7sz1bIpwrETalq5hI9oxVfzadjP6dD3C+/B9gfn87g1zs3u2HHDz9/CIGjmY8OWhUjBlD4wpR8lWijq6wcyD4XW/ZQTBfqeJHbM5WGB9/W2sA/2yvp6k+0Qckoj6rNlaxdsYoe/8reV/6u3GsBKcdFtBqR0T/kU5EPqABzuZLLzPjklafXeq+n73s4JkXgFIXFDw2IdIMMBbh1vTdRgOqM0roNQwiN8TLpcEtC6dhfPK25gCLivbALtZUm4wDcQFYjCQdbh/ioDg1q3TwwIaUfSomwqFUInqpVOiK5QqVnK16yz854OCFg/LSLBSi6nFopBaJnXlkgtBHjCEb9WVDDgPDmiVao6zBBUR4+sztPsAvHmU89KwvOMn+KuDJfhuLsLZ7y/8kPFc+ArDEZndCwWYdROAShnLjmjKUZSqWetfJuJuk7Cxfx5XyszaoV9rQQtYkMD3TWYsjYwQ3ThgV6u1k7w11G1aRTJy1sEfJnBAOU5DPLOOzd/gA//wA49+3+/ZoAU8C9hIxRqoPSCeAlAG3zwc+2uEebIaYKQPTswqbByoYj9t3L5IbuZ5s2Z/NoB9/WWH/FOHY6QZ6cIM45nAQnbQxsVHpSIzRaGcvSPgpAViANTZvEazEEWDYswB8+QTjnTdKGA7hbJbx7YeBM1mgT8CNCqjsAxuHTpOR/Ve+kxfA2LE7JT6zF8vLcs2wfeOH2KUpVyh/3vP4i90vp9/CnuMKe15pbMlqxqJF700PkdYPJSKjkyvs9dEB8SEjhuy9IgUbAeuWrcC1m+aziVKF8cOngJdPCKA8n3KjQFxYdjRwMYZiuToZqzxzukjIVwnXj5T1S2PzUoq+QNl86dvM+JithjNFwtOTCk8+17zFeqF6fK2CijLWRHyvTzeX5gwBBUs7QrkSzSl6rLDW224A1gws3snOA4xnXvapt541a0NHKOynm3FKQN+JosLGlIeJpKR22LuI8B3K5sr3M/id9pr19+Fn9/sJZK3mFkn/Gy5ROjpj1IJwpfdcAVhin4U1e6ISARMDwLbrhAqbv0FHzzCeeInR5wCpuL/v9sneKy9gyG/czdrJMEVlSrmErcN2UzwI9GPK5MuP2U7mfmZS4YVX/Bjo8LWUGizS85p1hGSdE7+txTP6bqAOCRVrlajqS83XbwbecJnOs2252fwsQ6hZ2pFMRtl/ayG3gamy5cYWufFkUYLwCTeNWbZsEe2gbK70LAPXdTvI8PPTeYKA/OTu4L9GQFzCXzgwAKSGFIYc7spnKtgZdUgAFvelsOZrNwE3X946sOH5VD3Gjn2sbdkxAdmCgBVuX9yJ58oKVw1XkLSY50zAc7IHWzNyhAf96AEH+yehpelWrjVjhGiSMBZlcR51fIUBFoFKqFcMGrddD1w63hnAMpgn93uQUCRRmbQU3aWKFJ5gvgKcLilc2l/FSMye0UOMHZTJlU/bzBw0Az+dIzx3TGHHLn8PbHZt2KSgHMZ4N+qRsVYFrFnSUWXfFYPGO28ELptYCHClyrjnCeCJF32Hxi1XAnfcLFLy/Hu37w0ADqxYhoprHqpmE1zie9HLjxUUxpNVLWzZu2iasvnyLDN3s6yLjuexgw4OHAUOmbjoJUa++RKlY5bFc9TxFQZY2HPZ/+RngXe/Hrh87UKAv79DTJDzA99Fwn7PG+ff+8huD/kS0C/6cNwXtsRUaSNiUnawyRxhKAZcNmBPHyaiUk8Bzs4SnplSePw5P5uwfgsOC12XvE7BdRgjXfDnmr3ZWKvEHBkAfMfrgS3rFgL8Z//M+gUQsIxrUSTmP//Q/Hsf2OXp+/qTvtokurCoSyaeuuOXMnjwlRwhFSVcMWRPktYA94pFmwnvO6EgyWdPPOdLtDUvf92KXHKZ7z3qxLEvL4oSyVli8uTEQckOrPgClrxYuSLjzpsJV6xfCPBf/AvrPVrAMi+gWKw+5/thatf9z3g4XwAGk0DaOBsCn7D2NNZnQrSJ+NG8H30pgpa9S7Po3ghZ4UE+dUjh+DnCzr3zSy6E77lsi9KpJ+0ArM2QoRIe2lsURGr4rkDfW5QtAu97E+HKBgDf97RIyHMAS5ti4br9pvkA3/e0h5k8MBAALGZM0Yd1THUQ01XLoOhAljteJN3ONRbjtbSQ1Qs1qf4NFIqS/fjISWDfoSDZuq6myqVbFGLi/zXSQJ3tPaxpSfvakCFxVAFXEEuV1nsFYDFJGndghZErAO+/hXDVhsZC1oPPAruP+C/LdZuBt1+3UMj6wROM0xnGQMKn4Hk26SDHycRxmQS2dijxaIEQUaQzIWxdWk2ylSbabFCirkim4akZ4NmXfBDCe/DlW5SOvdJOBpNxv0ijJiPfUKuxVA0lgY0jvgAkL4BsCcb+fOm4sNcOSCsYw6GTrL1P2gccfKTfmTxr27b8XwcAhCxcbdhTMCUsOgJcPWSRRRM9JqbKHzH49mYA2fheFuSpIw7OFYCn9wRhPQHKW7YqXdhsIsicr0VfBB2HKdgYMgyI8vKsHwLeek17Viobc2Jm7J1iZIq+AaRmp24zlMcXsoArLAJMoPutOxtaWbTnjymcLRB27YcOr5Vr6xWkY5Q3JedaMKCaMknyjfEQyXeyzwqFFivAnW/ojkJbGfdi92SLjJ0HWbsXta06FAjQChXLnCbzhOE+xusG7TkctLPBtruw1YU6lSHsP62QLQC7DwJrxhWqirFloI5FByjXtuTQPlsTpMrAb79t+anXzFWo+Me7WEd6yN4sTgmTEtMKwBL8d7ygsDZZxXqLhg7tLrTt8G8VYHPfoWmF4znC0TMKmSrwun5PmwH9sjfBj9CebGpVihnSWKlyReBTv9KhA7ndAS9y/z1PeugPoj5MOE+rEZe5ih/ZIUaOIYuJ49rhbztkp5P1kr10+wEXB2cIG/s9DPbNVa+rUYnZi4N4ZpGShTVLPctMAfjM7Z0BfOgE4+cHgfN5YP0ocOtVrbkS6+f5b9s9DKUCCTtg1SbdpdmazJT8tJZrR+xmIOqQHdtBd80ms9j3UtTkP3dHMBpnbOpnQ8C1MoXmOSMxi+QqUq2w+Ewe+My72gf4wV2Me570JV/tpPB8gH7/DmDNYHsS93d/4gNcs3QFOnIrtmrRgUWWuGmNPQm6FnQnC7ccxo5WgL/72QgqHuPGCV4ArBG05Kdmz2UgN+sDfDYL/O672wN4aprxt/fMpaEIECacdt0w8Ad3tgfwPz3kYbQfWk/WwQFBWG0zgEWNFwl6oA/YMmgT4CBsVhY+ky/fDebfaAWEXt7zyAEHR2YUbpjwEHfnDCI1cg4iNLQLMGDPYj48m2kfYKHeR3b7QpGoNgZg8TzJnv4XH5bvWgf5Hx/0MNLvmzLDADdzRuSrUqlH6XoeaxIWPUnhwHebqSvdvABTM8CDByLYMMDYPNA4jNQYLjQQs5J240dBtsuif/A4Y9+UgMFatRGAhTMUSqT39N/eBmwYaR3gbz7oYTQNDKR8Z4REf7TibZJojlmPcMOo9bzhudQVm8ln3QAsz37vWVez5zdvDAEc+tUALM53EbBmAoA//c72WPR9TzFePsma2kR/FR1cABbqPZ8nfPhWYP1wewCPpIHBNgAWs6qwZynWstWigUPWcV7ymd6HLaWPdgvwzikHe04oXD/uYbjBIXnzKLgInAsAvqtNNen+ZxiTp1mrNkJtYkcWwU24grT5628mrG0DYM2iDcChPXgpFi2hOjNlhcstq0cL0kcDQctKAni3AIv/9vu7I7rK683rF7LpBQAXgDMZ4BPvaI+CJc/o2FnW3iHRW8UTJHu7ULAIbe+5mTAx1DoFf+thD8MCcEjIMtV7Gq2JCXqX6gLXj5XbCgRstsYNE8BtlXBo1nkr3+84pPDSGQc3rfMwUkfFJq9XVCRh0YaCP/QWQryFUFjTv0RonJzxU1I0BSs/+kMoeCbruwvHW1SVJL/p7sdYAyxStE5Oa6ImCfWeLYlwVcF4wm7aSsMSDraKsLQCYLN7ciXgnr0RXQfrzZt4XtEWDXCdFC37sGQoXLe5dYr72R4PJ87DZ9GBkGUo+FweeMd1tGRgfHgOzx1mPH+E9f4rAGtX4hIAy94r3iOXCNePlawmni1ahMVn03bKKDUDsJXv/++4g+eOKlw55mHT4NwT2oMU6MEiaIkeLFQsku8Nl0jUhqScNAf68X0eTmXmwm8MixbOIJXof/kawmj/0u3kZhn7p4Bdh31hTbPn4IURgBfLPJR0lUyZsGWwiuG4RdXIP1upcRklWcKVtkuHgfc8xg/3RFGsspaoE0G2gzZ0BA59baoUVSnvmxoF5GyBtIVL9nJxRsglViqxb+uEMskUjPvClXwkPEe8P1pNEs9UYB0TKpb2MtKelA4O0l5M6SVxKMjeLWqWBOJJW8LujbNBUk8bxWsVKuJYIKTlqAGL0Rtm7ZYshGarlGErFNrKPScyhAdecrXA9cYNfhlgk60gYMii66C6or93SuSGRD4KSKUKaVYuFK9LFjoCJOv9Viq362zBIM9Xx2OJqTJg/aYt+SltSx+Vqm9OlMu0pdNLg7YkXlpKOwi7X6x+R1lYc9Yv43PDSFn7j+1eTUoZSme2ipHaGviuowq7TzgYTTJuWucLI8Yebfbi2QBUne8rlBscpCXgGoAFZDE8SByVpj5x64XSQOV7aVf2YT8x3P+ISVTUJ+nLpLqatvTBXAElS1smrSVc+9Ksg6mwU2afNY9YZs26H6X+Ph13PxNe+wWbjK1ywrYAFl/rAy9FcSoHbB5kbBllDZpJKtPpoKGUUJGEBSShNh35EQiopui3T30+0Pr0tKDAmc4hDgQ4kw1hgJW/dX9BrrGpVGteGOEAus0glMcUSgvXddHFSSukzZGXWXTqh9e5pXLCWtiyVBDcFsiywD960UVmlnDNuIe16YCKg2o5RjfWe7MAEQBsYrfmFSM1Vd5DZYRN8W8twAVCnGlT/5T4MX34g++gNtXwxN+rSz0EFfG0V6pW8HRu9lKUVFyCUuXuqhH75Rq0nNFqQXDNpi2V9LcFsLQjqtOPX3Qhhca3jjHWpX1nhA7eC1ixYd36b3koFCigIx39lai5B8Phrvr2IGHcsHbNBYLgwHDYkC6FGDows1Yhvu5QD2nTgCv7vtTFsl2Lo7bG7ZT01yBbOpTDJsiZWeDhgxEtSIlDQth1GBQTqFeLugx1HsSm+1uVsOPQWQ4B7r7TKngpwjU9arFhcxWF5yrBm1LFQQeGLcvzx/KEfIV0wtq1wz0sDE70WDoReUujtV5U0bN5rI5NkCUT75EDEQjYw3HGNeNz0nWAT8jP2KDnYMZm4o1ipswLop9eysgUqsUVbsdUs9NV36OMa0Z7w5bN7Do6VkfvxRYPxrIJsuzJ2w9HcCLrn4N07bicUGazh87bkvpXx3JySAhhPCkCVaV3bNk3bHR2MJZM0fbRdp0vW+Mnxeu055QDqTa1cRDYNMAd17TsdmyyX5+UksEl2eMJW4aqGLPpwG/EjLo92k7vxZYPp+x2Ieufl1NOdr7i4lxRLEuMSwcYo6mFZxzZ7te0J3vtzKwvTMk5iAMxxpXDlR4YMRrOoLvDKX3J0v7xsrYXW3Rl8T7tOen4xUIjrIWwsYSd/N1G4xXVSYA9UyRUPKkeC1w+WMVo74qL1g3D0vGy0upqciUu9XJIwN6+0w4OTit9rI2rWLsb1yQZ6b7OSxKbPkVHlvMLZ2ZJq23i55LDpzcNVrE26fV0r62ft7UDogMq7tkR77apWdqrMuPwjMLhGQdydqI2TijW8dZyVKzYjyWoT2zBi1URFtYrOrcOrq+I98ePwxbmLwYNOdlsfdrDaHx5D7/S62X7iHdf4OKNVa4804t6Hr0A2bQpOvPRjIOTOYWzRd/VOFel3a9ma8yYNcNJrQSir0zJ/RHJXY5D25BFOhYz5cpcNO2Qe1MiQQ1OxVg4ouaO09AzuWLlDvb4XlsHRi/3AklJ4POzCjkpyD0rjgmlvUQV5uBsYXHC+6BHHKF01npsqo+RtFCcrdv5yoHQpOjOZMy9r9W22gJYGs3my3/FzH/UagcX77O3AkT016lE5I/babFtgJnZzRYqP7VdHa+dQV+Q9xLtSMXdtxJRW+kPbQMc7MfrPZR3MGPjBbnYyzxpIkwqRG5JJGiq3a47Alg68YPlK4++2oSudhdo5e+n6ajr3ionqHQylo4B9im59Ase6EFmbhCi3slwLj4TXgEiyivwOxKJ6OOdrkxXAEun4nVij+VQS+sRRp1O6rXwnOy1pOi9yZj7P93Mp2uApfNMvvIRAn/nIsjdQDH3rIDLoI+lE+6/dtuiFYBDlHz3RXbdHSTClknRB7qlXDMKawCbPbnK9F8XBa9OQRYrFb+nmz23vmerABvpulwt339RhWoPZFGFIk7k9k6l5cV6sw6w0ZOrqHzvojGkRZCJdjhwP9iJntush54ALJ2KwJUrVL4M4A9frbbrZovX7fdiWwbwN8m4+7l2LVSt9t0zgM0AxEHhVflbF/flBbvjtHLot9pxHLQK6jxdupOH2n1GuxpR+S6Yb2332dfk/USPOnA/2qrLr5s16DkFm8EJm84Xq5/wPP7LC5eaaVop+pNEzPlmwJ67wa6lZ5cN4BDQw9l8+StEdNeFsjcLmMz89VQi8qdEdKYlZCzdtOwAm3EHIblfZeabLc1lVTYjccsK/NlEIvrESgxwxQAOCWHv9jz+Aph/cSUWoGd9Ej2mFH3RlkWq03GuOMBm4JLwRh4+z+DbOp3ManhOsvxY4UvpeOSR1TGe1TCK0BiC/OS7APoQwKHqHKtsoPOGQzMA/7sCvp5MRp9aTSNdNRRcvyhSTqJQqN7pgT8O4F3MvArC3uZGKdVsAPxIgb4djzv3EtHsagLWjGXVAhxeLCnxlC9W38fsbQPTNgZPrMRiSgU5ED9EpB5KxJx7iKjFkxlXYrR+n68KgOuXJ6ituQ1E2wj8eoA2McuxWPYuqbcM8BEG7QTzw1E38pBtR4C90S7e0qsS4AbsPJYrYYuqVrcy8VZm3gqmcSakiTkFQpqZ0kRIy7PMyBBxBowME2WJkQHxCSLaR0z7PMfZl4xiPxFdXaKvAAAADElEQVQVlwOEXvbx/3Bccpan8cseAAAAAElFTkSuQmCC",ct=Oe(59301),dt=({className:hn,dataSource:kn=[],col:ar=4,right:lr,bottom:Fr=23,precision:pt=0,wrapWidth:Ae=1200,trackEventItems:Le,loading:Ie})=>{const ze=Math.floor((Ae-(ar-1)*lr)/ar);return ct.createElement(ge.Z,{spinning:Ie},ct.createElement("div",{className:ye()(st.list,hn)},!!kn.length&&kn.map((Ze,xt)=>{const{subject_identifier:bt,id:Yt,identifier:Ht,power:cn}=Ze,fn=Ze.is_public!=0&&Ze.is_public;return ct.createElement("div",{className:st.wrap,key:Yt,style:{width:ze,marginRight:(1+xt)%ar===0?0:lr+pt,marginBottom:Fr}},ct.createElement("a",{className:st.li,onClick:Zn=>{Zn.preventDefault(),Le&&(0,Ne.L9)([Le]),(0,Ne.xg)(Ze.first_category_url)}},ct.createElement("div",{className:st.top},ct.createElement(xe.Z,{title:Ze.name},ct.createElement("div",{className:st.name},Ze.name)),ct.createElement("img",{className:st.img,src:Be.Z.IMG_SERVER+"/images/"+Ze.avatar_url}),ct.createElement("div",{className:st.text,title:Ze.creator},Ze.creator),bt&&ct.createElement("div",{className:st.btns},ct.createElement("div",null,"\u5F00\u653E\u8BFE\u7A0B"),ct.createElement("aside",null,"\u5F00\u653E\u8BFE\u5802")),fn&&ct.createElement("div",{className:st.sign},"\u516C\u5F00")),ct.createElement("div",{className:st.bottom},Ze.visits>0&&ct.createElement(xe.Z,{title:"\u8BBF\u95EE\u91CF",placement:"bottom"},ct.createElement("span",null,ct.createElement("i",{className:"iconfont icon-liulanyan"}),ct.createElement("span",null,Ze.visits))),Ze.course_members_count>0&&ct.createElement(xe.Z,{title:"\u6210\u5458",placement:"bottom"},ct.createElement("span",null,ct.createElement("i",{className:"iconfont icon-chengyuan"}),Ze.course_members_count)),Ze.tasks_count>0&&ct.createElement(xe.Z,{title:"\u4F5C\u4E1A",placement:"bottom"},ct.createElement("span",null,ct.createElement("i",{className:"iconfont icon-zuoye"}),Ze.tasks_count)),Ze.is_end?ct.createElement("div",{style:{color:"#6B758B"}},"\u5DF2\u7ED3\u675F"):ct.createElement("div",{style:{color:"#00B187"}},"\u8FDB\u884C\u4E2D"))),!Ze.is_accessible&&ct.createElement("div",{className:st.lockWrap},ct.createElement("img",{src:`${Be.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),ct.createElement("span",{className:"mt15 font16 c-white"},"\u975E\u8BFE\u5802\u6210\u5458\u4E0D\u53EF\u8FDB\u5165")))}),!kn.length&&ct.createElement(Ye.Z,null)))},At={flex_box_center:"flex_box_center___d27mZ",flex_space_between:"flex_space_between___qfRU9",flex_box_vertical_center:"flex_box_vertical_center___fCRld",flex_box_center_end:"flex_box_center_end___ORMV8",flex_box_column:"flex_box_column___PNKtZ",tabs:"tabs___alpa7",tabsWrap:"tabsWrap___aCQjw",tab:"tab___MKLr4",active:"active___nl_4v"},mt=Oe(24459),vt=({dataSource:hn=[],value:kn,onChange:ar,className:lr,style:Fr={},tabBarExtraContent:pt})=>_e.createElement("div",{className:ye()(At.tabs,lr),style:Fr},_e.createElement("div",{className:At.tabsWrap},hn.map((Ae,Le)=>_e.createElement("aside",{className:At.tab,onClick:()=>{ar(Ae.id),Ae.link&&mt.history.push(Ae.link)},key:Le},_e.createElement("div",{className:kn===Ae.id?At.active:""},Ae.name),(Ae==null?void 0:Ae.resetCount)==null&&(Ae==null?void 0:Ae.total)!==void 0&&_e.createElement("span",null,"\uFF08",Ae==null?void 0:Ae.total,"\uFF09"),(Ae==null?void 0:Ae.resetCount)!==void 0&&(Ae==null?void 0:Ae.total)!==void 0&&_e.createElement(xe.Z,{title:(Ae==null?void 0:Ae.tip)!=null?Ae==null?void 0:Ae.tip:""},_e.createElement("span",{style:{color:"#9096A3"}},"\uFF08",_e.createElement("span",{style:{color:"#000"}},Ae==null?void 0:Ae.resetCount),"/",_e.createElement("span",null,Ae==null?void 0:Ae.total),"\uFF09"))))),_e.createElement("div",{className:At.tabBar},pt)),Jt=({className:hn,style:kn={},children:ar})=>_e.createElement("div",{className:ye()(hn),style:kn},ar),en={flex_box_center:"flex_box_center___e6HxQ",flex_space_between:"flex_space_between___RnXYe",flex_box_vertical_center:"flex_box_vertical_center___lVxPk",flex_box_center_end:"flex_box_center_end___bu8yv",flex_box_column:"flex_box_column___JczGj",orderWrap:"orderWrap___ZfyGX",orderIconWrap:"orderIconWrap___XTB_O",orderAsc:"orderAsc___KWHmA",orderDesc:"orderDesc___rHdbB",active:"active___a7eSP",cursorPointer:"cursorPointer___gs9kL",orderTextWrap:"orderTextWrap___teAKn"},mn=Oe(38854),Ot=Oe(20834);const an=[{id:"updated_at",name:"\u6700\u65B0\u52A8\u6001"},{id:"created_at",name:"\u6700\u65B0\u521B\u5EFA"},{id:"name",name:"\u540D\u79F0\u6392\u5E8F"}];var Dn=({sortValue:hn,dropValue:kn,className:ar,onSort:lr,onDrop:Fr,dataSource:pt=an})=>{var Ae;return _e.createElement("div",{className:ye()(en.orderWrap,ar)},_e.createElement(mn.Z,{dropdownRender:()=>_e.createElement(Ot.default,null,pt.map((Le,Ie)=>_e.createElement(Ot.default.Item,{key:Ie,onClick:()=>Fr(Le.id)},Le.name)))},_e.createElement("span",{className:en.orderTextWrap},(Ae=pt.find(Le=>kn===Le.id))==null?void 0:Ae.name)),_e.createElement("span",{className:en.orderIconWrap},_e.createElement("span",{className:en.orderAsc},_e.createElement("i",{className:hn==="asc"?`iconfont icon-sanjiaoxing-up font12 ${en.cursorPointer} ${en.active}`:`iconfont icon-sanjiaoxing-up font12 ${en.cursorPointer}`,onClick:()=>lr(hn==="asc"?"desc":"asc")})),_e.createElement("span",{className:en.orderDesc},_e.createElement("i",{className:hn==="desc"?`iconfont icon-sanjiaoxing-down font12 ${en.cursorPointer} ${en.active}`:`iconfont icon-sanjiaoxing-down font12 ${en.cursorPointer}`,onClick:()=>lr(hn==="asc"?"desc":"asc")}))))},Tn={flex_box_center:"flex_box_center___LCi0B",flex_space_between:"flex_space_between___hzONe",flex_box_vertical_center:"flex_box_vertical_center___ZyQRE",flex_box_center_end:"flex_box_center_end___XKM74",flex_box_column:"flex_box_column___p8LCU",btn:"btn___In02G","mediacy-round":"mediacy-round___uveEv","mediacy-default":"mediacy-default___dDxsd",default:"default___K791v"},sn=Oe(3113),dn=Object.defineProperty,Kt=Object.getOwnPropertySymbols,Tt=Object.prototype.hasOwnProperty,yt=Object.prototype.propertyIsEnumerable,Gt=(hn,kn,ar)=>kn in hn?dn(hn,kn,{enumerable:!0,configurable:!0,writable:!0,value:ar}):hn[kn]=ar,gt=(hn,kn)=>{for(var ar in kn||(kn={}))Tt.call(kn,ar)&&Gt(hn,ar,kn[ar]);if(Kt)for(var ar of Kt(kn))yt.call(kn,ar)&&Gt(hn,ar,kn[ar]);return hn},St=(hn,kn)=>{var ar={};for(var lr in hn)Tt.call(hn,lr)&&kn.indexOf(lr)<0&&(ar[lr]=hn[lr]);if(hn!=null&&Kt)for(var lr of Kt(hn))kn.indexOf(lr)<0&&yt.call(hn,lr)&&(ar[lr]=hn[lr]);return ar},Qt=(hn,kn,ar)=>new Promise((lr,Fr)=>{var pt=Ie=>{try{Le(ar.next(Ie))}catch(ze){Fr(ze)}},Ae=Ie=>{try{Le(ar.throw(Ie))}catch(ze){Fr(ze)}},Le=Ie=>Ie.done?lr(Ie.value):Promise.resolve(Ie.value).then(pt,Ae);Le((ar=ar.apply(hn,kn)).next())}),wt=hn=>{var kn=hn,{className:ar,style:lr,children:Fr,loading:pt=!1,openLoading:Ae,onClick:Le=()=>{},size:Ie="middle",shape:ze="round"}=kn,Ze=St(kn,["className","style","children","loading","openLoading","onClick","size","shape"]);const[xt,bt]=(0,_e.useState)(!1);return _e.createElement(sn.ZP,gt({onClick:(0,we.throttle)(Yt=>Qt(void 0,null,function*(){Ae&&bt(!0);try{yield Le(Yt)}catch(Ht){console.log("error",Ht)}Ae&&bt(!1)}),2e3,{leading:!0,trailing:!1}),className:ye()(Tn.btn,Tn[`${Ie}-${ze}`],ar),style:lr,size:Ie,shape:ze,loading:xt||pt},Ze),Fr)},rn={flex_box_center:"flex_box_center___TB7bQ",flex_space_between:"flex_space_between___oBlTb",flex_box_vertical_center:"flex_box_vertical_center___b5XbB",flex_box_center_end:"flex_box_center_end___CNhe7",flex_box_column:"flex_box_column___yHXKW",head:"head___ghH72",node:"node___mjPEy"},zn=({className:hn,style:kn,children:ar=null,onClick:lr,title:Fr})=>_e.createElement("div",{className:ye()(rn.head,hn),style:kn},_e.createElement("span",{className:"primary-hover",onClick:lr},_e.createElement("i",{className:"iconfont icon-fanhui2 font12"}),"\u8FD4\u56DE"),_e.createElement("b",{title:Fr},Fr),_e.createElement("div",{className:rn.node},ar)),Gn={flex_box_center:"flex_box_center___AlHuF",flex_space_between:"flex_space_between___vN2LW",flex_box_vertical_center:"flex_box_vertical_center___Ac7D2",flex_box_center_end:"flex_box_center_end___y38I7",flex_box_column:"flex_box_column___iQE6P",btns:"btns___sNgTb",confirm:"confirm___Ozirl",cancel:"cancel___aiq1I"},Xn=({confirmShow:hn=!0,confirmTitle:kn,confirmClick:ar,cancelShow:lr=!0,cancelTitle:Fr,cancelClick:pt,className:Ae,style:Le,confirmLoading:Ie=!1})=>_e.createElement("div",{className:ye()(Gn.btns,Ae),style:Le},hn&&_e.createElement(sn.ZP,{loading:Ie,onClick:ar,type:"primary",className:Gn.confirm},kn),lr&&_e.createElement(sn.ZP,{onClick:pt,className:Gn.cancel},Fr)),$t={flex_box_center:"flex_box_center___jkpdr",flex_space_between:"flex_space_between___OtsL8",flex_box_vertical_center:"flex_box_vertical_center___rbcb_",flex_box_center_end:"flex_box_center_end___zBR21",flex_box_column:"flex_box_column___nS_eP",fixedBottom:"fixedBottom___oJl7m",wrap:"wrap___A3Oq1",center:"center____VL1y"},jn=({className:hn,style:kn={},LeftContent:ar,children:lr,RightContent:Fr})=>_e.createElement("div",{className:ye()($t.fixedBottom,hn),style:kn},_e.createElement("div",{className:$t.wrap},_e.createElement("div",{className:$t.left},ar),_e.createElement("div",{className:$t.center},lr),_e.createElement("div",{className:$t.right},Fr))),Ln={flex_box_center:"flex_box_center___tY8Yn",flex_space_between:"flex_space_between___vHdYA",flex_box_vertical_center:"flex_box_vertical_center___pa61F",flex_box_center_end:"flex_box_center_end___HyDXt",flex_box_column:"flex_box_column___UjZek",crumbs:"crumbs___V41Oe",hover:"hover___bEIVd"},Ur=({className:hn,style:kn={},dataSource:ar=[]})=>_e.createElement("div",{className:ye()(Ln.crumbs,hn),style:kn},ar.map((lr,Fr)=>Fr<ar.length-1?_e.createElement(_e.Fragment,{key:Fr},lr.path||lr.onClick?_e.createElement("span",{className:Ln.hover,onClick:lr!=null&&lr.onClick?lr.onClick:()=>mt.history.push(lr.path)},lr.name):_e.createElement("span",null,lr.name),_e.createElement("span",null,"\xA0",">","\xA0")):_e.createElement("span",{key:Fr,style:{color:"#5F6368"}},lr.name))),Mr=Oe(31797),Gr=Object.defineProperty,ma=Object.defineProperties,Oa=Object.getOwnPropertyDescriptors,Ea=Object.getOwnPropertySymbols,Ma=Object.prototype.hasOwnProperty,li=Object.prototype.propertyIsEnumerable,di=(hn,kn,ar)=>kn in hn?Gr(hn,kn,{enumerable:!0,configurable:!0,writable:!0,value:ar}):hn[kn]=ar,Hr=(hn,kn)=>{for(var ar in kn||(kn={}))Ma.call(kn,ar)&&di(hn,ar,kn[ar]);if(Ea)for(var ar of Ea(kn))li.call(kn,ar)&&di(hn,ar,kn[ar]);return hn},Ta=(hn,kn)=>ma(hn,Oa(kn)),Ha=(hn,kn)=>{var ar={};for(var lr in hn)Ma.call(hn,lr)&&kn.indexOf(lr)<0&&(ar[lr]=hn[lr]);if(hn!=null&&Ea)for(var lr of Ea(hn))kn.indexOf(lr)<0&&li.call(hn,lr)&&(ar[lr]=hn[lr]);return ar};const{Countdown:sr}=Mr.default;var Qa=hn=>{var kn=hn,{onChange:ar}=kn,lr=Ha(kn,["onChange"]);const[Fr,pt]=(0,_e.useState)(null);(0,_e.useEffect)(()=>{typeof Fr=="number"&&Fr>=0&&ar(Fr)},[Fr]);const Ae=Le=>{const Ie=Math.floor(Le/1e3);pt(Ie)};return _e.createElement(sr,Ta(Hr({},lr),{onChange:Ae}))}},50505:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return Ve}});var _e=Oe(59301);function Ve(Re,be){const Fe=(0,_e.useRef)();(0,_e.useEffect)(()=>{Fe.current=Re}),(0,_e.useEffect)(()=>{function Ce(){Fe.current()}if(be!==null){let ve=setInterval(Ce,be);return()=>clearInterval(ve)}},[be])}},85439:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Q8:function(){return tt},d0:function(){return dt},w6:function(){return ct}});var _e=Oe(59301),Ve=Oe(5083),Re=Oe(57809),be=Oe(8591),Fe=Oe(43418),Ce=Oe(5112),ve=Oe(95237),ye=Oe(43604),we=Oe(6848),De=Oe(24905),pe=Oe(3113),Ee=Oe(61186),Pe=Oe.n(Ee),de=Oe(73898),ee=Oe(7660),ne=Oe(89392),le=Oe.n(ne),oe=Oe(88230),ce=Oe(774),he=Oe(24459),ie=Oe(55954),ue=Oe(82309),ge=Oe(51269),xe=Oe(20527),Me=Oe(49898),Be=Oe(59301),Ne=Object.defineProperty,Ue=Object.defineProperties,Ge=Object.getOwnPropertyDescriptors,Xe=Object.getOwnPropertySymbols,Ye=Object.prototype.hasOwnProperty,nt=Object.prototype.propertyIsEnumerable,$e=(vt,Wt,Jt)=>Wt in vt?Ne(vt,Wt,{enumerable:!0,configurable:!0,writable:!0,value:Jt}):vt[Wt]=Jt,qe=(vt,Wt)=>{for(var Jt in Wt||(Wt={}))Ye.call(Wt,Jt)&&$e(vt,Jt,Wt[Jt]);if(Xe)for(var Jt of Xe(Wt))nt.call(Wt,Jt)&&$e(vt,Jt,Wt[Jt]);return vt},st=(vt,Wt)=>Ue(vt,Ge(Wt)),rt=(vt,Wt,Jt)=>new Promise((en,mn)=>{var Ot=Dn=>{try{tn(Jt.next(Dn))}catch(Tn){mn(Tn)}},an=Dn=>{try{tn(Jt.throw(Dn))}catch(Tn){mn(Tn)}},tn=Dn=>Dn.done?en(Dn.value):Promise.resolve(Dn.value).then(Ot,an);tn((Jt=Jt.apply(vt,Wt)).next())});function ct(vt,Wt){const Jt=[];for(let en=vt;en<Wt;en++)Jt.push(en);return Jt}const tt=(vt,Wt,Jt)=>{const en=vt<Pe()().startOf("day"),mn=vt>Pe()(Wt).endOf("day"),Ot=vt<Pe()(Jt).startOf("day");return Wt?Jt?Pe()()<=Pe()(Jt)?Ot||mn:en||mn:vt&&en||mn:Jt&&Pe()()<=Pe()(Jt)?Ot:en},dt=(vt,Wt)=>{const Jt=parseInt(Pe()(vt).format("HH")),en=parseInt(Pe()().format("HH")),mn=parseInt(Pe()().format("mm"));if(!vt)return{disabledHours:()=>ct(0,en),disabledMinutes:()=>ct(0,mn)};if(Wt){const Ot=parseInt(Pe()(Wt).format("HH")),an=parseInt(Pe()(Wt).format("mm"));return Pe()(vt).isSame(Pe()(Wt),"day")?{disabledHours:()=>ct(0,Ot),disabledMinutes:()=>Jt<=Ot?ct(0,an):[]}:void 0}if(Pe()(vt).isSame(Pe()(),"day"))return{disabledHours:()=>ct(0,en),disabledMinutes:()=>Pe()(vt).isSame(Pe()(),"hour")&&Jt<=en?ct(0,mn):[]}},{RangePicker:At}=Ve.default,{Option:mt}=Re.default,ht=({shixunHomeworks:vt,loading:Wt,dispatch:Jt,classroomList:en,user:mn})=>{var Ot,an,tn,Dn,Tn,sn,dn,Kt,Tt;const yt=(0,he.useParams)(),{workSetting:Gt,workList:gt,shixunWorkList:St,headerInfo:Qt,changeData:Nt}=vt,[wt,rn]=(0,_e.useState)(!1),[On,zn]=(0,_e.useState)(!1);let[Gn,nr]=(0,_e.useState)([]),[Xn,$t]=(0,_e.useState)([]),[gn,jn]=(0,_e.useState)({unified_setting:!1,publish_time:"",end_time:"",allow_late:!1,unified_late:!0,late_time:"",late_penalty:0,penalty_type:ie.Q.Percent,challenge_settings:[],work_efficiency:!1,shixun_evaluation:"",answer_open_evaluation:!1,answer_public:!1,score_open:!1,comment_public:!0,total_score:"",eff_score:0,action_analysis:!1,work_end_forbid_evaluate:!1});const[Ln,Sr]=(0,_e.useState)({}),[Ur,Mr]=(0,_e.useState)({});(0,_e.useEffect)(()=>()=>{nr([])},[]),(0,_e.useEffect)(()=>{rn(!(0,de.GJ)())},[(0,de.GJ)()]);const Gr=()=>{Jt({type:"shixunHomeworks/getWorkSetting",payload:qe({},yt)})};(0,_e.useEffect)(()=>{if(!(Gt!=null&&Gt.course_id))return;Object.keys(gn).map(function(pr){gn[pr]=Gt[pr]}),(!gn.allow_late||!gn.unified_late)&&(gn.late_penalty=20,gn.penalty_type=ie.Q.Percent),gn.unified_setting||(gn.unified_late=!1,gn.unified_anonymous_comment=!1,gn.unified_anonymous_appeal=!1),Gn=JSON.parse(JSON.stringify(Gt.group_settings.map(pr=>st(qe({},pr),{group_name:[pr.group_name]})).filter(pr=>pr.publish_time!==null))),Xn=JSON.parse(JSON.stringify(Gt.allow_late_settings.map(pr=>st(qe({},pr),{group_name:[pr.group_name]})).filter(pr=>pr.late_time!==null))),jn(qe({},gn));const sr=(0,oe.QE)((Gn==null?void 0:Gn.length)>0?Gn:[]);nr([...sr]),(Xn==null?void 0:Xn.length)<=0?$t([{penalty_type:ie.Q.Percent,late_penalty:20}]):$t([...Xn])},[Gt]);const ma=()=>rt(void 0,null,function*(){var sr,pr;if(((sr=mn==null?void 0:mn.userInfo)==null?void 0:sr.user_status)===2){(0,ue.Rd)();return}const Qa=JSON.parse(JSON.stringify(gn));if(Qa.challenge_settings.filter(kn=>!kn.hide),Qa.categoryId=yt.categoryId,(pr=Qa.challenge_settings)!=null&&pr.every(kn=>!kn.checked)){be.ZP.warning("\u5173\u5361\u4E0D\u80FD\u5168\u90E8\u8BBE\u7F6E\u4E3A\u53EF\u4E0D\u505A");return}if(console.log(Gn),!gn.unified_setting)Gn=Gn==null?void 0:Gn.map(kn=>{var ar;if(!kn.publish_time||!kn.end_time)throw be.ZP.error("\u8BF7\u628A\u53D1\u5E03\u65F6\u95F4\u586B\u5199\u5B8C\u6574"),new String("\u8BF7\u628A\u53D1\u5E03\u65F6\u95F4\u586B\u5199\u5B8C\u6574");if(!kn.group_name)throw be.ZP.error("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0"),new String("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0");return kn.group_name=typeof(kn==null?void 0:kn.group_name)=="string"?[kn==null?void 0:kn.group_name]:kn==null?void 0:kn.group_name,kn.group_id=(ar=Gt.group_settings)==null?void 0:ar.filter(lr=>{var Fr;return(Fr=kn==null?void 0:kn.group_name)==null?void 0:Fr.includes(lr.group_name)}).map(lr=>lr.group_id||lr.id).toString().split(","),kn});else if(!gn.publish_time||!gn.end_time)throw be.ZP.error("\u53D1\u5E03\u622A\u6B62\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A"),new String("\u53D1\u5E03\u622A\u6B62\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A");if(Qa.group_settings=Gn,gn.allow_late)if(gn.unified_late){if(gn.late_penalty===null||gn.late_penalty===void 0||gn.late_penalty<0||gn.late_penalty>100)throw be.ZP.error("\u8FDF\u4EA4\u6263\u5206\u586B\u5199\u533A\u95F4\u4E3A0~100"),new String("\u8FDF\u4EA4\u6263\u5206\u586B\u5199\u533A\u95F4\u4E3A0~100");if(!gn.late_time)throw be.ZP.error("\u8BF7\u628A\u622A\u6B62\u65F6\u95F4\u586B\u5199\u5B8C\u6574"),new String("\u8BF7\u628A\u622A\u6B62\u65F6\u95F4\u586B\u5199\u5B8C\u6574")}else Xn=Xn==null?void 0:Xn.map(kn=>{var ar,lr;if(kn.late_penalty===null||kn.late_penalty===void 0||kn.late_penalty<0||kn.late_penalty>100)throw be.ZP.error("\u8FDF\u4EA4\u6263\u5206\u586B\u5199\u533A\u95F4\u4E3A0~100"),new String("\u8FDF\u4EA4\u6263\u5206\u586B\u5199\u533A\u95F4\u4E3A0~100");if(!kn.late_time)throw be.ZP.error("\u8BF7\u628A\u622A\u6B62\u65F6\u95F4\u586B\u5199\u5B8C\u6574"),new String("\u8BF7\u628A\u622A\u6B62\u65F6\u95F4\u586B\u5199\u5B8C\u6574");if(!kn.group_name)throw be.ZP.error("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0"),new String("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0");return kn.group_name=typeof(kn==null?void 0:kn.group_name)=="string"?[kn==null?void 0:kn.group_name]:kn==null?void 0:kn.group_name,kn.group_id=(lr=(ar=kn==null?void 0:kn.group_name)==null?void 0:ar.map(Fr=>{var pt,Ae;let Le=(Ae=(pt=Gt.group_settings)==null?void 0:pt.filter(Ie=>(Ie==null?void 0:Ie.group_name)===Fr))==null?void 0:Ae[0];return Le==null?void 0:Le.group_id}))==null?void 0:lr.toString().split(","),kn}),Qa.allow_late_settings=Xn;let hn=yield(0,Me.Tr)({homework_common_ids:[parseInt(yt.categoryId)],course_id:yt.coursesId,type:"homework_common"});(hn==null?void 0:hn.student_count)===0?Oa(Qa):(Mr(Qa),Sr(hn))}),Oa=sr=>{var pr;if(sr.total_score===null){be.ZP.warning("\u603B\u5206\u503C\u4E0D\u80FD\u4E3A\u7A7A");return}if(sr!=null&&sr.work_efficiency&&sr.eff_score===null){be.ZP.warning("\u6548\u7387\u5206\u4E0D\u80FD\u4E3A\u7A7A");return}const Qa=sr.challenge_settings.reduce((ar,lr)=>ar+Number(lr.challenge_score),0);if((Qa==null?void 0:Qa.toFixed(10))!==((pr=sr.total_score-sr.eff_score)==null?void 0:pr.toFixed(10))){be.ZP.warning(`\u6548\u7387\u5206\u52A0\u5173\u5361\u4EFB\u52A1\u603B\u5206\u5FC5\u987B\u7B49\u4E8E\u603B\u5206\u503C\uFF1A${sr.total_score}\u5206`);return}const hn={shixun_evaluation:sr.shixun_evaluation,challenge_settings:sr.challenge_settings};let kn=()=>{var ar;const lr=()=>rt(void 0,null,function*(){zn(!0),(yield(0,ee.ZP)(`/api/homework_commons/${yt.categoryId}/publish_setting.json`,{method:"post",body:qe({},sr)})).status===0&&(be.ZP.success("\u66F4\u65B0\u6210\u529F"),Gr(),Jt({type:"shixunHomeworks/getShixunWorkHeadInfo",payload:qe({},yt)})),zn(!1)});!(0,ne.isEqual)(Nt,hn)&&!((ar=Qt==null?void 0:Qt.homework_status)!=null&&ar.includes("\u672A\u53D1\u5E03"))?Fe.default.confirm({title:"\u66F4\u65B0\u6210\u7EE9",content:"\u60A8\u6539\u52A8\u4E86\u672C\u6B21\u4F5C\u4E1A\u7684\u5173\u5361\u5F97\u5206\u8BBE\u7F6E\uFF0C\u8FD9\u53EF\u80FD\u5BFC\u81F4\u5DF2\u5B8C\u6210\u4F5C\u4E1A\u7684\u5B66\u751F\u7684\u6210\u7EE9\u4EA7\u751F\u9519\u8BEF\u3002\u70B9\u51FB\u201C\u786E\u5B9A\u201D\u6309\u94AE\u5C06\u4FDD\u5B58\u6700\u65B0\u8BBE\u7F6E\u5E76\u6309\u6700\u65B0\u8BBE\u7F6E\u66F4\u65B0\u5168\u73ED\u6210\u7EE9\u3002",okText:"\u786E\u8BA4",cancelText:"\u53D6\u6D88",onOk:lr}):lr()};Gt!=null&&Gt.high_resources_consume&&!(Gt!=null&&Gt.high_resources_consume_permission)?Jt({type:"classroomList/setActionTabs",payload:{key:"\u6388\u6743\u4F7F\u7528",id:yt.coursesId,type:"shixun",type_id:yt.categoryId,name:Gt.homework_name,fn:()=>{kn()}}}):kn()},Ea=(sr,pr,Qa="group_id")=>{var hn;return pr?pr.find(kn=>kn[Qa]===sr):(hn=Gt==null?void 0:Gt.group_settings)==null?void 0:hn.find(kn=>kn.group_id[0]===sr)},Ma=(Gt==null?void 0:Gt.allow_late)||(Gt==null?void 0:Gt.anonymous_comment),li=sr=>{var pr,Qa;const hn=Ea(sr,Gt==null?void 0:Gt.allow_late_settings,"id"),kn=Ea(sr,Gt==null?void 0:Gt.anonymous_comment_settings),ar=Ea(sr);return(Gt==null?void 0:Gt.allow_late)&&hn&&Pe()(hn==null?void 0:hn.late_time)<=Pe()()||(Gt==null?void 0:Gt.anonymous_comment)&&kn&&(kn==null?void 0:kn.evaluation_start)!==null||((Qa=(Pe()(ar==null?void 0:ar.end_time)<=Pe()()&&((pr=Gt==null?void 0:Gt.allow_late_settings)==null?void 0:pr.filter(lr=>lr.group_id.includes(sr))))[0])==null?void 0:Qa.late_time)!=null},di=(0,_e.useMemo)(()=>(Gt==null?void 0:Gt.allow_late)||(Gt==null?void 0:Gt.all_group_late),[Gt,Qt]),Hr=Gt==null?void 0:Gt.anonymous_comment,Ta=sr=>{if(!sr)return!1;const pr=Ea(sr,Gt==null?void 0:Gt.anonymous_comment_settings);return(Gt==null?void 0:Gt.anonymous_comment)&&pr&&(pr==null?void 0:pr.evaluation_start)!==null},Ha=(sr,pr)=>{var Qa,hn,kn;Jt({type:"classroomList/setActionTabs",payload:{key:"\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",data:sr,index:pr,rangePickerDisabled:wt||(Pe()()<=Pe()((hn=Ea((Qa=sr==null?void 0:sr.group_id)==null?void 0:Qa[0]))==null?void 0:hn.publish_time)?!1:[!0,li((kn=sr==null?void 0:sr.group_id)==null?void 0:kn[0])]),disabledDate:Gt==null?void 0:Gt.course_end_date}})};return Be.createElement("section",{className:ce.Z.form},Be.createElement("div",{className:ce.Z.title},"\u4F5C\u4E1A\u53D1\u5E03",Be.createElement("span",{className:"c-grey-666 font14",style:{fontWeight:400}},"\uFF08\u4F5C\u4E1A\u4E00\u65E6\u53D1\u5E03\u540E\u4E0D\u53EF\u53D8\u66F4\u8BD5\u9898\u53D1\u5E03\u6A21\u5F0F\uFF09")),Be.createElement("div",null,Be.createElement("div",{style:{background:"#F6F7F9",padding:"13px 30px",display:"flex",alignItems:"center"}},Be.createElement(Ce.ZP.Group,{disabled:wt||!((Ot=Qt==null?void 0:Qt.homework_status)!=null&&Ot.includes("\u672A\u53D1\u5E03"))||(0,de.Rm)()&&!((an=en.AssistantObject.practice)!=null&&an.can_publish),value:gn.unified_setting,onChange:sr=>{var pr;if(!((pr=Qt==null?void 0:Qt.homework_status)!=null&&pr.includes("\u672A\u53D1\u5E03"))){be.ZP.error("\u5DF2\u53D1\u5E03\uFF0C\u4E0D\u80FD\u518D\u4FEE\u6539\u7EDF\u4E00\u8BBE\u7F6E");return}if(gn.unified_setting=!gn.unified_setting,gn.unified_setting||(gn.unified_late=!1,$t([{late_penalty:5}])),jn(Object.assign({},gn)),gn.unified_setting===!1&&Gn==""){nr(Gn.concat({}));return}gn.unified_setting&&(nr([]),$t([{late_penalty:5}]))}},Be.createElement(Ce.ZP,{value:!0,disabled:wt||!(Gt!=null&&Gt.manage_all_group),style:{marginRight:"50px"}},"\u7EDF\u4E00\u53D1\u5E03"),Be.createElement(Ce.ZP,{disabled:wt||!((tn=Gt==null?void 0:Gt.group_settings)!=null&&tn.length),value:!1},"\u5206\u73ED\u53D1\u5E03")),((Dn=Gt==null?void 0:Gt.group_settings)==null?void 0:Dn.length)===0&&Be.createElement("div",{style:{color:"rgba(0, 0, 0, 0.25)",height:"22px"}},"\uFF08\u672C\u8BFE\u5802\u65E0\u5206\u73ED\uFF0C\u4EC5\u652F\u6301\u9009\u62E9\u201C\u7EDF\u4E00\u53D1\u5E03\u201C\uFF09")),gn.unified_setting&&Be.createElement("div",{style:{display:"flex",color:"#666666",background:"#F6F7F9",padding:"5px 30px",height:"50px",marginTop:"1px"}},Be.createElement(ve.Z,{align:"middle"},Be.createElement(ye.Z,{style:{marginLeft:"23px"}},"\u53D1\u5E03\u65F6\u95F4"),Be.createElement(ye.Z,{className:"ml10"},Be.createElement(Ve.default,{size:"large",disabled:wt||!((Tn=Qt==null?void 0:Qt.homework_status)!=null&&Tn.includes("\u672A\u53D1\u5E03")||(sn=Qt==null?void 0:Qt.homework_status)!=null&&sn.includes("\u672A\u5F00\u59CB"))||(0,de.Rm)()&&!((dn=en.AssistantObject.practice)!=null&&dn.can_publish),style:{width:170},placeholder:"\u8BF7\u9009\u62E9\u53D1\u5E03\u65F6\u95F4",showTime:{format:"HH:mm"},allowClear:!1,format:"YYYY-MM-DD HH:mm",disabledDate:sr=>tt(sr,Gt==null?void 0:Gt.course_end_date),disabledTime:sr=>dt(sr),value:gn.publish_time?Pe()(gn.publish_time):"",onChange:(sr,pr)=>{gn.publish_time=pr,(gn.end_time==""||!gn.end_time)&&gn.unified_setting&&(gn.end_time=Pe()(sr).add(7,"days").format("YYYY-MM-DD HH:mm:ss")),jn(Object.assign({},gn))}}))),Be.createElement(ve.Z,{align:"middle",className:"pl30"},Be.createElement(ye.Z,null,"\u622A\u6B62\u65F6\u95F4"),Be.createElement(ye.Z,{className:"ml10"},Be.createElement(Ve.default,{size:"large",style:{width:170},allowClear:!1,placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:Pe()((0,oe.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",disabled:(Gt==null?void 0:Gt.allow_late)&&(Gt==null?void 0:Gt.homework_status.includes("\u5DF2\u622A\u6B62"))||wt||(Gt==null?void 0:Gt.allow_late)&&Pe()()>=Pe()(Gt==null?void 0:Gt.end_time)||(0,de.Rm)()&&!((Kt=en.AssistantObject.practice)!=null&&Kt.can_publish),disabledDate:sr=>tt(sr,Gt==null?void 0:Gt.course_end_date,gn.publish_time),disabledTime:sr=>dt(sr,gn.publish_time),value:gn.end_time?Pe()(gn.end_time):"",onChange:(sr,pr)=>{gn.end_time=pr,jn(Object.assign({},gn))}})))),!gn.unified_setting&&(Gn==null?void 0:Gn.length)>0&&Be.createElement(ve.Z,{style:{display:"flex",color:"#666666",background:"#F6F7F9",padding:"5px 30px",marginTop:"1px"}},Gn&&Gn.map(function(sr,pr){var Qa,hn,kn,ar,lr,Fr,pt;return Be.createElement(ye.Z,{span:24,key:pr},Be.createElement(ve.Z,{gutter:[8,16],style:{display:"flex",alignItems:"center",marginBottom:pr==(Gn==null?void 0:Gn.length)-1?"0px":"10px"}},Be.createElement("div",{style:{minWidth:85,marginRight:"15px",textAlign:"right"}},"\u53D1\u5E03\u89C4\u5219",pr+1),Be.createElement(Re.default,{disabled:wt||((Qa=Qt==null?void 0:Qt.homework_status)!=null&&Qa.includes("\u672A\u53D1\u5E03")&&sr.id||Pe()()<Pe()(sr==null?void 0:sr.publish_time)?!1:!!(sr!=null&&sr.publish_time))||(0,de.Rm)()&&!((hn=en.AssistantObject.practice)!=null&&hn.can_publish),mode:"multiple",className:ce.Z.multiple_select,style:{width:"250px"},value:sr.group_name,placeholder:"\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0",onChange:Ae=>{var Le;if((0,de.Rm)()&&!((Le=en.AssistantObject.practice)!=null&&Le.can_publish)){be.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Gn[pr].group_name=Ae,Gn[pr].group_id=sr.group_id;const Ie=(0,ne.flattenDeep)(Gn.map(Ze=>Ze.group_name)),ze=Xn.map(Ze=>{let xt=(Ze==null?void 0:Ze.group_name)||[];return st(qe({},Ze),{group_name:(0,ne.remove)(xt,bt=>Ie.includes(bt))})});$t(ze),nr(Gn.slice())},maxTagCount:4,maxTagPlaceholder:Ae=>Be.createElement("div",{style:{cursor:"pointer"},onClick:()=>Ha(sr,pr)},"+",Ae==null?void 0:Ae.length)},Gt.group_settings&&Gt.group_settings.map(function(Ae){if(!Gn.map(Ie=>Ie.group_name).flat().includes(Ae.group_name))return Be.createElement(mt,{value:Ae.group_name,key:Ae.id},Ae.group_name)})),Be.createElement("div",{className:"ml20"},Be.createElement(At,{size:"large",ranges:{\u6B64\u523B:[sr.publish_time?Pe()(sr.publish_time):Pe()(),Pe()()]},allowClear:!1,disabled:wt||(Pe()()<=Pe()((ar=Ea((kn=sr==null?void 0:sr.group_id)==null?void 0:kn[0]))==null?void 0:ar.publish_time)?!1:[!0,li((lr=sr==null?void 0:sr.group_id)==null?void 0:lr[0])]),style:{width:605},placeholder:["\u53D1\u5E03\u65F6\u95F4\uFF08\u5B66\u751F\u6536\u5230\u4F5C\u4E1A\u65F6\u95F4\uFF09","\u622A\u6B62\u65F6\u95F4\uFF08\u5B66\u751F\u201C\u6309\u65F6\u201D\u63D0\u4EA4\u4F5C\u54C1\u65F6\u95F4\u622A\u70B9\uFF09"],disabledDate:Ae=>tt(Ae,Gt==null?void 0:Gt.course_end_date),disabledTime:Ae=>dt(Ae),showTime:{showNow:!0,format:"HH:mm",defaultValue:[Pe()((0,oe.U6)(),"HH:mm"),Pe()((0,oe.U6)(),"HH:mm")]},format:"YYYY-MM-DD HH:mm",value:sr.publish_time&&[Pe()(sr.publish_time),sr.end_time?Pe()(sr.end_time):void 0],onChange:(Ae,Le)=>{var Ie;if((0,de.Rm)()&&!((Ie=en.AssistantObject.practice)!=null&&Ie.can_publish)){be.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Gn[pr].publish_time=Le[0],!sr.end_time&&Le[0]?Gn[pr].end_time=Pe()(Le[0]).add(7,"days"):Gn[pr].end_time=Le[1],nr([...Gn])},onCalendarChange:(Ae,Le,Ie)=>{if(Le!=null&&Le[0]&&!Le[1]){const ze=Pe()(Le[0]).add(7,"days");Gn[pr].publish_time=Le[0],Gn[pr].end_time=ze,nr([...Gn])}}})),!wt&&Be.createElement("div",{style:{display:"flex",width:"50px"}},((Fr=sr==null?void 0:sr.group_id)==null?void 0:Fr.length)>1&&Be.createElement(we.Z,{title:"\u89C4\u5219\u62C6\u5206"},Be.createElement("i",{className:"iconfont icon-chaifen ml10",style:{cursor:"pointer",color:"#3061d0"},onClick:()=>Ha(sr,pr)})),Gn.length<((pt=Gt==null?void 0:Gt.group_settings)==null?void 0:pt.length)&&Be.createElement("i",{className:"iconfont icon-zengjia1 ml10 mr10",style:{cursor:"pointer",color:"#00B187"},onClick:()=>{var Ae;if((0,de.Rm)()&&!((Ae=en.AssistantObject.practice)!=null&&Ae.can_publish)){be.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}nr(Gn.concat({}))}}),((sr==null?void 0:sr.publish_time)&&Pe()()<Pe()(sr==null?void 0:sr.publish_time)||!(sr!=null&&sr.publish_time))&&pr!=0&&Be.createElement("i",{className:"iconfont icon-shanjian1",style:{cursor:"pointer",color:"#E30000"},onClick:()=>{const Ae=(0,ne.cloneDeep)(Xn);Ae.forEach((Le,Ie)=>{Le.group_name&&(Le.group_name=Le.group_name.filter(ze=>{var Ze;return!((Ze=Gn[pr].group_name)!=null&&Ze.includes(ze))}))}),Gn=Gn.filter((Le,Ie)=>pr!==Ie),$t(Ae),nr(Gn.slice()),setTimeout(()=>nr(Gn.slice()),10)}}))))}))),Be.createElement(ve.Z,null,Be.createElement(ye.Z,null,Be.createElement("div",{className:ce.Z.title,style:{marginTop:"30px"}},"\u8865\u4EA4\u8BBE\u7F6E",Be.createElement("span",{className:"c-grey-666 font14",style:{fontWeight:400}},"\uFF08\u53EF\u5BF9\u5728\u4F5C\u4E1A\u53D1\u5E03\u65F6\u95F4\u8303\u56F4\u5185\u672A\u5B8C\u6210\u4F5C\u4E1A\u7684\u5B66\u751F\uFF0C\u5EF6\u957F\u65F6\u95F4\u8FDB\u884C\u8865\u4EA4\uFF09"))),Be.createElement(ye.Z,{span:24,style:{background:"#F6F7F9",padding:"13px 30px",display:"flex",alignItems:"center"}},Be.createElement(De.default,{checked:gn.allow_late,disabled:wt||di,onChange:sr=>{var pr;if((0,de.Rm)()&&!((pr=en.AssistantObject.practice)!=null&&pr.can_late)){be.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}sr.target.checked&&Fe.default.warning({title:"\u5F00\u542F\u8865\u4EA4\u63D0\u793A",centered:!0,width:480,content:Be.createElement("div",{style:{padding:10,background:"#f5f6f9"}},Be.createElement("div",null,"1.\u5F00\u542F\u8865\u4EA4\u540E\u4E0D\u53EF\u5173\u95ED\uFF0C\u8865\u4EA4\u65B9\u5F0F\u63D0\u4EA4\u4FDD\u5B58\u540E\u4E0D\u53EF\u4FEE\u6539\uFF1B"),Be.createElement("div",null,"2.\u8865\u4EA4\u622A\u6B62\u65F6\u95F4\u5FC5\u987B\u665A\u4E8E\u4F5C\u4E1A\u622A\u6B62\u65F6\u95F4\uFF1B"),Be.createElement("div",null,"3.\u73ED\u7EA7\u9636\u6BB5\u8FDB\u5165\u201C\u8865\u4EA4\u4E2D\u201D\u5219\u4E0D\u53EF\u53D8\u66F4\u4F5C\u4E1A\u622A\u6B62\u65F6\u95F4\u3002"))}),gn.allow_late=!gn.allow_late,Xn==""&&$t([{late_penalty:5}]),jn(Object.assign({},gn))}},Be.createElement("strong",null,"\u5F00\u542F\u8865\u4EA4")))),(gn==null?void 0:gn.allow_late)&&Be.createElement("div",{style:{background:"#F6F7F9",padding:"10px 30px",marginTop:"1px",color:"#666666"}},Be.createElement("div",{style:{display:"flex"}},Be.createElement("div",{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u65B9\u5F0F"),Be.createElement(Ce.ZP.Group,{style:{marginLeft:"20px"},disabled:wt||(Gt==null?void 0:Gt.anonymous_comment)||(Gt==null?void 0:Gt.allow_late),value:gn.unified_late,onChange:sr=>{var pr;if((0,de.Rm)()&&!((pr=en.AssistantObject.practice)!=null&&pr.can_late)){be.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}gn.unified_late=sr.target.value,Xn==""&&!sr.target.value&&$t([{penalty_type:ie.Q.Percent,late_penalty:20}]),jn(qe({},gn))}},(gn==null?void 0:gn.unified_setting)&&Be.createElement(Ce.ZP,{value:!0,disabled:!(Gt!=null&&Gt.manage_all_group),style:{marginRight:"50px"}},"\u7EDF\u4E00\u8865\u4EA4"),((Tt=Gt==null?void 0:Gt.group_settings)==null?void 0:Tt.length)>0&&Be.createElement(Ce.ZP,{value:!1},"\u5206\u73ED\u8865\u4EA4"))),gn!=null&&gn.unified_late?Be.createElement(Be.Fragment,null,Be.createElement(ve.Z,{align:"middle",style:{marginTop:"10px"}},Be.createElement(ye.Z,{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u6263\u5206"),Be.createElement(ye.Z,{className:"ml20"},Be.createElement(ie.Z,{disabled:wt||Hr,value:{type:gn.penalty_type,inputValue:gn.late_penalty},onChange:sr=>{var pr;if((0,de.Rm)()&&!((pr=en.AssistantObject.practice)!=null&&pr.can_late)){be.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}jn(st(qe({},gn),{late_penalty:sr.inputValue,penalty_type:sr.type}))}})),Be.createElement(ye.Z,{flex:"1",className:"ml5"},Be.createElement("span",{className:"c-grey-c ml10"},gn.penalty_type===ie.Q.Number?"(\u8865\u4EA4\u65F6\u6309\u7167\u5B66\u751F\u603B\u6210\u7EE9\u6263\u5206)":"(\u5B66\u751F\u6700\u7EC8\u5F97\u5206=\u8865\u4EA4\u524D\u5F97\u5206+\u8865\u4EA4\u9636\u6BB5\u589E\u52A0\u7684\u5206\u503C*\uFF08100%-\u767E\u5206\u6BD4%\uFF09)"))),Be.createElement(ve.Z,{align:"middle",style:{marginTop:"15px"}},Be.createElement(ye.Z,{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u622A\u6B62\u65F6\u95F4"),Be.createElement(ye.Z,{className:"ml20"},Be.createElement(Ve.default,{size:"large",allowClear:!1,style:{width:170},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:Pe()((0,oe.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",disabled:wt||Hr,value:gn.late_time?Pe()(gn.late_time):"",disabledDate:sr=>tt(sr,Gt==null?void 0:Gt.course_end_date),onChange:(sr,pr)=>{var Qa;if((0,de.Rm)()&&!((Qa=en.AssistantObject.practice)!=null&&Qa.can_late)){be.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}gn.late_time=pr,jn(Object.assign({},gn))}})))):Xn.map(function(sr,pr){var Qa;return Be.createElement(ye.Z,{span:24,key:pr},Be.createElement(ve.Z,{style:{display:"flex",alignItems:"center",marginTop:"10px"}},Be.createElement("div",{style:{width:"85px",marginLeft:"27px",textAlign:"right"}},"\u8865\u4EA4\u89C4\u5219",pr+1),Be.createElement(Re.default,{disabled:wt||!((Qa=Qt==null?void 0:Qt.homework_status)!=null&&Qa.includes("\u672A\u53D1\u5E03"))&&sr.id||(Gt==null?void 0:Gt.anonymous_comment),mode:"multiple",className:ce.Z.multiple_select,style:{width:"212px",marginLeft:"18px"},value:typeof sr.group_name=="string"?[sr.group_name]:sr.group_name,placeholder:"\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0",onChange:hn=>{var kn;if((0,de.Rm)()&&!((kn=en.AssistantObject.practice)!=null&&kn.can_late)){be.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Xn[pr].group_name=hn,Xn[pr].group_id=sr.group_id,$t(Xn.slice())}},Gt.group_settings&&Gt.group_settings.map(function(hn){const kn=Xn.map(lr=>lr.group_name).flat(),ar=Gn.map(lr=>lr.group_name).flat();if(gn!=null&&gn.unified_setting){if(!kn.includes(hn.group_name))return Be.createElement(mt,{value:hn.group_name,key:hn.id},hn.group_name)}else if(ar.includes(hn.group_name)&&!kn.includes(hn.group_name))return Be.createElement(mt,{value:hn.group_name,key:hn.id},hn.group_name)})),Be.createElement("div",{className:"ml20 mr10"},"\u8865\u4EA4\u6263\u5206"),Be.createElement(ie.Z,{disabled:wt||Ta(sr.id),value:{type:sr.penalty_type,inputValue:sr.late_penalty},onChange:hn=>{var kn;if((0,de.Rm)()&&!((kn=en.AssistantObject.practice)!=null&&kn.can_late)){be.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Xn[pr].late_penalty=hn.inputValue,Xn[pr].penalty_type=hn.type,$t([...Xn])}}),Be.createElement("div",{className:"ml20 mr10"},"\u8865\u4EA4\u622A\u6B62\u65F6\u95F4"),Be.createElement(Ve.default,{size:"large",disabled:wt||Ta(sr.id),style:{width:225},showTime:{format:"HH:mm",defaultValue:Pe()((0,oe.U6)(),"HH:mm")},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",disabledDate:hn=>tt(hn,Gt==null?void 0:Gt.course_end_date),format:"YYYY-MM-DD HH:mm",value:sr!=null&&sr.late_time?Pe()(sr.late_time):void 0,onChange:(hn,kn)=>{var ar;if((0,de.Rm)()&&!((ar=en.AssistantObject.practice)!=null&&ar.can_late)){be.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Xn[pr].late_time=kn,$t([...Xn])}}),!wt&&Be.createElement("div",{style:{display:"flex",width:"50px"}},Be.createElement("i",{className:"iconfont icon-zengjia1 ml10 mr10",style:{cursor:"pointer",color:"#00B187"},onClick:()=>{var hn;if((0,de.Rm)()&&!((hn=en.AssistantObject.practice)!=null&&hn.can_late)){be.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}$t(Xn.concat({penalty_type:ie.Q.Percent,late_penalty:20}))}}),pr>0&&!sr.id&&Be.createElement("i",{className:"iconfont icon-shanjian1",style:{cursor:"pointer",color:"#E30000"},onClick:()=>{var hn;if((0,de.Rm)()&&!((hn=en.AssistantObject.practice)!=null&&hn.can_late)){be.ZP.warning("\u60A8\u672A\u83B7\u53D6\u6B64\u6743\u9650\uFF0C\u9700\u5411\u8BFE\u5802\u7BA1\u7406\u5458\u7533\u8BF7\u6743\u9650\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD");return}Xn=Xn.filter((kn,ar)=>pr!==ar),$t(Xn.slice()),setTimeout(()=>$t(Xn.slice()),10)}}))))})),!wt&&Be.createElement(Be.Fragment,null,Be.createElement(pe.ZP,{type:"primary",size:"large",loading:On,style:{width:"138px",marginTop:"30px"},onClick:()=>ma()},"\u4FDD\u5B58")),Be.createElement(ge.Z,{onConfirm:(sr,pr)=>{Gn.splice(sr,0,...pr),Gn.splice(sr+pr.length,1);const Qa=(0,oe.QE)([...Gn]);nr([...Qa])}}),Be.createElement(xe.Z,{resdata:Ln,type:"shixun",okloading:On,oktext:(Ln==null?void 0:Ln.can_copy_num)===0?"\u786E\u5B9A":"\u4E00\u952E\u590D\u5236\u5E76\u66FF\u6362",onok:sr=>rt(void 0,null,function*(){zn(!0);let pr=yield(0,ee.ZP)(`/api/courses/${yt.coursesId}/batch_copy_shixuns.json`,{method:"post",body:{type:"homework_common",ids:[parseInt(yt.categoryId)]}});zn(!1),(pr==null?void 0:pr.status)===0&&Oa(Ur)})}))};Mt.ZP=(0,he.connect)(({shixunHomeworks:vt,classroomList:Wt,loading:Jt,user:en})=>({shixunHomeworks:vt,classroomList:Wt,loading:Jt.effects,user:en}))(ht)},88256:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return De}});var _e=Oe(59301),Ve=Oe(92832),Re=Oe(24905),be=Oe(95237),Fe={leftdiv:"leftdiv___aBzsX",listClass:"listClass___bxIEW",spantitle:"spantitle___v_Vc4",rightdiv:"rightdiv___xWu4M"},Ce="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAbVJREFUOE+Nk79rFUEUhb+zE4OFwUD+CyGKKQQbSaMikQQ7C1tBBIsUQaJvl2Fn/cWDpAiIYJsi7YOIaCUWFoKKRhG0sbEzEImFGnev7G6yyXsxeU5159yZb87l3hG9q2WLiBO79FIwXpLp0s6cwITnQCMWrGDM43jdBckZQ0wTMdrong2R2Bxm0/98sZ8ozdcOEm5hjOC41u9Olc9ZQKySclOVkNhljCmCzjeAJM/4FbW5p+8k5tlggTtarfKxLSM6pHq4BTiL0SboaAOIi284jeP1nti+ApMEvdoEvEPMkOpJDZi1IwzwgqDh/wSsYZwk08ca4O0Qua3zW8OV5crmHg6u22EGbQ2nIbx+1IC6rrK+cYJW9gXEVrbxGUEj5bltQGJvgBapHu0LSGwCyEh1vBsQWwd4TNCDPg6uAOcImuoFlL1dJ9WNPg5uYwwRVM3MzhJmKIpjZK6e9bj4jNNpvL4QFx9wuoDXJ1r5IlH0llTtXgcXwa4SolObnYnwKnbFcfEcdJ+gpW6AtzFynuIop/Fn053u4CA5yzjO4FV9tu0Syl2S38WiSWBgD8AfoEPQ7Fb+LwIiyhxWwe2KAAAAAElFTkSuQmCC",ve=Oe(57816),ye=(pe,Ee,Pe)=>new Promise((de,ee)=>{var ne=ce=>{try{oe(Pe.next(ce))}catch(he){ee(he)}},le=ce=>{try{oe(Pe.throw(ce))}catch(he){ee(he)}},oe=ce=>ce.done?de(ce.value):Promise.resolve(ce.value).then(ne,le);oe((Pe=Pe.apply(pe,Ee)).next())}),De=({data:pe,value:Ee=[],handleChangePage:Pe,setSelectedRowKeys:de,selectedRowKeys:ee,onChange:ne=()=>{}})=>{const[le,oe]=(0,_e.useState)([]),[ce,he]=(0,_e.useState)([]),[ie,ue]=(0,_e.useState)([]);let[ge,xe]=(0,_e.useState)(1),[Me,Be]=(0,_e.useState)();return(0,_e.useEffect)(()=>{oe(pe),he([]),ue([])},[pe]),(0,_e.useEffect)(()=>{de&&(he(ee),ue(ee))},[ee]),_e.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},_e.createElement("div",{className:Fe.leftdiv},_e.createElement(Ve.default.Search,{size:"middle",onChange:Ne=>ye(void 0,null,function*(){oe(pe.filter(Ue=>{var Ge;return(Ge=Ue==null?void 0:Ue.name)==null?void 0:Ge.includes(Ne.target.value)}))}),placeholder:"\u53EF\u8F93\u5165\u73ED\u7EA7\u540D\u79F0\u67E5\u8BE2"}),le.length===0&&_e.createElement(ve.Z,{styles:{margin:"70px auto"},customText:"\u6682\u65E0\u5206\u73ED"}),_e.createElement("div",{style:{height:"85%",overflow:"auto",overflowX:"hidden"}},_e.createElement(Re.default.Group,{value:ce.map(Ne=>`${Ne.id}`),onChange:Ne=>{de(le.filter(Ue=>Ne.includes(`${Ue.id}`)))},style:{marginTop:"10px",flexDirection:"column"}},le.map((Ne,Ue)=>_e.createElement(be.Z,{key:Ne.id,style:{marginTop:"10px",lineHeight:"24px",display:"flex",width:200}},_e.createElement(Re.default,{style:{display:"flex",height:"24px",alignItems:"center"},disabled:Ne.is_published,value:`${Ne.id}`},_e.createElement("div",{className:Fe.listClass},_e.createElement("span",{className:Fe.spantitle,style:{width:Ne.is_published?"108px":"170px"}},Ne.name),Ne.is_published&&_e.createElement("span",{style:{width:"52px",height:"24px",background:"#B8B8B8",borderRadius:"13px",color:"white",lineHeight:"24px",textAlign:"center",display:"inline-block"}},"\u5DF2\u53D1\u5E03")))))))),_e.createElement("div",{className:Fe.rightdiv},_e.createElement(Ve.default.Search,{onChange:Ne=>{ue(ce.filter(Ue=>Ue.name.includes(Ne.target.value)))},size:"middle",placeholder:"\u53EF\u8F93\u5165\u73ED\u7EA7\u540D\u79F0\u67E5\u8BE2"}),ie.length===0&&_e.createElement(ve.Z,{styles:{margin:"70px auto"},customText:"\u6682\u672A\u9009\u62E9\u5206\u73ED"}),ie.length>0&&_e.createElement("div",{style:{marginTop:"10px",height:"85%",overflow:"hidden",position:"relative"}},_e.createElement("div",{style:{overflowX:"hidden",overflowY:"scroll",position:"absolute",left:0,top:0,right:-17,bottom:0}},ie.map((Ne,Ue)=>_e.createElement(be.Z,{justify:"space-between",style:{marginTop:"10px"},key:Ne.id},_e.createElement("div",{style:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",marginRight:"5px",marginLeft:"5px",width:"75%"}},Ne.name),_e.createElement("img",{src:Ce,style:{cursor:"pointer",height:"16px",marginRight:17},onClick:()=>{de(ce.filter(Ge=>`${Ge.id}`!=`${Ne.id}`))}})))))))}},51269:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ne}});var _e=Oe(59301),Ve=Oe(24459),Re=Oe(5083),be=Oe(43418),Fe=Oe(92832),Ce=Oe(95237),ve=Oe(43604),ye={title_tooltip:"title_tooltip___LLdrn",multiple_select:"multiple_select___kDXUm",modal_con:"modal_con___ERnkW"},we=Oe(61186),De=Oe.n(we),pe=Oe(88230),Ee=Oe(57816),Pe=Oe(59301);const{RangePicker:de}=Re.default,ee=({dispatch:le,classroomList:oe,onConfirm:ce})=>{const[he,ie]=(0,_e.useState)([]),[ue,ge]=(0,_e.useState)([]),[xe,Me]=(0,_e.useState)("");(0,_e.useEffect)(()=>{var Ue;if(oe.actionTabs.key==="\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206"){let Ge=oe.actionTabs.data;console.log("data",Ge);let Xe=(Ue=Ge==null?void 0:Ge.group_name)==null?void 0:Ue.map((Ye,nt)=>{var $e;return{group_id:Ge==null?void 0:Ge.group_id[nt],group_name:Ge==null?void 0:Ge.group_name[nt],is_admin:Ge==null?void 0:Ge.is_admin,end_time:Ge==null?void 0:Ge.end_time,publish_time:Array.isArray(Ge==null?void 0:Ge.publish_time)?($e=Ge==null?void 0:Ge.publish_time)==null?void 0:$e[0]:Ge==null?void 0:Ge.publish_time}});Xe&&(ie([...Xe]),ge([...Xe]))}},[oe.actionTabs]);const Be=()=>{le({type:"classroomList/setActionTabs",payload:{}}),Me("")},Ne=Ue=>{if(Ue){const Ge=ue==null?void 0:ue.filter(Xe=>{var Ye,nt;return(nt=(Ye=Xe==null?void 0:Xe.group_name)==null?void 0:Ye.toLowerCase())==null?void 0:nt.includes(Ue==null?void 0:Ue.toLowerCase())});ie(Ge)}else ie(ue)};return Pe.createElement(be.default,{width:980,title:Pe.createElement("div",{style:{fontWeight:"bold",display:"flex"}},Pe.createElement("div",null,"\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",Pe.createElement("span",{className:ye.title_tooltip},"\uFF08\u5F53\u5206\u73ED\u53D1\u5E03\u65F6\u95F4\u548C\u622A\u6B62\u65F6\u95F4\u4E0D\u76F8\u540C\u65F6\u5019\uFF0C\u73ED\u7EA7\u81EA\u52A8\u62C6\u5206\u51FA\u53BB\u65B0\u8D77\u89C4\u5219\uFF09")),Pe.createElement(Fe.default.Search,{allowClear:!0,placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u8FDB\u884C\u641C\u7D22",style:{width:220,marginLeft:"60px"},value:xe,onChange:Ue=>{Me(Ue.target.value.trim()),Ne(Ue.target.value.trim())}})),centered:!0,maskClosable:!1,open:oe.actionTabs.key==="\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",onCancel:()=>Be(),onOk:()=>{var Ue;ce((Ue=oe.actionTabs)==null?void 0:Ue.index,ue),Be()}},Pe.createElement("div",{className:ye.modal_con},Pe.createElement(Ce.Z,{style:{display:"flex",color:"#666666",padding:"5px",marginTop:"1px"}},(he==null?void 0:he.length)>0?he.map(function(Ue,Ge){var Xe,Ye;return Pe.createElement(ve.Z,{span:24,key:Ge},Pe.createElement(Ce.Z,{gutter:[8,16],style:{display:"flex",alignItems:"center",marginBottom:Ge==(he==null?void 0:he.length)-1?"0px":"10px"}},Pe.createElement("div",{className:ye.multiple_select,title:Ue.group_name},Ue.group_name),Pe.createElement("div",{className:"ml20"},Pe.createElement(de,{size:"large",ranges:{\u6B64\u523B:[Ue.publish_time?De()(Ue.publish_time):De()(),De()()]},allowClear:!1,disabled:(Xe=oe.actionTabs)==null?void 0:Xe.rangePickerDisabled,style:{width:600},placeholder:["\u53D1\u5E03\u65F6\u95F4\uFF08\u5B66\u751F\u6536\u5230\u4F5C\u4E1A\u65F6\u95F4\uFF09","\u622A\u6B62\u65F6\u95F4\uFF08\u5B66\u751F\u201C\u6309\u65F6\u201D\u63D0\u4EA4\u4F5C\u54C1\u65F6\u95F4\u622A\u70B9\uFF09"],disabledDate:nt=>{var $e;return(0,pe.Q8)(nt,($e=oe.actionTabs)==null?void 0:$e.disabledDate)},disabledTime:nt=>(0,pe.d0)(nt),showTime:{showNow:!0,format:"HH:mm",defaultValue:[De()((0,pe.U6)(),"HH:mm"),De()((0,pe.U6)(),"HH:mm")]},format:"YYYY-MM-DD HH:mm",value:Ue.publish_time&&[De()(Ue.publish_time),Ue.end_time?De()(Ue.end_time):void 0],onChange:(nt,$e)=>{he[Ge].publish_time=$e[0],he[Ge].end_time=$e[1],ie([...he]),ue.forEach(qe=>{qe.group_id===Ue.group_id&&(qe.publish_time=$e[0],qe.end_time=$e[1])}),ge([...ue])}})),(Ye=oe.actionTabs)!=null&&Ye.rangePickerDisabled?Pe.createElement("i",{className:"iconfont icon-shanjian1 ml15",style:{color:"#E30000",opacity:"0.2",cursor:"not-allowed"}}):Pe.createElement("i",{className:"iconfont icon-shanjian1 ml15",style:{cursor:"pointer",color:"#E30000"},onClick:()=>{he.splice(Ge,1),ie([...he]),ue.forEach((nt,$e)=>{nt.group_id===Ue.group_id&&ue.splice($e,1)}),ge([...ue])}})))}):Pe.createElement(Ee.Z,null))))};var ne=(0,Ve.connect)(({classroomList:le})=>({classroomList:le}))(ee)},90915:function(Pt,Mt,Oe){"use strict";Oe.r(Mt),Oe.d(Mt,{NoData:function(){return Dn},default:function(){return Tt}});var _e=Oe(59301),Ve=Oe(3113),Re=Oe(43418),be="data:image/png;base64,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",Fe=Oe(7660);function Ce(){return(0,Fe.U2)("teach_groups.json")}function ve(yt){return(0,Fe.v_)("teach_groups.json",yt)}function ye(yt,Gt){return(0,Fe.gz)(`teach_groups/${yt}.json`,Gt)}function we(yt){return(0,Fe.v_)("teach_group_members.json",yt)}function De(yt){return(0,Fe.IV)(`teach_group_members/${yt}.json`)}function pe(yt,Gt){return(0,Fe.gz)(`teach_groups/${yt}/change_admin.json`,{member_id:Gt})}function Ee(yt,Gt){return(0,Fe.IV)(`teach_groups/${yt}/del_member.json`,{member_id:Gt})}function Pe(yt){return(0,Fe.IV)(`teach_groups/${yt}.json`)}function de(yt){return(0,Fe.U2)(`teach_groups/${yt}/show_permission.json`)}function ee(yt){return(0,Fe.gz)(`teach_groups/${yt==null?void 0:yt.id}/update_permission.json`,yt)}var ne=Oe(78241),le=Oe(92832),oe=Oe(13669),ce=({callback:yt,visible:Gt,onCancel:gt,id:St,name:Qt})=>{function Nt(rn){yt(rn)}const[wt]=ne.default.useForm();return(0,_e.useEffect)(()=>{wt.setFieldsValue({name:Qt})},[Qt]),_e.createElement(Re.default,{centered:!0,title:St?"\u4FEE\u6539\u540D\u79F0":"\u65B0\u5EFA",open:Gt,onCancel:gt,onOk:()=>{wt.submit()},wrapClassName:oe.Z.CustomCss},_e.createElement(ne.default,{form:wt,initialValues:{name:Qt},onFinish:Nt},_e.createElement(ne.default.Item,{label:"\u6559\u7814\u56E2\u961F\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u4E0D\u8D85\u8FC720\u5B57\u7684\u540D\u79F0"}]},_e.createElement(le.default,{placeholder:"\u8BF7\u8F93\u5165\u4E0D\u8D85\u8FC720\u5B57\u7684\u540D\u79F0",maxLength:20}))))},he=Oe(24905),ie=Oe(38854),ue=Oe(20834),ge=Oe(1710),xe=Oe(8591),Me=Oe(5112),Be=Object.defineProperty,Ne=Object.getOwnPropertySymbols,Ue=Object.prototype.hasOwnProperty,Ge=Object.prototype.propertyIsEnumerable,Xe=(yt,Gt,gt)=>Gt in yt?Be(yt,Gt,{enumerable:!0,configurable:!0,writable:!0,value:gt}):yt[Gt]=gt,Ye=(yt,Gt)=>{for(var gt in Gt||(Gt={}))Ue.call(Gt,gt)&&Xe(yt,gt,Gt[gt]);if(Ne)for(var gt of Ne(Gt))Ge.call(Gt,gt)&&Xe(yt,gt,Gt[gt]);return yt};const nt=yt=>React.createElement("svg",Ye({className:"cjz_svg__icon",viewBox:"0 0 3194 1024",xmlns:"http://www.w3.org/2000/svg",width:623.828,height:200},yt),React.createElement("path",{d:"M512 0h2170.88c282.624 0 512 229.376 512 512s-229.376 512-512 512H512C229.376 1024 0 794.624 0 512S229.376 0 512 0z",fill:"#EBEEFD"}),React.createElement("path",{d:"M1638.4 741.376c28.672 0 40.96-16.384 40.96-45.056V294.912h-36.864v393.216c0 16.384-8.192 20.48-20.48 20.48-24.576 0-45.056 0-73.728-4.096l8.192 32.768h81.92zm-372.736-258.048c49.152-45.056 90.112-94.208 126.976-147.456 32.768 32.768 69.632 77.824 110.592 135.168l24.576-24.576c-40.96-49.152-81.92-98.304-122.88-143.36h-24.576c-40.96 57.344-81.92 110.592-131.072 155.648l16.384 24.576zm323.584 159.744V339.968h-32.768v307.2h32.768zm-131.072 94.208c24.576 0 36.864-4.096 45.056-12.288s16.384-36.864 20.48-77.824l-32.768-12.288c0 28.672-4.096 45.056-8.192 53.248s-16.384 12.288-32.768 12.288h-98.304c-12.288 0-20.48-4.096-20.48-16.384v-204.8h106.496v94.208c0 12.288-8.192 20.48-20.48 20.48-16.384 0-32.768 0-49.152-4.096l8.192 32.768h53.248c28.672 0 40.96-16.384 40.96-40.96V450.56h-176.128v245.76c0 24.576 12.288 36.864 40.96 36.864h122.88zm585.728-53.248V634.88h131.072v-28.672h-131.072v-40.96h114.688v-28.672h-114.688v-40.96H2150.4v-69.632h32.768v-28.672H2150.4V327.68h-106.496v-32.768h-32.768v32.768h-86.016v28.672h86.016v36.864h-110.592v28.672h110.592v40.96h-86.016v28.672h86.016v40.96h-98.304v28.672h98.304v40.96h-110.592v28.672h110.592v49.152h32.768zm-270.336 57.344c24.576-16.384 40.96-36.864 57.344-61.44 4.096 4.096 12.288 8.192 16.384 12.288 36.864 24.576 102.4 36.864 188.416 36.864h147.456l4.096-32.768c-57.344 0-110.592 4.096-167.936 4.096-65.536 0-118.784-12.288-151.552-28.672-8.192-4.096-16.384-12.288-24.576-20.48 24.576-45.056 36.864-98.304 36.864-163.84v-20.48h-77.824c24.576-32.768 49.152-73.728 73.728-118.784v-28.672H1761.28v32.768h81.92c-24.576 40.96-49.152 81.92-77.824 118.784v28.672h90.112c-4.096 45.056-12.288 86.016-28.672 122.88-12.288-20.48-24.576-49.152-32.768-86.016l-32.768 12.288c12.288 40.96 28.672 77.824 45.056 106.496-16.384 24.576-36.864 40.96-57.344 57.344l24.576 28.672zm339.968-344.064h-69.632v-36.864h69.632v36.864zm0 69.632h-69.632v-40.96h69.632v40.96zm253.952 278.528v-20.48h212.992v20.48h36.864V524.288h-184.32c28.672-12.288 53.248-24.576 77.824-40.96l20.48-12.288h151.552v-32.768h-106.496c32.768-24.576 65.536-57.344 94.208-90.112l-32.768-20.48c-36.864 40.96-73.728 77.824-122.88 110.592h-61.44v-61.44h114.688v-32.768h-114.688v-49.152h-36.864v53.248h-135.168v32.768h135.168v57.344h-180.224v32.768h225.28c-69.632 40.96-147.456 69.632-229.376 90.112l16.384 32.768c28.672-8.192 57.344-20.48 81.92-28.672v180.224h36.864zm212.992-139.264h-212.992v-49.152h212.992v49.152zm0 86.016h-212.992v-53.248h212.992v53.248z",fill:"#165DFF"}),React.createElement("path",{d:"M573.44 204.8h327.68c90.112 0 163.84 73.728 163.84 163.84v327.68c0 90.112-73.728 163.84-163.84 163.84H573.44c-90.112 0-163.84-73.728-163.84-163.84V368.64c0-90.112 73.728-163.84 163.84-163.84z",fill:"#C2D0FF"}),React.createElement("path",{d:"M868.352 581.632c4.096 24.576 12.288 49.152 16.384 69.632 0 8.192 4.096 16.384 4.096 24.576s4.096 16.384 4.096 24.576 4.096 12.288 4.096 16.384v8.192c0 8.192 0 12.288-4.096 12.288-4.096 4.096-8.192 4.096-12.288 4.096h-8.192c-4.096 0-4.096 0-8.192-4.096L737.28 667.648c-24.576 12.288-45.056 24.576-61.44 36.864L651.264 716.8c-8.192 4.096-16.384 8.192-20.48 12.288-8.192 4.096-16.384 8.192-20.48 12.288s-8.192 4.096-8.192 4.096c-4.096 0-8.192 4.096-8.192 0-4.096 0-8.192 0-8.192-4.096-4.096 0-4.096-4.096-4.096-8.192v-8.192s0-4.096 4.096-8.192c0-4.096 4.096-12.288 4.096-16.384 0-8.192 4.096-16.384 4.096-24.576s4.096-16.384 8.192-24.576c4.096-20.48 12.288-45.056 16.384-69.632-24.576-16.384-45.056-28.672-57.344-45.056-8.192-4.096-16.384-8.192-20.48-16.384s-12.288-8.192-16.384-12.288S512 499.712 512 495.616c-4.096-4.096-8.192-4.096-8.192-4.096-4.096-4.096-4.096-8.192-8.192-12.288s-4.096-8.192-4.096-12.288 4.096-8.192 4.096-12.288c4.096 0 8.192-4.096 12.288-4.096l151.552-12.288L716.8 307.2c0-4.096 4.096-8.192 8.192-12.288 0-8.192 8.192-8.192 12.288-8.192s4.096 0 8.192 4.096c4.096 0 4.096 4.096 4.096 4.096l4.096 4.096s0 4.096 4.096 4.096l53.248 131.072 155.648 16.384c8.192 0 12.288 4.096 12.288 4.096 4.096 4.096 4.096 8.192 4.096 12.288s0 8.192-4.096 12.288l-12.288 12.288-98.304 90.112z",fill:"#2E5BEC"}));var $e="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDMxOTQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNjIzLjgyOCIgaGVpZ2h0PSIyMDAiPjxwYXRoIGQ9Ik01MTIgMGgyMTcwLjg4YzI4Mi42MjQgMCA1MTIgMjI5LjM3NiA1MTIgNTEycy0yMjkuMzc2IDUxMi01MTIgNTEySDUxMkMyMjkuMzc2IDEwMjQgMCA3OTQuNjI0IDAgNTEyUzIyOS4zNzYgMCA1MTIgMHoiIGZpbGw9IiNFQkVFRkQiLz48cGF0aCBkPSJNMTYzOC40IDc0MS4zNzZjMjguNjcyIDAgNDAuOTYtMTYuMzg0IDQwLjk2LTQ1LjA1NlYyOTQuOTEyaC0zNi44NjR2MzkzLjIxNmMwIDE2LjM4NC04LjE5MiAyMC40OC0yMC40OCAyMC40OC0yNC41NzYgMC00NS4wNTYgMC03My43MjgtNC4wOTZsOC4xOTIgMzIuNzY4aDgxLjkyem0tMzcyLjczNi0yNTguMDQ4YzQ5LjE1Mi00NS4wNTYgOTAuMTEyLTk0LjIwOCAxMjYuOTc2LTE0Ny40NTYgMzIuNzY4IDMyLjc2OCA2OS42MzIgNzcuODI0IDExMC41OTIgMTM1LjE2OGwyNC41NzYtMjQuNTc2Yy00MC45Ni00OS4xNTItODEuOTItOTguMzA0LTEyMi44OC0xNDMuMzZoLTI0LjU3NmMtNDAuOTYgNTcuMzQ0LTgxLjkyIDExMC41OTItMTMxLjA3MiAxNTUuNjQ4bDE2LjM4NCAyNC41NzZ6bTMyMy41ODQgMTU5Ljc0NFYzMzkuOTY4aC0zMi43Njh2MzA3LjJoMzIuNzY4em0tMTMxLjA3MiA5NC4yMDhjMjQuNTc2IDAgMzYuODY0LTQuMDk2IDQ1LjA1Ni0xMi4yODhzMTYuMzg0LTM2Ljg2NCAyMC40OC03Ny44MjRsLTMyLjc2OC0xMi4yODhjMCAyOC42NzItNC4wOTYgNDUuMDU2LTguMTkyIDUzLjI0OHMtMTYuMzg0IDEyLjI4OC0zMi43NjggMTIuMjg4aC05OC4zMDRjLTEyLjI4OCAwLTIwLjQ4LTQuMDk2LTIwLjQ4LTE2LjM4NHYtMjA0LjhoMTA2LjQ5NnY5NC4yMDhjMCAxMi4yODgtOC4xOTIgMjAuNDgtMjAuNDggMjAuNDgtMTYuMzg0IDAtMzIuNzY4IDAtNDkuMTUyLTQuMDk2bDguMTkyIDMyLjc2OGg1My4yNDhjMjguNjcyIDAgNDAuOTYtMTYuMzg0IDQwLjk2LTQwLjk2VjQ1MC41NmgtMTc2LjEyOHYyNDUuNzZjMCAyNC41NzYgMTIuMjg4IDM2Ljg2NCA0MC45NiAzNi44NjRoMTIyLjg4em01ODUuNzI4LTUzLjI0OFY2MzQuODhoMTMxLjA3MnYtMjguNjcyaC0xMzEuMDcydi00MC45NmgxMTQuNjg4di0yOC42NzJoLTExNC42ODh2LTQwLjk2SDIxNTAuNHYtNjkuNjMyaDMyLjc2OHYtMjguNjcySDIxNTAuNFYzMjcuNjhoLTEwNi40OTZ2LTMyLjc2OGgtMzIuNzY4djMyLjc2OGgtODYuMDE2djI4LjY3Mmg4Ni4wMTZ2MzYuODY0aC0xMTAuNTkydjI4LjY3MmgxMTAuNTkydjQwLjk2aC04Ni4wMTZ2MjguNjcyaDg2LjAxNnY0MC45NmgtOTguMzA0djI4LjY3Mmg5OC4zMDR2NDAuOTZoLTExMC41OTJ2MjguNjcyaDExMC41OTJ2NDkuMTUyaDMyLjc2OHptLTI3MC4zMzYgNTcuMzQ0YzI0LjU3Ni0xNi4zODQgNDAuOTYtMzYuODY0IDU3LjM0NC02MS40NCA0LjA5NiA0LjA5NiAxMi4yODggOC4xOTIgMTYuMzg0IDEyLjI4OCAzNi44NjQgMjQuNTc2IDEwMi40IDM2Ljg2NCAxODguNDE2IDM2Ljg2NGgxNDcuNDU2bDQuMDk2LTMyLjc2OGMtNTcuMzQ0IDAtMTEwLjU5MiA0LjA5Ni0xNjcuOTM2IDQuMDk2LTY1LjUzNiAwLTExOC43ODQtMTIuMjg4LTE1MS41NTItMjguNjcyLTguMTkyLTQuMDk2LTE2LjM4NC0xMi4yODgtMjQuNTc2LTIwLjQ4IDI0LjU3Ni00NS4wNTYgMzYuODY0LTk4LjMwNCAzNi44NjQtMTYzLjg0di0yMC40OGgtNzcuODI0YzI0LjU3Ni0zMi43NjggNDkuMTUyLTczLjcyOCA3My43MjgtMTE4Ljc4NHYtMjguNjcySDE3NjEuMjh2MzIuNzY4aDgxLjkyYy0yNC41NzYgNDAuOTYtNDkuMTUyIDgxLjkyLTc3LjgyNCAxMTguNzg0djI4LjY3Mmg5MC4xMTJjLTQuMDk2IDQ1LjA1Ni0xMi4yODggODYuMDE2LTI4LjY3MiAxMjIuODgtMTIuMjg4LTIwLjQ4LTI0LjU3Ni00OS4xNTItMzIuNzY4LTg2LjAxNmwtMzIuNzY4IDEyLjI4OGMxMi4yODggNDAuOTYgMjguNjcyIDc3LjgyNCA0NS4wNTYgMTA2LjQ5Ni0xNi4zODQgMjQuNTc2LTM2Ljg2NCA0MC45Ni01Ny4zNDQgNTcuMzQ0bDI0LjU3NiAyOC42NzJ6bTMzOS45NjgtMzQ0LjA2NGgtNjkuNjMydi0zNi44NjRoNjkuNjMydjM2Ljg2NHptMCA2OS42MzJoLTY5LjYzMnYtNDAuOTZoNjkuNjMydjQwLjk2em0yNTMuOTUyIDI3OC41Mjh2LTIwLjQ4aDIxMi45OTJ2MjAuNDhoMzYuODY0VjUyNC4yODhoLTE4NC4zMmMyOC42NzItMTIuMjg4IDUzLjI0OC0yNC41NzYgNzcuODI0LTQwLjk2bDIwLjQ4LTEyLjI4OGgxNTEuNTUydi0zMi43NjhoLTEwNi40OTZjMzIuNzY4LTI0LjU3NiA2NS41MzYtNTcuMzQ0IDk0LjIwOC05MC4xMTJsLTMyLjc2OC0yMC40OGMtMzYuODY0IDQwLjk2LTczLjcyOCA3Ny44MjQtMTIyLjg4IDExMC41OTJoLTYxLjQ0di02MS40NGgxMTQuNjg4di0zMi43NjhoLTExNC42ODh2LTQ5LjE1MmgtMzYuODY0djUzLjI0OGgtMTM1LjE2OHYzMi43NjhoMTM1LjE2OHY1Ny4zNDRoLTE4MC4yMjR2MzIuNzY4aDIyNS4yOGMtNjkuNjMyIDQwLjk2LTE0Ny40NTYgNjkuNjMyLTIyOS4zNzYgOTAuMTEybDE2LjM4NCAzMi43NjhjMjguNjcyLTguMTkyIDU3LjM0NC0yMC40OCA4MS45Mi0yOC42NzJ2MTgwLjIyNGgzNi44NjR6bTIxMi45OTItMTM5LjI2NGgtMjEyLjk5MnYtNDkuMTUyaDIxMi45OTJ2NDkuMTUyem0wIDg2LjAxNmgtMjEyLjk5MnYtNTMuMjQ4aDIxMi45OTJ2NTMuMjQ4eiIgZmlsbD0iIzE2NURGRiIvPjxwYXRoIGQ9Ik01NzMuNDQgMjA0LjhoMzI3LjY4YzkwLjExMiAwIDE2My44NCA3My43MjggMTYzLjg0IDE2My44NHYzMjcuNjhjMCA5MC4xMTItNzMuNzI4IDE2My44NC0xNjMuODQgMTYzLjg0SDU3My40NGMtOTAuMTEyIDAtMTYzLjg0LTczLjcyOC0xNjMuODQtMTYzLjg0VjM2OC42NGMwLTkwLjExMiA3My43MjgtMTYzLjg0IDE2My44NC0xNjMuODR6IiBmaWxsPSIjQzJEMEZGIi8+PHBhdGggZD0iTTg2OC4zNTIgNTgxLjYzMmM0LjA5NiAyNC41NzYgMTIuMjg4IDQ5LjE1MiAxNi4zODQgNjkuNjMyIDAgOC4xOTIgNC4wOTYgMTYuMzg0IDQuMDk2IDI0LjU3NnM0LjA5NiAxNi4zODQgNC4wOTYgMjQuNTc2IDQuMDk2IDEyLjI4OCA0LjA5NiAxNi4zODR2OC4xOTJjMCA4LjE5MiAwIDEyLjI4OC00LjA5NiAxMi4yODgtNC4wOTYgNC4wOTYtOC4xOTIgNC4wOTYtMTIuMjg4IDQuMDk2aC04LjE5MmMtNC4wOTYgMC00LjA5NiAwLTguMTkyLTQuMDk2TDczNy4yOCA2NjcuNjQ4Yy0yNC41NzYgMTIuMjg4LTQ1LjA1NiAyNC41NzYtNjEuNDQgMzYuODY0TDY1MS4yNjQgNzE2LjhjLTguMTkyIDQuMDk2LTE2LjM4NCA4LjE5Mi0yMC40OCAxMi4yODgtOC4xOTIgNC4wOTYtMTYuMzg0IDguMTkyLTIwLjQ4IDEyLjI4OHMtOC4xOTIgNC4wOTYtOC4xOTIgNC4wOTZjLTQuMDk2IDAtOC4xOTIgNC4wOTYtOC4xOTIgMC00LjA5NiAwLTguMTkyIDAtOC4xOTItNC4wOTYtNC4wOTYgMC00LjA5Ni00LjA5Ni00LjA5Ni04LjE5MnYtOC4xOTJzMC00LjA5NiA0LjA5Ni04LjE5MmMwLTQuMDk2IDQuMDk2LTEyLjI4OCA0LjA5Ni0xNi4zODQgMC04LjE5MiA0LjA5Ni0xNi4zODQgNC4wOTYtMjQuNTc2czQuMDk2LTE2LjM4NCA4LjE5Mi0yNC41NzZjNC4wOTYtMjAuNDggMTIuMjg4LTQ1LjA1NiAxNi4zODQtNjkuNjMyLTI0LjU3Ni0xNi4zODQtNDUuMDU2LTI4LjY3Mi01Ny4zNDQtNDUuMDU2LTguMTkyLTQuMDk2LTE2LjM4NC04LjE5Mi0yMC40OC0xNi4zODRzLTEyLjI4OC04LjE5Mi0xNi4zODQtMTIuMjg4UzUxMiA0OTkuNzEyIDUxMiA0OTUuNjE2Yy00LjA5Ni00LjA5Ni04LjE5Mi00LjA5Ni04LjE5Mi00LjA5Ni00LjA5Ni00LjA5Ni00LjA5Ni04LjE5Mi04LjE5Mi0xMi4yODhzLTQuMDk2LTguMTkyLTQuMDk2LTEyLjI4OCA0LjA5Ni04LjE5MiA0LjA5Ni0xMi4yODhjNC4wOTYgMCA4LjE5Mi00LjA5NiAxMi4yODgtNC4wOTZsMTUxLjU1Mi0xMi4yODhMNzE2LjggMzA3LjJjMC00LjA5NiA0LjA5Ni04LjE5MiA4LjE5Mi0xMi4yODggMC04LjE5MiA4LjE5Mi04LjE5MiAxMi4yODgtOC4xOTJzNC4wOTYgMCA4LjE5MiA0LjA5NmM0LjA5NiAwIDQuMDk2IDQuMDk2IDQuMDk2IDQuMDk2bDQuMDk2IDQuMDk2czAgNC4wOTYgNC4wOTYgNC4wOTZsNTMuMjQ4IDEzMS4wNzIgMTU1LjY0OCAxNi4zODRjOC4xOTIgMCAxMi4yODggNC4wOTYgMTIuMjg4IDQuMDk2IDQuMDk2IDQuMDk2IDQuMDk2IDguMTkyIDQuMDk2IDEyLjI4OHMwIDguMTkyLTQuMDk2IDEyLjI4OGwtMTIuMjg4IDEyLjI4OC05OC4zMDQgOTAuMTEyeiIgZmlsbD0iIzJFNUJFQyIvPjwvc3ZnPg==",qe=Oe(11420),st=(yt,Gt,gt)=>new Promise((St,Qt)=>{var Nt=On=>{try{rn(gt.next(On))}catch(zn){Qt(zn)}},wt=On=>{try{rn(gt.throw(On))}catch(zn){Qt(zn)}},rn=On=>On.done?St(On.value):Promise.resolve(On.value).then(Nt,wt);rn((gt=gt.apply(yt,Gt)).next())});const rt=50;var ct=({data:yt,isAdminOrTeacher:Gt,onDelGroup:gt,onChangeGroupName:St,onPlusMember:Qt,onDelMember:Nt,onExitGroup:wt,Transferteams:rn})=>{var On,zn;const[Gn,nr]=(0,_e.useState)(0),[Xn,$t]=(0,_e.useState)(0);let[gn,jn]=(0,_e.useState)(),[Ln,Sr]=(0,_e.useState)(),[Ur,Mr]=(0,_e.useState)(!1),[Gr,ma]=(0,_e.useState)(),[Oa,Ea]=(0,_e.useState)(),[Ma,li]=(0,_e.useState)(!1),[di,Hr]=(0,_e.useState)(!1),[Ta,Ha]=(0,_e.useState)("");function sr(pt){let Ae=parseInt(pt.key,10);Ha(Ae),Hr(!0)}function pr(pt){let Ae=parseInt(pt.key,10);Re.default.confirm({title:"\u9000\u51FA\u63D0\u793A",okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",content:"\u9000\u51FA\u5C06\u5BF9\u60A8\u4E0E\u7EC4\u5185\u6210\u5458\u5171\u540C\u5F00\u5C55\u6559\u7814\u6D3B\u52A8\u9020\u6210\u4E0D\u4FBF\u3002\u60A8\u786E\u5B9A\u8981\u9000\u51FA\u5417\uFF1F",onOk:()=>{wt(Ae)}})}function Qa(pt){let Ae=parseInt(pt,10);Re.default.confirm({title:"\u9000\u51FA\u63D0\u793A",okText:"\u786E\u5B9A",icon:!1,className:oe.Z.CustomTipsModalCss,cancelText:"\u53D6\u6D88",content:"\u9000\u51FA\u5C06\u5BF9\u60A8\u4E0E\u7EC4\u5185\u6210\u5458\u5171\u540C\u5F00\u5C55\u6559\u7814\u6D3B\u52A8\u9020\u6210\u4E0D\u4FBF\u3002\u60A8\u786E\u5B9A\u8981\u9000\u51FA\u5417\uFF1F",onOk:()=>{wt(Ae)}})}function hn(pt,Ae){Re.default.confirm({title:"\u6E29\u99A8\u63D0\u793A",content:"\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E2A\u7EC4\u5458\u5417?",icon:!1,className:oe.Z.CustomTipsModalCss,okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",onOk:()=>{Nt(pt,Ae)}})}const kn={display:"block",height:"30px",lineHeight:"30px"};function ar(pt){Ea(pt),ma(pt==null?void 0:pt.id),li(!0)}const lr=[{title:"\u6210\u5458\u540D\u79F0",dataIndex:"name",width:150},{title:"\u4F7F\u7528\u5171\u4EAB\u8BD5\u9898",dataIndex:"item_bank",align:"center",width:150,render:(pt,Ae,Le)=>_e.createElement(he.default,{disabled:Ae==null?void 0:Ae.is_creator,defaultChecked:pt,onChange:Ie=>{ee({id:Gr,member_id:Ae.id,clazz:"item_bank",enable:Ie.target.checked})}})},{title:"\u7F16\u8F91\u5171\u4EAB\u8BD5\u9898",dataIndex:"edit_item_bank",align:"center",width:150,render:(pt,Ae,Le)=>_e.createElement(he.default,{disabled:Ae==null?void 0:Ae.is_creator,defaultChecked:pt,onChange:Ie=>{ee({id:Gr,member_id:Ae.id,clazz:"edit_item_bank",enable:Ie.target.checked})}})},{title:"\u4F7F\u7528\u5171\u4EAB\u8BD5\u5377",dataIndex:"exercise",align:"center",render:(pt,Ae,Le)=>_e.createElement(he.default,{disabled:Ae==null?void 0:Ae.is_creator,defaultChecked:pt,onChange:Ie=>{ee({id:Gr,member_id:Ae.id,clazz:"exercise",enable:Ie.target.checked})}})}];function Fr(pt){return st(this,null,function*(){const Ae=yield de(pt==null?void 0:pt.id);ma(pt==null?void 0:pt.id),Sr(Ae),Mr(!0)})}return _e.createElement("ul",{className:"teaching-lists"},yt.map((pt,Ae)=>_e.createElement("li",{key:pt.id,style:{marginTop:Ae===0?30:16},onClick:()=>nr(Ae)},_e.createElement("div",{className:"item-group"},_e.createElement("span",{style:{color:"#000000",fontSize:16,fontWeight:600}},pt.name,"\u7684\u6559\u7814\u56E2\u961F"),_e.createElement("div",{className:"action-group"})),_e.createElement("div",{style:{display:"flex"}},_e.createElement("span",{style:{marginTop:29,marginLeft:24,color:"#5F6367"}},"\u56E2\u961F\u6210\u5458\uFF1A"),_e.createElement("ul",{className:"info",style:{flex:1}},pt.memers.map(Le=>{var Ie;return _e.createElement("li",{key:Le.id||Le.name,onClick:()=>{$t(Le.id)},className:"directionItemWrap"},_e.createElement("div",{className:"hovename",style:{display:"flex",alignItems:"center",justifyContent:"center",fontWeight:400,fontSize:14,color:Le!=null&&Le.is_creater?"#000000":"#5F6367"}},((Ie=Le.name)==null?void 0:Ie.length)>6?Le.name.substr(0,6)+"....":Le.name,_e.createElement("img",{src:$e,style:{marginLeft:5,display:!(Le!=null&&Le.is_creater)&&"none",height:25,width:78}})),pt.is_creat?_e.createElement("div",{className:"groupActionWrap",style:{display:!(Le!=null&&Le.id)&&"none"}},_e.createElement("a",{className:"btn-del",onClick:ze=>{ze.preventDefault(),ze.stopPropagation(),hn(pt.id,Le.id)}},"x")):null)})),pt.is_creat||Gt?_e.createElement(ie.Z,{overlayClassName:"dropdowns",dropdownRender:()=>_e.createElement(ue.default,null,_e.createElement(ue.default.Item,{onClick:()=>{St(pt)}},"\u4FEE\u6539\u540D\u79F0"),_e.createElement(ue.default.Item,{disabled:pt.memers.length>=50,onClick:()=>{Qt(pt)}},"\u6DFB\u52A0\u6210\u5458"),pt.is_creat&&_e.createElement(ue.default.Item,{onClick:()=>Fr(pt)},"\u6743\u9650\u914D\u7F6E"),pt.is_creat&&_e.createElement(ue.default.Item,{onClick:()=>ar(pt)},"\u8F6C\u8BA9\u56E2\u961F"),_e.createElement(ue.default.Item,{key:pt.id+"",onClick:pt.is_creat?sr:pr},pt.is_creat?"\u89E3\u6563":"\u9000\u51FA"))},_e.createElement("span",{style:{marginTop:30,marginRight:24,color:"#165DFF",fontSize:14,height:20}},"\u8BBE\u7F6E",_e.createElement("i",{style:{marginLeft:5,color:"#979797"},className:"iconfont icon-a-bianzu11"}))):_e.createElement("span",{key:pt.id+"",style:{marginTop:30,marginRight:24,color:"#165DFF",fontSize:14,height:20},className:"c-grey-c",onClick:()=>Qa(pt.id)},"\u9000\u51FA")))),_e.createElement(Re.default,{width:700,wrapClassName:oe.Z.CustomCss,title:"\u6743\u9650\u914D\u7F6E",footer:null,open:Ur,onCancel:()=>Mr(!1)},_e.createElement(qe.Gi,null,_e.createElement(ge.default,{dataSource:Ln==null?void 0:Ln.members,columns:lr,pagination:!1,scroll:{y:240}})),_e.createElement("p",{style:{color:"#FF9D18",marginTop:5}},"*\u9009\u4E2D\u4EE3\u8868\u8BE5\u6210\u5458\u53EF\u4EE5\u4F7F\u7528\u56E2\u961F\u5185\u6240\u6709\u6210\u5458\u5171\u4EAB\u7684\u8D44\u6E90\uFF0C\u5426\u5219\u4E0D\u53EF\u4EE5")),_e.createElement(Re.default,{title:"\u89E3\u6563\u63D0\u793A",wrapClassName:oe.Z.CustomCss,onOk:()=>{gt(Ta),Hr(!1)},open:di,onCancel:()=>Hr(!1)},_e.createElement("p",null,"\u89E3\u6563\u6559\u7814\u56E2\u961F\u5C06\u5BF9\u56E2\u961F\u6210\u5458\u4E4B\u95F4\u5171\u4EAB\u5B9E\u8BAD\u3001\u8BD5\u5377\u7B49\u529F\u80FD\u9020\u6210\u4E0D\u4FBF\u3002"),_e.createElement("p",null,"\u60A8\u786E\u5B9A\u8981\u89E3\u6563\u672C\u6559\u7814\u56E2\u961F\u5417\uFF1F")),_e.createElement(Re.default,{wrapClassName:oe.Z.CustomCss,title:"\u8F6C\u8BA9\u56E2\u961F",onOk:()=>{if(!gn){xe.ZP.info("\u521B\u5EFA\u4EBA\u4E0D\u80FD\u4E3A\u7A7A");return}rn(Gr,gn),li(!1),gn=""},open:Ma,onCancel:()=>{li(!1),gn=""}},_e.createElement("p",{style:{textAlign:"left"}},"\u9009\u4E2D\u7684\u6210\u5458\u5C06\u4F1A\u4EE5\u65B0\u7684\u521B\u5EFA\u4EBA\u8EAB\u4EFD\u63A5\u7BA1\u56E2\u4F53 ",_e.createElement("br",null)," \u60A8\u5C06\u4E0D\u518D\u62E5\u6709\u521B\u5EFA\u4EBA\u7684\u8EAB\u4EFD\u548C\u6743\u9650\uFF0C\u4F46\u60A8\u4ECD\u662F\u56E2\u961F\u4E2D\u7684\u4E00\u5458"),_e.createElement("div",null,_e.createElement(Me.ZP.Group,{defaultValue:[],onChange:pt=>{gn=pt.target.value,jn(pt.target.value)}},(zn=(On=Oa==null?void 0:Oa.memers)==null?void 0:On.filter(pt=>pt.is_teacher))==null?void 0:zn.map((pt,Ae)=>_e.createElement(Me.ZP,{style:kn,value:pt==null?void 0:pt.id},pt==null?void 0:pt.name))))))},tt=Oe(88230),dt=Oe(24459),At=Oe(67732),mt=Object.defineProperty,ht=Object.defineProperties,vt=Object.getOwnPropertyDescriptors,Wt=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,en=Object.prototype.propertyIsEnumerable,mn=(yt,Gt,gt)=>Gt in yt?mt(yt,Gt,{enumerable:!0,configurable:!0,writable:!0,value:gt}):yt[Gt]=gt,Ot=(yt,Gt)=>{for(var gt in Gt||(Gt={}))Jt.call(Gt,gt)&&mn(yt,gt,Gt[gt]);if(Wt)for(var gt of Wt(Gt))en.call(Gt,gt)&&mn(yt,gt,Gt[gt]);return yt},an=(yt,Gt)=>ht(yt,vt(Gt)),tn=(yt,Gt,gt)=>new Promise((St,Qt)=>{var Nt=On=>{try{rn(gt.next(On))}catch(zn){Qt(zn)}},wt=On=>{try{rn(gt.throw(On))}catch(zn){Qt(zn)}},rn=On=>On.done?St(On.value):Promise.resolve(On.value).then(Nt,wt);rn((gt=gt.apply(yt,Gt)).next())});function Dn({children:yt}){return _e.createElement("div",{className:"no-data"},_e.createElement("img",{src:be,alt:"no-data",width:300}),yt)}const Tn={data:[],loading:!0,selectedGroup:{},showFormPanel:!1,showMemberPanel:!1,index:0};var sn=(yt=>(yt[yt.INITDATA=0]="INITDATA",yt[yt.SHOWLOADING=1]="SHOWLOADING",yt[yt.SHOWFORMPANEL=2]="SHOWFORMPANEL",yt[yt.SHOWMEMBERPANEL=3]="SHOWMEMBERPANEL",yt[yt.SELECTGROUP=4]="SELECTGROUP",yt[yt.SETINDEX=5]="SETINDEX",yt))(sn||{});function dn(yt,Gt){switch(Gt.type){case 0:return Ot(Ot({},yt),Gt.payload);case 1:return an(Ot({},yt),{loading:Gt.payload});case 5:return an(Ot({},yt),{index:Gt.payload});case 2:return Ot(Ot({},yt),Gt.payload);case 3:return Ot(Ot({},yt),Gt.payload);case 4:return an(Ot({},yt),{selectedGroup:Gt.payload,showFormPanel:!0});default:throw new Error}}function Kt({user:yt}){var Gt;const gt=(0,dt.useLocation)(),[St]=(0,dt.useSearchParams)(),[Qt,Nt]=(0,_e.useReducer)(dn,Tn),{data:wt,index:rn,loading:On,showFormPanel:zn,selectedGroup:Gn,showMemberPanel:nr}=Qt,Xn=(Gt=yt.userInfo)==null?void 0:Gt.role,[$t,gn]=(0,_e.useState)(St.get("category")||"0"),jn=(0,_e.useMemo)(()=>{let sr=[],pr=[];if(wt){for(let Qa of wt)Qa.is_creat?sr.push(Qa):pr.push(Qa);return[sr,pr]}},[wt]);(0,_e.useEffect)(()=>{Xn===15&&Nt({type:5,payload:1})},[Xn]);function Ln(){return tn(this,null,function*(){const sr=yield Ce();(sr==null?void 0:sr.status)!==401&&Nt({type:0,payload:{loading:!1,showFormPanel:!1,data:sr.groups,index:St.get("category")||0}})})}(0,_e.useEffect)(()=>{Ln()},[]);function Sr(sr){return tn(this,null,function*(){Gn.id?yield ye(Gn.id,sr):yield ve(sr),Ln()})}function Ur(){Nt({type:2,payload:{showFormPanel:!0,selectedGroup:{}}})}function Mr(sr){Nt({type:4,payload:sr})}function Gr(){Nt({type:2,payload:{showFormPanel:!1}})}function ma(){Nt({type:3,payload:{showMemberPanel:!1,selectedGroup:{}}})}function Oa(sr){Nt({type:3,payload:{showMemberPanel:!0,selectedGroup:sr}})}function Ea(sr,pr){return tn(this,null,function*(){yield Ee(sr,pr),Ln()})}function Ma(sr){return tn(this,null,function*(){yield Pe(sr),Ln()})}function li(sr){return tn(this,null,function*(){yield De(sr),Ln()})}function di(sr,pr){return tn(this,null,function*(){yield pe(sr,pr),Ln()})}function Hr(sr){Nt({type:5,payload:parseInt(sr.target.id,10)})}function Ta(sr,pr){return tn(this,null,function*(){ma(),yield we({user_ids:sr,group_id:pr}),Ln()})}const Ha=[{id:"0",name:"\u6211\u521B\u5EFA\u7684"},{id:"1",name:"\u6211\u52A0\u5165\u7684"}];return _e.createElement(_e.Fragment,null,_e.createElement("div",{className:"teaching-circling-container",style:{paddingLeft:45,paddingTop:22}},_e.createElement("div",{className:"teaching-circling-body"},Xn===15?null:_e.createElement(qe.YG,{value:$t,onChange:sr=>{var pr;(pr=window.location.href.toString())!=null&&pr.includes("category")?(0,tt.jz)("category",sr):window.history.replaceState(null,"",window.location.href.indexOf("?")>-1?window.location.href+`&category=${sr}`:`?category=${sr}`),gn(sr),Nt({type:5,payload:parseInt(sr,10)})},tabBarExtraContent:_e.createElement(Ve.ZP,{type:"primary",disabled:wt.length>=50,style:{width:60,height:32,borderRadius:16,border:"1px solid #BACFFE",background:"#F6F7F9 linear-gradient(180deg, #FFFFFF 0%, #F6F7F9 100%)",boxShadow:"0px 2px 4px 0px #E0DFE1, inset 0px 1px 3px 0px rgba(255,255,255,0.5)",color:"#3061D0"},title:wt.length>=50?"\u60A8\u52A0\u5165\u7684\u6559\u7814\u7EC4\u5DF2\u8FBE\u4E0A\u9650":"",onClick:Ur},"\u65B0\u5EFA"),className:"mb25",dataSource:Ha}),_e.createElement("div",{className:jn[rn].length===0?"nodata-content":"main-content"},jn[rn].length===0?_e.createElement(Dn,null,Xn<=12?_e.createElement(_e.Fragment,null," ",_e.createElement("p",null,"\u6559\u7814\u56E2\u961F\u6709\u52A9\u4E8E\u4F60\u548C\u4F60\u7684\u4F19\u4F34\u4EEC\u4E00\u8D77\u521B\u5EFA\u5B9E\u8BAD\u3001\u534F\u540C\u6559\u5B66\uFF0C\u6216\u5F00\u5C55\u5176\u4ED6\u6559\u7814\u6D3B\u52A8\u3002")," ",_e.createElement("p",null,"\u5F53\u524D\u60A8\u5C1A\u672A\u7EC4\u5EFA\u5C5E\u4E8E\u81EA\u5DF1\u6559\u7814\u56E2\u961F\uFF0C\u5FEB\u53BB\u7EC4\u5EFA\u5427\uFF01")," "):_e.createElement("p",null," \u60A8\u5C1A\u672A\u52A0\u5165\u4EFB\u4F55\u6559\u7814\u5C0F\u7EC4\uFF0C\u8BF7\u7B49\u5F85\u8001\u5E08\u7684\u53EC\u5524\u5427\uFF01 ")):_e.createElement(ct,{onExitGroup:li,Transferteams:di,onPlusMember:Oa,onDelMember:Ea,onDelGroup:Ma,isAdminOrTeacher:Xn<=12,onChangeGroupName:Mr,data:jn[rn]})))),_e.createElement(ce,{callback:Sr,visible:zn,onCancel:Gr,id:Gn.id,name:Gn.name}),_e.createElement(Re.default,{centered:!0,title:"\u6DFB\u52A0\u6210\u5458",open:nr,onCancel:ma,footer:null,width:1150,bodyStyle:{minHeight:200},wrapClassName:oe.Z.CustomCss},_e.createElement(At.Z,{container_id:Gn.id,container_type:4,onSelect:Ta,onCancel:ma})))}var Tt=(0,dt.connect)(({user:yt})=>({user:yt}))(Kt)},86099:function(Pt,Mt,Oe){"use strict";Oe.r(Mt),Oe.d(Mt,{default:function(){return pZ}});var _e={};Oe.r(_e),Oe.d(_e,{add:function(){return sL},adjoint:function(){return bf},clone:function(){return ys},copy:function(){return Fs},create:function(){return Pi},determinant:function(){return fc},equals:function(){return cL},exactEquals:function(){return J1},frob:function(){return oL},fromQuat:function(){return X1},fromQuat2:function(){return qI},fromRotation:function(){return FS},fromRotationTranslation:function(){return US},fromRotationTranslationScale:function(){return $I},fromRotationTranslationScaleOrigin:function(){return U0},fromScaling:function(){return Xh},fromTranslation:function(){return Xf},fromValues:function(){return Sf},fromXRotation:function(){return kS},fromYRotation:function(){return zS},fromZRotation:function(){return Y1},frustum:function(){return eL},getRotation:function(){return im},getScaling:function(){return Qg},getTranslation:function(){return am},identity:function(){return Pu},invert:function(){return zu},lookAt:function(){return HS},mul:function(){return ZS},multiply:function(){return Uu},multiplyScalar:function(){return lL},multiplyScalarAndAdd:function(){return uL},ortho:function(){return GS},orthoNO:function(){return jS},orthoZO:function(){return VS},perspective:function(){return tL},perspectiveFromFieldOfView:function(){return rL},perspectiveNO:function(){return WS},perspectiveZO:function(){return nL},rotate:function(){return XI},rotateX:function(){return RS},rotateY:function(){return _S},rotateZ:function(){return JI},scale:function(){return NS},set:function(){return qu},str:function(){return iL},sub:function(){return dL},subtract:function(){return KS},targetTo:function(){return aL},translate:function(){return Zg},transpose:function(){return Cd}});var Ve={};Oe.r(Ve),Oe.d(Ve,{circle:function(){return v8},diamond:function(){return m8},rect:function(){return y8},simple:function(){return A8},triangle:function(){return Ow},triangleRect:function(){return E8},vee:function(){return p8}});var Re=Oe(59301),be=Oe(24459),Fe=Oe(8591),Ce=Oe(43418),ve=Oe(3113),ye={flex_box_center:"flex_box_center___wc3oP",flex_space_between:"flex_space_between___YV6tt",flex_box_vertical_center:"flex_box_vertical_center___DBgDc",flex_box_center_end:"flex_box_center_end___uIUDS",flex_box_column:"flex_box_column___kQEdA",banner:"banner____Henj",wrp:"wrp___PZhnF",titleWrap:"titleWrap___GqIYn",titleFlexEnd:"titleFlexEnd___yQ3st",title:"title___djFnh",titleName:"titleName___o55kJ",titleIcon:"titleIcon___iO27M",contentWrap:"contentWrap___EkBTW",verticalLine:"verticalLine___aj4o0",contentLeftWrap:"contentLeftWrap___O08fb",openCourseTag:"openCourseTag___M35c8",tagsWrap:"tagsWrap____zRBh",ratingWrap:"ratingWrap___FD4BS",ratingTitle:"ratingTitle___sKXr7",rating:"rating___pPcWF",popoverWrap:"popoverWrap___XLvdy",popverLeft:"popverLeft___JghVb",popoverRight:"popoverRight___iN5hL",popverScore:"popverScore___LpP2e",popoverRateWrap:"popoverRateWrap___y3lUU",popoverProgress:"popoverProgress___SPsPq",button:"button___w71Iu",operationWrap:"operationWrap___xfwLx",forkWrap:"forkWrap___PUfTF",fork:"fork___SPjy6",forkNum:"forkNum___fwVaA",buttonTransparent:"buttonTransparent___V0ey6",buttonLearnStatistics:"buttonLearnStatistics___sWuSx",publishPopverWrap:"publishPopverWrap___maOAE",colorFF6802:"colorFF6802___Gb0xJ",w140:"w140___XOi_m",nav:"nav___j9ULg",navLeft:"navLeft___EEDpJ",navContent:"navContent___p8ZjQ",flexRow:"flexRow___cGkPG",navRight:"navRight____bBx2",navLeftIcon:"navLeftIcon___yRiiz",colorOrange:"colorOrange___isY7L",contentItem:"contentItem___OdKIu",contentItemTitle:"contentItemTitle___MBdkH",contentItemText:"contentItemText___YDgQC",classButton:"classButton___gidYF",bg28e:"bg28e___AuhUg",bgGray:"bgGray___zHFT7",btn:"btn___n_xyk",name:"name___AkijA",titleright:"titleright___AQpHe",edits:"edits___h0Etp",edit:"edit___YwQgI",deletes:"deletes___AEqz3",delete:"delete___C4ZUp",content:"content___urv2c",go:"go___BHrT0",goicon:"goicon___b33d6",tabs:"tabs___bmtXw"},we=Oe(22663),De=Oe(78241),pe=Oe(5112),Ee=Oe(19842),Pe=Oe(92832),de=Oe(71418),ee=Oe(7660),ne={applyPublicContainer:"applyPublicContainer___pImhb",applyPublicContent:"applyPublicContent____dPHq",spin:"spin___bBN3v",tips:"tips___uXmwo",action:"action___D3zVt"},le=Oe(87169),oe=Oe(59301),ce=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())}),ie=({type:E,onCancel:a,onOk:y})=>{const[x]=De.default.useForm(),[b,z]=(0,Re.useState)(1),[te,re]=(0,Re.useState)(!1),[ae,se]=(0,Re.useState)([]);(0,Re.useEffect)(()=>{x.setFieldValue("type",1),fe()},[]);const fe=()=>ce(void 0,null,function*(){if(E){re(!0);const Se=yield(0,ee.ZP)("/api/disciplines.json",{method:"get",params:{source:E}});se(Se.disciplines||[]),re(!1)}}),me=()=>{const{sub_discipline_id:Se,discipline_name:Te,sub_discipline_name:ke,type:We}=x.getFieldsValue();if((!Se||Se&&Se.length===0)&&(!Te||!ke))return Fe.ZP.warning("\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B"),!1;y({user_customize:We==2,sub_discipline_id:We==1?[Se[1]]:null,discipline_name:Te,sub_discipline_name:ke})};return oe.createElement(Ce.default,{width:640,className:ne.applyPublicContainer,centered:!0,title:"\u516C\u5F00\u8BFE\u7A0B",okText:"\u7533\u8BF7\u516C\u5F00",open:!0,onCancel:()=>{a(),x.resetFields()},onOk:()=>{x.validateFields().then(Se=>{if(b==2&&(Se.discipline_name.replaceAll(" ","").length<=0||Se.sub_discipline_name.replaceAll(" ","").length<=0)){Fe.ZP.info("\u65B9\u5411\u6216\u8BFE\u7A0B\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u586B\u5199\u540E\u518D\u63D0\u4EA4\uFF01");return}me(),x.resetFields()})}},oe.createElement("div",{className:ne.applyPublicContent},oe.createElement("div",{className:ne.tips},oe.createElement(le.Z,{style:{color:"#FF8C29",marginRight:10}}),"\u586B\u5199\u5B9E\u8DF5\u8BFE\u7A0B\u7684\u65B9\u5411&\u8BFE\u7A0B\u4E4B\u540E\uFF0C\u65B9\u53EF\u7533\u8BF7\u516C\u5F00"),oe.createElement(De.default,{labelAlign:"left",form:x},oe.createElement(De.default.Item,{name:"type"},oe.createElement(pe.ZP.Group,{onChange:Se=>{z(Se.target.value),Se.target.value==1?x.setFieldsValue({discipline_name:"",sub_discipline_name:""}):x.setFieldsValue({sub_discipline_id:[]})}},oe.createElement(pe.ZP,{value:1},"\u5FEB\u901F\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B"),oe.createElement(pe.ZP,{value:2,style:{marginLeft:40}},"\u81EA\u5B9A\u4E49\u65B9\u5411&\u8BFE\u7A0B"))),b==1&&oe.createElement(De.default.Item,{label:"\u65B9\u5411&\u8BFE\u7A0B",name:"sub_discipline_id",rules:[{required:!0}]},oe.createElement(Ee.Z,{expandTrigger:"hover",placeholder:"\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B",options:ae,fieldNames:{label:"name",value:"id",children:"sub_disciplines"},onChange:(Se,Te)=>x.setFieldsValue({sub_discipline_id:Se})})),b==2&&oe.createElement(oe.Fragment,null,oe.createElement(De.default.Item,{label:"\u65B9\u5411",name:"discipline_name",rules:[{required:!0}]},oe.createElement(Pe.default,{placeholder:"\u8BF7\u8F93\u5165\u65B9\u5411",autoComplete:"off"})),oe.createElement(De.default.Item,{label:"\u8BFE\u7A0B",name:"sub_discipline_name",rules:[{required:!0}]},oe.createElement(Pe.default,{placeholder:"\u8BF7\u8F93\u5165\u8BFE\u7A0B",autoComplete:"off"})))),te&&oe.createElement("div",{className:ne.spin},oe.createElement(de.Z,null))))},ue=Oe(99325),ge=Oe.p+"static/banner.6e6a323f.png",xe="data:image/png;base64,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",Me=Oe(59301),Be=Object.defineProperty,Ne=Object.defineProperties,Ue=Object.getOwnPropertyDescriptors,Ge=Object.getOwnPropertySymbols,Xe=Object.prototype.hasOwnProperty,Ye=Object.prototype.propertyIsEnumerable,nt=(E,a,y)=>a in E?Be(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,$e=(E,a)=>{for(var y in a||(a={}))Xe.call(a,y)&&nt(E,y,a[y]);if(Ge)for(var y of Ge(a))Ye.call(a,y)&&nt(E,y,a[y]);return E},qe=(E,a)=>Ne(E,Ue(a)),st=(E,a)=>{var y={};for(var x in E)Xe.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&Ge)for(var x of Ge(E))a.indexOf(x)<0&&Ye.call(E,x)&&(y[x]=E[x]);return y},rt=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});const ct=[{name:"\u672A\u53D1\u5E03",connect:"\u5F53\u524D\u8BFE\u7A0B\u6B63\u5728\u5F00\u53D1\u4E2D\uFF0C\u4E0D\u53EF\u88AB\u4ED6\u4EBA\u4F7F\u7528",bkcolor:"#D8D8D8",txcolor:"#FFFFFF"},{name:"\u9759\u9ED8\u53D1\u5E03",connect:"\u5F53\u524D\u8BFE\u7A0B\u5DF2\u53D1\u5E03\uFF0C\u53EF\u4EE5\u901A\u8FC7\u5206\u4EAB\u94FE\u63A5\u4F7F\u7528\uFF0C\u4F46\u4E0D\u80FD\u88AB\u5F00\u653E\u68C0\u7D22",bkcolor:"#7B92C7",txcolor:"#FFFFFF"},{name:"\u516C\u5F00\u5BA1\u6838",connect:"\u5F53\u524D\u8BFE\u7A0B\u5DF2\u53D1\u5E03\uFF0C\u7533\u8BF7\u7EB3\u5165\u5F00\u653E\u68C0\u7D22\uFF0C\u76EE\u524D\u5E73\u53F0\u6B63\u5728\u5BA1\u6838\u4E2D",bkcolor:"#F9AF7E",txcolor:"#A44C11"},{name:"\u516C\u5F00\u53D1\u5E03",connect:"\u5F53\u524D\u8BFE\u7A0B\u5DF2\u53D1\u5E03\uFF0C\u4E14\u53EF\u88AB\u5F00\u653E\u68C0\u7D22",bkcolor:"#FFE9C1",txcolor:"#A45204"}],tt=E=>{var a=E,{pathsDetail:y,user:x,globalSetting:b,loading:z,dispatch:te}=a,re=st(a,["pathsDetail","user","globalSetting","loading","dispatch"]),ae,se,fe,me,Se,Te,ke,We,je,Ke,Qe,Je,at,ot,ut,ft,lt,Dt,Bt,Vt;const Xt=(0,be.useParams)(),[vn,on]=(0,Re.useState)({}),wn=(0,Re.useRef)(1),[qn,yn]=(0,Re.useState)(),[En,Pn]=(0,Re.useState)(!1),[or,xn]=(0,Re.useState)(!1),yr=(0,Re.useRef)(null),na=!((ae=y.detail)!=null&&ae.edit_of_subject_knowledge),[ea,jr]=(0,Re.useState)({status:!1}),Or=((se=y.detail)==null?void 0:se.is_free)||((fe=y.detail)==null?void 0:fe.can_learning);(0,Re.useEffect)(()=>{jr({status:!1})},[]),(0,Re.useEffect)(()=>{function ri(){return rt(this,null,function*(){var Qi,Ri,Ji,lo,Xo,Oo,si;if((Qi=y.detail)!=null&&Qi.courses){const Di=(Ri=y.detail)==null?void 0:Ri.courses;if((Ji=Di==null?void 0:Di.toast)!=null&&Ji.is_open&&((lo=Di.toast)==null?void 0:lo.open_num)===-1)xn(!0);else if((Xo=Di==null?void 0:Di.toast)!=null&&Xo.is_open&&((Oo=Di==null?void 0:Di.toast)==null?void 0:Oo.open_num)===1){let ya=JSON.parse(localStorage.getItem("pathsshow"))||[];((si=ya.filter(La=>La===(Xt==null?void 0:Xt.pathId)))==null?void 0:si.length)>0?xn(!1):(xn(!0),ya.push(Xt==null?void 0:Xt.pathId),localStorage.setItem("pathsshow",JSON.stringify(ya)))}else xn(!1)}})}ri()},[(me=y.detail)==null?void 0:me.courses]),(0,Re.useEffect)(()=>{var ri,Qi,Ri,Ji,lo,Xo,Oo,si,Di,ya,La;if(!((Qi=(ri=y.detail)==null?void 0:ri.courses)==null?void 0:Qi.length))return;let zi;if((Ri=y.detail)!=null&&Ri.has_start){const Ca=(lo=(Ji=y.detail)==null?void 0:Ji.courses)==null?void 0:lo.findIndex(oo=>{var Ui;return((Ui=oo.course_status)==null?void 0:Ui.status)===1});zi=Ca>-1?Ca:0}else{let Ca=(si=(Oo=(Xo=y.detail)==null?void 0:Xo.courses)==null?void 0:Oo.map(oo=>{var Ui;return(Ui=oo.course_status)==null?void 0:Ui.status}))==null?void 0:si.lastIndexOf(2);zi=Ca>-1?Ca:0,Ca=(ya=(Di=y.detail)==null?void 0:Di.courses)==null?void 0:ya.findIndex(oo=>{var Ui;return((Ui=oo.course_status)==null?void 0:Ui.status)===0}),zi=Ca>-1?Ca:zi}on(((La=y.detail)==null?void 0:La.courses[zi])||{})},[y.detail]);const Yr=()=>{Fe.ZP.warning("\u975E\u8BFE\u7A0B\u5408\u4F5C\u8005\u4E0D\u53EF\u64CD\u4F5C\uFF0C\u8BF7\u4E0E\u8BFE\u7A0B\u8D1F\u8D23\u4EBA\u8054\u7CFB\uFF0C\u83B7\u5F97\u5408\u4F5C\u8005\u8EAB\u4EFD\u540E\u8FDB\u884C\u76F8\u5173\u64CD\u4F5C\u3002")},fa=ri=>{var Qi,Ri;const Ji=(Ri=(Qi=y.detail)==null?void 0:Qi.courses)==null?void 0:Ri.find(lo=>lo.course_id===ri);on(Ji||{}),te({type:"classroomList/setActionTabs",payload:{key:"\u4FEE\u6539\u5F00\u8BFE\u65F6\u95F4",name:ri}})},Ia=ri=>{jr({status:ri})},oi=ri=>{Ce.default.confirm({centered:!0,width:590,title:"\u63D0\u793A",okText:"\u786E\u5B9A\u7533\u8BF7",cancelText:"\u53D6\u6D88\u7533\u8BF7",icon:null,content:Me.createElement("div",{className:"tc",style:{color:"#5F6367",textAlign:"left"}},"\u516C\u5F00\u8BFE\u7A0B\u9700\u7ECF\u8FC7\u5E73\u53F0\u6807\u51C6\u5316\u5BA1\u6838\uFF0C\u5BA1\u6838\u5468\u671F\u4E3A1-2\u5929\uFF0C\u516C\u5F00\u7684\u8BFE\u7A0B\u5C06\u5BF9\u5E73\u53F0\u6240\u6709\u4EBA\u53EF\u89C1\u3002",Me.createElement("br",null),"\u82E5\u4EC5\u672C\u4EBA\u6559\u5B66\u4F7F\u7528\u5219\u65E0\u9700\u7533\u8BF7\u516C\u5F00\uFF0C\u76F4\u63A5\u53D1\u9001\u5230\u8BFE\u5802\u5373\u53EF",Me.createElement("br",null)),onOk:()=>rt(void 0,null,function*(){let Qi={user_customize:ri.user_customize,type:ri.type};ri.user_customize?Qi=qe($e({},Qi),{discipline_name:ri.discipline_name,sub_discipline_name:ri.sub_discipline_name}):ri.sub_discipline_id&&(Qi=qe($e({},Qi),{sub_discipline_id:ri.sub_discipline_id}));const Ri=yield(0,we.WO)($e({id:Xt.pathId},Qi));((Ri==null?void 0:Ri.status)===0||(Ri==null?void 0:Ri.status)===1)&&(Eo(),Fe.ZP.success("\u516C\u5F00\u7533\u8BF7\u5DF2\u63D0\u4EA4\uFF0C\u8BF7\u7B49\u5F85\u7BA1\u7406\u5458\u7684\u5BA1\u6838"))})})},Eo=()=>{te({type:"pathsDetail/getPathsDetail",payload:{id:Xt.pathId,knowledge:!0}}),te({type:"pathsDetail/getRightData",payload:{id:Xt.pathId}})},to=((Te=(Se=y.detail)==null?void 0:Se.courses)==null?void 0:Te.findIndex(ri=>(ri==null?void 0:ri.course_id)===(vn==null?void 0:vn.course_id)))+1;return Me.createElement("section",null,Me.createElement("aside",{className:ye.banner,style:{backgroundImage:(je=(We=(ke=y==null?void 0:y.detail)==null?void 0:ke.attachments)==null?void 0:We[0])!=null&&je.url?`url(${(Je=(Qe=(Ke=y==null?void 0:y.detail)==null?void 0:Ke.attachments)==null?void 0:Qe[0])==null?void 0:Je.url})`:`url(${ge})`}},Me.createElement("aside",{className:ye.wrp},Me.createElement("div",{className:ye.name},(ot=(at=y.detail)==null?void 0:at.name)==null?void 0:ot.split(`
|
|
|
`)[0]),Me.createElement("div",{className:ye.content},Me.createElement("span",null,"\u77E5\u8BC6\u56FE\u8C31\uFF1A",(ut=y==null?void 0:y.detail)==null?void 0:ut.knowledge_count),Me.createElement("span",null,"\u6807\u7B7E\u8282\u70B9\uFF1A",(ft=y==null?void 0:y.detail)==null?void 0:ft.tag_count),Me.createElement("span",null,"\u8D44\u6E90\u8282\u70B9\uFF1A",(lt=y==null?void 0:y.detail)==null?void 0:lt.resource_count),((Dt=y.detail)==null?void 0:Dt.origin_subject_identifier)&&Me.createElement("div",{onClick:()=>{var ri;window.open(`/paths/${(ri=y.detail)==null?void 0:ri.origin_subject_identifier}`)},className:ye.go},Me.createElement("img",{src:xe,className:ye.goicon})," ",Me.createElement("div",{style:{cursor:"pointer"}},"\u524D\u5F80\u8BFE\u7A0B\u5B66\u4E60"))))),ea.status&&Me.createElement(ie,{type:"subject",onCancel:()=>Ia(!1),onOk:ri=>{Ia(!1),oi(ri)}}),Me.createElement(Ce.default,{open:or,title:"\u8BFE\u7A0B\u516C\u544A",width:593,maskClosable:!1,onCancel:()=>{xn(!1)},centered:!0,footer:Me.createElement("div",null,Me.createElement(ve.ZP,{type:"primary",onClick:()=>{xn(!1)}},"\u6211\u77E5\u9053\u4E86"))},Me.createElement(ue.Z,{style:{maxHeight:378,overflow:"auto"},value:(Vt=(Bt=y==null?void 0:y.detail)==null?void 0:Bt.toast)==null?void 0:Vt.content})))};var dt=(0,be.connect)(({pathsDetail:E,user:a,loading:y,globalSetting:x})=>({pathsDetail:E,user:a,globalSetting:x,loading:y.models.index}))(tt),At=Oe(99313),mt=Oe(50484),ht={flex_box_center:"flex_box_center___gyNAa",flex_space_between:"flex_space_between___zekzh",flex_box_vertical_center:"flex_box_vertical_center___GQtHt",flex_box_center_end:"flex_box_center_end___P3hWY",flex_box_column:"flex_box_column___YRmML",bg:"bg___w3m29",wrap:"wrap___DQAaW",content:"content___ISSC7",wrapTabs:"wrapTabs___UH3jY",intro:"intro___GxOgI",introTitle:"introTitle___LyPY5"},vt=Oe(88230),Wt={flex_box_center:"flex_box_center___FSHWz",flex_space_between:"flex_space_between___xMj_8",flex_box_vertical_center:"flex_box_vertical_center___TftIO",flex_box_center_end:"flex_box_center_end___KM3sc",flex_box_column:"flex_box_column___o0txR",tabs:"tabs___kpTFv",activied:"activied___IE4FQ",tab:"tab___JSx4b",placeholder:"placeholder___xpvd2",content:"content___I7f9K",nametext:"nametext___E8ley",modal:"modal___oIdtc",mHead:"mHead___tmQjG",form:"form___q76Kb",mType:"mType___zss8M",dropdownst:"dropdownst___NZ0IN",dropnametext:"dropnametext___v6FZZ"},Jt={information:"information___cwV7S",body:"body___1JINN",title:"title___b5sMx",left:"left___yeFML",right:"right___uofAp",listWarp:"listWarp___mIMgF",li:"li___fF9zA",imgTitle:"imgTitle___HGcli",box:"box___pdLe8"},en="data:image/png;base64,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",mn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoYAAABgCAYAAACACLPPAAAAAXNSR0IArs4c6QAAIABJREFUeF7tvQmAXFd1JnzOve/VvvSiltSSLG/Csi2DFxmzg20wYGJiIODJJJAFMiEBMoSQEAIB2zBkIWHJAgEmMGFCmAkwYGODAYNtMKuNvIBlW15lba3uVi+1L+/de/7/3Fevu9RdVd2tXlTdfa9cruqq++7yvVevvz7LdxBWuBERhlNef/31U6/37t079bp5SaOju1q+v8LLttNZBCwCFgGLgEXAImAROGEEBgb2UquDd+3aNfX+tddeO/UaEVv2P+EFzPPAFSNdMwkhE0EmfYXCEaxWJ7C2vWjWsq2yyTzXaqUVW9s8sbLdLAIWAYuARcAiYBGwCCwKgWg0aQjfofiweY4eSFEs1kvp9BZi8shE8WQSxBUjX0wM2UIYEsLR0b2CyeDAZEqUSjmhVBZrqaLI+h4qlUKlPLM2rf0VW+OizrQ92CJgEbAIWAQsAhYBi0AbBIRwDBGU0iUpi5RzXIoWU1rKHCWTWT3aU9RMEgcGdulmgrjSlsMVIV2tSGEmAzKfBxmLTchqVcpaRMiYVxcq6gjle0JTFEkrjGq9Imu0V7JFwCJgEbAIWAQsAhaB5UKgJgShkCSwRtJxtaz5uupGdLSuVSymVLXaqzIZUPk8qJNJDleEdIXE8I47QLClUMfy/QSxy7TSL7ro+Tt+141KVysCrQGI+MH/M//ZZhGwCFgELAIWAYuARWBNIGBIFwIgIiACCAEgJEK9qvS9P35sDyAOI8FB0OIOjOL3fv0V50+wW3klrYYrRgzP2n3V2UI7v0mCXgKAFwNpyfhsPW0TbN6WAaUAlCIgze5jCkihZYZr4otgN2ERsAhYBCwCFgGLQIMUAhNCBBTsVkaQEuDooTwc3j/cgKhBzRAVAN2NBLeChP/Y9/Ov71sJDJedGJ79zFe/iJR+JxFdRUCzcmwisSicc+F28DwNyidDEJkYsumwKYF5JbCwc1gELAIWAYuARcAiYBFYNgQMCUI0xJAJoXQQXFfAQ/cegHq1dty8rOGCbF4MGlsNb0YpPvLw3V/7/rItMOCuy9POvujVryHQf0FEFzfPYGyBjAsEVkFewBnnbgfHccH3Nfhew6WsCZgfLtsCl2fbdlSLgEXAImARsAhYBCwCsxBgziOY7AkmhgCOi+A4AnzfgycePDDFicj4mo8jhceNhYg/RxB//fA9X/vqcsC85LzrnAtfc6oG/18I4MrZC2ZSyLtla2AjiBAJNmzsh+xAD/g1DZ6xGjZcymGf5di5HdMiYBGwCFgELAIWAYvASiHAMYUcW9hwIbsOghMVkBudhGMjYw1+FMQfhlypk3kMAW4R4PzhQ/d+9aml3MKSEcPXve518v7Ham////f9AQJItqTKjaDBwFLIFsPAZey6Dpyy41So1zV4dWq4lJk8BskotlkELAIWAYuARcAiYBFYzQgw3+OHiStkF3IEIRIRcPCxp8DzfPMh/2OL4TQ5C6yH7RoClAjg/efviP7Dl7/8ZbUU+CwJMdx58a/uBA1fJIKL2i4qzCbhGUO2R7qRZEKw5bRTAKVriCG7k9lqyJnKlhguxWm2Y1gELAIWAYuARcAicDIRMFnIJtkEjRuZiaFWdRjaf6hBCtlqJoIlGquheTGvmDpEuAcE/MZSJKgsmhiec/HVr1AavghE2Y6ANxPDRpxhYDHUxq2c7euDTG8v1Os0ZTXkJBQTZ2ithifzWrZzWwQsAhYBi4BFwCKwCAQ4io7jC03SyZS1ECE/MQG58fHAfYwisBWGmjYLIIYNMpmTAn7joZ/f+M1FLHVxuR1n7b763aDhQwDUoLhzLIXNf00WQ2JtmoY7WQoBg2ecbkhhvcYZyg35GpOdvJgt2mMtAhYBi4BFwCJgEbAInDwEAjdyYC2UDkAkKozFcOiJJ0GxiDN3YFo402Jo3l9IQw0C3vvInhv/ZiFHNfdd6Izm2Oc853XxsVr9c0D06wubeFq4ejrGMFC15n+btm0D4UTBqxH4fvAA1jW0zHBhMNveFgGLgEXAImARsAh0DQKcdAKcicwJJ2wxjCJovwbDhw41rITTFsOpGMPQcngiu0D8v/3RyBt/8pMvVxZ6+IKJ4e7dr8sWqP5tIHrWQicz/Q03ZEshu4g5xjDIUEYiSPdmId03YJJQ/FoQZ6iYN7I/2TaLgEXAImARsAhYBCwCqxABlqiRjWxkJxoknRTGRqEwmWOBwqASCieeNCyGyCxywQxtBjCIP0tj5GV79nw5txDIFjTtBZe+qqeS098hgGcuZJKwb6OeSSNmcDormakiu5UdRBg88wzwagCeN52EwsTRGg1PBHF7jEXAImARsAhYBCwCJxOBZjeySTrhRxRg6PEnwGfDmCGDQcpykI/MBDFYcXN+8onsAQHujmfFS++744bJ+R4/b2JoSGGebp0pWD3fiUy/huEvIIiNh2F8oa6hNu5k6cZNnKF1Jy8IXdvZImARsAhYBCwCFoEuQ2CmG5njC5VXMW5kk3DSiC8M4wwDOjjFDBe9GxbEjmfwivmSw3kRw6c//zd66+USk8Ldi17hVEZyk5ahqY2sjTs5kUlD78ZNUK/SdJk8605ePOx2BIuARcAiYBGwCFgEVhyBKTdyo/xdJIYwMTIM5XwhcCOz25hrJzdrGC4mvrDFDhFxTySRvOKXP/zixFwAzEkMOaawSLXbOmoUzjXLjM+ZBpqJG0kngZJ1I+4QALaeeSbU2ZXMsYY+gfaDBBTrTl4g0La7RcAiYBGwCFgELAInDQGTc8K1kZ1G4klEQMRFOPz446ETNdAuDN3IyKm5i3cht9owax2mMHr5XDGHHYnhpZde5xzJ3cN6OFcsGapN7uSwXrIhhYb4aWNJ3bBlC7iRRJCEwpVQmkvkLdlC7EAWAYuARcAiYBGwCFgElg+B5hJ4TqPSiVcvw7EjR4yxy8QXTmkYcmDd0rqRW+zs1i3Zi15xxx3X+e123ZEY7rzo6k8R0ZuXBTJjLeQWWAqbyWEynYbeTYNQrylDDD1TBcVmJy/LebCDWgQsAhYBi4BFwCKwLAiwG1lIAJernTAxjEqYGB6CUqFwHCkMJmeB60bVk2VZTTAoIn563z03/sGCieHZu1/1Tq313y/H2ubKTuZKJ9t2nAGeh6YSivK1dScvx4mwY1oELAIWAYuARcAisCwINLuRpSMgEuGMZIJDjz1hso6XMxt5rg0JIf704T03fKRVv5YWw50Xv/pqUvqr865oMtcKWn3esBhOu5PDOMPgecPgIETiKahxFRSON/TJGBWt2PWJgG2PsQhYBCwCFgGLgEVgJREI3cgsaC1dhGhUQK1chLGjQ42ayIGodRBfGLqRl99i2LAbapTiNft+/rUbZ2Iyixies/s1F2nt/4AAkssOYDt3MhDEE0nYMLjFyNZ4ngaPk1CsO3nZT4mdwCJgEbAIWAQsAhaBxSMw5UYOs5GjAo4NHYFKuXRctZNgppVxIzfvCgFKQjgvfGjPV++Z8f70j4GANd1LQKctHpLOI8xyJzf0DINM5UC6ZuuZZ4CvBNS5CorHxJBsdvJynxg7vkXAImARsAhYBCwCi0Jgyo3MtZFdji1EcKSGw4+zG7khUTNVH3lpRa0XsnAE3B/P4oXNGofHWQx3XnT1V4jo1xYy6KL6mpScRpk8o/6tG+Xvggzl/s2bIJrIgMdi1w13smbNQ1shb1Gw24MtAhYBi4BFwCJgEVg+BAwxFEFdZFPtxLiR8zB2dHgqtpAtikQNgesGFwpErle2IeL/23fPja8NZ51awVm7r34LaPrEyi4n1DIMnoN4w7ASioZoPAobt55iLIYeS9ew1bBBDC05XPEzZSdcaQQQIfWO50DkwsGWM5MimHzTDUBcUHyOJnrikPnAZSB64+3HetvNQMX6XEO1/Dx62emQfONFHY/1fjkChQ/fafokfuMZELvyaR37V7/zGJT//f6pPnJDErIffVkg7dCmUdWHyT/6BvDzrMbZganICe1vuQ/S+VrHKVAiYPLE106lOvD1MrPJrRnIXHcZYMxpP7+nYPLtt4AudF7jcmNkx7cIrBYEghJ4DWLIpJC1C6MIo4cPQbVSbbiR2XXMrCcshbdSsYVtUBT41kf23PhJ/tTcYXdd8urzPV/9FAhiKwn8tDs5eMXu4+nyeIFLeesZp4NW0mQnh8TQWg1X8izZuVYUAVeC3JyamjL63O0Qu+qslkvQYxUofORH5jN1MAeiJwaYjh7Xlzijf6hg3ku95RKIPOeUlmPV7x2C4kd/fMJbdZ+xCdJ/9vyOx6uhAuTe9R3TJ/byHZD4zfM79q///DAU/+GnU33ir90F8avP7nhM7Y79UPrsnrZ9Um97FkSete2E97kcBzJhm3jj1zizru3w7nkbIf3nLzjh6XN/+m1Qw8WWx891Luo/OQjFT951wnPbAy0C6w2BkBQaiyG7kSMsWaPg8BNPBtLVTWXwArcyGPdyQMpW3mLYmLjqOvLZe+/62v34jJe+IVk7lt9DRDtPyskL3clsK9Sh1TDQNSQi6Ns4APFUtpGEwtI101bDk7JeO6lFYBkRcM7eAJn3vmhBM1BNwcTv3QDZD70Y5Pae446t//QgFD9xF2DEgZ5P/EpbyxD34b4n2uRgBrIf7qyDT3UFE2+6wUzB5IxJWqfmPzYB+etvC7oIhJ6PX9nW4hmOk7/udvAfH287LLoCMtddDnJ79kS3uuTHqaEi5N717Y7jxi4/AxK/e+EJzR1Ylr/W0mLIA6bf8VxwL2ptlebP8x/6PvgPHzuhue1BFoH1iEBIDKVJOuH4QgGVYg7GR0aDushMDMMsZBHEFwbWsZNEChsnCRH3RTdkduNZF179eQD6rZN68lihpiF0jUwIeTHmmSASjcKmU7ZDrRpkJxtiyJVQ+Bgba3hST5udfOkRiL7wNEj+t4WVJFcHclD69N2Q+dBLZi2o8Hc/BO8XwxB99jZIvrU9ESt99h5ggtmuqSfGW1qc3AsGAeMuYFRC8k2dXck8dulf9wDVNcit6Tmtf+xeLX/hF2ZJcnMS4q85tyPg7C4tfT5wPasDk6AO51v2Z+LNBLxbmnf/USj8fWD5bdfm43pve+6Gi8AWw1aNQwyyH78S2FXdqjGGuXff2i1Q2XVYBLoegSk3MiedNLKRozEBwwcPQL1Wa3Ijs5VQmP2YWsknlxM24Yr/+6QthYjwmmuuEfcWi47MuxE3V0pUyEk7qHsI1QBovVEDbCYQg9t2nPUmrWXKlMjztJGtse7krv9+2AWeAAKJ1+6C2Bzu0pnD1vccAX2sArGXnXncR3qiYmLD+C+o1J88t22s4nyWWfz4T6G+5/Csrr2ffiVg4sRj3+Yz94n0KX7m51C/86mWh/b8068Yt3u3tOq3H4fyF+7ruJy5rHqdDq7/4igU/6418Yz96tmQeN2utoeXv3A/VL/9WLdAZddhEeh6BKbcyBLAcVnUWgAKVTz82COfRdBDAuAoCDGCJEd9EpNx9AteNllWGa9+YSrlf+lLX9KIXObj5LWTRgx5y9ddd5246aYj0vP2R+oxFUOPUtrDrE/QD6g2CiaGJAb7t55yVSyR2hVoGhJov1E/+aRCd/JOmp157SLAVj227i2kMbGIPPcUEOnjCVrl5n1Q+c8HAFMR6Pnnq9paheYzV+493zVxjM2NkyF6P/XK+Ry+4n3yH7wD/EfGZs3LLvXez17ddj21H+wHPVRa8vVGr9wBInN8/Gc4yXzIV/ZvrgBOFGnVyv/5S9DDJYg+bzu4u7fM6lK58WGofGVva5L80ZeDGGgtWUuegtzbvgG67C05HnZAi8BaRYCJoZQIosmNXC0X944dPngzoh7STAxJjjgIY8KlHLlYjFRl1XVPq7/ylVvUddddN3c24TKDd1KJIVsNL7vsegmw35mcnIxVsJQgHzOK/D5EGiANm5BoMJpMnbPxlNOuqdc0epyEwgH11p28zJeGHf5kIMBJHOze4yZ6Y8AJF+0aEwLK10H0xSH+a7PdrJPv+o5JPFlMfFo4N8cwznQ1Ozv6IHPtZScDpjnnnHzrzdAq01eekoXsX812uYcD5v/iVvAPtXZBz5yUrbvy9N725+ff7gE1Wjaf9376asBE68xfdiOzO7lT6/3cq4HjI1u1ybfcbDKGM3/5InB2znaRF/7qTvAeGpl1qLNrI2Te3T6hpXbnU1D6zM/nxNp2sAhYBAIEmt3IjiPANbWRBY0c3P+lWqn4ECEOoYBhIhyV6IyjQ/k4Jcs9PT1VgNP822+/Vp1sa6HZx8k8oaE7+cEHQfo9tWi0UI2XtZ+WIHsV+f0EsMlYDYEGt+7Y+btayywTQ2M1ZLFrq2l4Mk/fis0tHQf6enugr7cP4vEYRCOumbtW96BSqcL4xDiMT0yC8ltIlKzYKpd+IvfpmyD9rvaZvuNvvAHAUy2TBzgBgxMxuLUjDPNdsc5VYfJt35jVPfLc7ZD6w2fOd5gV60cVDyZ+/+st54vs3gKpP35O27VMvPEGYEvZfJpzei9kPnB5+7He/HWgsgciHYWeT17Vth8nnnACSrsm+hMm8aZVo7IPE2++0cR49jD5nBErSJ6GiTd/3VwnM1vqrZdA5Nmts9S5b/7628F/rH0iz3ww6sY+6/V+0o3nYq2tadqNHCSdMDEUQuUOPfbovwmgI8ZaCGLEQXFMgZpICKdQS8cqzmS0du65oLrBjXzSiSEvIHQnAwy5JVmOiyImlaAeBdgHoDaicSfTYN/mbVfG09nzjaYhxxlad/Ja+07N2g+n+g8ODsKWLYPgSNlxv75ScOTIEAwNDZk/GFZbY6kXdvk2N3YNt3PzsbSJv3/SdJen9swmBLkaVG7aByz50o5U8LHFf/4ZJH9vd9ts5cpXH4T6XYdbJnLEX33OnAkhPEfthwegduvi49Tktuy8EnPU/knIve97LS+B2K+cBYlff3rLz/Q4x2R+c96XTifirgt1mHzLTWYsZ0c/ZK69tPW4mmCcM7X99t4j99wBSP/FC1se7z85Afn33wbt5IL8vSOQ/5tAO7K58bXW+4+vAHBbf6/8AznIv/e788ZiNXRcT/eT1XA+1uIaj3cjB9qFlWLuvvGhQ99CxCEyxFCOSKBxqXFSp6iUVIkKwKDXLW7kriCGodVwdDTpNruTNahe0HqAADch0GA0Et2x8YwzX1+vEhqx67B2MpfQW308YC1+J5Z0T5FIBHbufBqkkkH8Uy6Xh2NjY5DPF6DuBTFPEdeFTCYNG/r7IZsN4q+KpRLs2/co1OsnJtS8pJuY52DoSuj93Kvm2Xv+3cr/+z6AmAOJa85reRDrCuavvR16P/OrbQctfPD74D3SWqqErYVsNZyrlT53D9RuZ/2uxbXo87dD8s1zWyhDiZ5WsyXfeCFELzuj5UK8h0eh9KmfQ8/fv2x+C2WZCSM10ab5Gqo/2A/q0bG262ZXc+5Pbuk4X/Ty0yH5u60zvms/PQSlT/ysrWB4+ct7ofr1h2eNP5d2Yel/3QO12xZ/zuYH5PL3Wk/3k+VH087QCoHAjcx6hWCqnRhR6xjSyBOPf6FWrz1GgEMINAxCjAqQE81u5IGBktct1kLe20l1JfMCmBhef/31+OUv73Wa3cmE1IMaNgDiRgRiq+GWLWfufAOB7PeM1bCRgGLdyWvuW8o38aefdy7wc7VahcefeNIQwk6NCeKZZ5wOsVjMkMJfPvDgqiGHc8W9negJZqmaxK8/A+QpbZIWvrIX/PuOQuZ/vLjtFJN/9E3Qk5WWn6MUXPd9zkb+EmlLCZxfAg3fE1pU+eCFsuWNLXCtGotj1398ENLvOXEh6ZnjVv5zL0BEAFtXWzXvgWEo/O0PO2IY/69Ph/grWouch4kl2Q+9pKU2Yztdx07JLBxLOslVcFpVj5nzbHdfh/V2P+m+M7A+VhTIE6JJPDFu5ChLVauxI4/v+3cEHOL4QiAaIQHHkHCy2Y38utft8q+99lrqhvjCriCGvIhmd3K1Wo8RqZSWkPVB9YHCjQSwGQUN9m0avCKR7r24xhbDWkAM+WEthmvni8funl27zjWWwkKhAA/te3TesYMcO3TOzqdBOp02lsO9ex9cFW7lyDO3Quq/P3vJT2LhYz828YftGluq5Gm9beduFqSea3HOtgxELm9tiZvr2KX43H90HOo/OTDnUD0ffwWI/tZlAU0yT9Gblx7jnBM1OrCrnuMa21WcqX7vCSj/270dh+OYSB6jVWNZHv/+o9DzidkxjBxrOfmHN80iyc7T+iHz/jaubZ7E1zDxlpuBj1/tbT3eT1b7OVut6w/dyEwMnShCNCKgXJj4+fjw0K2k2VoIR0HSiANyXCjIIcpiLBapdpsbuWuIYbM7uVA4FC1qTILy04pEH2jiNDvjThauc/rWM3f+dr2mhclODq2G1p28Wr9Ls9a9desW2H7KNmMp/MUDD86bFIYDMTl8xnnnGsvhgYOH4PDhI12PDZOG2EumNQjlmX3tBYePFoHmqKtrNqwJOKs0+qLTWu6fy6NxximX20v8l9Yxd5ydy1m682mxF58Jid+5YD5dl6UPx0JWvvZQ57FdCX0sVdOmugCX35ODKYi+fLqGczuJGZZwEXGn7VhG4sXXUPzbOyHxpt3gnNE6e7n8xV9A9ZZHO64789dXABPvVi3/gTuAk1M4kWRm4/hDlsLRIyXQk9Wpj1lAnYXUO7XiJ++eF9FelpO5hIOux/vJEsJnh5onAqEb2ZDCRtJJJCr04cf3fV57/pPsRgaAYRB4TKIeB+kUUoJK6fS2Wre5kbuKGIbuZA4dkzKXqJJOadQ9wO5kYHeyHiSCwcHTd7wehDvA7mSOM+QHF03R1mw4z0u4e7sxqbvowvNNosneBx+a033cbifsVt517jnACSn33Hv/gsnlyUTIOasfMu9rbc3hDNPcn3yrrWv3RNbdMeZuzxEofPwn8xp2MZU55jXBHJ1Kn7obaj/qbDGUW9KQ/duXth0p997vAleRCZtzzgbIvGd2eUKj7/fHt0D2Y1cCRlonb3DiBidwcOskAs74ens6//HC8acch9qqsSxP7KU7OoqiN5M8rlLDAt+cxdypccJR8Z+m61QvxTla6THs/WSlEV+/8wmTjhzEFpr4wigCaG906MnHvoAIQwRiCIBGQMAxQWIyhqKoVJa1rOrd5kbuGmLIC5npTq4iJSMCsh55/aDFAAFtZk3D3k2Dlyeyvc8O4gyDEnlKcwU9m4Gy2r+WAwMbYMeZZ5hEkwcfmh0wv5D9nXvO2SYh5bHHn4DR0dVT55V15VhfrmVj/c55WAuNe3HvCER2bwWRbS2q7D81aWoKd5qPLVls0ZpP6+TunM/xi+0zV41kHj9y4aCpANOuTbzpRqD6tORRu2ojnEjD1skezupt0yb+240mRm8uEXAuN9eudB8PzRqVPf/Qeh4en+eZU3amqX70fDUteWzOquY/RlZrs/eT1XrmVt+6TWyhgKkSeEwMy7mJn04MD91mtAsBj4LQoy66Y3UNuRhhqVvdyF1FDGe6k8sgE9qrZxTIXtS0gUBtQhKDKMX2bTvOfmO9piUnoLA72WgaWnfy6vs2zVjxzrPOgr6+HpNsMjIyuqj9bNw4YJJRxscnYd8jjyxqrJU62D1rA6TfN9tCtdD5Q7LBCQucuNCqhW7i7EevBDmQaNmn9Pl7ofbdJ+Y1PSewsJzMUrZ29XtbzRGKPHeav1MmLrtaJ/9oWqtRbk5B9sMvbekqZnxZmzD93tYSMkze2ZLHzTmzDzLXtRcBn0s30T17oO08TO7zf/k9yH7wchMr2pakcpxhMcjSn6tv8xjFj/4Y6veyB2x1tvV+P1mdZ231rdoYC002csON7BpRa3XosYc/R0ofYIkaRDxK7EYGNSHcSD4BqtytbuSuI4bN7uRapBiXSqUU6h5UtIG0aiShiMHB7af9JjrxzaZ2cj3MTrbu5NX3lTp+xRec/wwjYH3vfb8wMYaLaRxjeOEFzzAC2PfdPz+r12LmW4pjO2XMLmT8kGwYt+E/vqKtRiFbBGNXTsfTzZyDs5q9XwwvZOpF95Wn90Dkwi3gXrAZWEB6Pq2dAPfMY5O/fSFEX9I6QcZ/+BjkP/T9qUPa9Q3rDkcvPb1tkor/6Bhw7B+3TiLg89FN7DRP/WeHjA4lZxhjJjarJCLPz7GOkyxwzSR1exYyH2pf9WUmXqu98sl6v5/M57tj+yweASaFyNZCJoZc6SQigPzq0NCBJ79IWpukExRyhCQekyQmlZTFaD3FUg9d6UbuKmLIi2F38h13gKjV9rrFYjlWJi+F0sugxn7QFLiTQQxm+ze8INW/8YX1mjLE0GOLoTpxdzJrDxERCBRBXLqJJOX/+F/jZ/OE5sFOaxNTwJ9zrWs+jmMchTD9uQ837sN9w5/N8U3jsQRa+NnUfI2aOmG/VvPzoGy6nurDLxrvTa268VeMWQjPGywaeIWEBMhrblpbOD8fz5l8YQvXTPwXkTlAsMZQgIWRKmEMAJAamAVvNkoDNcYx+w4+D3DjxQbvTY0fYooIP7t7D2g1v+oT7b7WQkp41jN3m3F4vG5vztkbIPPexVsLZ1q+TjT2jytq5P7sW/NyXS8GW65d7O4aAPfCQfMQPbF5DccZs969Q1C763BAXudRrST9rheA+/TWbnqukVz6n8F1wu5fQ6hbxA8WPvxD8H45DIn/ch7ErtrZcq0s6F369N3ms/hrzm0vVfPwKBQ+9IOO++00D+sTsk4hN66vzXW2Zzb/oWOQ/6uA8HYixq0WwVbGCbZ8rtIwHf7+831gKe8njBOHLQX/jN6agc78xOHu/LPxXoXvB32mfjbdgr7Bkwbie6d5Ds6CGduMY+TczINvm8FbTfMEcm/mPs7zhs9T8zWOMT+bMcM5wzVOrTxYY2Nv0/tpes/cysMx2EPHt/PgubGRqTnMUYwR/9Kh4HdrABWHJTR+Dueb+izs09gfkPmdatYUYmHGm8bwhnIqAAAgAElEQVRkXjeKFejEv4tZu9ANiWFUQnFs5Ae5sWN3EjAxZDcyjpKgMVJuPoFuMZVKVKPRXd6ll4LuhtrIM2E66TqGzQsK3cn3FosOjEPU9XWSfM5O1r2chMIl8rg8HpLcsv2snW+q+xDlSihqse7kkAQ2CGHAWwLSYn5RNL8O3phN9pjkGLIWkJ5mghYcbw5scM5pwshky5CuqXH5wg9IH4933PyGZTbIVWPN4Zg8cED6Qu9XSLwa620Qs6lxzfcwIIFTRHdqzFafBeSSxw+WFe5FMCs0RLOxhcYzvx+gYNYcrq1pn8FnDYLbREiX4kYuhYBLLrl41RDD9HteCO45rfX1OLtUHwtq7nJyisi2J0/efUeh8JEfTX2tOGM1+5GXz0//r+nLyHGK9TufWpbbKsfNRS4IiCDHU7arATxzciaD9XuGoH7XIfB+OTIvMtg8Rs9HX962kgzrDVZuDuJa46/cCfEWouAcC8huZG6ptz8bIhdvbYkPxx9yljS35B88E6LPay0CzrqJpc92/qOl0zxMZJnQcmv3B0D15keAZXg4eaXnn69qW6+53YluV2d5WS6MJR50KYlheD8xVC4kyg2iFhCfgDRNkb4GoTGf8T3eHMOkiAPi+T4ayqwRNN4Kxpgi4TPHa5CwJrJk/sRuEMeQpLaaf4q6hsQwXC/jHZJGw9mCvZlxA5Y5RQDNPKZ/uMdpIhckfjYRPmMoaF5v2Dfgw4Y0NpjxTFKsSQe/ZxprM2M31hLOr5k0hiR1ia+ZhQ7X7EaW7EJmi6ELtQOP7PssoTrC+oVospHhmEQxgY5T8BxRgj6oXZhK+d0kat28964jhqE7WcqcW5Yywe5krSiLosmdTDS44ZRTX+XGUju8mg7ErrkSihW7Xuh13VX916vrp132q7k31pSpjMFxa52kZbivt3cEWHJlpv4cW5LYojTfxnFlHF+2HC162emQfGPrKh6t5mPLZf2eI+DddQjqDyycDIZjshi3qS7TplIJZ+ByJi73y378ypaWy9Jn74HaHUE1kHaC0vxZ8V/uhvqPgwzpzLWXg7OjjVTNlx6A6k37OsLcaZ78//g++PuCxKr0+y4F96z+WWPx9cBlEaPPPxWSb754wae0euvjYCrorMK2Xu8nq/BUrdolh7WRJWciG1FrAV61+Nixg0/dECSdNNzIGo8JiTl2IyeUKiuV9boxG3nqftltZ4Sthpdddr0M3ckV1ElQ9Ywg7CPBcYa4iWsnJxPJc/tPOfU1NS6R18hO5iSUhiW/27Zl1zMPBJYlWHxiwpTI6+bGSQycZNCqVb/BFp8HIPlb50O0SetwZl+OByt/9h4gTtGf0ThuL/uB9tVNmrtTqQ65P78VOG6vbXPmUe6kzcHJN1wAXOKtU+OM2Pp9R8H72SHgyiDUoY7wzHGMtaEVBpxM8nftS92F8jLtyu4xMc/98TensnR7P/uq9lI1TVnAvf/yylk1sMM1F//xp1C/+3BHLHr/9VVtpWUm3/aN4DwJhN7/eXXL9Uz+92+Cnqi0JY48OZXrgInj63SHi5pPHGS3frfW6/2kW8/HWltXI+rLJJ0ExFBANIY0dvCpr5bKpQe5NjKXwEMhRrWCMZCRfJxEKXQj3377tapbKp3Muo9228ma6U6OFjGhXS+tPN0DxmoIm4hgM7uUt+446w0ETu+U1ZDLYFlNw247pfNez3qUl+iUdWqshe/+DiRef37byhcMbrPrsh3YrMfHlsm5Gtfd5fq77ZqzcwNk/nLxsZBzreNEP29HZNxnbIL0nz2/7bChvAwnZ3CSxsxWueFhqPy/IJ6P4yBZC7BdCzOkRcKFnk+3r0PdrHXYaizRE4eef2ojVVNTMPF7N5jD5PYeyH5oNvFnQsjEUA5mIPvhK1oul0l45St7zTXWruWvvQ38JyZO9JSctOPW4/3kpIG9DicOtQunS+BxroE/cfjxR0wJPES2FsIwaBiTrpwQnluopajc7W5kPpVd5UrmBYW1k2+66Yj0vP2RqhuNS11Kqjr1IGC/j3pAAGwmEoM9Gza+INnb/9xQ09BfZBLKOry2u2rL61GQNvn688HZOdsFyCfGuDY3JIC159q12ncfh9Lnp119TEbAEbOSRubS8Avnm0vUOPqCUyH5+wt3Sa7UhdacbNE8J4tAJ97QmvxQrgYTb7vZ1FDmzPBZjUvEsbUwVzMfdUoUYjf+xO83soBP74XMBy6fk4y269BpHnVgEnLv/Z45tJ17nl3I7ErulIDEMYqVrzzYUZOxcvM+qPznAyt1CpdsnvV4P1ky8OxAcyIQJp04pjayMKLWpYmxH08eG7kTUQ9pgKMOiVECGpMRnFQiWYp5tYrrnlZ/5Su3qG6qjTxzs11HDENyGLqTKxUvWqZ8kpTIaNC9iDTAVkM05JAGtz1t5xuUlsmpJBQOmLWxhnNe1N3awZawOv7MZK69FJwdrYkj9/QeGjUadXIgCWJjwrgEK//nl1D55vHajZyE0vOxl7cv4ZavQf7dt4IuBOSnXYu/dhfErz67Wy8fk4wRZhc3LzLx+gsg9rLpsoPNn3mPjEHhg3dA+p3PMzI5M9tM2RYuM5j8vd0tMVD7JyH3voCwcanD1Ftml6oz97gGGe0EJJet4/J1rRq7oNkVzS35pt0QvXR2iTtOOql+6zEjkN2utF+YXMIWR7Y8tmp6qACT7/pO157zTguz95NVedq6ftFhbCEnb5qkkygLXKvSoUf3/Tu7kI12oYBhIhwVICZQ6nwCM6V43K1xNnI3u5EZ/K4lhtdcc43g7GSZdyPRQjVe1n6akHqQsJ9L5IWVUHoGNr0g2dP/zHptWtPQhBhZweuu/3K1WqAteg+A2SjIDUz0kpD8nYsWnEla/PhPoD6jzFr6z58P7nmb2l4T6lgJcu/89pzSJEx0mPB0a2P5FpZxmdnSf/o8cM+fTfq4HxO/yk37oIcFrVs0tsyxhS5sbOWNvmxHa8LWVEou/qpzIP5r57bs5z8yBvkPBlqH7RpnRnOGdKvWbMVrl6DCMjUiE4PU22bL2PCYxu3+x7eYe2Wnubhv7s+/A+pIoVtPe9t12fvJqjtlXb/gUNLOVDqZkqgRUJocu3tydPjOqUonQCOENIaEkwnhFGrpWEVlvHo3ZyOH4HclMeTFtSuR55PfF2gasnQNbGbL4ZYdZ/+mUpjwWfDaA2MxtFbDrv9+tV1gJBKBp593LvAzC11zJZR8vvMvJa6PzJVOWNi6Xq/DLx940Dx3e+OKFdEXnhpY/AYSRk6lXf3d+e5lZs1fFnVmDbu5Gosls2hyp8aJI3IgNddQLT8Xg6mOsZJ8EFvSmKidaKvddRDUk9MkLhwn++GXgRxsve7yV/YCTVYh0iJzWx8tAVeACVvkBadCiq14DSmrmets1hbkLGDOBm7V6ncegOJnAq3Ddi31R8+GyCWtJXFK/7oHQCLEX31ua+1HTTDx+zcClyps9wdB9eZ9JrGJ21xVdxij6o2LK1N5oud0scetp/vJYrGyx8+NQLO10OHInYgAKal85LGH/8NYCoPHMGsXOuiMr4YSeDN33bXEMMxOBtjvHKoMR6aTUFQvCOg3SSig2QSyOTuw+QWpbP/u5koo1mo49wXezT34Zr5z59MglUyaZXL95GNjY4Yg1j3PvBdxXWBCuKG/39RF5lYslUwW8moghbze+K/tgvirltY1GyZS8PhyU8pUu8ConPN0s15i/v23zdnvRDt0ivMLx1wWqRzO2v3cq9tqOc6HEPP65iO101yzOfP+S8F5WuswAE74qMxBtNolwvBa2BoYvWRb20x1dSAHxY/9BLIcPtCmHVenmTH6F9Y5bJ2drPZPQO59y3dtnOg1Nd/j1sv9ZL542H4nhkBLa2FEQDE3tic3evROMKRQDLdKOtkW31QHOM3vdjcyI9PVxJDdyQ8+CJI1DcMkFO1hVgH2gdYDhLDJJKIAbd50+tNeC+BkPS6R52swhTNshvKJXf1dchS7gQYHB2HLlkFwZGdi4ysFR44MwdDQ0LQAbZfso9MyFuua5ZJnerQEeqQEip+Hi1C7LdDaY6tW5n0vaktOWq2LCQcncCxHS/zWBRC7onWcXzgfx8SV/+P+JZ2ea0FzTei2BOl9twETn06NpYKSv31B2y7kKRPbybp/Yev5xFVtY/vmyv7mMYwETcxpOSdnG3OcI2dbt2q12580CUjt4kH9AzngrOjmlnrrJRB5dvswAXY767FAaH01tvVwP1mN52U1rXk6ExlAOgLcCFMoPzf85KNf4QonnHCCxNZCMSqBxoVLuTDphLULzz0XVLeKWjefh64lhrzI5hJ5nIRSwVIClJ/WAD1cCQV0EGtIiJti6fR5GzZvu7xe18hl8jhDmbhMno01XE3fu5Zr5ezCvt4e6OvtM7WUoxHX9KvVPVMLeXxiHMYnJkH5/qrbaycB5Lk2w3GEHE/YrsVeuRMSLSp4dBp3WSx2jQlZLqYdkQnXxBnWnGm9lI1dqRxj2a5xFvFMUfDj+goM6ja3cR+D0qCGCsDSL2HjOtW9n+kgVfP+24AttO0ax5n2/vNVLT+muoKJN90AnSq5lP7XPcAxjqI33nKM8hd/AVwru7nNJYJd+sL9UPv2Y0t5ak7KWGv5fnJSAF0nkwa6hQgoATgTOaiLjHTs6OHbqoXCA0g0HJS/oxGudCIAJkE6hTgly2HSSbeWwJt5CruaGIaahmw1ZM9hLVKMO0RJ7dWyLF2jkHUNcZNAUypv88ZTTr1SusktHsca+rYayjr5vq7qbbJViYP/jdVvtDxt+RstQfSlOzrG5HWyrjnbMpD54IuNdM1C23IlGnQiMuEaC3/3w6D28RK22IvPhMTvtLf2NSeWLNm0rgQ5mG5PRv/gJmAx8XaNSx9m3ndpy4/VwTzk3nMr8Dkm0fr8OltSLWsnmwE1weTbbwE9WTme/2aiYK7HNq2dFNCSYWYHsgh0MQLNVU4cFrSOCFBe6cjIwaduMdZCgmEUNCwJj7FEjXCjOR+xFK2n+ItWXy3WQj4FXU8MuUQeaxpGIhNOs9VQgexFrfoDqyFsAtSbnGjs1I3bTv8VpTASuJQJwmooQT1H2ywC3YUA1wkmb3a1El5lp/rJ/Hn53++H6ndmW3C4rFv6A5e3FGoOd89ZyJz53KrVvr8fTHLDErbI7i0mEWKuNvnOb4MeKc7VbUGfd9LxW9BAS9SZCeHEH9zUcbROepFzWYrNtfOO54J70WDLObjOdOHDHA41u2WuuwycM/tar40JJVdbmUPSaIlgssNYBLoGAXYhG2IYVjmJICec1EcOPfkNv1Z9CkgMBwknNEJCjklQE83Wwnq91+927cJmsLuaGPJCmyuhsHSNKnux0GqoQPQh0QZAbUrlAcCmTM+G3en+jbvZaugxMWyqoWy5Ydd8z+xC5oFAz8euBLEh0bZn4a9/AN6Do7M+T7x2F8Q6aA2y8HH1G48CayS2Zg4KJt/xrc5l8eax/rBL5BmbIfWO58xpvWR37uQf3gTEFYyWsHUiSUs4zbyH8h8fB05S6dQ6nUNTJvH//rLt4Vwxhes9o2x9ey996m6o/Sio5TyzxV9zLsRffU7bsVkjkrUibbMIrBcEpkrfCQTBlsKGtbAwNrInP3mM/4Ie5tJ3QGKEEI9J0OOhtVAm3OpqkahZdcSwndWQYw2RsE9pGgjcybgJiDZu2HbqFY6b2Ox5gdXQWA75d42NN1wv3+VVv8/Yr54NidftarsP1qDL/ckts0gUW3s4G5br57ZqnJCQ/4tbTWJCp6zZZtmVxYDJJf9S73oeoDt3VnTt9ieg9LlpaZjFzNt8bPZvrgC5Ncha74ZW/8lBKH7yro5L6ZQIUvrcPcDJJe1ap2uHyyxOvvUm4OdWzTmjFzLXt6/W4t13FAof+VE3wGjXYBFYdgTCLGS+nXI95KAmMoLvlY8eO/TUrYA4wqSQ3chS4Cghjc+MLVxt1kIGtesthrzIZqth9EDK9WLVGJfJI19kFOheYKshaxtiYDVEdAY3n37mlVqLGFsOVaNUntU2XPbvkZ1gCRCIXLwVUm9/dtuRWOsv/5EfztLrY/LFFSxEh9i2ZvHrTvOwu3Py7d9sSyDms00mqel3v6BtZm3zGCz4zPGFzQkc85ljPn1MjWR34bGW8xn7RPrUf3QA2F3fqWU/eDmwxmWrFlYraXd8p1hOthSyxbBT65RNDZ6CibfcvCzn6USwtMdYBJYTgSnNQhmIWXNcoRC6evTJx28h8oeMtZDIaBaCsRaKCXR0njOR3WqsWtte9FaDoPVMDFcNMWy2GtbrE5EyyAQondI+ZBUo41ImwI2AtBEINibS6bN7Nm17tlcn6Tcsh6SN0RBsvOFyfpXs2ItCwBGQeNU5ALHZFjZ2seqjRaj/9FDLLFpOWGgniMxr0sfKpkTaVEOExDW72pKm2g8OHFfxYyH7YjcmW64wGWSQt2tUVYbg1vccXsjwa74vy+Ngi2uAN167fX/bxBVMRiB62ezyeCFg/n1HwT+U74gfX0Ncdaddq//k0KqWrVnzF4/d4JIgEMYVIlc4cRAcl4khqsnhQz8tFwoPA8IIkLEYNlzIclw4kAMpiglQ5Uikt74arYUM3qoghrzQ5gxl1jWsx1TMK8sEkmqUyoN+QBrgZJSAHNJAemDThalM/y52KRtyyDWUrYTNknxp7CAWAYuARcAiYBFYiwg0S9NIlqtiUugiFPNjewujw/cC4iiTQiNNQ+xCBlP6jlAW3IQqR6qyupp0C2eew1VFDNlqeMcdIMJqKImKilVJp0hjhusoG5eyIYd6IyAOAMFA3+C257nx9FZDDL2gVF7oUrbJKGvxK233ZBGwCFgELAIWgRND4LhkE4Eg3YAYepXC4fGhQz8ChFEgGgUhDClkFzKTQhSUj6EoluOyGlY5Yd3Ca6+9lhBxaTPqTmxr8z5q1RDDZqvhE0/0CoAht17X0bpTj6MOXMoaqTfIUqYBMpZDGCCgDZu2n3EZilhPmIwSSNjwI3At22YRsAhYBCwCFgGLwPpGICSFLGQ9JU3jIpCuTg4feOJ2BDwGBKM4ZSnEY4Jwgl3IJEQx4kcqkYioAQx6Z5wxoVdDlZNWZ3zVEcPQango/jMZJqI4lUqijpRiq6EA7ENS/YS4URMMIMIGgXLjhlNOfyGim2bLoe9r0MrovNpM5fV9H7C7twhYBCwCFgGLQFDYiAmh0SsEcBxhLIVEXuHYwSd/oEmNEMExgTCKxHGFckwDjbO1MEJY9OPxcphwsq3yLLVarYV8KawqYhhaDcNElHS6Lg9VhiPsUq4BJEGrtEbq0UwONW3gOEO2GgLABkS5aeMppz2P0E0at3KYqWzJob0lWAQsAhYBi4BFYN0iMJMUcgYyk0IkrzRycP+PiBSXYzLWQo4vJIHHBNdCJpwEIQtRgFLoQi4UImo1iVmveothuIHmRJRYrOooJSM1WYnXq5BE6WWkgh5F0I8C+pkcamJiCBuk42wa2Hb6czXJeDM5tG7ldXs/sBu3CFgELAIWgXWMwPHu40CWhkmhQFUZPfTkj5XvDzcshccMKdQwJhHGlIRJUm4+EoNSVMUrUqp6tRrzV1Ppu3anfdVZDJuthpyIErqUAfIRz/HiSJQiJTIcbygI+zSofkAxwIkpBNTvOpFNvVtOuwRRNiyHAGQTUtbxbcFu3SJgEbAIWATWIwLNiSbIiSbsQjbuY1WaOLL/Ls+vDyPgGCeYAOlRAXJMs4g14QRKnSfEouu7FYBMnTULV7sLObwGViUxnEkOOUt5yBt3qUpRVavFBegUCciS4phD3QcIG4zVEKAfAPqFkP19W7ZfImUsw/GGiuMN2bXMJWs5IYX/2aSU9XifsHu2CFgELAIWgTWOgCGEHEnH8YSiUQO5EVeoVDU/fuTAXVqrMQAYI4AxgcaNfEyDGEeJk6ghp0EUZTRawRjWBt0+D+A0fzXHFTaf8lVLDENyeM011wjOUo5EJpxRXXQ53tCTfhyUk65rPyM55pBEH4LqD8ghMjnsA8DevsHtu51Iot+UzFNB3KERwDZZKTZjeY3fG+z2LAIWAYuARWCdIWDiCYEJIZqEE3YdhxnIfr08Nj50YA8ATQDAOAEZUkggxwTqccWJJsLJg/QLrnIqHFc4IFIeC1mv5izkmZfAqieGnIiyd+9efPBBkBxvCFBxazWKeYLFr1njUGU0il4C6gWCfgLdP00OoSe7YfN58XTPFt8DNARRB8TQxh2us7uF3a5FwCJgEbAIrGkEjosnFGishUFVE6BKceJIbnT4AQCYDEkhghgDFq8GnBCkJ1DIPKEoulqVo1GsAsS9MK5w165dtBo1C1ud8FVNDJtdys3kkJNRPK8e80Q9YWIOWQBbUM80OaQ+disTANdZ7olnek7N9m8+Syt0fJOtTMDl86xreU3fI+zmLAIWAYuARWAdIDDTdcxl7thK6BhrIfm5saOPVPKTTwHiJAJMsPsYAcdDUog6ELA2MYU6UnbdSLU52WQtkUK+HFY9MWwmh2EySuKwcojciB/xY6qugoSUJnKIoPuIsA8ReklTLyD0OG50oGfTKecJEUkqFegcGkmbUAS7IYi9Dr5DdosWAYuARcAiYBFYEwiEUjT8zBqFgeuYnwVoXS9NDh98wPdqo0AwiQIniGACkcaJ4wkBJ5pJoYzIilN3qohevbxV+msl2WRNuZKbN8MSNs3i183k0Kt5CQmYDMihypJm66HoQ6ReAOolwF4k6AGkTGZg81mxZN+g9kmYuEN2K2vOXGZBbBt7uCbuFHYTFgGLgEXAIrCmEZiKJUQEthDyg+ses6VQOKirpfGh/OjRR4AwTwiTaOIKmRjiBIIeR8FJJjLHlkIFVHKjbnk9kMI1YzEMr+5O5JAthwIgyTGHJDBDGoxrmbiMHgjjUgagLABmIpH4xvTA5rOEE00oP8hYDlzLYRk9SxDX9B3Fbs4iYBGwCFgEViUCISHksnbGSshJJmHmsQOg/Vq5MHr0kXq9MgJAeQDMsQuZQE+gIYU4gQImUVOeYwo1QGm9WArDE74mXMnzsRxqTVFf+oYceqTSoHUGELJE0COgQRKN1RCzAJBBgFSqd8OZiXT/ZiJ0piulNCyIxsVsCeKqvHPYRVsELAIWAYvAmkJgJiE0ZNDUPA7cx4jklwtjR4sTxx4ngCIA5IEoh8ZaiBMaYJJfA0EOhMi7KAtMCh3lVITA2lp3HzdfDGuSGPIGZ7qVhUi4vl+I+o4b9z0vIYBSIESGSGUIoAcImBD2MFFklzJbDhEoLYSTSfdvPCOayPZrBcK4lk2d5YAgsu4hP4XCh1b/cE3da+xmLAIWAYuARaBLEQjJoKlx3PCBhoQQmRAa1zHoWjk3VhgbeUJrP0+ABWMpJMwbIshZyAg5NMRQ5kHrvAYsOq5bdnyv4jjpmtZlb2ZMoZkOcU0qHq85YhhwNDL7akUOtS5HfF/HfCkSCrwkkkwDqQygyACpLCGTRMwCQgaILYeUBoCk60Z7k32bTnNjqQwpEpyxbCqmNAgiE8JQ4qaJJ3bp18kuyyJgEbAIWAQsAqsTgWnroCFnxmU8RQgbMjQoUXvVYr40Przf82qsS1gypBDZUgh5QMohMSmUOSCdB2QpGlWQ4JYcpcuOI6pCJOrrjRQ2+PXqvDDmWvVMcjg6uleEOoc57UZAQdQVftz3IMlZyyB1WhOliUkhsZuZXcqYQTLEME1AKURMSDeSTfYMnBKLp3o0oTSxhyZ7edrF3CCnx1VPsZbEuc6Y/dwiYBGwCFgELAKzEZiyDBorXUAGA4vdNCHkpJKAHJKqVoqTpcnRg8qr54iojIDsOi4QhtZCygGKPCLlBL+nBH9WdFwoedqpgIRaVnj1UKdwYGCXDquarGVLYYj8mrQYNl9WzQkpTA4zGZDjouagV4qQJ6LkU0yiSPhsPQRIKRJpQwaZHBJmGm7lNAGk+HMASgJhQkiZSGb7t0VTmV5EN8qJKSY5hS2JobQNu5kJgI3NYZk9LsPDr61V0d7+LAIWAYuARcAicDwCU9bAxu/KUIOQ/YAsN2Mq2TXIoSGCxkLI9Y29Wq2Ynyjlxg5ppcqAVAbAEscTookppAK7jwEpz6SQSaJEXeDPHXBLinQZHayiq2vkJut9Ourn86CaSeFadR3PvAbXPDFsWO+MlA2LYHP5vHS6LkdHS44QZZeoGlEuxZTvxDX6CQGYBKKUVpACweRQpNmdrANiaNzK/CCiBCLEgSAWjad6Y+nsxkg8nQZCx2gfNlzNTAHN66AIs7Ei8nsBWTSrAwrlJBtmRVPD0TaLgEXAImARsAisUQRCA4lheYbvmd+M5rcfk0DDAUMiyO+z5Ay/F2YZm8PIr1cLhWohN1KrFCcAoUoEFUQss+s4cB9DQQAUAzeyLoAWeSGhCIhFDVQS5JSl41ekh1XEWF3rhDcwkPQLhYjiMndrTbx6PpfTumEgoeUwJIe5jQcFax26rnZC1zIpHXOFiitUCaEwqQCMFVEDpQNrIaQalsMk8WcECUCKE0EMEGIAIhpPpvojiXTWicRTUkYiPG9gRZwZg9hkNeTP+IvQCGO1buf5XLq2j0XAImARsAisVgRCy+DU776GJdCQxGZXcWAyNOXr2GKnVL3u1yvFermQq5SKYwC6BgRVRKgCYYUQyhgQwlJgKWRSCEUBaKyDEqCkJZUkybKnZQWlqIauY88TPieZZEdO0euVFAYkfR21VnGHoWvZmay5ADKiI9WoVhTTii2IylgQNUISlTIkkRD5OUmASURKEJNDgDgBGeshIEYBKIKAEek4iWg82+vGYknpRGPScSP8946xIjb+N8uC2CCJDWPiOjo7dqsWAYuARcAisOYRaLAOYwhpWAaPtxA2kkmCX4Ja+V5d+bWqV62WapXchPL9MgHVAbAORDW2EiJgBYAthVAmwjICBcSQzHORpCwJglJgIZRlIfn13nkAAAgESURBVP2KkFgV9VgNQNX9nqjXynXcIKlrMvO403W2roihucyaMpabXcvj40ckWw8LEHdRVyMce6g1xUBSTPgioYVOEGKCCSKhSDA5BKQEEiYImCBSPLAamkcUqEEQEV0A4IcDBI4bj6ccNxaXTiQqHCcihOMK6ThsKEchkFvw5xIbzs2K1/x9wm7QImARsAhYBNYDAiHlIM2/jE3TQeqmVr6vte9p368rv17zvWrFq1SKgOADmIdHRJ4hhEg1AOBHNbAWYgUBy8RxhYTlgBTqMhNCJCoLLcra0WVQWBUCqxxLSCJWT0PFYythX98WNdN1vF5J4bqzGDZ/7dpZD/N5kBx7iOi5ZZAR0LUok0PSEJNKxklQnFAnhBZxjTpBnIgSuJMDYsgEETAKBFEQEAUNEQCIEICLCA4BOFyukYAkPwOhICRTsAdNsCFxkMWUUZ1zV9bD7cLu0SJgEbAIWATWNgL8C65h8DD5mBxARSa4kDQSakAWgQOFgCp4Bp8IfATwAKAOAuqgga2ENQC2FmKl4UauaMIKIpUFibIWuoIkyqixoqSqoIAqk0IQ0VoCVJ3I9TiWMJMBNTPBZD0TwvDqW9eko5X1kGMPsyOOzDm+Ey1qB9F3KyAjCH6ECSJbAg1JZIKoIUYk4lNxhgQxJonGYmjIoY6CQM5Ydtm1DAiuIYYEDiEwMXQASBChwAY5ZGJIhiBOReSu63O0tm+TdncWAYuARWAdITCVcUKEhhCaNExNhBpNND4yMfSRQBEaQugDgceuYyHQA81kUASkEKDGZNC4khvxhYjakEClMSCDbFlUWCVw6nFDCB2vlhJ+1nf83EZfzYwltKQwuBYt6WghiF0oHEHOXGb3cjku5UyCiCAixlUs/ahJPOHXFJBGEPwzE0PdIIdMCClCQC4ARpgMEoFjrIdMDommrIZB3pWxFwZu5Ea6srUarqMbp92qRcAiYBFYgwhMWQuD9GP+/WZqh7EbecpaiKgMKWQrIYLPJBGA6gjoARkXcj0ghSKwGuoG+UM0JNAQROXU+DWBrs8khImKUqHbOJ3eQutJm3Ahl5Qlhk1ohZnL/NYdd4Bg3cOBgaRoJohSklNF30VyIojKRZKROnnRKbIIOsLEEIE40SSCoCMKRASBXERytZ4ihQ4SF+1hyyFK405mt7LJT+YMlaB6C7FA08zW+GwhJ9r2tQhYBCwCFgGLwIoh0KJcHLLYLwCweTBQpeEAqoAYBsVm2VJITA6NC1kIfkaPAD1piJ5gYlgnE2fI7mRh4g2ZBEbQrRGyVVB6hH49Ro6nFPpsIQwJ4ehoSYe6hLyOa6+9ltaLNuFCzrslhjPQmuleHh3dhSFBLBTGRDGGMpJXTsXRjiu0gxXl+pJdwiIiQLs+ajd4zRZCHVFKuCEpDN3IGsARhFIjP2tBiJLYWsj/E1oQMRkMiKG16i7kcrZ9LQIWAYuARaCLEWjEGCIhatJaaBYwRGM1JKWRfwGCr5GU4PjChjt5ihxK7TEZ1GxBBF13SHgaRPBagU9x6XmaS5oJv56RfqpKKp3u1yEhHBjYS6EuofnlukZrHS/2/Fti2AbBZoIYWhDZxcwxiAOTKcFJKrHYhKxWpWQrYk2SI2vkMEkUghwftCt8cJRgC6E0r7Xgz5TUip9BEglBqKVgSyGRINZ1R/5eBKRQmvyUoIXvLfaE2+MtAhYBi4BFwCKwkggYy2CjKZNXYmKmCEhoBM1WO62N5VAolirUBEoIUlpLJTT42mHLofJk47UDwtMafSaDKop+VKHP1sFYTKlqtVdxUsloT1FzDGHoMuY52UJoCeHcZ94Sw7kxmiVx08qKmKqWBZPEWkRItiR6npCurEnPA8eRKJVC6QghFV/bEqVQKEka66CQmp8lmp/NH08BIQzJabhEZ9qKOI9V2y4WAYuARcAiYBE4uQj4TaTwOFKGnF+ChEpoREVK8LPW/LOWpIQiJaWrfK2VlKR8Rcp1wfdUVLmuVmwZjNa1YjJYjCW0tQ4u3Xm2xHABWLZyM7MVsVqdQI5FZFdztRoTtVRRxMtCevGqiFSlVMoRnlM1zxHXF1o5QmlfuI4UWvuCyEWt2baozflwyUWi4HXYZpLEBSzbdrUIWAQsAhYBi8BJQ2CmyxZRkMehg9x8YcwjiB4J4WjPV1oKRwvp67rnaCl97foxxc/1mFJuJaYrCa2ixZSOxao6dBXHYr3E1kHrLl78abbE8AQxnEkSeRiuw8wksba9iOxurterGBLFVC0qlPKQyaLvRURCKSaDqKKO0MaIzpJNAJqiU6/DpUX18STxBJdsD7MIWAQsAhYBi8BJQaAmTNGvqYZCksBa4Nrl10KQrPlaCElljs9y65pJoJQuFaM1HRLBSCRG7CaOHkgRk0EuXcdj2NjBpTutlhguAZYz4xG5ogq7m0NrIhPFbZVNWKuVkMmi59VQqSz6PTVUvodZ30OlUuZcMHlsXpLWLOVkm0XAImARsAhYBFY3AkJwjYfpxqSPf5KySDnHJem45ExGScocuW6UmARGo0k6FB+mkAg2WwX5WBs3uPTXhCUdS4/pcbGB119/vcE4JIv8OiSM/JpJIz8zcQyXwgRyGZZlh7QIWAQsAhYBi0BXIMCEL1wIEz9+zeSPn0O3ML8OXcPNJJBf24zi5TuNloAsH7bHjTwzRjAkjGEnJo6dlsIWyBVaqp3GImARsAhYBCwCS4YAk7tOg7EbuPnz0AoYvmdJ4JKdinkN9P8BUWW4r9JRNsEAAAAASUVORK5CYII=",Ot="data:image/png;base64,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",an="data:image/png;base64,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",tn=Oe(6848),Dn=Oe(38446),Tn=Oe(93083),sn=Oe(92736),Kt={token:{colorPrimary:"#1B8565",colorInfo:"#1B8565",colorLink:"#1B8565",borderRadius:2,fontSizeLG:14},components:{Radio:{radioSize:16,dotSize:6},Modal:{titleFontSize:16,titleColor:"#000"}}},Tt=Oe(59301),Gt=({children:E,prefixCls:a="knowledgeGraph"})=>document.documentElement.style.fontSize!==""?Tt.createElement(Tn.StyleProvider,{transformers:[(0,Tn.px2remTransformer)({rootValue:1})]},Tt.createElement(sn.ZP,{prefixCls:a,theme:Kt},E)):Tt.createElement(Tt.Fragment,null,E),gt=Oe(59301),St=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())}),Nt=({})=>{var E;const[a,y]=(0,Re.useState)(!0),[x,b]=(0,Re.useState)({}),z=(0,be.useSelector)(ae=>ae),{pathsDetail:{detail:te}}=z;(0,Re.useEffect)(()=>{te!=null&&te.id&&re()},[te==null?void 0:te.id]);const re=()=>St(void 0,null,function*(){b(te),y(!1)});return gt.createElement(Gt,null,gt.createElement("div",{className:Jt.information},a&>.createElement(de.Z,{style:{width:"100%",marginTop:"300rem"},spinning:!0}),!a&>.createElement("div",{className:Jt.body},gt.createElement("div",{className:Jt.left},gt.createElement("div",{className:Jt.box,style:{marginBottom:"20rem"}},gt.createElement("img",{className:Jt.imgTitle,src:en,style:{width:"453rem"}}),gt.createElement(ue.Z,{value:(x==null?void 0:x.description)||""})),!!(x!=null&&x.learning_notes)&>.createElement("div",{className:Jt.box},gt.createElement("img",{className:Jt.imgTitle,src:Ot,style:{width:"453rem"}}),gt.createElement(ue.Z,{value:(x==null?void 0:x.learning_notes)||""}))),gt.createElement("div",{className:Jt.right},gt.createElement("img",{className:Jt.imgTitle,src:mn,style:{width:"323rem"}}),gt.createElement("div",{className:Jt.listWarp},(E=x==null?void 0:x.subject_members)==null?void 0:E.map(ae=>gt.createElement("div",{key:ae==null?void 0:ae.login,className:Jt.li},gt.createElement("img",{src:`${Dn.Z.IMG_SERVER}/images/${ae==null?void 0:ae.avatar}`}),(ae==null?void 0:ae.role)===1&>.createElement("img",{src:an,style:{width:"68rem",position:"absolute",right:"-1rem",top:"-1rem"}}),gt.createElement("div",null,gt.createElement(tn.Z,{title:ae==null?void 0:ae.username},gt.createElement("b",{className:"c-grey-333"},(0,vt.Pq)(ae==null?void 0:ae.username,7))),gt.createElement(tn.Z,{title:ae==null?void 0:ae.school_name},gt.createElement("span",{className:"c-grey-999"},(0,vt.Pq)(ae==null?void 0:ae.school_name,7)))))))))))},wt={exchange:"exchange___eh7R3",body:"body___oRT9t",liWarp:"liWarp___QSKqk",li:"li___qd10l",head:"head___X7rTk",btns:"btns___JOV8d",reply:"reply___FAse7",delete:"delete___cv2H_",praise:"praise___O_5sJ",active:"active____gfgF",num:"num___Vv9Co",secondWrap:"secondWrap___S4NT9",secondLi:"secondLi___KiwQK",secondHead:"secondHead___xyIHf",secondBtns:"secondBtns____BxwD",md:"md____p6F5",comment:"comment___YPf7o",addBtn:"addBtn___S8KeD",pagination:"pagination___iRtcm"},rn=Oe(58421),On=Oe(92310),zn=Oe.n(On),Gn=Oe(64726),nr={md:"md___NMHUA",dark:"dark___hYBxG"},Xn=Oe(59301),$t=Object.defineProperty,gn=Object.defineProperties,jn=Object.getOwnPropertyDescriptors,Ln=Object.getOwnPropertySymbols,Sr=Object.prototype.hasOwnProperty,Ur=Object.prototype.propertyIsEnumerable,Mr=(E,a,y)=>a in E?$t(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,Gr=(E,a)=>{for(var y in a||(a={}))Sr.call(a,y)&&Mr(E,y,a[y]);if(Ln)for(var y of Ln(a))Ur.call(a,y)&&Mr(E,y,a[y]);return E},ma=(E,a)=>gn(E,jn(a)),Oa=(E,a)=>{var y={};for(var x in E)Sr.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&Ln)for(var x of Ln(E))a.indexOf(x)<0&&Ur.call(E,x)&&(y[x]=E[x]);return y},Ma=E=>{var a=E,{value:y,onChange:x,theme:b}=a,z=Oa(a,["value","onChange","theme"]);const te={dark:nr.dark};return Xn.createElement(Gt,{prefixCls:"md"},Xn.createElement("div",{className:zn()(nr.md,te[b])},Xn.createElement(Gn.Z,ma(Gr({},z),{defaultValue:y,onChange:(re,ae)=>{console.log("a:",re,ae),ae!=null&&ae.length?x(re,ae):x(re)}}))))},li={noData:"noData___Luxe1"},di="data:image/png;base64,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",Hr=Oe(61485),Ta=Oe(59301),sr=({style:E={},className:a,text:y="\u6682\u65E0\u6570\u636E",textColor:x="#666",buttonText:b,buttonTexttow:z,ontwoClick:te,onClick:re})=>Ta.createElement("div",{className:zn()(li.noData,a),style:E},Ta.createElement("img",{src:di}),!!y&&Ta.createElement("span",{style:{color:x}},y),Ta.createElement("span",{style:{display:"flex"}},!!b&&Ta.createElement("div",{onClick:re},b),!!z&&Ta.createElement("div",{style:{marginLeft:"20rem",display:"flex",alignItems:"center",justifyContent:"center"},onClick:te},z," ",Ta.createElement(tn.Z,{title:"\u6839\u636E\u65E7\u7248\u77E5\u8BC6\u56FE\u8C31\u5185\u5BB9\u6216\u8BFE\u7A0B\u7AE0\u8282\u53CA\u8D44\u6E90\u5185\u5BB9\u81EA\u52A8\u751F\u6210\u77E5\u8BC6\u56FE\u8C31"},Ta.createElement(Hr.Z,{style:{color:"#fff",marginLeft:5,marginTop:0}}))))),pr=Oe(59301),Qa=Object.defineProperty,hn=Object.getOwnPropertySymbols,kn=Object.prototype.hasOwnProperty,ar=Object.prototype.propertyIsEnumerable,lr=(E,a,y)=>a in E?Qa(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,Fr=(E,a)=>{for(var y in a||(a={}))kn.call(a,y)&&lr(E,y,a[y]);if(hn)for(var y of hn(a))ar.call(a,y)&&lr(E,y,a[y]);return E},pt=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});const Ae=({type:E,onEnter:a})=>{const[y,x]=(0,Re.useState)("");return pr.createElement("div",{className:wt.comment},pr.createElement(Ma,{theme:"dark",height:E===1?"264rem":"134rem",value:y,onChange:b=>x(b)}),pr.createElement(ve.ZP,{size:"large",shape:"round",onClick:()=>a(y,E),type:"primary",style:{width:"100rem",marginBottom:"12rem",float:"right"}},"\u53D1\u9001"),pr.createElement("div",{style:{clear:"both"}}))};var Ie=({})=>{const E=(0,be.useParams)(),[a,y]=(0,Re.useState)(!0),[x,b]=(0,Re.useState)({page:1}),[z,te]=(0,Re.useState)(0),[re,ae]=(0,Re.useState)(!1),[se,fe]=(0,Re.useState)([]);(0,Re.useEffect)(()=>{me(x)},[]);const me=je=>pt(void 0,null,function*(){y(!0);const Ke=yield(0,ee.ZP)(`/api/paths/${E==null?void 0:E.pathId}/discusses.json`,{method:"get",params:je});Ke!=null&&Ke.comments&&(fe(Ke==null?void 0:Ke.comments),te(Ke==null?void 0:Ke.disscuss_count)),y(!1)}),Se=(je,Ke)=>pt(void 0,null,function*(){y(!0);const Qe=yield(0,ee.ZP)(`/api/paths/${E==null?void 0:E.pathId}/post_discuss.json`,{method:"post",body:{content:je}});(Qe==null?void 0:Qe.status)===0&&(x.page=Ke===1?1:x.page,b(Fr({},x)),me(x),ae(!1))}),Te=(je,Ke)=>pt(void 0,null,function*(){y(!0);const Qe=yield(0,ee.ZP)(`/api/discusses/${re}/reply.json`,{method:"post",body:{container_type:"Shixun",content:je}});Qe!=null&&Qe.discuss&&(ae(!1),me(x))}),ke=(je,Ke)=>pt(void 0,null,function*(){y(!0);const Qe=yield(0,ee.ZP)(`/api/discusses/${je}/plus.json`,{method:"post",body:{container_type:"Discuss",type:Ke}});(Qe==null?void 0:Qe.status)!==-1&&me(x)}),We=(je,Ke)=>pt(void 0,null,function*(){y(!0);const Qe=yield(0,ee.ZP)(`/api/discusses/${je}.json`,{method:"delete",body:{}});(Qe==null?void 0:Qe.status)===1&&(x.page=Ke===1&&se.length===1&&x.page!==1?x.page-1:x.page,b(Fr({},x)),me(x))});return pr.createElement(Gt,null,pr.createElement(pr.Fragment,null,pr.createElement("span",{className:"relative",style:{float:"right"}},pr.createElement("div",{className:wt.addBtn,onClick:()=>ae(!0)},"\u53D1\u5E03\u8BA8\u8BBA")),pr.createElement("div",{className:wt.exchange},pr.createElement("div",{className:wt.body},pr.createElement(de.Z,{spinning:a},re===!0&&pr.createElement(Ae,{type:1,onEnter:Se}),z?pr.createElement(pr.Fragment,null,pr.createElement("div",{className:wt.liWarp},se==null?void 0:se.map(je=>{var Ke,Qe,Je,at;return pr.createElement("div",{key:je==null?void 0:je.id,className:wt.li},pr.createElement("img",{src:`${Dn.Z.IMG_SERVER}/images/${(Ke=je==null?void 0:je.author)==null?void 0:Ke.image_url}`}),pr.createElement("aside",{style:{flex:1}},pr.createElement("div",{className:wt.head},pr.createElement("b",null,(Qe=je==null?void 0:je.author)==null?void 0:Qe.name),pr.createElement("span",null,je==null?void 0:je.time),pr.createElement("div",{className:wt.btns},pr.createElement(tn.Z,{placement:"top",title:"\u56DE\u590D",color:"#434B64"},pr.createElement("div",{onClick:()=>ae(je.id),className:wt.reply},pr.createElement("i",{className:"iconfont icon-a-huifupinglun"}))),(je==null?void 0:je.manage)&&pr.createElement(tn.Z,{placement:"top",title:"\u5220\u9664\u8BA8\u8BBA",color:"#434B64"},pr.createElement("div",{onClick:()=>We(je.id,1),className:wt.delete},pr.createElement("i",{className:"iconfont icon-shanchu17"}))),pr.createElement(tn.Z,{placement:"top",title:"\u70B9\u8D5E",color:"#434B64"},pr.createElement("div",{onClick:()=>ke(je==null?void 0:je.id,je!=null&&je.user_praise?0:1),className:zn()(wt.praise,(je==null?void 0:je.user_praise)&&wt.active)},pr.createElement("i",{className:"iconfont icon-dianzan7"}))),!!(je!=null&&je.praise_count)&&pr.createElement("aside",{className:wt.num},je==null?void 0:je.praise_count))),pr.createElement(ue.Z,{className:wt.md,value:(je==null?void 0:je.content)||""}),!!((Je=je==null?void 0:je.children)!=null&&Je.length)&&pr.createElement("div",{className:wt.secondWrap},(at=je==null?void 0:je.children)==null?void 0:at.map(ot=>{var ut;return pr.createElement("div",{className:wt.secondLi},pr.createElement("div",{className:wt.secondHead},pr.createElement("b",null,(ut=ot==null?void 0:ot.author)==null?void 0:ut.name),pr.createElement("span",null,ot==null?void 0:ot.time),pr.createElement("div",{className:wt.secondBtns},(ot==null?void 0:ot.manage)&&pr.createElement(tn.Z,{placement:"top",title:"\u5220\u9664\u8BA8\u8BBA",color:"#434B64"},pr.createElement("div",{onClick:()=>We(ot.id,2),className:wt.secondDelete},pr.createElement("i",{className:"iconfont icon-shanchu17"}))))),pr.createElement(ue.Z,{className:wt.md,value:(ot==null?void 0:ot.content)||""}))})),re===je.id&&pr.createElement(Ae,{type:2,onEnter:Te})))})),pr.createElement("div",{className:wt.pagination},pr.createElement(rn.Z,{onChange:je=>{x.page=je,b(Fr({},x)),me(x)},total:z,current:x==null?void 0:x.page,pageSize:10,hideOnSinglePage:!0,showSizeChanger:!1,showQuickJumper:!1,style:{marginTop:"20rem",marginBottom:"40rem"},showTotal:je=>pr.createElement("span",{style:{marginLeft:"10rem",color:"#fff"}},"\u5171",pr.createElement("span",{style:{color:"#37AD83",margin:"0 5rem"}},je),"\u6761\u6570\u636E")}))):!re&&pr.createElement(sr,{textColor:"#fff",style:{visibility:a?"hidden":"visible"}}))))))},ze={learning:"learning___axerA",body:"body___xn5Fa",tabs:"tabs___C2Adc",name:"name___VKGdS",tabWrap:"tabWrap___EnXyi",tab:"tab___EBO0d",active:"active___XXAsu",head:"head___XDru2",numerical:"numerical___APDFZ",action:"action___V6i8x",studentHead:"studentHead___I1em7",headLi:"headLi___UsDfK",btn:"btn___SXQTV",addBtn:"addBtn___oYSpZ"},Ze="data:image/png;base64,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",xt="data:image/png;base64,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",bt="data:image/png;base64,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",Yt="data:image/png;base64,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",Ht={chart:"chart___Rsr8z",group:"group___cEFV6",item:"item___uQIC1"},cn=Object.defineProperty,fn=Object.getOwnPropertySymbols,Zn=Object.prototype.hasOwnProperty,Mn=Object.prototype.propertyIsEnumerable,er=(E,a,y)=>a in E?cn(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,rr=(E,a)=>{for(var y in a||(a={}))Zn.call(a,y)&&er(E,y,a[y]);if(fn)for(var y of fn(a))Mn.call(a,y)&&er(E,y,a[y]);return E};const mr=()=>`shadow-${Math.random().toString(36).slice(2,9)}`;var nn=({percentage:E,startAngle:a=270,strokeColor:y="#42BECD",trackColor:x="#e6e6e6",innerBackgroundColor:b="#fff",text:z="",textColor:te="#000",textSize:re="1rem",textPadding:ae="28rem",outerDiameter:se,innerDiameter:fe,maxTextLength:me=6,onClick:Se,hoverEffect:Te=!0,style:ke})=>{const[We,je]=(0,Re.useState)(0),[Ke,Qe]=(0,Re.useState)(0),[Je,at]=(0,Re.useState)(!1),ot=Pn=>{var or,xn;const yr=parseFloat(Pn),na=parseFloat((xn=(or=document.documentElement)==null?void 0:or.style)==null?void 0:xn.fontSize);return yr*na},ut=()=>{je(ot(se)),Qe(ot(fe))};(0,Re.useEffect)(()=>(ut(),window.addEventListener("resize",ut),()=>window.removeEventListener("resize",ut)),[se,fe]);const ft=We/2,lt=Ke/2,Dt=(We-Ke)/2,Bt=ft-Dt,Vt=2*Math.PI*Bt,Xt=Vt-E/100*Vt,vn=`rotate(${a} ${ft} ${ft})`,wn=((Pn,or)=>or&&Pn.length>or?Pn.slice(0,or-1)+"...":Pn)(z,me),qn=()=>{Te&&at(!0)},yn=()=>{at(!1)},En=ot("4rem");return Re.createElement("svg",{width:We,height:We,viewBox:`0 0 ${We} ${We}`,xmlns:"http://www.w3.org/2000/svg",onClick:Se,onMouseEnter:qn,onMouseLeave:yn,style:rr({cursor:Se?"pointer":"default"},ke)},Re.createElement("circle",{cx:ft,cy:ft,r:lt,fill:b}),Re.createElement("circle",{cx:ft,cy:ft,r:Bt,fill:"none",stroke:x,strokeWidth:Dt}),Re.createElement("circle",{cx:ft,cy:ft,r:Bt,fill:"none",stroke:y,strokeWidth:Dt,strokeDasharray:Vt,strokeDashoffset:Xt,strokeLinecap:"round",transform:vn}),Je&&Re.createElement("circle",{cx:ft,cy:ft,r:Bt+Dt/2,fill:"none",stroke:"#FA6400",strokeWidth:ot("4rem")}),z&&Re.createElement("foreignObject",{x:ft-lt,y:ft-lt,width:Ke,height:Ke},Re.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center",padding:ae}},Re.createElement("b",{style:{color:te,fontSize:re,textAlign:"center"},title:z},wn))))},Bn="data:image/png;base64,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",Hn="data:image/png;base64,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",fr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAzQAAABkCAYAAABQFHUdAAAAAXNSR0IArs4c6QAAG39JREFUeF7t3XmYHGWdwPGq6p7unvuezJVMJuRgSAIEURQUgQcUhV0UZVniAa4HKiig++jzrOIiwUV9HhYUAosgi7CCoLABFK8VOQwIsoQjx+Qgmclk7iMzkzn6rn3eTDrT71s9V+btnup9vvMPdLrqV+/7+b31Vv2qq7rNG7ZcW2Ic+QuOBMzE/4v/hjwh6XVxcfK7hhEaCUvvhz3y+uEx+X2/JyItbxTI8SLjful9nyUvHwlGpfejlk96nZenxHMsL68fC8nrey35fSNXjhcL5Ujby7FicnvCSnwrLr0fCPilgNGwvH7MVF5H5NdeS96+4ZPbF1eW91heafvxiNwedXs+NV5UXj9myut71fYqyzvbJ6/vUXzipkdub1RePidH6a/yvrq+R2lvPCbHM7xyQPV9j2nL7VHjReX2zr998vYMr9LfmCW1Z8b2xeR4Xq8c0FY84kp/LVPenq3EU9unxrPUfCp+ajyPxyN12I7L7bfV9hlKfuJyew05nKHGswylf2r7lO0rzTPiyvZspT2W0l51+4YS0FLWj8VisoeSj/gM7VO97JgpjZ+5ts9U2jdTfmzFR/VTvdR4pjr+lP4alrx/OMbrDONH3Z7HkgM6/OKG5Geasqcjv472KeNZHT8zjBeleYat+BhKfx35spX9Q2mfurxhK+01lP7asoejfY7l5XjqeLdNOZ6hJNjZH2W+NKbPjzxaDMMx/mxl/1DiqeNBjWfO4GMo+486fpztk/tjK/lQt2co48fZPmW+c+RX9jSV/qd4Ke0Pzvap+ZR9He1Tx7+SD1vNr+KpxjNm2D9NZbzZSv5map+hzAe2sj3H/pRiwCT/kx2XfUzVY4Z8qP1Rx5ut7K+O8eNon7p/qfNdXDk+qfmWAzq3p8wvavsc41mZsBz5N3PMK5677FXHQOAfEEAAAQQQQAABBBBAAIEsEKCgyYIk0UQEEEAAAQQQQAABBBBILUBBw8hAAAEEEEAAAQQQQACBrBWgoMna1NFwBBBAAAEEEEAAAQQQoKBhDCCAAAIIIIAAAggggEDWClDQZG3qaDgCCCCAAAIIIIAAAghQ0DAGEEAAAQQQQAABBBBAIGsFKGiyNnU0HAEEEEAAAQQQQAABBChoGAMIIIAAAggggAACCCCQtQIUNFmbOhqOAAIIIIAAAggggAACFDSMAQQQQAABBBBAAAEEEMhaAQqarE0dDUcAAQQQQAABBBBAAAEKGsYAAggggAACCCCAAAIIZK0ABU3Wpo6GI4AAAggggAACCCCAAAUNYwABBBBAAAEEEEAAAQSyVoCCJmtTR8MRQAABBBBAAAEEEECAgoYxgAACCCCAAAIIIIAAAlkrQEGTtamj4QgggAACCCCAAAIIIEBBwxhAAAEEEEAAAQQQQACBrBWgoMna1NFwBBBAAAEEEEAAAQQQoKBhDCCAAAIIIIAAAggggEDWClDQZG3qaDgCCCCAAAIIIIAAAghQ0DAGEEAAAQQQQAABBBBAIGsFKGiyNnU0HAEEEEAAAQQQQAABBChoGAMIIIAAAggggAACCCCQtQIUNFmbOhqOAAIIIIAAAggggAACFDSMAQQQQAABBBBAAAEEEMhaAQqarE0dDUcAAQQQQAABBBBAAAEKGsYAAggggAACCCCAAAIIZK0ABU3Wpo6GI4AAAggggAACCCCAAAUNYwABBBBAAAEEEEAAAQSyVoCCJmtTR8MRQAABBBBAAAEEEECAgoYxgAACCCCAAAIIIIAAAlkrQEGTtamj4QgggAACCCCAAAIIIEBBwxhAAAEEEEAAAQQQQACBrBWgoMna1NFwBBBAAAEEEEAAAQQQoKBhDCCAAAIIIIAAAggggEDWClDQZG3qaDgCCCCAAAIIIIAAAghQ0DAGEEAAAQQQQAABBBBAIGsFKGiyNnU0HAEEEEAAAQQQQAABBChoGAMIIIAAAggggAACCCCQtQIUNFmbOhqOAAIIIIAAAggggAACFDSMAQQQQAABBBBAAAEEEMhaAQqarE0dDUcAAQQQQAABBBBAAAEKGsYAAggggAACCCCAAAIIZK3AMRc0uZ5c65zaD5QvyV+SW+ov8xmGaRqGnQwhvRBvyP8w+cq2J/7fNuIpIW3DPLLw5DpxO273h/rCrYf2jb3Q9ezBiB11bE9XVhoLlwVOLn9HcXVgUSDgzbMSce0jPbLtqdqtdPlwH5ObeaTfSavL709saSw2Fu0e7wy+0vPSUF+oL6KrX2ocj2kZp5S/s2hJwdK8Mn9ZjilSeuQvkaOpEjz5flL/zCOJTVopPsUQEevHjbjdF+wNvT20e2zncPNYuvop4hZ5i71ry08qqM6tCQQ8ASu5f4kcmGZi3BlG6v5PJi7l+6Yz/4fHuW0bo9GRaPtIW2j74NaRdI5dsb3FeUsCDUWNgXKf2E/F8HWO1+RMSWPwSB9S9S95n5bfn4wfteN2b7ArtHd4z9hQZDiWzpzmmF6zobAxUJNbG/Bb/sP7qZ2Ug8k+TrW/HtkfkzHmMAYORYajbSNtwb5Qb9r20YSfmH/r8pYEygNlOalMj3YhaR+Uc+ScLpNVEsua0voTW4rGI3bneGeoN9iT9n6K7eV5863a3PpAwOszJ48V0x5qjHjynJw8Bo52MvXhIn50Tp+IPxQ5GMlUP8X2CrwFnlKfnNPkeSietO+mnHOTWBJjwJbm4eTj7uTCkVjE7g+n99jy/upzyppK1hRWBioDOR7f5MFlquNiUopSHRflg2lSv44es+T9fCQ6EukKdgaf7/hz//7R1lC65qIyf7n37JpzK8Q8VOQrPrJ/Zu7cKBqP2r3B7tDOwZ0jr/S9NJSufoq4a0pPKjihdHVBpb8q4DuS0+RcpTo3stVTwUS+jh4uk3I5/bmRPRwZjnaOHgi+2PuXg2PRsdQTuwYAv+U3T6t6T4nIabG/xDvdedHUx8W5nxsl9vFIPBLvCXaFth/cOtI+1p62sSvaXpNX41tV1FSwKLfa77Vyjs65E/2a6EM6z40GwwOR9tEDwe2D20bnmrpjKmjq8ur9l6/47OL8nIKjiZ3rhnUuPxDqD9+/8962dEzIH66/sPL06jPLTUOaf3U2f9axIrGw/fsDT3e91LtZ+yRV7qvIWb/i03XiBH/WDUrjgs2DOw49sve/OsLxsPZC9fSq9xafW3f+Ir9n4qR3If/E2H285dGOfYf2BnW3I9+T77m48ZLq40tWF+qOPdd4Yuw+3/Vc7zOdfxiY67qzWf74kqa8Cxd/pKbUn/oEfzYxdC0jxu4TLY91D0eHorpiJuKIou28+g+Vv7vqjAqP6dEdfk7xxNj9deumrnRdfFiUW+37SMPHqsUFljk1TPPCoVgwvrn7hb5nO/9nIDbFxav5bvJdle8uOqvm3MrioyfA84049/VDsVD87eHdI0+1burROXZ9ls+8sumqhurcWlccW0Sx+8f233Y/3/XswbkrTb/GSWXrCj7a8PE6tWDTvZ3Zxts/0jL2n7vuadN9HBUXPz+x/Iq6VcVNC35sERajkZHYY/seaU/HXLSscHnuJY2X1hX5JguZ2frrXk5c9n2556X+p/Zv6tUdW8S7cPFFladVnV5umQt+amQcGGkd/+W+X3TM5SL+nAsaMTl9ZfXXGsv85b50gB5rzPbRA+N3N9/eqvOA846KUwsvXnpp3bG2KR3ricn4vl13t+g8ARaT0xeP/+rS2vw6VxxwEm5vDGwZfHTvQ106HcWJ76eW/9MSnTHnG2s8Ohb78dZ/36fzJEK06bMrr1y8rGh5/nzbp3P9Pxz4bfdzXc9oPZEQn0B9vunLSxf6BD/ZqTfYE9q47dYW3Z++rT/u0zWrS9cW68zJfGM9uOe+/c2DO7R+oloVqMr5UtNXG30uuOiQ8BGF6oN77mufr5e6/kVLPlr1rqrTy3THPdZ4weh4/D+a79in65Opjy29tPqUilNLjrU96VgvZseMe5vvatk/2qrtQpL4ZObqE65d5vcEFv5sMAnt9f7XBn+572Gtx9ELFl9Uefqi95anIzfHGjMdx1HxielXV3+90S0X7xM2vz/wG+0F+VnV55SdV/+hqmP1T8d6PeNdoY3bbmuJGrFZXdiec0FzQsma/E8sv3xxOho/35j37NjY0jLaom2CuqrpWted5Asj3QfWNaVr8y877tOuzOktb31/z0CoX9uV7qubrltak++OK4XJ4/1vvS8f3NT6q+757gOJ9VeXrMlf78L9NBaP2d/bcsPukB3UdnvAVU3XNtTm1+XqstMV55mOP/b8qUPfJ1JuLMaF1UhkJPqDN27ck7hdS4fflcdfvWRJQcOCfjKTqh/iKvBr/a8e0tFHEWN50Yrcz6z8QoOueLriiAuEd+74Uet841mGaVy/bsNKNxWmiT7pnnPPrflA+dl151XO10z3+uIi6IYt1+/U9SmNuAB6/ckbVrnlU6hkr+e7nun9/YHf9usyPK/ug+Xik1Nd8XTFERcdNrz+nV264rk5p+IugJd6Nw/Opq9zLmjcmmDR2afbnura3P38rDo+E46YiG845eZVHsuz8PeaKY0dCg9Gfvjm996eqQ+zff/8+gsq3ld9VsVsl8/kcjpPIMTtOtefctMqN13JT1h2jXcEb992a4suW3Gr5BnV73fVFbRE3x7Y9dP9um4NEJ8Yf3vdja7M6d7hPaM/3XV3m66cuvGqaKJvd2y/dW/nWEdYR19FTq9ft2GVG257UPuzdeDNoYf3Ptipo58ihrjF4z0uu9Kd6NvNr9+4eyR6aF7PvVX4K3OuW/uN43R56Ywjbse6u3njfl0xP3Hc5bUnlK4p0hVPZ5x7d96l7a6Omrxa39UnXLdMZ/t0xdo1tHPkZ7vvPaAr3uUrPle/snhVga54OuP8eNste7vHu7TMuUvyG/xXNl3dqLN9umK92b9l6JF9D81qzp1zQePG27AScA/t+VnbtsGtc36QaCr4b574reVuuG9SbV/HaHtw447btJ38nll9VukH6y9YpGsA6ozz8z33tx3Lw2Gp2jBxFeLGVTkev+uK1I7R9vGNO26b9xXRRL8/vPjvKs5YdKYri9QHd9/X1jy0Q8t+Kh6O/9a67650wzNu6pg7MNI2flfzj7Xl1I237iT6fP+ue/fvHt6p5bYz8Tzf1078pitPgsWX0Pxk553aToI/ueKK2qbi1f9vT4LdfOVX9y3Nbr7g8IPXb9qj65Zm8SUd3zr5hpU6j/O6Yum+ve4flq2vPqlsnatul0xY/fCNDbt1fdFOlX+R75q1/+zKIvW1vlcHH2t5ZFa3TM65oCnKKfRcu+abx7nhgerknWA8Oh6/5a2b94zHxrXdynJJ42XVJ5ef4rrBvLn7+b6n257q0zUJ1ObW+b+8+ppGt50UigfJf/DmTbt15vTzq760eGnhMlc9VyLy+NeezVof9HPrraHi9od/e/2GXTpzet2abyyrCFS66pk+kdOXu18ceLLtv3t07aenVZ5e/PcNH63RFU9XHPHNNzdt+c6uYEzfbYTfPvm7K3K9eQv7rQcpgP7avXngqbZN2nLq1tuUxMPHG177zs5QPDSre9enG0tu/eTi4bcfaNt68C0tF1ZE/xsLluV+7vgvue72QfEcwo+23bJP1/4u4rj1dvxf7ftF+5b+/9V2S+g7Kt5VdPHSS2p12umIJb6Q5Za3vr9XR6xEjH856V+Xu+1ZIdG2TS2/7Phb3yvDs+nrnAsaEdSNSX707Z+3v3HwdW0DWfRTXP39yuqvNy7kN8+oSRRfa3zHtttaIrbeb/9y460POm8hTDhW59b4vnj81Y1uuv93ODwYvX37rXt1f+3kZ1Z+oX550QpXfVyu+x5nkdfVJScWrF/+qfrZTHiZWkY8oHrH9lv3DYYHtT3/5dYvZNH9LILIkRtP9MUFlruab9+n6zYP0U/xIPlVTdcsC3hzXfUg+baBt4Yf2vtAh479Jc+bZ3256ZpGN3wDYaI/r/X97eBjLY9qe2YxEddtn9KIMfuT5jtbOsb1ftWvG4+ju4aaD/1s90+1f2nHZ1d9oX5ZoXuOo+Jiw/277m3dM7x7XMf+mYghvoL7suM+6arj6P6R1rF7mjfun+3zmcdU0AgA8TDj+XUXLqrOrw6Yh3/bYmH+xNWH37Q92aU7uYneFHgLPRc1XLyoqfSEooXsp2iPuJfw1/uf6BmNjc7rvuZUmRLPDL2v+uzSs2vOqVroW7LGo+OxP7b/rufl3he1fz216Lv4GsaLGi6uccNVfXFb0uOtj3bqPElK5FecSHxkycerV5etXfBbWsS3Cr3S81L/021P9s52cprLjHLGojNLzq39QJUbHj4eCg9FHm95pCMdc5L4jYB/XPapuopApX8uPuladufQjkMP73mgQ/e3uYn2Xtq4vubE8nWu+Ea3SCxkP7l/U4fOLwRIPpH42NJLat0wdkWbuse7gvc037lf56eo4nc8Plj34cpVpU2FJb7SlL+dlK4xmogrPkkcCPaHX+j6c99sr/geS5vEb7mdU3tuxcTv8y3MnzjpbT3UMvpEy+PdPaFuLc9ZqD0RRc1FDRcv+Neqiy+aebHnL/1/av9dfzrmIXEh6UP1F1S+s+rdZQt9DngwNBD5ddumTt3fKpnI7SnlpxaeX39BdX5OwYJ/Or794NbhJ1of6x6Jjsz6fPeYC5oEgEh2hb/SJ36EMfFDjFZSgWPbtuN5heQfbBQn0ok/05qhMLInFjZNS/wIp9011hnWOelON/XkmD6zLq/Wn5eTryQ6qf1JARJ9tO2kX6dM8b7c46RYSasdihyKtY8cCOn8Zqip+ir6WV9Q76/wV/iE8+G/I31I3ZPDGTm8mJRL+Uc5nWMgKdeJW93i8ZjdNd4Zbh87ENT1jSxT9VPc2y2+7rcmry6QK10dncxIogvmkXF3uKfW9I/fJN+2N90YED+s2TF2IKjz67en6qv43aiGwsbccn95jpk0HlPnM6n/ib5K+7Cz/1Puz6ZhiB/W7B7tDL99aPdoT5p/iLHEV+JtKl5dUJtf5/dZfkv5YdijDU/kKPn9VHbJuU4eAxM/Tir/Ccvh8HC0c6wjuKX/1eF0jl8xdk+tOK14ccHiQHFO2cTcO0XyJ8fg5CLJy6Y2mFxicp+enMdjRjzeM94d3jXUPKLr+bapxu6qoqa8teVrCyv91QGfJ8cBf3SOOjwLzfho3MTxI/mYM/WkdrhJh8LDh3/U+IXu5wYGQgPaPm1T+1vmL/OeWX1OeW1eXaDYV5IzRU+S/nnif5Obn7r/UqSkfWCiBYn8R+PReF+oN7RzsHnkL93PHtT58wdqX8UPGfvM1L8BZh2Zc+Qxmpz2FPNPyjnNeSwdCg9G07lfqv0Ud3hM/ED1ZPuP5dxotudFiXOjaDwS7xzrDOu+i2OqffTwj/zm1/t9lk/ZP53nRvKc7Nz55GNJ8hYT413O/0CwP9o13hFKRyGTKp/ix4xL/SXeo+3M0LlRJB6Od411htrH2kLp3DdFn8U5fUPB0oD4TcIcK3kqmkivNOccw7nRTGNgMHQw0jbWMi7G8FRjbqp/n3dBM9cNsjwCCCCAAAIIIIAAAgggoEuAgkaXJHEQQAABBBBAAAEEEEAg4wIUNBknZ4MIIIAAAggggAACCCCgS4CCRpckcRBAAAEEEEAAAQQQQCDjAhQ0GSdngwgggAACCCCAAAIIIKBLgIJGlyRxEEAAAQQQQAABBBBAIOMCFDQZJ2eDCCCAAAIIIIAAAgggoEuAgkaXJHEQQAABBBBAAAEEEEAg4wIUNBknZ4MIIIAAAggggAACCCCgS4CCRpckcRBAAAEEEEAAAQQQQCDjAhQ0GSdngwgggAACCCCAAAIIIKBLgIJGlyRxEEAAAQQQQAABBBBAIOMCFDQZJ2eDCCCAAAIIIIAAAgggoEuAgkaXJHEQQAABBBBAAAEEEEAg4wIUNBknZ4MIIIAAAggggAACCCCgS4CCRpckcRBAAAEEEEAAAQQQQCDjAhQ0GSdngwgggAACCCCAAAIIIKBLgIJGlyRxEEAAAQQQQAABBBBAIOMCFDQZJ2eDCCCAAAIIIIAAAgggoEuAgkaXJHEQQAABBBBAAAEEEEAg4wIUNBknZ4MIIIAAAggggAACCCCgS4CCRpckcRBAAAEEEEAAAQQQQCDjAhQ0GSdngwgggAACCCCAAAIIIKBLgIJGlyRxEEAAAQQQQAABBBBAIOMCFDQZJ2eDCCCAAAIIIIAAAgggoEuAgkaXJHEQQAABBBBAAAEEEEAg4wIUNBknZ4MIIIAAAggggAACCCCgS4CCRpckcRBAAAEEEEAAAQQQQCDjAhQ0GSdngwgggAACCCCAAAIIIKBLgIJGlyRxEEAAAQQQQAABBBBAIOMCFDQZJ2eDCCCAAAIIIIAAAgggoEuAgkaXJHEQQAABBBBAAAEEEEAg4wIUNBknZ4MIIIAAAggggAACCCCgS4CCRpckcRBAAAEEEEAAAQQQQCDjAhQ0GSdngwgggAACCCCAAAIIIKBLgIJGlyRxEEAAAQQQQAABBBBAIOMCFDQZJ2eDCCCAAAIIIIAAAgggoEuAgkaXJHEQQAABBBBAAAEEEEAg4wIUNBknZ4MIIIAAAggggAACCCCgS4CCRpckcRBAAAEEEEAAAQQQQCDjAhQ0GSdngwgggAACCCCAAAIIIKBLgIJGlyRxEEAAAQQQQAABBBBAIOMCFDQZJ2eDCCCAAAIIIIAAAgggoEvAvOK59c+JYKZh29MFtW1Det805deGIb+2DXPaeKatbE+Jp65vKvHVl872qduXt2c74sm9N21lfdPho/RP3V5cCmgr8Zx+8vr2DPkw1XxYlpI+pb1qf9Slle3N2D5l+yqnmi9H/y21fY7xJPsp48kxfixl/M3QX3W8O8aPpeRTHa8OP3l5tf+mMn5UD+e+N/14NU21faqfPDzV8W6qnko824hPu/8aiq86XtX2Ofdfuce2w1fxdMwP089X6v4bVwaomg/VQ82Hs33qfKjuv9PPB+r+G58hH+p4jcvTi6Hur4753JFfpX2OeHL+HfO5sn+Ytry8o32O5ZX8Wsr66v6rtk+Jp+bHVOYDdTzElAaaM7ZPbm9c6a8xY/vk/jm2p+Q/FlOOR4qP2h81niNfSkB1+bh6fPLI+5fDT2mfNcN48Hg8UofU8W7MtX2Kl6X4OP2U8WZb0vwWV+Y71cdw9FcZr47jkzq+5dcxtb8e+X1LbZ8dk8+/PHL7jagyXpR46ni1HPmW40WjckBrhvbFlHiWRzl+KO1T48WU/lpKfy2v3L5IRO6v5ZV9VD9n+1Q/OaCl+M6/ffL21P7F4sr7OUr7wnJ/Pd6oNB6itkd67VE9leXDajxlfUvZfiwub8/KkbdnKPGi8YjcHmV5j7I9r0+OFwyGpA57FB+vzyvFj8Q9ts+MRf8PC8Mis8+T/PkAAAAASUVORK5CYII=",br="data:image/png;base64,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",tr="data:image/png;base64,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",hr="data:image/png;base64,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",vr=Oe(59301),xr=({dataSource:E=[],pathsDetail:a,onClick:y,onMore:x})=>{const[b,z]=(0,Re.useState)([]);(0,Re.useEffect)(()=>{let re=[];for(let ae=0;ae<E.length;ae+=4)re.push(E.slice(ae,ae+4));z(re)},[JSON.stringify(E)]);function te(re){return re.concat(Array(4-re.length).fill(null)).slice(0,4).reverse()}return vr.createElement("div",{className:Ht.chart},b.map((re,ae)=>{var se;let fe=null;return ae%2===0?fe=vr.createElement("div",{className:Ht.group,style:ae==0?{marginLeft:"-164rem"}:{}},re.map((me,Se)=>{var Te,ke,We;return vr.createElement("div",{key:me.knowledge_uuid,className:Ht.item,style:ae==0&&Se>0?{marginLeft:"300rem"}:{}},(me==null?void 0:me.has_children)&&vr.createElement("img",{src:me.complete_rate?Bn:Hn,style:{width:"163rem",height:"91rem",position:"absolute",zIndex:1,left:0,top:"3rem"}}),Se!==0&&vr.createElement("img",{src:me.complete_rate?fr:br,style:{width:"410rem",height:"50rem",position:"absolute",zIndex:2,right:"50%",bottom:"38rem"}}),ae!==0&&Se===0&&vr.createElement("img",{src:me.complete_rate?tr:hr,style:{width:"233rem",height:"316rem",position:"absolute",zIndex:3,right:"calc(50% + 5rem)",bottom:"38rem",transform:"scaleX(-1)"}}),vr.createElement(nn,{strokeColor:"#60C059",percentage:me.complete_rate,startAngle:270,trackColor:"#E3E8EF",text:me.name,textSize:"16rem",hoverEffect:!(!(me!=null&&me.is_publish)&&!((Te=a==null?void 0:a.detail)!=null&&Te.can_managed)),textColor:"#333",outerDiameter:"137rem",innerDiameter:"107rem",textPadding:"26rem",onClick:!(me!=null&&me.is_publish)&&!((ke=a==null?void 0:a.detail)!=null&&ke.can_managed)?void 0:()=>y(me),style:{position:"absolute",zIndex:4,left:"50%",bottom:0,transform:"translateX(-50%)"}}),vr.createElement("div",{onClick:()=>{x(me)},style:{width:"34rem",height:"34rem",borderRadius:"50%",position:"absolute",zIndex:5,left:"50%",top:"3rem",transform:"translateX(-50%)",cursor:"pointer"}}),!(me!=null&&me.is_publish)&&!((We=a==null?void 0:a.detail)!=null&&We.can_managed)&&vr.createElement("div",{style:{background:"rgba(0, 0, 0, 0.5)",borderRadius:"50%",width:"124rem",height:"124rem",position:"absolute",zIndex:5,left:"50%",bottom:6,transform:"translateX(-50%)",textAlign:"center",paddingTop:"40rem"}},vr.createElement("i",{className:"iconfont icon-suo1",style:{color:"#fff",fontSize:"28rem"}}),vr.createElement("div",{style:{color:"#fff",fontSize:"12rem"}},"\u8D44\u6E90\u6682\u672A\u53D1\u5E03")))})):fe=vr.createElement("div",{className:Ht.group},(se=te(re))==null?void 0:se.map((me,Se)=>{var Te,ke,We;return vr.createElement("div",{key:(me==null?void 0:me.knowledge_uuid)||Se,className:Ht.item},me&&vr.createElement(vr.Fragment,null,(me==null?void 0:me.has_children)&&vr.createElement("img",{src:me.complete_rate?Bn:Hn,style:{width:"163rem",height:"91rem",position:"absolute",zIndex:1,left:0,top:"3rem"}}),Se!==3&&vr.createElement("img",{src:me.complete_rate?fr:br,style:{width:"410rem",height:"50rem",position:"absolute",zIndex:2,left:"50%",bottom:"38rem"}}),Se===3&&vr.createElement("img",{src:me.complete_rate?tr:hr,style:{width:"233rem",height:"316rem",position:"absolute",zIndex:3,left:"calc(50% + 5rem)",bottom:"38rem"}}),vr.createElement(nn,{strokeColor:"#60C059",percentage:me.complete_rate,startAngle:270,trackColor:"#E3E8EF",text:me.name,textSize:"16rem",textColor:"#333",hoverEffect:!(!(me!=null&&me.is_publish)&&!((Te=a==null?void 0:a.detail)!=null&&Te.can_managed)),outerDiameter:"137rem",innerDiameter:"107rem",textPadding:"26rem",onClick:!(me!=null&&me.is_publish)&&!((ke=a==null?void 0:a.detail)!=null&&ke.can_managed)?void 0:()=>y(me),style:{position:"absolute",zIndex:4,left:"50%",bottom:0,transform:"translateX(-50%)"}}),vr.createElement("div",{onClick:()=>{x(me)},style:{width:"34rem",height:"34rem",borderRadius:"50%",position:"absolute",zIndex:5,left:"50%",top:"3rem",transform:"translateX(-50%)",cursor:"pointer"}}),!(me!=null&&me.is_publish)&&!((We=a==null?void 0:a.detail)!=null&&We.can_managed)&&vr.createElement("div",{style:{background:"rgba(0, 0, 0, 0.5)",borderRadius:"50%",width:"124rem",height:"124rem",position:"absolute",zIndex:5,left:"50%",bottom:6,transform:"translateX(-50%)",textAlign:"center",paddingTop:"40rem"}},vr.createElement("i",{className:"iconfont icon-suo1",style:{color:"#fff",fontSize:"28rem"}}),vr.createElement("div",{style:{color:"#fff",fontSize:"12rem"}},"\u8D44\u6E90\u6682\u672A\u53D1\u5E03"))))})),vr.createElement(Re.Fragment,{key:ae},fe)}))},Jn=Oe(81327),Nr=Oe(57809),Xa=Oe(17574),$a={flex_box_center:"flex_box_center___DSyRe",flex_space_between:"flex_space_between___FubQ0",flex_box_vertical_center:"flex_box_vertical_center___Bwld4",flex_box_center_end:"flex_box_center_end___K1Pkl",flex_box_column:"flex_box_column___av7e_",hader:"hader___vwJKS",title:"title____Pmur",body:"body___FxUh6",nodeData:"nodeData___cHclP",yc:"yc___I8230",yclj:"yclj___toMmi",nametitle:"nametitle___B4Hrd",treeheight:"treeheight___HER2j",spacewidth:"spacewidth___XhLbb",titlename:"titlename___rBLxO"},ai=Oe(89489),Zr=Oe(57816),ua=Oe(59301),Da=Object.defineProperty,sa=Object.defineProperties,Ja=Object.getOwnPropertyDescriptors,Li=Object.getOwnPropertySymbols,Na=Object.prototype.hasOwnProperty,Ti=Object.prototype.propertyIsEnumerable,ji=(E,a,y)=>a in E?Da(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,Ao=(E,a)=>{for(var y in a||(a={}))Na.call(a,y)&&ji(E,y,a[y]);if(Li)for(var y of Li(a))Ti.call(a,y)&&ji(E,y,a[y]);return E},uo=(E,a)=>sa(E,Ja(a)),Os=(E,a)=>{var y={};for(var x in E)Na.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&Li)for(var x of Li(E))a.indexOf(x)<0&&Ti.call(E,x)&&(y[x]=E[x]);return y},zo=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});const po=E=>{var a=E,{pathsDetail:y,user:x,globalSetting:b,loading:z,dispatch:te,addmodal:re,setaddmodal:ae,uuid:se,onOk:fe}=a,me=Os(a,["pathsDetail","user","globalSetting","loading","dispatch","addmodal","setaddmodal","uuid","onOk"]),Se,Te;let[ke,We]=(0,Re.useState)({subject_id:(Se=y==null?void 0:y.detail)==null?void 0:Se.id,uuid:""});const[je,Ke]=(0,Re.useState)([]),[Qe,Je]=(0,Re.useState)([]),[at,ot]=(0,Re.useState)(!1),[ut,ft]=(0,Re.useState)(""),[lt,Dt]=(0,Re.useState)(!1);(0,Re.useEffect)(()=>{re&&Vt(1)},[re]);function Bt(on,wn){for(let qn of on)wn.push(qn),qn.children&&qn.children.length>0&&Bt(qn.children,wn)}function Vt(on){return zo(this,null,function*(){var wn,qn;ot(!0);let yn=yield(0,ee.ZP)("/api/subject_knowledge/tree.json",{method:"get",params:uo(Ao({},ke),{id:se,uuid:ke==null?void 0:ke.uuid,is_edit:!!se})});ot(!1),(yn==null?void 0:yn.status)===0&&(se?ke.uuid=yn==null?void 0:yn.uuid:on===1&&(ke.uuid=(qn=(wn=yn==null?void 0:yn.parent_knowledges)==null?void 0:wn[0])==null?void 0:qn.uuid),ft(yn==null?void 0:yn.name),We(ke),Ke(yn),Je(yn==null?void 0:yn.data))})}const Xt=on=>{console.log(on)},vn=on=>{console.log(on);const wn=on.node.id,qn=on.dragNode.id,yn=on.node.pos.split("-"),En=on.dropPosition-Number(yn[yn.length-1]),Pn=(yr,na,ea)=>{for(let jr=0;jr<yr.length;jr++){if(yr[jr].id===na)return ea(yr[jr],jr,yr);yr[jr].children&&Pn(yr[jr].children,na,ea)}},or=[...Qe];let xn;if(Pn(or,qn,(yr,na,ea)=>{ea.splice(na,1),xn=yr}),!on.dropToGap)Pn(or,wn,yr=>{yr.children=yr.children||[],yr.children.unshift(xn)});else{let yr=[],na;Pn(or,wn,(ea,jr,Or)=>{yr=Or,na=jr}),En===-1?yr.splice(na,0,xn):yr.splice(na+1,0,xn)}Je(or)};return ua.createElement(Ce.default,{title:se?"\u7F16\u8F91\u5B66\u4E60\u8DEF\u5F84":"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84",open:re,width:"920rem",centered:!0,onOk:()=>zo(void 0,null,function*(){var on,wn;let qn=[];if(Bt(Qe,qn),console.log(Qe,qn,"gData"),(Qe==null?void 0:Qe.length)<=0||((on=qn==null?void 0:qn.filter(En=>!(En!=null&&En.is_out)))==null?void 0:on.length)===0||((wn=Qe==null?void 0:Qe.filter(En=>!(En!=null&&En.is_out)))==null?void 0:wn.length)===0){Fe.ZP.info("\u5B66\u4E60\u8DEF\u5F84\u4E0D\u53EF\u4E3A\u7A7A");return}if(!ut){Fe.ZP.info("\u540D\u79F0\u4E0D\u53EF\u4E3A\u7A7A");return}let yn=yield(0,ee.ZP)("/api/subject_knowledge.json",{method:"post",body:uo(Ao({},ke),{id:se,name:ut,routes:Qe})});(yn==null?void 0:yn.status)===0&&(Fe.ZP.info(se?"\u4FEE\u6539\u6210\u529F":"\u65B0\u589E\u6210\u529F"),fe(yn==null?void 0:yn.id,ut),ae(!1))}),okText:"\u5B8C\u6210\u521B\u5EFA",onCancel:()=>{ae(!1)}},ua.createElement(de.Z,{spinning:at},ua.createElement("div",{className:$a.body},ua.createElement(Jn.Z,{className:$a.spacewidth},ua.createElement(Jn.Z.Compact,null,ua.createElement(Pe.default,{addonBefore:ua.createElement("span",{className:$a.title},ua.createElement("span",{style:{color:"red"}},"*")," \u8DEF\u5F84\u540D\u79F0"),showCount:!0,maxLength:12,value:ut,onChange:on=>ft(on.target.value),style:{width:"100%"},size:"large",placeholder:"\u8F93\u5165\u5B66\u4E60\u8DEF\u5F84\u540D\u79F0",allowClear:!0}))),ua.createElement(Jn.Z,{className:$a.spacewidth,style:{marginTop:"20rem"}},ua.createElement(Jn.Z.Compact,null,ua.createElement("div",{className:$a.titlename},"\u77E5\u8BC6\u56FE\u8C31"),ua.createElement(Nr.default,{value:ke.uuid,onChange:on=>{ke.uuid=on,Vt()},disabled:se,style:{width:"90%"},size:"large"},(Te=je==null?void 0:je.parent_knowledges)==null?void 0:Te.map(on=>ua.createElement(Nr.default.Option,{value:on==null?void 0:on.uuid},on==null?void 0:on.knowledge_name))))),ua.createElement("div",{style:{marginTop:"20rem",background:"#D5F1EA",borderRadius:"8rem 8rem 0rem 0rem",height:"38rem",lineHeight:"38rem",padding:"0px 12rem"}},ua.createElement("span",{style:{color:"#1B8565",fontSize:"16rem",fontWeight:"500"}},"\u5B66\u4E60\u8DEF\u5F84"),ua.createElement("span",{style:{marginLeft:"10rem"}},"\uFF08\u62D6\u52A8\u53EF\u8C03\u6574\u8DEF\u5F84\u987A\u5E8F\uFF09")),(Qe==null?void 0:Qe.length)>0?ua.createElement(Xa.default,{style:{background:"#FAFAFA"},treeData:Qe,showLine:!0,blockNode:!0,fieldNames:{key:"id"},className:$a.treeheight,draggable:!0,onDragEnter:Xt,onDrop:vn,switcherIcon:ua.createElement(ai.Z,null),titleRender:on=>ua.createElement("div",{className:$a.nodeData,style:{color:on!=null&&on.is_out?"#999999":"#000000"}},ua.createElement("div",{className:$a.nametitle,title:on==null?void 0:on.name,style:{flex:1}},(on==null?void 0:on.is_out)&&ua.createElement("span",{className:$a.yc},"\u5DF2\u79FB\u51FA")," ",on==null?void 0:on.name),ua.createElement("span",{className:$a.yclj,style:{color:on!=null&&on.is_out?"#37AD83":"#E30000",fontSize:"14rem"},onClick:()=>{on.is_out=!on.is_out}},on!=null&&on.is_out?"\u52A0\u5165\u5B66\u4E60\u8DEF\u5F84":"\u79FB\u51FA\u5B66\u4E60\u8DEF\u5F84")," ")}):ua.createElement(Zr.Z,{styles:{margin:"20rem auto"}}))))};var qo=(0,be.connect)(({pathsDetail:E,user:a,loading:y,globalSetting:x})=>({pathsDetail:E,user:a,globalSetting:x,loading:y.models.index}))(po),Uo=Oe(54580),Wo=Oe(43428),Qr={flex_box_center:"flex_box_center___bAhU8",flex_space_between:"flex_space_between___fGcUL",flex_box_vertical_center:"flex_box_vertical_center___hqbFm",flex_box_center_end:"flex_box_center_end___h8cjt",flex_box_column:"flex_box_column___jkfSL",detailmodal:"detailmodal___KEy8k",title:"title___M0Bdn",button:"button___oEMiZ",drawer:"drawer___Pwq6m",tabstyle:"tabstyle___hGelr",items:"items___RrF7L",itemsactivite:"itemsactivite____kVzF",nodetitle:"nodetitle___UgLxl",nodeboyd:"nodeboyd___R1M87",listitem:"listitem___CjR4j",Tabs:"Tabs___gAkar",addmodal:"addmodal___KHvV4",gxcoent:"gxcoent___B8UeJ",gxtitle:"gxtitle___Ezw1C",Colortitle:"Colortitle___kChPm",gxbody:"gxbody___HmZPk",tag:"tag___b2Gak",form:"form___wY8YH",radioform:"radioform___RW7Fy",settingmodal:"settingmodal___LgbSA",body:"body___KaaXx",left:"left___BbRKH",header:"header___E8vej",treenode:"treenode___XViAn",hudong:"hudong___MzZbW",colortitle:"colortitle___PgqHg",right:"right___jzXCF",multiple:"multiple___GQEEM",settingtag:"settingtag___XVMCI",tree:"tree___zz_WU",select:"select___HL7_r",input:"input___reuVt",DetailStatistics:"DetailStatistics___v31Uq",xxrs:"xxrs___Q156g",xxrscount:"xxrscount___OdU60",righttop:"righttop___dnIBD",rightbottom:"rightbottom___B0s8j"},jo=Oe(99267),Ms=Oe(43531),js=Oe(15075),yo={tag:"tag___aXy_L",active:"active___kZOMC",tagsModal:"tagsModal___wsl_M",btn:"btn___S2nL4",modal:"modal___r3iAS",mHead:"mHead___imW9A",body:"body___fZUhx",add:"add___QHMDJ",error:"error___aJzBo"},ki=Oe(59301),Gs=Object.defineProperty,$i=Object.getOwnPropertySymbols,Go=Object.prototype.hasOwnProperty,No=Object.prototype.propertyIsEnumerable,Cs=(E,a,y)=>a in E?Gs(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,tl=(E,a)=>{for(var y in a||(a={}))Go.call(a,y)&&Cs(E,y,a[y]);if($i)for(var y of $i(a))No.call(a,y)&&Cs(E,y,a[y]);return E},nl=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});let hu=[{name:"\u4F5C\u4E1A",id:"zy",item_type:2},{name:"\u5B9E\u8BAD",id:"sx",item_type:2},{name:"\u6559\u6750",id:"jc",item_type:2},{name:"\u89C6\u9891",id:"sp",item_type:2},{name:"\u8BFE\u4EF6",id:"kj",item_type:2},{name:"\u8BD5\u5377",id:"sj",item_type:2},{name:"\u9898\u96C6",id:"tj",item_type:2}],_l=[{name:"\u7AE0\u8282",id:"zj",item_type:1},{name:"\u77E5\u8BC6\u70B9",id:"zsd",item_type:1}];var vs=({value:E=[],onChange:a,type:y,dataSources:x=[],pathsDetail:b={},showmodal:z,containerRef:te})=>{const[re,ae]=(0,Re.useState)(!1),[se,fe]=(0,Re.useState)([]),[me,Se]=(0,Re.useState)(),[Te,ke]=(0,Re.useState)(""),[We,je]=(0,Re.useState)(""),[Ke,Qe]=(0,Re.useState)(""),[Je,at]=(0,Re.useState)(!1),[ot,ut]=(0,Re.useState)(!1),[ft,lt]=(0,Re.useState)([]),[Dt,Bt]=(0,Re.useState)("");(0,Re.useEffect)(()=>{re&&Vt()},[re]);function Vt(){return nl(this,null,function*(){var yn;let En=yield(0,ee.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:y,subject_id:(yn=b==null?void 0:b.detail)==null?void 0:yn.id}});(En==null?void 0:En.status)===0&&(y===3?fe(En==null?void 0:En.data):(fe([..._l,...En==null?void 0:En.data]),lt([...hu,...En==null?void 0:En.data2])))})}const Xt=[{background:"#6236FF",borderColor:"#9D82FF"},{background:"#6DB9FF",borderColor:"#6DB9FF"},{background:"rgba(27,175,234,0.8)",borderColor:"#68D5FF"},{background:"#C1AC15",borderColor:"#DCC51C"},{background:"#E07E37",borderColor:"#F79046"},{background:"rgba(29,94,255,0.8)",borderColor:"#6D97FE"},{background:"#E75454",borderColor:"#FE8383"},{background:"#A557D8",borderColor:"#C57AF6"},{background:"#2CA768",borderColor:"#43CC86"},{background:"#1F9269",borderColor:"#38B588"},{background:"#CA7720",borderColor:"#E99338"},{background:"rgba(224,32,32,0.8)",borderColor:"#E02020"},{background:"rgba(255,126,15,0.8)",borderColor:"#FF7E0F"},{background:"rgba(29,94,255,0.8)",borderColor:"#1D5EFF"},{background:"#2BAC8E",borderColor:"#30CB9D"},{background:"#EE5D5D",borderColor:"#FF8181"},{background:"#7E5AFE",borderColor:"#9173FA"},{background:"#3ABCEF",borderColor:"#6FD6FF"},{background:"#B132C2",borderColor:"#C57AF6"},{background:"#46A4FB",borderColor:"#72BBFF"},{background:"#C1AC15",borderColor:"#DCC51C"},{background:"#E07E37",borderColor:"#F79046"},{background:"#1D5EFF",borderColor:"#6D97FE"},{background:"#2CA768",borderColor:"#43CC86"},{background:"#A557D8",borderColor:"#C57AF6"},{background:"#1F9269",borderColor:"#38B588"},{background:"#CA7720",borderColor:"#E99338"}],vn="\u6807\u7B7E";(0,Re.useEffect)(()=>{fe(x)},[]),(0,Re.useEffect)(()=>{re&&Se(E)},[re]);const on=({title:yn="",style:En={},values:Pn="",showDelete:or=!0,modal:xn=!1,active:yr=!1})=>{const ea=(Yr=>Yr.split("").reduce((fa,Ia)=>fa+Ia.charCodeAt(0),0))(yn)%Xt.length,{background:jr,borderColor:Or}=Xt[ea];return ki.createElement("div",{className:zn()(yo.tag,yr?yo.active:""),onClick:()=>{var Yr;if(xn){if(re===1){let fa=[...se,...ft];Se([...fa.filter(Ia=>(Ia==null?void 0:Ia.id)===Pn)])}re===2&&((Yr=me==null?void 0:me.map(fa=>fa.id))!=null&&Yr.includes(Pn)?Se(me.filter(fa=>fa.id!==Pn)):Se([...me,...se.filter(fa=>(fa==null?void 0:fa.id)===Pn)]))}},style:tl({background:jr,borderColor:Or},En)},ki.createElement("span",null,yn),or&&ki.createElement("i",{onClick:Yr=>nl(void 0,null,function*(){var fa;if(Yr.stopPropagation(),xn){fe(se.filter(oi=>oi.name!==yn)),fe(se.filter(oi=>oi.name!==yn));let Ia=yield(0,ee.ZP)(`/api/knowledge_items/${Pn}.json`,{method:"delete",body:{id:Pn,subject_id:(fa=b==null?void 0:b.detail)==null?void 0:fa.id}});(Ia==null?void 0:Ia.status)===0&&Vt()}else a(E.filter(Ia=>Ia.id!==Pn))}),className:"iconfont icon-shanchu5"}))},wn=()=>{a(me),ae(!1)},qn=yn=>nl(void 0,null,function*(){var En;if(!Te.replace(/\s+/g,"")&&yn===1){Qe(`${vn}\u4E0D\u80FD\u4E3A\u7A7A`);return}if(!We.replace(/\s+/g,"")&&yn===2){Bt("\u8D44\u6E90\u4E0D\u80FD\u4E3A\u7A7A");return}if((se.map(or=>or.name).includes(Te)||ft.map(or=>or.name).includes(Te))&&yn===1){Qe(`\u8BE5${vn}\u5DF2\u5B58\u5728\uFF0C\u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0\uFF01`);return}if((ft.map(or=>or.name).includes(We)||se.map(or=>or.name).includes(We))&&yn===2){Bt("\u8BE5\u8D44\u6E90\u5DF2\u5B58\u5728\uFF0C\u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0\uFF01");return}let Pn=yield(0,ee.ZP)("/api/knowledge_items.json",{method:"post",body:{item_type:y===3?3:yn,name:y===3||yn===1?Te:We,subject_id:(En=b==null?void 0:b.detail)==null?void 0:En.id}});(Pn==null?void 0:Pn.status)===0&&Vt(),yn===1&&at(!1),yn===2&&ut(!1)});return ki.createElement("div",{className:yo.tagsModal},y===5&&ki.createElement(ki.Fragment,null,E==null?void 0:E.map((yn,En)=>ki.createElement(on,{values:yn.id,key:En,title:yn.name,showDelete:!1,style:{marginRight:"20rem",marginBottom:0}})),z&&ki.createElement("div",{onClick:()=>ae(1),style:{marginBottom:"0rem"},className:yo.btn},ki.createElement("i",{className:"iconfont icon-genghuanguanliyuan1"}),E!=null&&E.length?"\u66F4\u6362":"\u9009\u62E9","\u7C7B\u578B")),y===3&&ki.createElement(ki.Fragment,null,E==null?void 0:E.map((yn,En)=>ki.createElement(on,{values:yn.id,key:En,title:yn.name})),z&&ki.createElement("div",{onClick:()=>ae(2),className:yo.btn,style:{marginBottom:"10rem"}},ki.createElement("i",{className:"iconfont icon-tianjiatixing"}),E!=null&&E.length?"\u66F4\u6362":"\u9009\u62E9","\u6807\u7B7E")),ki.createElement(Ce.default,{open:!!re,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",getContainer:()=>te.current,onCancel:()=>ae(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{at(!1),ut(!1),Qe(""),ke("")},onOk:wn,title:`\u9009\u62E9${vn}`},ki.createElement("div",{className:yo.modal},ki.createElement("div",{className:yo.mHead},ki.createElement("b",null),ki.createElement("span",null,`${vn}`,"\uFF08",se.length,"\uFF09"),ki.createElement("div",{onClick:()=>{at(!0),Qe(""),ke("")},className:yo.btn},ki.createElement("i",{className:"iconfont icon-tianjiatixing"}),"\u6DFB\u52A0")),ki.createElement("div",{className:yo.body},se==null?void 0:se.map((yn,En)=>{var Pn,or,xn;return ki.createElement(on,{showDelete:y===3?!((Pn=me==null?void 0:me.map(yr=>yr==null?void 0:yr.id))!=null&&Pn.includes(yn==null?void 0:yn.id)):!((or=me==null?void 0:me.map(yr=>yr==null?void 0:yr.id))!=null&&or.includes(yn==null?void 0:yn.id))&&!((xn=_l.map(yr=>yr.name))!=null&&xn.includes(yn.name)),modal:!0,style:{cursor:"pointer"},active:me==null?void 0:me.map(yr=>yr==null?void 0:yr.id).includes(yn==null?void 0:yn.id),key:yn==null?void 0:yn.id,values:yn==null?void 0:yn.id,title:yn==null?void 0:yn.name})}),Je&&ki.createElement("div",{className:yo.add},ki.createElement(Pe.default,{style:{width:"rem"},size:"large",value:Te,onChange:yn=>{Qe(""),ke(yn.target.value)}}),ki.createElement("i",{onClick:()=>qn(1),className:"iconfont icon-dui",style:{color:"#1B8565"}}),ki.createElement("i",{onClick:()=>at(!1),className:"iconfont icon-shanchu10",style:{color:"#9096A3"}}),!!Ke&&ki.createElement("div",{className:yo.error},Ke)))),y===5&&ki.createElement("div",{className:yo.modal},ki.createElement("div",{className:yo.mHead},ki.createElement("b",null),ki.createElement("span",null,"\u8D44\u6E90","\uFF08",ft.length,"\uFF09"),ki.createElement("div",{onClick:()=>{ut(!0),Bt(""),je("")},className:yo.btn},ki.createElement("i",{className:"iconfont icon-tianjiatixing"}),"\u6DFB\u52A0")),ki.createElement("div",{className:yo.body},ft==null?void 0:ft.map((yn,En)=>{var Pn,or;return ki.createElement(on,{showDelete:!((Pn=me==null?void 0:me.map(xn=>xn==null?void 0:xn.id))!=null&&Pn.includes(yn==null?void 0:yn.id))&&!((or=hu.map(xn=>xn.name))!=null&&or.includes(yn.name)),modal:!0,style:{cursor:"pointer"},active:me==null?void 0:me.map(xn=>xn==null?void 0:xn.id).includes(yn==null?void 0:yn.id),key:yn==null?void 0:yn.id,values:yn==null?void 0:yn.id,title:yn==null?void 0:yn.name})}),ot&&ki.createElement("div",{className:yo.add},ki.createElement(Pe.default,{style:{width:"rem"},size:"large",value:We,onChange:yn=>{Bt(""),je(yn.target.value)}}),ki.createElement("i",{onClick:()=>qn(2),className:"iconfont icon-dui",style:{color:"#1B8565"}}),ki.createElement("i",{onClick:()=>ut(!1),className:"iconfont icon-shanchu10",style:{color:"#9096A3"}}),!!Dt&&ki.createElement("div",{className:yo.error},Dt))))))},Fl=Oe(1710),Su=Oe(71628),Ps=Oe(59301),Ku=Object.getOwnPropertySymbols,Bi=Object.prototype.hasOwnProperty,za=Object.prototype.propertyIsEnumerable,Ua=(E,a)=>{var y={};for(var x in E)Bi.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&Ku)for(var x of Ku(E))a.indexOf(x)<0&&za.call(E,x)&&(y[x]=E[x]);return y},ja=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});let Wi=[{label:"\u5B9E\u8BAD",key:"1"},{label:"\u89C6\u9891",key:"2"},{label:"\u8BFE\u4EF6",key:"3"},{label:"\u8BD5\u5377",key:"4"}];const xo=E=>{var a=E,{types:y,globalSetting:x,loading:b,dispatch:z,pathsDetail:te,onChange:re,ktzykey:ae,getother:se}=a,fe=Ua(a,["types","globalSetting","loading","dispatch","pathsDetail","onChange","ktzykey","getother"]),me,Se,Te,ke;let[We,je]=(0,Re.useState)({page:1,limit:10,type:y,keyword:"",select_type:1,subject_id:"",course_id:""});const[Ke,Qe]=(0,Re.useState)([]);(0,Re.useEffect)(()=>{Je()},[y]);function Je(){return ja(this,null,function*(){We.select_type===3&&(We.subject_id="",We.course_id=""),We.select_type===2&&(We.subject_id=""),We.select_type===1&&(We.course_id="");let at=yield(0,ee.ZP)("/api/paths/search_all.json",{method:"get",params:We});(at==null?void 0:at.status)===0&&Qe(at)})}return Ps.createElement("div",{style:{padding:"10rem 20rem"}},Ps.createElement("div",{style:{display:"flex"}},Ps.createElement("div",null,y==="1"&&Ps.createElement(Pe.default,{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u67E5\u8BE2",style:{width:"992rem",marginRight:"10rem",height:"40rem"},onChange:at=>{We.keyword=at.target.value,We.page=1,We.limit=10,je(We)}}),y!=="1"&&Ps.createElement("div",{style:{display:"flex"}},Ps.createElement("div",{style:{width:"223rem",alignItems:"center",display:"flex",height:"40rem"}},Ps.createElement("span",{style:{width:"92rem",border:"1rem solid #DCDCDC",borderRightStyle:"none",background:"#F6F7F9",height:"40rem",display:"flex",alignItems:"center",justifyContent:"center",lineHeight:"40rem",fontSize:"16rem",color:"#666666"}},"\u6240\u5728\u4F4D\u7F6E"),Ps.createElement(Nr.default,{value:We.select_type,onChange:at=>{We.select_type=at,We.page=1,We.limit=10,je(We),Je()},className:Qr.select,style:{width:"131rem"}},Ps.createElement(Nr.default.Option,{value:1},"\u5B9E\u8DF5\u8BFE\u7A0B"),Ps.createElement(Nr.default.Option,{value:2},"\u6559\u5B66\u8BFE\u5802"),Ps.createElement(Nr.default.Option,{value:3},"\u4E2A\u4EBA\u4E2D\u5FC3"))),We.select_type!==3&&Ps.createElement(Nr.default,{value:We.subject_id||We.course_id,onChange:at=>{We.course_id=at,We.subject_id=at,We.page=1,We.limit=10,je(We),Je()},className:Qr.select,style:{width:"270rem",marginLeft:"8rem"}},We.select_type===1&&((me=Ke==null?void 0:Ke.subjects)==null?void 0:me.map(at=>Ps.createElement(Nr.default.Option,{value:at.id},at.name))),We.select_type===2&&((Se=Ke==null?void 0:Ke.courses)==null?void 0:Se.map(at=>Ps.createElement(Nr.default.Option,{value:at.id},at.name)))),Ps.createElement(Pe.default,{onChange:at=>{We.keyword=at.target.value,We.page=1,We.limit=10,je(We)},addonBefore:((Te=Wi==null?void 0:Wi.find(at=>at.key===y))==null?void 0:Te.label)+"\u540D\u79F0",className:Qr.input,style:{marginLeft:"10rem",width:"486rem",height:"40rem"}}))),Ps.createElement(ve.ZP,{type:"primary",style:{height:"40rem",fontSize:"14rem",boxShadow:"none",lineHeight:"40rem",width:"108rem",padding:"0",marginLeft:"10rem"},onClick:()=>{Je()}},"\u67E5\u8BE2")),Ps.createElement(Fl.default,{style:{marginTop:"10rem"},dataSource:Ke==null?void 0:Ke.data,pagination:!1,rowKey:at=>at.id,scroll:{y:"400rem"},columns:[{title:((ke=Wi==null?void 0:Wi.find(at=>at.key===y))==null?void 0:ke.label)+"\u540D\u79F0",dataIndex:"name",ellipsis:!0,key:"name"},{title:y==="1"?"\u5408\u4F5C\u8005":"\u6240\u5C5E\u6A21\u5757",dataIndex:"name",key:"name",ellipsis:!0,render:(at,ot)=>Ps.createElement("span",null,y==="1"?ot==null?void 0:ot.user_names:ot==null?void 0:ot.model)},{title:y==="1"?"\u6700\u8FD1\u4FEE\u6539\u65F6\u95F4":"\u6240\u5728\u4F4D\u7F6E",dataIndex:"updated_at",ellipsis:!0,render:(at,ot)=>Ps.createElement("span",null,y==="1"?ot==null?void 0:ot.updated_at:ot==null?void 0:ot.stage_name)},{title:"\u64CD\u4F5C",dataIndex:"url",width:"100rem",render:(at,ot)=>Ps.createElement("a",{onClick:()=>{(ot==null?void 0:ot.container_type)==="Video"?Ce.default.confirm({icon:null,title:"\u89C6\u9891\u64AD\u653E",centered:!0,closable:!0,footer:!1,width:600,content:Ps.createElement(Su.Z,{allow_skip:!0,src:at})}):y==="3"?se(at):window.open(at)}},"\u67E5\u770B")}],rowSelection:{type:"radio",onChange(at,ot){re(ot)}}}),Ps.createElement(rn.Z,{hideOnSinglePage:!0,style:{marginTop:"20rem"},total:Ke==null?void 0:Ke.total_count,current:We==null?void 0:We.page,pageSize:We==null?void 0:We.limit,onChange:(at,ot)=>{We.page=at,We.limit=ot,je(We),Je()}}))};var es=(0,be.connect)(({pathsDetail:E,user:a,loading:y,globalSetting:x})=>({pathsDetail:E,user:a,globalSetting:x,loading:y.models.index}))(xo),ss=Oe(84105),fi=Oe(59301),Ts=Object.defineProperty,kl=Object.defineProperties,Ks=Object.getOwnPropertyDescriptors,so=Object.getOwnPropertySymbols,Ro=Object.prototype.hasOwnProperty,ms=Object.prototype.propertyIsEnumerable,So=(E,a,y)=>a in E?Ts(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,ts=(E,a)=>{for(var y in a||(a={}))Ro.call(a,y)&&So(E,y,a[y]);if(so)for(var y of so(a))ms.call(a,y)&&So(E,y,a[y]);return E},Vs=(E,a)=>kl(E,Ks(a)),zs=(E,a)=>{var y={};for(var x in E)Ro.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&so)for(var x of so(E))a.indexOf(x)<0&&ms.call(E,x)&&(y[x]=E[x]);return y},bu=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});const gu=E=>{var a=E,{typesdata:y,globalSetting:x,loading:b,dispatch:z,pathsDetail:te,onChange:re,uuid:ae,itemsuuid:se}=a,fe=zs(a,["typesdata","globalSetting","loading","dispatch","pathsDetail","onChange","uuid","itemsuuid"]),me,Se,Te,ke,We,je,Ke,Qe,Je,at,ot,ut;let[ft,lt]=(0,Re.useState)([]),[Dt,Bt]=(0,Re.useState)(!1);const[Vt,Xt]=(0,Re.useState)([]),[vn,on]=(0,Re.useState)(""),[wn,qn]=(0,Re.useState)(""),[yn,En]=(0,Re.useState)([]),[Pn,or]=(0,Re.useState)(!1);let[xn,yr]=(0,Re.useState)({bh:[],qx:[],hx:[],gl:[]});(0,Re.useEffect)(()=>{na()},[ae]),(0,Re.useEffect)(()=>{if(y){let Or=JSON.parse(sessionStorage.getItem("typesdatajsoncopy"));yr(Or)}return()=>{}},[y]);function na(){return bu(this,null,function*(){var Or,Yr,fa,Ia,oi,Eo;Bt(!0);let to=yield(0,ee.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:ae,subject_id:(Or=te==null?void 0:te.detail)==null?void 0:Or.id,depth:-1,relationshipFilter:"\u5305\u542B>"}});if(Bt(!1),(to==null?void 0:to.status)===0){Xt(to==null?void 0:to.data);const Qi=[...(0,vt.fX)((fa=(Yr=to==null?void 0:to.data)==null?void 0:Yr.nodes)==null?void 0:fa.map((Ri,Ji)=>{var lo,Xo;return Vs(ts({},Ri),{key:(lo=Ri==null?void 0:Ri.properties)==null?void 0:lo.uuid,title:(Xo=Ri==null?void 0:Ri.properties)==null?void 0:Xo.name})}),(Eo=(oi=(Ia=to==null?void 0:to.data)==null?void 0:Ia.relationships)==null?void 0:oi.filter(Ri=>Ri.type==="\u5305\u542B"||Ri.type==="\u524D\u5E8F"))==null?void 0:Eo.filter((Ri,Ji,lo)=>Ji===lo.findIndex(Xo=>Xo.endNodeUuid===Ri.endNodeUuid))).children||[]];ft=Qi,qn(JSON.stringify(Qi)),lt(Qi)}})}(0,Re.useEffect)(()=>{re(xn)},[xn]);function ea(Or,Yr,fa){for(let Ia of Or)Ia!=null&&Ia.title.includes(Yr)&&fa.push(Ia),Ia.children&&Ia.children.length>0&&(ea(Ia.children,Yr,fa),jr(Ia.children,Yr,fa)&&fa.push(Ia))}function jr(Or,Yr,fa){for(let Ia of Or)if(Ia!=null&&Ia.title.includes(Yr))return!0}return fi.createElement(de.Z,{spinning:Dt},fi.createElement("div",{className:Qr.body},fi.createElement("div",{className:Qr.left},fi.createElement("div",{className:Qr.header},fi.createElement("div",null,"\u5171",fi.createElement("span",{style:{color:"#1B8565"}},((Se=(me=Vt==null?void 0:Vt.metricCounters)==null?void 0:me[0])==null?void 0:Se.count)||0),"\u4E2A\u6807\u7B7E\u8282\u70B9\uFF0C",fi.createElement("span",{style:{color:"#1B8565"}},((ke=(Te=Vt==null?void 0:Vt.metricCounters)==null?void 0:Te[1])==null?void 0:ke.count)||0),"\u4E2A\u77E5\u8BC6\u8282\u70B9"),fi.createElement(Pe.default.Search,{style:{width:"350rem",borderRadius:"50%"},onChange:Or=>{var Yr,fa,Ia;const{value:oi}=Or.target;on(oi);let Eo=[];ea(JSON.parse(wn),oi,Eo),Eo.push((Yr=Vt==null?void 0:Vt.nodes)==null?void 0:Yr[0]);const to=Vt==null?void 0:Vt.nodes.filter(Ri=>{var Ji;return((Ji=Ri==null?void 0:Ri.properties)==null?void 0:Ji.name.indexOf(oi))>-1}).map(Ri=>{var Ji;return(Ji=Ri==null?void 0:Ri.properties)==null?void 0:Ji.uuid});En(to);const Qi=[...(0,vt.fX)(Eo,(Ia=(fa=Vt==null?void 0:Vt.relationships)==null?void 0:fa.filter(Ri=>Ri.type==="\u5305\u542B"||Ri.type==="\u524D\u5E8F"))==null?void 0:Ia.filter((Ri,Ji,lo)=>Ji===lo.findIndex(Xo=>Xo.endNodeUuid===Ri.endNodeUuid)).filter(Ri=>(Eo==null?void 0:Eo.map(Ji=>Ji==null?void 0:Ji.key).includes(Ri.endNodeUuid))||(Eo==null?void 0:Eo.map(Ji=>Ji==null?void 0:Ji.key).includes(Ri.startNodeUuid)))).children||[]];ft=Qi,lt(Qi),or(!0)},placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22"})),fi.createElement(Xa.default,{style:{marginTop:"30rem",maxHeight:"320rem",overflow:"auto"},showLine:!0,treeData:ft,className:Qr.tree,expandedKeys:yn,onExpand:Or=>{En(Or),or(!1)},autoExpandParent:Pn,blockNode:!0,switcherIcon:fi.createElement(ss.Z,null),titleRender:Or=>{var Yr,fa,Ia,oi,Eo,to,ri,Qi,Ri,Ji,lo,Xo,Oo,si,Di;return fi.createElement("div",{className:Qr.treenode,key:(Yr=Or==null?void 0:Or.properties)==null?void 0:Yr.uuid},fi.createElement("div",{style:{width:"50%",display:"flex",alignItems:"center"}},((fa=xn==null?void 0:xn.bh)==null?void 0:fa.find(ya=>{var La;return(ya==null?void 0:ya.uuid)===((La=Or==null?void 0:Or.properties)==null?void 0:La.uuid)}))&&fi.createElement("span",{className:Qr.settingtag,style:{background:"#6236ff"}},"\u5305\u542B"),((Ia=xn==null?void 0:xn.qx)==null?void 0:Ia.find(ya=>{var La;return(ya==null?void 0:ya.uuid)===((La=Or==null?void 0:Or.properties)==null?void 0:La.uuid)}))&&fi.createElement("span",{className:Qr.settingtag,style:{background:"#24A881"}},"\u524D\u7F6E"),((oi=xn==null?void 0:xn.hx)==null?void 0:oi.find(ya=>{var La;return(ya==null?void 0:ya.uuid)===((La=Or==null?void 0:Or.properties)==null?void 0:La.uuid)}))&&fi.createElement("span",{className:Qr.settingtag,style:{background:"#EC8657"}},"\u540E\u7F6E"),((Eo=xn==null?void 0:xn.gl)==null?void 0:Eo.find(ya=>{var La;return(ya==null?void 0:ya.uuid)===((La=Or==null?void 0:Or.properties)==null?void 0:La.uuid)}))&&fi.createElement("span",{className:Qr.settingtag,style:{background:"#497DFF"}},"\u5173\u8054"),fi.createElement("div",{className:Qr.multiple,title:Or==null?void 0:Or.title,dangerouslySetInnerHTML:{__html:(to=Or==null?void 0:Or.title)==null?void 0:to.replaceAll(vn,`<span style= "color: #00B187" >${vn}</span>`)},style:{width:"100%",fontSize:"14rem",color:"#000",fontWeight:400}})),fi.createElement("div",{className:Qr.hudong},!((ri=xn==null?void 0:xn.qx)!=null&&ri.find(ya=>{var La;return(ya==null?void 0:ya.uuid)===((La=Or==null?void 0:Or.properties)==null?void 0:La.uuid)})||(Qi=xn==null?void 0:xn.bh)!=null&&Qi.find(ya=>{var La;return(ya==null?void 0:ya.uuid)===((La=Or==null?void 0:Or.properties)==null?void 0:La.uuid)})||(Ri=xn==null?void 0:xn.hx)!=null&&Ri.find(ya=>{var La;return(ya==null?void 0:ya.uuid)===((La=Or==null?void 0:Or.properties)==null?void 0:La.uuid)})||(Ji=xn==null?void 0:xn.gl)!=null&&Ji.find(ya=>{var La;return(ya==null?void 0:ya.uuid)===((La=Or==null?void 0:Or.properties)==null?void 0:La.uuid)}))&&se!==((lo=Or==null?void 0:Or.properties)==null?void 0:lo.uuid)&&fi.createElement("div",null,fi.createElement("span",{onClick:()=>{var ya,La,Ya,zi;if(!(((La=(ya=xn==null?void 0:xn.bh)==null?void 0:ya.filter(Ca=>{var oo;return(Ca==null?void 0:Ca.uuid)===((oo=Or==null?void 0:Or.properties)==null?void 0:oo.uuid)}))==null?void 0:La.length)>0)){let Ca=[];Ca.push({name:(Ya=Or==null?void 0:Or.properties)==null?void 0:Ya.name,uuid:(zi=Or==null?void 0:Or.properties)==null?void 0:zi.uuid}),yr({bh:[...Ca,...xn==null?void 0:xn.bh],qx:xn==null?void 0:xn.qx,hx:xn==null?void 0:xn.hx,gl:xn==null?void 0:xn.gl})}},className:Qr.colortitle,style:{marginRight:"20rem"}},"\u8BBE\u4E3A\u5305\u542B"),fi.createElement("span",{onClick:()=>{var ya,La,Ya,zi;if(!(((La=(ya=xn==null?void 0:xn.qx)==null?void 0:ya.filter(Ca=>{var oo;return(Ca==null?void 0:Ca.uuid)===((oo=Or==null?void 0:Or.properties)==null?void 0:oo.uuid)}))==null?void 0:La.length)>0)){let Ca=[];Ca.push({name:(Ya=Or==null?void 0:Or.properties)==null?void 0:Ya.name,uuid:(zi=Or==null?void 0:Or.properties)==null?void 0:zi.uuid}),yr({qx:[...Ca,...xn==null?void 0:xn.qx],hx:xn==null?void 0:xn.hx,bh:xn==null?void 0:xn.bh,gl:xn==null?void 0:xn.gl})}},className:Qr.colortitle},"\u8BBE\u4E3A\u524D\u7F6E"),fi.createElement("span",{onClick:()=>{var ya,La,Ya,zi;if(!(((La=(ya=xn==null?void 0:xn.hx)==null?void 0:ya.filter(Ca=>{var oo;return(Ca==null?void 0:Ca.uuid)===((oo=Or==null?void 0:Or.properties)==null?void 0:oo.uuid)}))==null?void 0:La.length)>0)){let Ca=[];Ca.push({name:(Ya=Or==null?void 0:Or.properties)==null?void 0:Ya.name,uuid:(zi=Or==null?void 0:Or.properties)==null?void 0:zi.uuid}),yr({qx:xn==null?void 0:xn.qx,hx:[...Ca,...xn==null?void 0:xn.hx],bh:xn==null?void 0:xn.bh,gl:xn==null?void 0:xn.gl})}},style:{margin:"0rem 20rem"},className:Qr.colortitle},"\u8BBE\u4E3A\u540E\u7F6E"),fi.createElement("span",{onClick:()=>{var ya,La,Ya,zi;if(!(((La=(ya=xn==null?void 0:xn.gl)==null?void 0:ya.filter(Ca=>{var oo;return(Ca==null?void 0:Ca.uuid)===((oo=Or==null?void 0:Or.properties)==null?void 0:oo.uuid)}))==null?void 0:La.length)>0)){let Ca=[];Ca.push({name:(Ya=Or==null?void 0:Or.properties)==null?void 0:Ya.name,uuid:(zi=Or==null?void 0:Or.properties)==null?void 0:zi.uuid}),yr({qx:xn==null?void 0:xn.qx,hx:xn==null?void 0:xn.hx,gl:[...Ca,...xn==null?void 0:xn.gl],bh:xn==null?void 0:xn.bh})}},className:Qr.colortitle},"\u8BBE\u4E3A\u5173\u8054")),fi.createElement("span",{onClick:()=>{var ya;let La=(ya=xn==null?void 0:xn.bh)==null?void 0:ya.filter(Ya=>{var zi;return Ya.uuid!==((zi=Or==null?void 0:Or.properties)==null?void 0:zi.uuid)});yr({bh:La,hx:xn==null?void 0:xn.hx,qx:xn==null?void 0:xn.qx,gl:xn==null?void 0:xn.gl})}},((Xo=xn==null?void 0:xn.bh)==null?void 0:Xo.find(ya=>{var La;return(ya==null?void 0:ya.uuid)===((La=Or==null?void 0:Or.properties)==null?void 0:La.uuid)}))&&"\u53D6\u6D88\u5305\u542B"),fi.createElement("span",{onClick:()=>{var ya;let La=(ya=xn==null?void 0:xn.qx)==null?void 0:ya.filter(Ya=>{var zi;return Ya.uuid!==((zi=Or==null?void 0:Or.properties)==null?void 0:zi.uuid)});yr({qx:La,hx:xn==null?void 0:xn.hx,bh:xn==null?void 0:xn.bh,gl:xn==null?void 0:xn.gl})}},((Oo=xn==null?void 0:xn.qx)==null?void 0:Oo.find(ya=>{var La;return(ya==null?void 0:ya.uuid)===((La=Or==null?void 0:Or.properties)==null?void 0:La.uuid)}))&&"\u53D6\u6D88\u524D\u7F6E"),fi.createElement("span",{onClick:()=>{var ya;let La=(ya=xn==null?void 0:xn.hx)==null?void 0:ya.filter(Ya=>{var zi;return Ya.uuid!==((zi=Or==null?void 0:Or.properties)==null?void 0:zi.uuid)});yr({qx:xn==null?void 0:xn.qx,hx:La,bh:xn==null?void 0:xn.bh,gl:xn==null?void 0:xn.gl})}},((si=xn==null?void 0:xn.hx)==null?void 0:si.find(ya=>{var La;return(ya==null?void 0:ya.uuid)===((La=Or==null?void 0:Or.properties)==null?void 0:La.uuid)}))&&"\u53D6\u6D88\u540E\u7F6E"),fi.createElement("span",{onClick:()=>{var ya;let La=(ya=xn==null?void 0:xn.gl)==null?void 0:ya.filter(Ya=>{var zi;return Ya.uuid!==((zi=Or==null?void 0:Or.properties)==null?void 0:zi.uuid)});yr({qx:xn==null?void 0:xn.qx,hx:xn==null?void 0:xn.hx,bh:xn==null?void 0:xn.bh,gl:La})}},((Di=xn==null?void 0:xn.gl)==null?void 0:Di.find(ya=>{var La;return(ya==null?void 0:ya.uuid)===((La=Or==null?void 0:Or.properties)==null?void 0:La.uuid)}))&&"\u53D6\u6D88\u5173\u8054")))}})),fi.createElement("div",{className:Qr.right},fi.createElement("div",{className:Qr.title},"\u5DF2\u5173\u8054\u5173\u7CFB"),fi.createElement("div",{style:{padding:"20rem 25rem"}},fi.createElement("div",{className:Qr.gxtitle},fi.createElement("div",{className:Qr.Colortitle,style:{background:"#6236ff"}}),fi.createElement("div",null,"\u88AB\u5305\u542B\uFF08",(We=xn.bh)==null?void 0:We.length,"\uFF09")),fi.createElement("div",{className:Qr.gxbody},(je=xn==null?void 0:xn.bh)==null?void 0:je.map(Or=>fi.createElement("div",{className:Qr.tag,style:{background:"#6236ff"}},fi.createElement("span",{style:{marginRight:"10rem"}},Or==null?void 0:Or.name)," ",fi.createElement(jo.Z,{onClick:()=>{var Yr;let fa=(Yr=xn==null?void 0:xn.bh)==null?void 0:Yr.filter(Ia=>Ia.uuid!==Or.uuid);yr({bh:fa,hx:xn==null?void 0:xn.hx,qx:xn==null?void 0:xn.qx,gl:xn==null?void 0:xn.gl})}})))),fi.createElement("div",{className:Qr.gxtitle,style:{marginTop:"30rem"}},fi.createElement("div",{className:Qr.Colortitle,style:{background:"#24A881"}}),fi.createElement("div",null,"\u524D\u5E8F\uFF08",(Ke=xn.qx)==null?void 0:Ke.length,"\uFF09")),fi.createElement("div",{className:Qr.gxbody},(Qe=xn==null?void 0:xn.qx)==null?void 0:Qe.map(Or=>fi.createElement("div",{className:Qr.tag,style:{background:"#24A881"}},fi.createElement("span",{style:{marginRight:"10rem"}},Or==null?void 0:Or.name)," ",fi.createElement(jo.Z,{onClick:()=>{var Yr;let fa=(Yr=xn==null?void 0:xn.qx)==null?void 0:Yr.filter(Ia=>Ia.uuid!==Or.uuid);yr({qx:fa,hx:xn==null?void 0:xn.hx,bh:xn==null?void 0:xn.bh,gl:xn==null?void 0:xn.gl})}})))),fi.createElement("div",{className:Qr.gxtitle,style:{marginTop:"30rem"}},fi.createElement("div",{className:Qr.Colortitle,style:{background:"#EC8657"}}),fi.createElement("div",null,"\u540E\u5E8F\uFF08",(Je=xn.hx)==null?void 0:Je.length,"\uFF09")),fi.createElement("div",{className:Qr.gxbody},(at=xn==null?void 0:xn.hx)==null?void 0:at.map(Or=>fi.createElement("div",{className:Qr.tag,style:{background:"#EC8657"}},fi.createElement("span",{style:{marginRight:"10rem"}},Or==null?void 0:Or.name)," ",fi.createElement(jo.Z,{onClick:()=>{var Yr;let fa=(Yr=xn==null?void 0:xn.hx)==null?void 0:Yr.filter(Ia=>Ia.uuid!==Or.uuid);yr({qx:xn==null?void 0:xn.qx,bh:xn==null?void 0:xn.bh,hx:fa,gl:xn==null?void 0:xn.gl})}})))),fi.createElement("div",{className:Qr.gxtitle,style:{marginTop:"30rem"}},fi.createElement("div",{className:Qr.Colortitle,style:{background:"#497DFF"}}),fi.createElement("div",null,"\u5173\u8054\uFF08",(ot=xn.gl)==null?void 0:ot.length,"\uFF09")),fi.createElement("div",{className:Qr.gxbody},(ut=xn==null?void 0:xn.gl)==null?void 0:ut.map(Or=>fi.createElement("div",{className:Qr.tag,style:{background:"#497DFF"}},fi.createElement("span",{style:{marginRight:"10rem"}},Or==null?void 0:Or.name)," ",fi.createElement(jo.Z,{onClick:()=>{var Yr;let fa=(Yr=xn==null?void 0:xn.gl)==null?void 0:Yr.filter(Ia=>Ia.uuid!==Or.uuid);yr({qx:xn==null?void 0:xn.qx,bh:xn==null?void 0:xn.bh,hx:xn==null?void 0:xn.hx,gl:fa})}}))))))))};var Yc=(0,be.connect)(({pathsDetail:E,user:a,loading:y,globalSetting:x})=>({pathsDetail:E,user:a,globalSetting:x,loading:y.models.index}))(gu),md=Oe(89392),Zu=Oe(73898),vu=Oe(60224),pd=Oe(59301),yd=Object.getOwnPropertySymbols,Xc=Object.prototype.hasOwnProperty,jd=Object.prototype.propertyIsEnumerable,Oh=(E,a)=>{var y={};for(var x in E)Xc.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&yd)for(var x of yd(E))a.indexOf(x)<0&&jd.call(E,x)&&(y[x]=E[x]);return y},_g=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});const Th=[3,2,1];let Ed=null;const Qu=E=>{var a=E,{pathsDetail:y,user:x,globalSetting:b,loading:z,dispatch:te,datas:re,items:ae}=a,se=Oh(a,["pathsDetail","user","globalSetting","loading","dispatch","datas","items"]);const fe=(0,Re.useRef)(),me=(0,Re.useRef)(),Se=(0,Re.useRef)(null);(0,Re.useEffect)(()=>{ke()},[re]),(0,Re.useEffect)(()=>(window.addEventListener("resize",Te),()=>{window.removeEventListener("resize",Te)}),[]);function Te(){var We,je;(je=(We=fe.current)==null?void 0:We.update)==null||je.call(We)}function ke(){return _g(this,null,function*(){var We,je,Ke,Qe,Je,at,ot,ut;if(((We=re==null?void 0:re.nodes)==null?void 0:We.length)>0){let ft=(je=re==null?void 0:re.nodes)==null?void 0:je.filter(Dt=>{var Bt;return ae==null?void 0:ae.includes((Bt=Dt==null?void 0:Dt.properties)==null?void 0:Bt.uuid)}).map(Dt=>{var Bt,Vt,Xt,vn,on,wn,qn,yn,En,Pn,or,xn;return{rootNodeUuid:(Bt=Dt==null?void 0:Dt.properties)==null?void 0:Bt.rootNodeUuid,id:((Vt=Dt==null?void 0:Dt.properties)==null?void 0:Vt.uuid)+"_",name:(Xt=Dt==null?void 0:Dt.properties)==null?void 0:Xt.name,description:(vn=Dt==null?void 0:Dt.properties)==null?void 0:vn.description,nodeType:(on=Dt==null?void 0:Dt.properties)==null?void 0:on.nodeType,tags:((wn=Dt==null?void 0:Dt.properties)==null?void 0:wn.tags)&&((En=(yn=(qn=Dt==null?void 0:Dt.properties)==null?void 0:qn.tags)==null?void 0:yn.split("\uFF0C"))==null?void 0:En.map(yr=>({name:yr}))),colorType:parseInt((Pn=Dt==null?void 0:Dt.properties)==null?void 0:Pn.color)>3?"3":(or=Dt==null?void 0:Dt.properties)==null?void 0:or.color,activeColor:"#FA6400",size:Th[((xn=Dt==null?void 0:Dt.properties)==null?void 0:xn.color)-1]||1,shape:"circle",hide:!1,isExtendedState:!0}}),lt=(at=(Je=(Qe=(Ke=re==null?void 0:re.relationships)==null?void 0:Ke.filter(Dt=>{var Bt,Vt,Xt,vn,on,wn;return Dt.endNodeUuid!==((Xt=(Vt=(Bt=re==null?void 0:re.nodes)==null?void 0:Bt[0])==null?void 0:Vt.properties)==null?void 0:Xt.rootNodeUuid)&&Dt.startNodeUuid!==((wn=(on=(vn=re==null?void 0:re.nodes)==null?void 0:vn[0])==null?void 0:on.properties)==null?void 0:wn.rootNodeUuid)}))==null?void 0:Qe.filter(Dt=>(ae==null?void 0:ae.includes(Dt.startNodeUuid))&&(ae==null?void 0:ae.includes(Dt.endNodeUuid))))==null?void 0:Je.filter(Dt=>Dt.type==="\u5305\u542B"||Dt.type==="\u524D\u5E8F"||Dt.type==="\u5173\u8054"))==null?void 0:at.map(Dt=>({hide:!1,id:(Dt==null?void 0:Dt.endNodeUuid)+"_",label:Dt==null?void 0:Dt.type,props:[],colorType:1,sourceRadius:32,targetRadius:32,source:(Dt==null?void 0:Dt.startNodeUuid)+"_",target:(Dt==null?void 0:Dt.endNodeUuid)+"_",value:10}));fe.current=null,me.current.innerHTML="",fe.current=new vu.createContainer({containerName:"#graphRefs",width:((ot=me==null?void 0:me.current)==null?void 0:ot.clientWidth)||0,height:((ut=me==null?void 0:me.current)==null?void 0:ut.clientHeight)||0,toolbarData:[],clickToggle:!1,background:"#fff",isShowMask:!1,nodes:ft,links:lt,zoomOptions:{minScale:.2,maxScale:5},nodeMouseover:function(Dt){return Dt},nodeClick:function(Dt){var Bt;return(Bt=fe==null?void 0:fe.current)==null||Bt.selectToNode(Dt.id),Dt},layout:{force:!1,x:20,y:60}}),fe.current.zoomOut()}})}return pd.createElement("div",{ref:Se,style:{background:"#fff",height:"455rem"}},pd.createElement("div",{style:{width:"100%",height:"455rem"},ref:me,id:"graphRefs"}))};var Gd=(0,be.connect)(({pathsDetail:E,user:a,loading:y,globalSetting:x})=>({pathsDetail:E,user:a,globalSetting:x,loading:y.models.index}))(Qu),mu="data:image/png;base64,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",Uf="data:image/png;base64,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",Wf="data:image/png;base64,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",Jc="data:image/png;base64,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",Cc=Oe(28103),pu=Oe(42441),df=Oe(76411),Vd=Oe(48961),ff=Oe(59301),fl=({dataSource:E,height:a,labelTextColor:y})=>{console.log("dataSource:",E);const x=(0,Re.useRef)(null),b=(0,Re.useRef)(null),[z,te]=(0,Re.useState)({}),[re,ae]=(0,Re.useState)(""),[se,fe]=(0,Re.useState)(""),me=E||[{name:"\u638C\u63E1\u738780%~100%",value:1,itemStyle:{color:"rgb(223,209,38)"}},{name:"\u638C\u63D0\u738760%~79%",value:2,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63A8\u738759%\u4EE5\u4E0B",value:3,itemStyle:{color:"rgb(6,110,247)"}}];(0,Re.useEffect)(()=>(Te(),window.addEventListener("resize",Se),()=>{window.removeEventListener("resize",Se)}),[]),(0,Re.useEffect)(()=>{E!=null&&E.length&&Se()},[E]);const Se=()=>{var Je,at;const ot=ke(me,.8);(Je=b.current)==null||Je.setOption(ot),(at=b.current)==null||at.resize()},Te=()=>{const Je=x.current;b.current=df.init(Je);const at=ke(me,.8);te(at),b.current.setOption(at),b.current.getZr().off("mousewheel"),at.series.push({name:"\u638C\u63E1\u7387",type:"pie",labelLine:{length:10,length2:10},startAngle:-20,clockwise:!1,radius:["20%","50%"],center:["50%","50%"],data:me,itemStyle:{opacity:0}}),b.current.setOption(at),Qe(b.current)},ke=(Je,at)=>{let ot,ut=[],ft=0,lt=0,Dt=0,Bt=[],Vt=[],Xt=1-at;Je.sort((on,wn)=>wn.value-on.value);for(let on=0;on<Je.length;on++){ft+=Je[on].value;let wn={name:typeof Je[on].name=="undefined"?`series${on}`:Je[on].name,type:"surface",parametric:!0,wireframe:{show:!1},pieData:Je[on],pieStatus:{selected:!1,hovered:!1,k:Xt},center:["10%","50%"]};if(typeof Je[on].itemStyle!="undefined"){let qn={};typeof Je[on].itemStyle.color!="undefined"&&(qn.color=Je[on].itemStyle.color),typeof Je[on].itemStyle.opacity!="undefined"&&(qn.opacity=Je[on].itemStyle.opacity),wn.itemStyle=qn}ut.push(wn)}Bt=[],Vt=[];for(let on=0;on<ut.length;on++){Dt=lt+ut[on].pieData.value,ut[on].pieData.startRatio=lt/ft,ut[on].pieData.endRatio=Dt/ft,ut[on].parametricEquation=je(ut[on].pieData.startRatio,ut[on].pieData.endRatio,!1,!1,Xt,ut[on].pieData.value),lt=Dt;let wn=Ke(ut[on].pieData.value/ft,4);Bt.push({name:ut[on].name,value:wn}),Vt.push({name:ut[on].name,value:wn})}let vn=We(ut,26);return{legend:{data:Bt,orient:"horizontal",left:10,top:10,itemGap:10,textStyle:{color:"#A1E2FF"},show:!0,icon:"circle",formatter:function(on){let wn=Vt.filter(yn=>yn.name===on)[0],qn=Ke(wn.value*100,2)+"%";return`${wn.name} ${qn}`}},labelLine:{show:!0,lineStyle:{color:"#7BC0CB"}},label:{show:!0,position:"outside",rich:{b:{color:y||"#FFF",fontSize:12,lineHeight:20},c:{fontSize:16,lineHeight:24,color:y||"#FFF"}},formatter:`{b|{b}
|
|
|
}{c|{c}}{b|}`},xAxis3D:{min:-1,max:1},yAxis3D:{min:-1,max:1},zAxis3D:{min:-1,max:1},grid3D:{show:!1,boxHeight:vn,viewControl:{alpha:40,distance:300,rotateSensitivity:0,zoomSensitivity:0,panSensitivity:0,autoRotate:!1}},series:ut}},We=(Je,at)=>(Je.sort((ot,ut)=>ut.pieData.value-ot.pieData.value),at*25/Je[0].pieData.value),je=(Je,at,ot,ut,ft,lt)=>{let Dt=(Je+at)/2,Bt=Je*Math.PI*2,Vt=at*Math.PI*2,Xt=Dt*Math.PI*2;Je===0&&at===1&&(ot=!1),ft=typeof ft!="undefined"?ft:1/3;let vn=ot?Math.cos(Xt)*.1:0,on=ot?Math.sin(Xt)*.1:0,wn=ut?1.05:1;return{u:{min:-Math.PI,max:Math.PI*3,step:Math.PI/32},v:{min:0,max:Math.PI*2,step:Math.PI/20},x:function(qn,yn){return qn<Bt?vn+Math.cos(Bt)*(1+Math.cos(yn)*ft)*wn:qn>Vt?vn+Math.cos(Vt)*(1+Math.cos(yn)*ft)*wn:vn+Math.cos(qn)*(1+Math.cos(yn)*ft)*wn},y:function(qn,yn){return qn<Bt?on+Math.sin(Bt)*(1+Math.cos(yn)*ft)*wn:qn>Vt?on+Math.sin(Vt)*(1+Math.cos(yn)*ft)*wn:on+Math.sin(qn)*(1+Math.cos(yn)*ft)*wn},z:function(qn,yn){return qn<-Math.PI*.5?Math.sin(qn):qn>Math.PI*2.5?Math.sin(qn)*lt*.1:Math.sin(yn)>0?1*lt*.1:-1}}},Ke=(Je,at)=>{let ot=parseFloat(Je);if(isNaN(ot))return!1;ot=Math.round(Je*Math.pow(10,at))/Math.pow(10,at);let ut=ot.toString();ut.indexOf(".")<0&&(ut+=".");for(let lt=ut.length-ut.indexOf(".");lt<=at;lt++)ut+="0";return ut},Qe=()=>{b.current.on("click",function(Je){if(Je.seriesName==="pie2d"){ae(Je.dataIndex);let at=b.current.getWidth()/2,ot=b.current.getHeight()/2;b.current.dispatchAction({type:"pieSelect",seriesIndex:0,dataIndex:Je.dataIndex})}}),b.current.on("mousemove",function(Je){}),b.current.on("mouseout",function(){b.current.dispatchAction({type:"pieUnSelect",seriesIndex:0,dataIndex:se}),fe("")})};return ff.createElement("div",{ref:x,style:{width:"100%",height:a||"500rem"}})};const hf=E=>({tooltip:{trigger:"item"},legend:{top:"0%",left:"center"},series:[{name:"\u5B8C\u6210\u5360\u6BD4\u60C5\u51B5",type:"pie",radius:["40%","70%"],avoidLabelOverlap:!1,itemStyle:{borderRadius:10,borderColor:"#fff",borderWidth:2},label:{show:!1,position:"center"},emphasis:{label:{show:!0,fontSize:14,fontWeight:"bold"}},labelLine:{show:!1},data:E}]});var Gf=Oe(90915),Zo=Oe(59301),Yu=Object.defineProperty,Pc=Object.getOwnPropertySymbols,Ml=Object.prototype.hasOwnProperty,Dl=Object.prototype.propertyIsEnumerable,zl=(E,a,y)=>a in E?Yu(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,Ad=(E,a)=>{for(var y in a||(a={}))Ml.call(a,y)&&zl(E,y,a[y]);if(Pc)for(var y of Pc(a))Dl.call(a,y)&&zl(E,y,a[y]);return E},gf=(E,a)=>{var y={};for(var x in E)Ml.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&Pc)for(var x of Pc(E))a.indexOf(x)<0&&Dl.call(E,x)&&(y[x]=E[x]);return y},Bh=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});const Cu=[{name:"",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"",value:0,itemStyle:{color:"rgb(6,110,247)"}}],vf=E=>{var a=E,{pathsDetail:y,user:x,globalSetting:b,loading:z,dispatch:te,uuid:re}=a,ae=gf(a,["pathsDetail","user","globalSetting","loading","dispatch","uuid"]),se,fe,me,Se,Te;let[ke,We]=(0,Re.useState)({subject_id:(se=y==null?void 0:y.detail)==null?void 0:se.id,course_id:"",parentNodeUuid:re,type:1});const[je,Ke]=(0,Re.useState)(),[Qe,Je]=(0,Re.useState)([]),[at,ot]=(0,Re.useState)([]),[ut]=(0,be.useSearchParams)();(0,Re.useEffect)(()=>{ft()},[re]);function ft(){return Bh(this,null,function*(){var lt,Dt,Bt;let Vt=yield(0,ee.ZP)("/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:ke});Ke(Vt);let Xt=Object.entries((lt=Vt==null?void 0:Vt.data)==null?void 0:lt.study_grasp_hash).map(([on,wn],qn)=>({name:on,value:wn,itemStyle:Cu[qn].itemStyle})),vn=Object.entries((Dt=Vt==null?void 0:Vt.data)==null?void 0:Dt.study_complete_hash).map(([on,wn],qn)=>({name:on,value:wn}));ot(vn),((Bt=Xt==null?void 0:Xt.filter(on=>(on==null?void 0:on.value)>0))==null?void 0:Bt.length)===0?Je([]):Je(Xt)})}return Zo.createElement("div",{className:Qr.DetailStatistics},ut.get("type")!=="classrooms"&&Zo.createElement("div",{className:Qr.header},Zo.createElement("span",{className:Qr.title},"\u7EDF\u8BA1\u8303\u56F4"),Zo.createElement(pe.ZP.Group,{onChange:lt=>{ke.type=lt.target.value,We(Ad({},ke)),ft()},value:ke.type},Zo.createElement(pe.ZP,{value:1},"\u5168\u90E8"),Zo.createElement(pe.ZP,{value:2},"\u81EA\u4E3B\u5B66\u4E60"),Zo.createElement(pe.ZP,{value:3},"\u8BFE\u5802\u5B66\u4E60")),(ke==null?void 0:ke.type)===3&&Zo.createElement(Nr.default,{onChange:lt=>{ke.course_id=lt,We(Ad({},ke)),ft()},style:{marginLeft:"-15rem",width:"148rem",height:"36rem"}},(fe=je==null?void 0:je.courses)==null?void 0:fe.map(lt=>Zo.createElement(Nr.default.Option,{value:lt==null?void 0:lt.id},lt==null?void 0:lt.name)))),Zo.createElement("div",{style:{marginTop:"16rem",display:"flex"}},Zo.createElement("div",{className:Qr.left,style:{backgroundImage:`url(${mu}),linear-gradient(180deg, rgba(221, 233, 241, 0.4) 0%, rgba(255, 255, 255, 0.49) 100%)`}},Zo.createElement("img",{src:Uf}),Zo.createElement("div",{style:{marginTop:"20rem"}},Zo.createElement("div",{className:Qr.xxrs},"\u5B66\u4E60\u4EBA\u6570"),Zo.createElement("div",{className:Qr.xxrscount},(me=je==null?void 0:je.data)==null?void 0:me.study_count))),Zo.createElement("div",{className:Qr.right},Zo.createElement("div",{className:Qr.righttop},Zo.createElement("img",{src:Wf}),Zo.createElement("div",null,Zo.createElement("div",{className:Qr.xxrs},"\u5B66\u4E60\u5B8C\u6210\u7387"),Zo.createElement("div",{className:Qr.xxrscount},(Se=je==null?void 0:je.data)==null?void 0:Se.study_complete_rate,"%"))),Zo.createElement("div",{className:Qr.rightbottom},Zo.createElement("img",{src:Jc}),Zo.createElement("div",null,Zo.createElement("div",{className:Qr.xxrs},"\u5B66\u4E60\u638C\u63E1\u7387"),Zo.createElement("div",{className:Qr.xxrscount},(Te=je==null?void 0:je.data)==null?void 0:Te.study_grasp_rate,"%"))))),Zo.createElement(Cc.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u5B8C\u6210\u5360\u6BD4\u60C5\u51B5"),Zo.createElement(pu.Z,{option:hf(at),style:{height:300,width:400},opts:{renderer:"svg"}}),Zo.createElement(Cc.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u638C\u63A7\u7387"),(Qe==null?void 0:Qe.length)>0?Zo.createElement(fl,{labelTextColor:"#333",dataSource:Qe}):Zo.createElement(Gf.NoData,{children:Zo.createElement("div",{style:{textAlign:"center",fontSize:"14rem"}},"\u6682\u65E0\u638C\u63A7\u7387\u6570\u636E")}))};var Hd=(0,be.connect)(({pathsDetail:E,user:a,loading:y,globalSetting:x})=>({pathsDetail:E,user:a,globalSetting:x,loading:y.models.index}))(vf),ls=Oe(59301),Vf=Object.defineProperty,xd=Object.getOwnPropertySymbols,Nh=Object.prototype.hasOwnProperty,xl=Object.prototype.propertyIsEnumerable,mf=(E,a,y)=>a in E?Vf(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,Sl=(E,a)=>{for(var y in a||(a={}))Nh.call(a,y)&&mf(E,y,a[y]);if(xd)for(var y of xd(a))xl.call(a,y)&&mf(E,y,a[y]);return E},Xu=(E,a)=>{var y={};for(var x in E)Nh.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&xd)for(var x of xd(E))a.indexOf(x)<0&&xl.call(E,x)&&(y[x]=E[x]);return y},Kd=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});const uc=[{name:"",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"",value:0,itemStyle:{color:"rgb(6,110,247)"}}],Ql=E=>{var a=E,{pathsDetail:y,user:x,globalSetting:b,loading:z,dispatch:te,uuid:re}=a,ae=Xu(a,["pathsDetail","user","globalSetting","loading","dispatch","uuid"]),se,fe,me,Se,Te;let[ke,We]=(0,Re.useState)({subject_id:(se=y==null?void 0:y.detail)==null?void 0:se.id,course_id:"",parentNodeUuid:re,type:1});const[je,Ke]=(0,Re.useState)(),[Qe,Je]=(0,Re.useState)([]),[at]=(0,be.useSearchParams)(),[ot,ut]=(0,Re.useState)([]);(0,Re.useEffect)(()=>{ft()},[re]);function ft(){return Kd(this,null,function*(){var lt,Dt,Bt;let Vt=yield(0,ee.ZP)("/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:ke});Ke(Vt);let Xt=Object.entries((lt=Vt==null?void 0:Vt.data)==null?void 0:lt.study_grasp_hash).map(([on,wn],qn)=>({name:on,value:wn,itemStyle:uc[qn].itemStyle})),vn=Object.entries((Dt=Vt==null?void 0:Vt.data)==null?void 0:Dt.study_complete_hash).map(([on,wn],qn)=>({name:on,value:wn}));ut(vn),((Bt=Xt==null?void 0:Xt.filter(on=>(on==null?void 0:on.value)>0))==null?void 0:Bt.length)===0?Je([]):Je(Xt)})}return ls.createElement("div",{className:Qr.DetailStatistics},at.get("type")!=="classrooms"&&ls.createElement("div",{className:Qr.header},ls.createElement("span",{className:Qr.title},"\u7EDF\u8BA1\u8303\u56F4"),ls.createElement(pe.ZP.Group,{onChange:lt=>{ke.type=lt.target.value,We(Sl({},ke)),ft()},value:ke.type},ls.createElement(pe.ZP,{value:1},"\u5168\u90E8"),ls.createElement(pe.ZP,{value:2},"\u81EA\u4E3B\u5B66\u4E60"),ls.createElement(pe.ZP,{value:3},"\u8BFE\u5802\u5B66\u4E60")),(ke==null?void 0:ke.type)===3&&ls.createElement(Nr.default,{onChange:lt=>{ke.course_id=lt,We(Sl({},ke)),ft()},style:{marginLeft:"-15rem",width:"148rem",height:"36rem"}},(fe=je==null?void 0:je.courses)==null?void 0:fe.map(lt=>ls.createElement(Nr.default.Option,{value:lt==null?void 0:lt.id},lt==null?void 0:lt.name)))),ls.createElement("div",{style:{marginTop:"16rem",display:"flex"}},ls.createElement("div",{className:Qr.left,style:{backgroundImage:`url(${mu}),linear-gradient(180deg, rgba(221, 233, 241, 0.4) 0%, rgba(255, 255, 255, 0.49) 100%)`}},ls.createElement("img",{src:Uf}),ls.createElement("div",{style:{marginTop:"20rem"}},ls.createElement("div",{className:Qr.xxrs},"\u5B66\u4E60\u4EBA\u6570"),ls.createElement("div",{className:Qr.xxrscount},(me=je==null?void 0:je.data)==null?void 0:me.study_count))),ls.createElement("div",{className:Qr.right},ls.createElement("div",{className:Qr.righttop},ls.createElement("img",{src:Wf}),ls.createElement("div",null,ls.createElement("div",{className:Qr.xxrs},"\u5B66\u4E60\u5B8C\u6210\u7387"),ls.createElement("div",{className:Qr.xxrscount},(Se=je==null?void 0:je.data)==null?void 0:Se.study_complete_rate,"%"))),ls.createElement("div",{className:Qr.rightbottom},ls.createElement("img",{src:Jc}),ls.createElement("div",null,ls.createElement("div",{className:Qr.xxrs},"\u5B66\u4E60\u638C\u63E1\u7387"),ls.createElement("div",{className:Qr.xxrscount},(Te=je==null?void 0:je.data)==null?void 0:Te.study_grasp_rate,"%"))))),ls.createElement(Cc.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u5B8C\u6210\u5360\u6BD4\u60C5\u51B5"),ls.createElement(pu.Z,{option:hf(ot),style:{height:300,width:400},opts:{renderer:"svg"}}),ls.createElement(Cc.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u638C\u63A7\u7387"),(Qe==null?void 0:Qe.length)>0?ls.createElement(fl,{labelTextColor:"#333",dataSource:Qe}):ls.createElement(Zr.Z,{children:ls.createElement("div",{style:{textAlign:"center",fontSize:"14rem"}},"\u6682\u65E0\u638C\u63A7\u7387\u6570\u636E")}))};var wc=(0,be.connect)(({pathsDetail:E,user:a,loading:y,globalSetting:x})=>({pathsDetail:E,user:a,globalSetting:x,loading:y.models.index}))(Ql),Ul=Oe(51084),qc="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAXlJREFUOE/VlD1Lw1AUhp+YmkGQSnFR8AcUoSJ+LiKCqINQqIODbk51ETpaVHTyD6h/QQddXMRNRal1qLaDOhSFQicdiiKUNrkSmzQxH6WCg2a6Iec+7z3ve24kIYTMLz7SPwSmozPI2h6InroTkqQvywjOQNlm4PDczyV3yxfDT4AFa97fAmhxN/C0u9o8w6wUtYUkFdzAk1CVyC4E+x3cr7YBY7NTtZSB7DLewKF9Xa4xwAnUfU7P+wBHjjy6dgqY77a2r2MG8GV9CaQdhAhYJI8NnuYqEBgFqQ1SswawmEiCttnQIxfMdmKlD5QIXE0ZwMJKGPUjV0uqyYzNbPR6OQTBRbgct3mYX7hDiN46zr7BHq6fYGccUlEb8GFuDaFuuKbCNwtDURgFHdOQTdqA97Ewlfec75xZ99DbE6ULno8dY5MZs9r2mV/fbPQPr3kH8GZwFVXd+lE4doXyW/H7TbmdaKf0eIBWmQRamszbLNOQWxN//wf7CYUnn95U81GtAAAAAElFTkSuQmCC",$c=Oe(30897),Xr=Oe(59301),Hf=Object.defineProperty,Zd=Object.defineProperties,Rh=Object.getOwnPropertyDescriptors,Kf=Object.getOwnPropertySymbols,_h=Object.prototype.hasOwnProperty,Zf=Object.prototype.propertyIsEnumerable,Mc=(E,a,y)=>a in E?Hf(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,Il=(E,a)=>{for(var y in a||(a={}))_h.call(a,y)&&Mc(E,y,a[y]);if(Kf)for(var y of Kf(a))Zf.call(a,y)&&Mc(E,y,a[y]);return E},Dc=(E,a)=>Zd(E,Rh(a)),iu=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});const Qf=[{name:"\u57FA\u672C\u4FE1\u606F",key:1},{name:"\u5B66\u4E60\u7EDF\u8BA1",key:3}];let Ct=[{name:"\u4F5C\u4E1A",id:"zy",item_type:2},{name:"\u5B9E\u8BAD",id:"sx",item_type:2},{name:"\u6559\u6750",id:"jc",item_type:2},{name:"\u89C6\u9891",id:"sp",item_type:2},{name:"\u8BFE\u4EF6",id:"kj",item_type:2},{name:"\u8BD5\u5377",id:"sj",item_type:2},{name:"\u9898\u96C6",id:"tj",item_type:2}],_t=[{name:"\u7AE0\u8282",id:"zj",item_type:1},{name:"\u77E5\u8BC6\u70B9",id:"zsd",item_type:1}];const zt=({pathsDetail:E,user:a,globalSetting:y,loading:x,dispatch:b,items:z,showdetail:te,setshowdetail:re,containerRef:ae,getData:se,setshow:fe,Tabsdatas:me,uuid:Se,tpacti:Te,initdata:ke})=>{var We,je,Ke,Qe,Je,at,ot,ut,ft,lt,Dt,Bt,Vt,Xt,vn,on,wn,qn,yn,En,Pn,or,xn,yr,na,ea,jr,Or,Yr,fa,Ia,oi,Eo,to,ri,Qi,Ri,Ji;const[lo,Xo]=(0,Re.useState)(0),[Oo]=De.default.useForm(),[si,Di]=(0,Re.useState)({});let[ya,La]=(0,Re.useState)(!1);const[Ya,zi]=(0,Re.useState)(!1),[Ca,oo]=(0,Re.useState)("1"),[Ui,gs]=(0,Re.useState)([]),[Ko,rs]=(0,Re.useState)(1),[as,Jo]=(0,Re.useState)(2),[mo,xc]=(0,Re.useState)(2),[Sc,wl]=(0,Re.useState)(),[Ss,Bu]=(0,Re.useState)();let[bs,qa]=(0,Re.useState)([]);const[Yi,Po]=(0,Re.useState)({}),[To,vo]=(0,Re.useState)(!1),[Rl,Vc]=(0,Re.useState)(""),[gd,Bg]=(0,Re.useState)([]),[Dh]=(0,be.useSearchParams)(),[B0,Ih]=(0,Re.useState)(!1),[sc,bc]=(0,Re.useState)([]),[lc,Bs]=(0,Re.useState)([]),[ks,cs]=(0,Re.useState)([]);let[El,vd]=(0,Re.useState)({tags:[],tagszy:[],tagslx:[]});const[Si,Nu]=(0,Re.useState)([{label:"\u5B9E\u8BAD",children:Xr.createElement(es,{getother:Zc,types:"1",ktzykey:Ca,onChange:Vr=>{gs(Vr)}}),key:"1"},{label:"\u89C6\u9891",children:Xr.createElement(es,{getother:Zc,types:"2",ktzykey:Ca,onChange:Vr=>{gs(Vr)}}),key:"2"},{label:"\u8BFE\u4EF6",children:Xr.createElement(es,{getother:Zc,types:"3",ktzykey:Ca,onChange:Vr=>{gs(Vr)}}),key:"3"},{label:"\u8BD5\u5377",children:Xr.createElement(es,{getother:Zc,types:"4",ktzykey:Ca,onChange:Vr=>{gs(Vr)}}),key:"4"}].filter(Vr=>!!Vr));let[fu,Ru]=(0,Re.useState)([]),[Ud,Ng]=(0,Re.useState)([]);const[T1,Qv]=(0,Re.useState)(0),[B1,Yv]=(0,Re.useState)(0),[Hc,N1]=(0,Re.useState)([]),[no,Kc]=(0,Re.useState)({bh:[],qx:[],hx:[],gl:[]}),R1=Vr=>b({type:"userDetail/logWatchHistory",payload:Il({},Vr)}),_1={maxCount:1,fileList:bs,accept:((je=(We=si==null?void 0:si.label)==null?void 0:We[0])==null?void 0:je.name)==="\u89C6\u9891"?".mp4":"",withCredentials:!0,beforeUpload:Vr=>{var Xi,Bo;if(!(Vr.type==="video/mp4")&&((Bo=(Xi=si==null?void 0:si.label)==null?void 0:Xi[0])==null?void 0:Bo.name)==="\u89C6\u9891")return Fe.ZP.error("\u53EA\u80FD\u4E0A\u4F20\u89C6\u9891"),Uo.default.LIST_IGNORE},action:`${Dn.Z.API_SERVER}/api/attachments.json`,onChange:Vr=>{qa(Vr==null?void 0:Vr.fileList)}};function F1(){return iu(this,null,function*(){var Vr,Xi,Bo,wo,Hs;let ds=yield(0,ee.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:1,subject_id:E.detail.id}});if((ds==null?void 0:ds.status)===0){Qv(Se);const Ws=[...(Hs=(wo=(Vr=ds==null?void 0:ds.data)==null?void 0:Vr.nodes)==null?void 0:wo.splice(1,(Bo=(Xi=ds==null?void 0:ds.data)==null?void 0:Xi.nodes)==null?void 0:Bo.length))==null?void 0:Hs.map(pl=>{var Zl,Qc,Wd;return Il({label:(Zl=pl==null?void 0:pl.properties)==null?void 0:Zl.name,children:Xr.createElement(Yc,{onChange:N0=>{sessionStorage.setItem("typesdatajsoncopy",JSON.stringify(N0))},itemsuuid:z==null?void 0:z.uuid,uuid:(Qc=pl==null?void 0:pl.properties)==null?void 0:Qc.uuid,typesdata:no}),key:(Wd=pl==null?void 0:pl.properties)==null?void 0:Wd.uuid},pl)})];fu=Ws,Ru(Ws),sessionStorage.setItem("typesdatajson",JSON.stringify(no)),sessionStorage.setItem("typesdatajsoncopy",JSON.stringify(no)),La(!0)}})}function k1(){return iu(this,null,function*(){var Vr,Xi,Bo;let wo=yield(0,ee.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:3,subject_id:(Vr=E==null?void 0:E.detail)==null?void 0:Vr.id}});(wo==null?void 0:wo.status)===0&&(El.tags=wo==null?void 0:wo.data,vd(Il({},El)));let Hs=yield(0,ee.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:5,subject_id:(Xi=E==null?void 0:E.detail)==null?void 0:Xi.id}});(Hs==null?void 0:Hs.status)===0&&(El.tagszy=[...Ct,...Hs==null?void 0:Hs.data2],El.tagslx=[..._t,...Hs==null?void 0:Hs.data],vd(Il({},El)));let ds=yield(0,ee.ZP)("/api/knowledge/v2/get_container_type.json",{method:"get",params:{url:z==null?void 0:z.resourceUrl,item_banks_group_ids:z==null?void 0:z.itemBanksGroupIds}});if(Vc(""),cs([]),localStorage.setItem("container_type_tupu",ds==null?void 0:ds.container_type),(z==null?void 0:z.nodeType)==="\u89C6\u9891"&&(((Bo=ds==null?void 0:ds.attachment)==null?void 0:Bo.file_type)==="video"||(ds==null?void 0:ds.container_type)==="video")&&Vc(ds==null?void 0:ds.id),(z==null?void 0:z.resourceOrigin)===1&&(z==null?void 0:z.nodeType)!=="\u9898\u96C6"){let Ws={url:z==null?void 0:z.resourceUrl,name:ds==null?void 0:ds.name,id:ds==null?void 0:ds.examination_bank_id};gs([Ws])}(z==null?void 0:z.resourceOrigin)===1&&(z==null?void 0:z.nodeType)==="\u9898\u96C6"&&cs(ds==null?void 0:ds.item_banks_groups),(z==null?void 0:z.resourceOrigin)===2&&qa([{uid:"123",name:ds==null?void 0:ds.name,response:{id:"123",url:z==null?void 0:z.resourceUrl}}])})}function Zc(Vr){return iu(this,null,function*(){var Xi,Bo;let wo=yield(0,ee.ZP)("/api/knowledge/v2/get_container_type.json",{method:"get",params:{url:Vr}});(wo==null?void 0:wo.status)===0&&((wo==null?void 0:wo.container_type)==="att"?Po({url:Dn.Z.API_SERVER+((Xi=wo==null?void 0:wo.attachment)==null?void 0:Xi.url),file_type:(Bo=wo==null?void 0:wo.attachment)==null?void 0:Bo.file_type}):window.open(Vr))})}function Rg(){return iu(this,null,function*(){let Vr=yield(0,ee.ZP)("/api/knowledge/v2/item_bank_groups.json",{method:"get",params:{subject_id:E.detail.id}});(Vr==null?void 0:Vr.status)===0&&bc(Vr==null?void 0:Vr.data)})}function yZ(){return iu(this,null,function*(){var Vr,Xi,Bo,wo,Hs,ds;let Ws=yield(0,ee.ZP)("/api/knowledge/v2/get_node_detail.json",{method:"get",params:{nodeUuid:(z==null?void 0:z.keys)||(z==null?void 0:z.id),parentNodeUuids:me==null?void 0:me.map(pl=>pl==null?void 0:pl.uuid).join(),depth:1,relationshipFilter:">",subgraphDepth:"-1",subgraphRelationshipFilter:"\u5305\u542B>",subject_id:E.detail.id}});if((Ws==null?void 0:Ws.status)===0){N1((Vr=Ws==null?void 0:Ws.data)==null?void 0:Vr.nodes),wl((Bo=(Xi=Ws==null?void 0:Ws.data)==null?void 0:Xi.nodes)==null?void 0:Bo.filter(Zl=>{var Qc;return((Qc=Zl==null?void 0:Zl.properties)==null?void 0:Qc.uuid)===(z==null?void 0:z.keys)||(z==null?void 0:z.id)})),Bu((wo=Ws==null?void 0:Ws.data)==null?void 0:wo.relationships);const pl=[...(ds=(Hs=Ws==null?void 0:Ws.data)==null?void 0:Hs.graphNodeMappings)==null?void 0:ds.map((Zl,Qc)=>{var Wd;return{label:`${Zl==null?void 0:Zl.parentNodeName}\uFF08${(Wd=Zl==null?void 0:Zl.childNodeUuids)==null?void 0:Wd.length}\uFF09`,children:Xr.createElement(Gd,{datas:Ws==null?void 0:Ws.data,items:Zl==null?void 0:Zl.childNodeUuids}),key:Qc}})];Yv(0),Ud=pl,Ng(pl)}})}return(0,Re.useEffect)(()=>{te&&(yZ(),k1())},[te,z]),Xr.createElement(Gt,null,Xr.createElement("div",null,te&&Xr.createElement(Wo.Z,{open:te,width:"700rem",mask:!1,closable:!1,rootClassName:Qr.drawer,destroyOnClose:!0,getContainer:()=>ae.current,onCancel:()=>{re(!1),Vc("")}},Xr.createElement("div",{className:Qr.detailmodal},Xr.createElement("div",null,Xr.createElement("span",{className:Qr.title},"\u8282\u70B9\u8BE6\u60C5"),((Ke=E==null?void 0:E.detail)==null?void 0:Ke.edit_of_subject_knowledge)&&Se!=="\u5B66\u4E60\u8DEF\u5F84"&&(z==null?void 0:z.colorType)!=="1"&&Xr.createElement("i",{className:"iconfont icon-bianji-moren",onClick:()=>iu(void 0,null,function*(){var Vr,Xi,Bo,wo,Hs,ds,Ws,pl,Zl,Qc;Xo(3),re(!1);let Wd={name:z.name,description:z.description,label:((Xi=(Vr=Sc==null?void 0:Sc[0])==null?void 0:Vr.labels)==null?void 0:Xi[1])==="\u8D44\u6E90"?(Bo=El==null?void 0:El.tagszy)==null?void 0:Bo.filter(io=>(io==null?void 0:io.name)===(z==null?void 0:z.nodeType)):(wo=El==null?void 0:El.tagslx)==null?void 0:wo.filter(io=>(io==null?void 0:io.name)===(z==null?void 0:z.nodeType)),tag:(Hs=El==null?void 0:El.tags)==null?void 0:Hs.filter(io=>{var nu,ru;return(ru=(nu=z==null?void 0:z.tags)==null?void 0:nu.map(au=>au==null?void 0:au.name))==null?void 0:ru.includes(io==null?void 0:io.name)}),resourceOrigin:z.resourceOrigin,url:(z==null?void 0:z.resourceOrigin)===3?z==null?void 0:z.resourceUrl:""},N0=(ds=Ss==null?void 0:Ss.filter(io=>(io==null?void 0:io.type)==="\u88AB\u5305\u542B"&&(io==null?void 0:io.startNodeUuid)===((z==null?void 0:z.keys)||(z==null?void 0:z.id))))==null?void 0:ds.map(io=>{var nu,ru;return{uuid:io==null?void 0:io.endNodeUuid,name:(ru=(nu=Hc==null?void 0:Hc.find(au=>{var _u;return((_u=au==null?void 0:au.properties)==null?void 0:_u.uuid)===(io==null?void 0:io.endNodeUuid)}))==null?void 0:nu.properties)==null?void 0:ru.name}}),z1=(Ws=Ss==null?void 0:Ss.filter(io=>(io==null?void 0:io.type)==="\u5305\u542B"&&(io==null?void 0:io.startNodeUuid)===((z==null?void 0:z.keys)||(z==null?void 0:z.id))))==null?void 0:Ws.map(io=>{var nu,ru;return{uuid:io==null?void 0:io.endNodeUuid,name:(ru=(nu=Hc==null?void 0:Hc.find(au=>{var _u;return((_u=au==null?void 0:au.properties)==null?void 0:_u.uuid)===(io==null?void 0:io.endNodeUuid)}))==null?void 0:nu.properties)==null?void 0:ru.name}});Bg(z1);let U1=(pl=Ss==null?void 0:Ss.filter(io=>(io==null?void 0:io.type)==="\u524D\u5E8F"&&(io==null?void 0:io.startNodeUuid)===((z==null?void 0:z.keys)||(z==null?void 0:z.id))))==null?void 0:pl.map(io=>{var nu,ru;return{uuid:io==null?void 0:io.endNodeUuid,name:(ru=(nu=Hc==null?void 0:Hc.find(au=>{var _u;return((_u=au==null?void 0:au.properties)==null?void 0:_u.uuid)===(io==null?void 0:io.endNodeUuid)}))==null?void 0:nu.properties)==null?void 0:ru.name}}),W1=(Zl=Ss==null?void 0:Ss.filter(io=>(io==null?void 0:io.type)==="\u540E\u5E8F"&&(io==null?void 0:io.startNodeUuid)===((z==null?void 0:z.keys)||(z==null?void 0:z.id))))==null?void 0:Zl.map(io=>{var nu,ru;return{uuid:io==null?void 0:io.endNodeUuid,name:(ru=(nu=Hc==null?void 0:Hc.find(au=>{var _u;return((_u=au==null?void 0:au.properties)==null?void 0:_u.uuid)===(io==null?void 0:io.endNodeUuid)}))==null?void 0:nu.properties)==null?void 0:ru.name}}),j1=(Qc=Ss==null?void 0:Ss.filter(io=>((io==null?void 0:io.type)==="\u5173\u8054"||(io==null?void 0:io.type)==="\u88AB\u5173\u8054")&&(io==null?void 0:io.startNodeUuid)===((z==null?void 0:z.keys)||(z==null?void 0:z.id))))==null?void 0:Qc.map(io=>{var nu,ru;return{uuid:io==null?void 0:io.endNodeUuid,name:(ru=(nu=Hc==null?void 0:Hc.find(au=>{var _u;return((_u=au==null?void 0:au.properties)==null?void 0:_u.uuid)===(io==null?void 0:io.endNodeUuid)}))==null?void 0:nu.properties)==null?void 0:ru.name}});Kc({bh:N0,qx:U1,hx:W1,gl:j1}),Oo.setFieldsValue(Wd),Di(Wd)}),style:{color:"#1B8565",marginLeft:10,cursor:"pointer"}})),Xr.createElement("div",{style:{display:"flex",alignItems:"center"}},(z==null?void 0:z.colorType)!=="1"&&((Qe=E==null?void 0:E.detail)==null?void 0:Qe.edit_of_subject_knowledge)&&Se!=="\u5B66\u4E60\u8DEF\u5F84"&&Xr.createElement(ve.ZP,{type:"primary",className:Qr.button,onClick:(0,md.debounce)(()=>iu(void 0,null,function*(){var Vr,Xi,Bo;let wo=yield(0,ee.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:(z==null?void 0:z.keys)||(z==null?void 0:z.id),subject_id:(Vr=E==null?void 0:E.detail)==null?void 0:Vr.id,depth:1,relationshipFilter:"\u88AB\u5305\u542B>"}});if((wo==null?void 0:wo.status)===0){let Hs=(Bo=(Xi=wo==null?void 0:wo.data)==null?void 0:Xi.nodes)==null?void 0:Bo.filter(Ws=>{var pl;return((pl=Ws==null?void 0:Ws.properties)==null?void 0:pl.uuid)!==((z==null?void 0:z.keys)||(z==null?void 0:z.id))}),ds=Hs==null?void 0:Hs.map(Ws=>{var pl,Zl;return{name:(pl=Ws==null?void 0:Ws.properties)==null?void 0:pl.name,uuid:(Zl=Ws==null?void 0:Ws.properties)==null?void 0:Zl.uuid}});no.bh=ds,Kc(no),Xo(1),re(!1),gs([]),cs([]),qa([])}}),500)},"\u589E\u52A0\u540C\u7EA7\u8282\u70B9"),((Je=E==null?void 0:E.detail)==null?void 0:Je.edit_of_subject_knowledge)&&Se!=="\u5B66\u4E60\u8DEF\u5F84"&&Xr.createElement(ve.ZP,{type:"primary",className:Qr.button,onClick:()=>{var Vr,Xi;((Xi=(Vr=no==null?void 0:no.bh)==null?void 0:Vr.filter(Bo=>(Bo==null?void 0:Bo.uuid)===(z==null?void 0:z.id)))==null?void 0:Xi.length)>0||no.bh.push({name:z==null?void 0:z.name,uuid:(z==null?void 0:z.keys)||(z==null?void 0:z.id)}),Xo(2),re(!1),gs([]),cs([]),qa([])}},"\u589E\u52A0\u5B50\u7EA7\u8282\u70B9"),((at=E==null?void 0:E.detail)==null?void 0:at.edit_of_subject_knowledge)&&Se!=="\u5B66\u4E60\u8DEF\u5F84"&&Xr.createElement(ve.ZP,{className:Qr.button,onClick:()=>{let Vr="";Ce.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,getContainer:ae.current,content:Xr.createElement("div",null,Xr.createElement("p",null,"\u5220\u9664\u8282\u70B9\u4F1A\u540C\u6B65\u5220\u9664\u5F53\u524D\u8282\u70B9\u7684\u5B50\u7EA7\u8282\u70B9\uFF0C\u8BF7\u5728\u4E0B\u65B9\u8F93\u5165\u6846\u8F93\u5165",Xr.createElement("span",{style:{color:"red"}},"\u201C\u786E\u8BA4\u5220\u9664\u201D")),Xr.createElement(Pe.default,{onChange:Xi=>{Vr=Xi.target.value}})),onOk:()=>iu(void 0,null,function*(){var Xi,Bo,wo;if(Vr!=="\u786E\u8BA4\u5220\u9664")return Fe.ZP.info("\u8BF7\u8F93\u5165\u786E\u8BA4\u5220\u9664"),Promise.reject();if(Vr==="\u786E\u8BA4\u5220\u9664"){let Hs=yield(0,ee.ZP)("/api/knowledge/v2/del_node.json",{method:"post",body:{uuid:(z==null?void 0:z.keys)||(z==null?void 0:z.id),subject_id:(Xi=E==null?void 0:E.detail)==null?void 0:Xi.id}});(Hs==null?void 0:Hs.status)===0&&(Fe.ZP.info("\u5220\u9664\u6210\u529F"),Dh.get("type")==="classrooms"?b({type:"pathsDetail/getCourseDetail",payload:Il({id:(Bo=E==null?void 0:E.detail)==null?void 0:Bo.id,knowledge:!0},(0,vt.oP)())}):b({type:"pathsDetail/getPathsDetail",payload:Il({id:(wo=E==null?void 0:E.detail)==null?void 0:wo.id,knowledge:!0},(0,vt.oP)())}),(z==null?void 0:z.colorType)!=="1"?(fe(!1),se()):ke(),re(!1))}})})}},"\u5220\u9664\u8282\u70B9"),((ot=E==null?void 0:E.detail)==null?void 0:ot.edit_of_subject_knowledge)&&Se==="\u5B66\u4E60\u8DEF\u5F84"&&Dh.get("type")==="classrooms"&&Xr.createElement(ve.ZP,{type:"primary",className:Qr.button,onClick:()=>{Ce.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,getContainer:ae.current,okText:"\u786E\u8BA4\u540C\u6B65",content:Xr.createElement("div",null,"\u8BE5\u8282\u70B9\u4E0B\u5171",Xr.createElement("span",{className:"c-light-primary"},z==null?void 0:z.currentResourceTotal),"\u4E2A\u8D44\u6E90\uFF0C\u786E\u8BA4\u540C\u6B65\u540E\uFF0C\u8FD9\u4E9B\u8D44\u6E90\u5C06\u6309\u7167\u7C7B\u578B\u5206\u522B\u53D1\u9001\u5230\u8BFE\u5802\u5B9E\u9A8C\u3001\u56FE\u6587\u4F5C\u4E1A\u3001\u5728\u7EBF\u8003\u8BD5\u3001\u89C6\u9891\u76F4\u64AD\u3001\u6559\u5B66\u8D44\u6599\u6A21\u5757\u4E2D\uFF0C\u53EF\u524D\u5F80\u5BF9\u5E94\u6A21\u5757\u8FDB\u884C\u8D44\u6E90\u53D1\u5E03\u7B49\u64CD\u4F5C\u3002"),onOk:()=>iu(void 0,null,function*(){var Vr;const Xi=yield(0,ee.ZP)("/api/subject_knowledge/send_to_course",{method:"post",body:{id:z==null?void 0:z.resourceid,subject_id:(Vr=E==null?void 0:E.detail)==null?void 0:Vr.id}});(Xi==null?void 0:Xi.status)===0&&Fe.ZP.success("\u64CD\u4F5C\u6210\u529F")})})}},"\u540C\u6B65\u8D44\u6E90\u5230\u8BFE\u5802"),Xr.createElement(jo.Z,{onClick:()=>{re(!1)},style:{marginLeft:"10rem",fontSize:"16rem",color:"#979797"}}))),Xr.createElement("div",{className:Qr.tabstyle},Qf==null?void 0:Qf.map(Vr=>Xr.createElement("div",{onClick:()=>{rs(Vr.key)},className:Ko===(Vr==null?void 0:Vr.key)?Qr.itemsactivite:Qr.items},Vr==null?void 0:Vr.name))),Ko===1&&Xr.createElement("div",null,Xr.createElement("div",{className:Qr.nodetitle},as===1&&Xr.createElement(Ms.Z,{onClick:()=>Jo(2)}),as===2&&Xr.createElement(js.Z,{onClick:()=>Jo(1)}),Xr.createElement("span",{style:{marginLeft:"10rem",fontSize:"16rem",color:"#1B8565"}},"\u8282\u70B9\u5C5E\u6027")),as===2&&Xr.createElement("div",{className:Qr.nodeboyd},Xr.createElement("div",{className:Qr.listitem,style:{marginTop:"0rem"}},Xr.createElement("label",null,"\u8282\u70B9\u540D\u79F0"),Xr.createElement("span",null,z==null?void 0:z.name)),Xr.createElement("div",{className:Qr.listitem},Xr.createElement("label",null,"\u8282\u70B9\u7B80\u4ECB"),Xr.createElement("span",null,(z==null?void 0:z.description)||"\u6682\u65E0")),Xr.createElement("div",{className:Qr.listitem},Xr.createElement("label",null,"\u8282\u70B9\u7C7B\u578B"),Xr.createElement("div",null,(z==null?void 0:z.nodeType)&&Xr.createElement(vs,{containerRef:ae,type:5,value:[{name:z==null?void 0:z.nodeType}],pathsDetail:E,showmodal:!1,dataSources:[]})," ")),Xr.createElement("div",{className:Qr.listitem},Xr.createElement("label",null,"\u8282\u70B9\u6807\u7B7E"),Xr.createElement("span",null,((ut=z==null?void 0:z.tags)==null?void 0:ut.length)>0&&Xr.createElement(vs,{containerRef:ae,type:5,pathsDetail:E,value:z==null?void 0:z.tags,showmodal:!1,dataSources:[]}))),(z==null?void 0:z.nodeType)==="\u89C6\u9891"&&(z==null?void 0:z.resourceOrigin)!==3&&Rl&&Xr.createElement("div",{style:{height:"300rem",marginTop:"20rem"}},Xr.createElement(Su.Z,{allow_skip:!0,videoId:Rl,toLog:!0,src:z==null?void 0:z.resourceUrl,logWatchHistory:Vr=>R1(Dc(Il({},Vr),{container_type:localStorage.getItem("container_type_tupu")}))})),(z==null?void 0:z.resourceOrigin)===3&&Xr.createElement("div",{style:{display:"flex",marginTop:"20rem",alignItems:"center"}},Xr.createElement("span",{style:{color:"#1B8565",fontSize:"16rem"}},z==null?void 0:z.resourceUrl),Xr.createElement(ve.ZP,{style:{height:"40rem",padding:"0rem 10rem",fontSize:"14rem",marginLeft:"10rem"},onClick:()=>iu(void 0,null,function*(){var Vr;let Xi=yield(0,ee.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:(Vr=E==null?void 0:E.detail)==null?void 0:Vr.id,uuid:z==null?void 0:z.uuid}});window.open(z==null?void 0:z.resourceUrl)}),type:"primary"},"\u524D\u5F80\u67E5\u770B")),(z==null?void 0:z.nodeType)==="\u9898\u96C6"&&(ks==null?void 0:ks.map(Vr=>Xr.createElement("div",{style:{display:"flex",alignItems:"center",marginTop:"10rem"}},Xr.createElement(tn.Z,{title:Vr==null?void 0:Vr.name},Xr.createElement("span",{className:Qr.multiple,style:{color:"#1B8565",fontSize:"16rem",maxWidth:"80%"}},Vr==null?void 0:Vr.name)),Xr.createElement("div",{style:{marginLeft:"10rem",padding:"0rem 10rem",fontSize:"12rem",background:"#F6F7F9",color:"#909D99",borderRadius:"20rem"}},"\u8BD5\u9898\u6570 ",Vr==null?void 0:Vr.count)))),(z==null?void 0:z.nodeType)!="\u89C6\u9891"&&(z==null?void 0:z.nodeType)!="\u9898\u96C6"&&(z!=null&&z.resourceOrigin)&&[1,2].includes(z==null?void 0:z.resourceOrigin)?Xr.createElement("div",{style:{display:"flex",marginTop:"20rem",alignItems:"center"}},Xr.createElement("span",{style:{color:"#1B8565",fontSize:"16rem"}},(z==null?void 0:z.resourceOrigin)===1?(ft=Ui==null?void 0:Ui[0])==null?void 0:ft.name:(lt=bs==null?void 0:bs[0])==null?void 0:lt.name),(0,Zu.JA)()&&(z==null?void 0:z.nodeType)==="\u8BD5\u5377"?"":Xr.createElement(ve.ZP,{style:{height:"40rem",padding:"0rem 10rem",fontSize:"14rem",marginLeft:"10rem"},onClick:()=>iu(void 0,null,function*(){var Vr;Zc(z==null?void 0:z.resourceUrl);let Xi=yield(0,ee.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:(Vr=E==null?void 0:E.detail)==null?void 0:Vr.id,uuid:z==null?void 0:z.uuid}})}),type:"primary"},"\u524D\u5F80\u67E5\u770B"),(z==null?void 0:z.nodeType)==="\u8BD5\u5377"&&(z==null?void 0:z.resourceOrigin)===1&&Xr.createElement(ve.ZP,{style:{height:"40rem",padding:"0rem 10rem",fontSize:"14rem",marginLeft:"10rem"},onClick:()=>iu(void 0,null,function*(){var Vr,Xi;const Bo=yield(0,$c.Mb)({categoryId:(Vr=Ui==null?void 0:Ui[0])==null?void 0:Vr.id});Bo!=null&&Bo.exercise_id&&(0,vt.xg)(`/classrooms/coursesId/exercise/${Bo.exercise_id}/${(Xi=a.userInfo)==null?void 0:Xi.login}/initate_answer`)}),type:"primary"},"\u6A21\u62DF\u8003\u8BD5")):""),Xr.createElement("div",{className:Qr.nodetitle},mo===1&&Xr.createElement(Ms.Z,{onClick:()=>xc(2)}),mo===2&&Xr.createElement(js.Z,{onClick:()=>xc(1)}),Xr.createElement("span",{style:{marginLeft:"10rem",fontSize:"16rem",color:"#1B8565"}},"\u8282\u70B9\u5173\u7CFB")),mo===2&&Xr.createElement("div",{className:Qr.nodeboyd,style:{padding:0,minHeight:"530rem"}},Xr.createElement(At.default,{className:Qr.Tabs,activeKey:B1,destroyInactiveTabPane:!0,onChange:Vr=>{Yv(parseInt(Vr))},type:"card",items:Ud}))),Ko===3&&Xr.createElement("div",null,(0,Zu.JA)()?Xr.createElement(wc,{uuid:(z==null?void 0:z.keys)||(z==null?void 0:z.id)}):Xr.createElement(Hd,{uuid:(z==null?void 0:z.keys)||(z==null?void 0:z.id)}))),Xr.createElement(Ce.default,{title:Xr.createElement("span",{style:{fontSize:"18rem",color:"#000"}},lo===3?"\u7F16\u8F91":"\u521B\u5EFA","\u8282\u70B9"),centered:!0,destroyOnClose:!0,width:"1200rem",open:lo>0,getContainer:()=>ae.current,onCancel:()=>{Xo(0),Oo.resetFields(),Kc({qx:[],bh:[],hx:[],gl:[]}),qa([]),Di({}),gs([]),cs([])},okButtonProps:{loading:To},onOk:()=>{Oo.submit()}},Xr.createElement("div",{className:Qr.addmodal},Xr.createElement("div",{className:Qr.title},"\u8282\u70B9\u5C5E\u6027"),Xr.createElement(De.default,{className:Qr.form,labelCol:{flex:"92rem"},layout:"horizontal",form:Oo,colon:!1,onValuesChange:(Vr,Xi)=>{var Bo,wo,Hs,ds;Di(Il({},Xi)),(Xi==null?void 0:Xi.resourceOrigin)!==1&&gs([]),((wo=(Bo=Xi==null?void 0:Xi.label)==null?void 0:Bo[0])==null?void 0:wo.name)!=="\u9898\u96C6"&&cs([]),((ds=(Hs=Xi==null?void 0:Xi.label)==null?void 0:Hs[0])==null?void 0:ds.item_type)!==2&&(gs([]),qa([]),cs([]),Oo.setFieldsValue({resourceOrigin:0,url:""}))},onFinish:(0,md.debounce)(Vr=>iu(void 0,null,function*(){var Xi,Bo,wo,Hs,ds,Ws,pl,Zl,Qc,Wd,N0,z1,U1,W1,j1,io,nu,ru,au,_u,gI,vI,mI,pI,yI,EI,AI,xI,SI,bI,CI,PI,wI,MI,DI,II,LI,OI,TI,BI,NI,RI,_I,FI,kI,zI,UI,WI,jI,GI,VI,HI,KI,ZI;if(((Xi=no==null?void 0:no.bh)==null?void 0:Xi.length)===0){Fe.ZP.warning("\u8282\u70B9\u5305\u542B\u5173\u7CFB\u4E0D\u80FD\u4E3A\u7A7A");return}if((Vr==null?void 0:Vr.resourceOrigin)===0){Fe.ZP.warning("\u8BF7\u9009\u62E9\u8D44\u6E90\u7C7B\u578B");return}if((Vr==null?void 0:Vr.resourceOrigin)===1&&(Ui==null?void 0:Ui.length)<=0&&((Bo=Vr==null?void 0:Vr.label[0])==null?void 0:Bo.name)!=="\u9898\u96C6"){Fe.ZP.warning("\u8BF7\u9009\u62E9\u5BF9\u5E94\u5934\u6B4C\u8D44\u6E90");return}if((Vr==null?void 0:Vr.resourceOrigin)===1&&(ks==null?void 0:ks.length)<=0&&((wo=Vr==null?void 0:Vr.label[0])==null?void 0:wo.name)==="\u9898\u96C6"){Fe.ZP.warning("\u8BF7\u9009\u62E9\u5BF9\u5E94\u5934\u6B4C\u8D44\u6E90");return}if((Vr==null?void 0:Vr.resourceOrigin)===2&&(bs==null?void 0:bs.length)===0){Fe.ZP.warning("\u8BF7\u4E0A\u4F20\u6587\u4EF6");return}vo(!0);let EZ=lo===3?"/api/knowledge/v2/mod_node.json":"/api/knowledge/v2/add_node.json",AZ=lo===3?{subject_id:(Hs=E==null?void 0:E.detail)==null?void 0:Hs.id,properties:{description:Vr.description,rootNodeUuid:z==null?void 0:z.rootNodeUuid,name:Vr.name,uuid:(z==null?void 0:z.keys)||(z==null?void 0:z.id),nodeType:(ds=Vr==null?void 0:Vr.label[0])==null?void 0:ds.name,tags:((pl=(Ws=Vr.tag)==null?void 0:Ws.map(el=>el==null?void 0:el.name))==null?void 0:pl.join("\uFF0C"))||"",color:z==null?void 0:z.color,resourceOrigin:Vr.resourceOrigin,resourceUrl:Vr.resourceOrigin===3?Vr.url:Vr.resourceOrigin===2?((Wd=(Qc=(Zl=bs==null?void 0:bs[0])==null?void 0:Zl.response)==null?void 0:Qc.url)==null?void 0:Wd.indexOf("educoder.net"))>-1?(z1=(N0=bs==null?void 0:bs[0])==null?void 0:N0.response)==null?void 0:z1.url:((U1=y==null?void 0:y.setting)==null?void 0:U1.public_bucket_host)+((j1=(W1=bs==null?void 0:bs[0])==null?void 0:W1.response)==null?void 0:j1.url):(io=Ui==null?void 0:Ui[0])==null?void 0:io.url,container_type:((nu=Vr==null?void 0:Vr.label[0])==null?void 0:nu.name)==="\u9898\u96C6"?"ItemBanksGroup":(Vr.resourceOrigin===1||Vr.resourceOrigin===2)&&((ru=Ui==null?void 0:Ui[0])==null?void 0:ru.container_type)||((_u=(au=bs==null?void 0:bs[0])==null?void 0:au.response)==null?void 0:_u.container_type),container_id:(Vr.resourceOrigin===1||Vr.resourceOrigin===2)&&((gI=Ui==null?void 0:Ui[0])==null?void 0:gI.container_id)||((mI=(vI=bs==null?void 0:bs[0])==null?void 0:vI.response)==null?void 0:mI.container_id),itemBanksGroupIds:ks==null?void 0:ks.map(el=>el==null?void 0:el.group_id).toString()},subgraphNodeUuid:Te,relationships:[...(pI=no.bh)==null?void 0:pI.map(el=>({startNodeUuid:el.uuid,endNodeUuid:(z==null?void 0:z.keys)||(z==null?void 0:z.id),type:"\u5305\u542B"})),...gd==null?void 0:gd.map(el=>({endNodeUuid:el.uuid,startNodeUuid:(z==null?void 0:z.keys)||(z==null?void 0:z.id),type:"\u5305\u542B"})),...(yI=no.qx)==null?void 0:yI.map(el=>({startNodeUuid:el.uuid,endNodeUuid:(z==null?void 0:z.keys)||(z==null?void 0:z.id),type:"\u524D\u5E8F"})),...(EI=no.hx)==null?void 0:EI.map(el=>({endNodeUuid:el.uuid,startNodeUuid:(z==null?void 0:z.keys)||(z==null?void 0:z.id),type:"\u540E\u5E8F"})),...(AI=no.gl)==null?void 0:AI.map(el=>({startNodeUuid:el.uuid,endNodeUuid:(z==null?void 0:z.keys)||(z==null?void 0:z.id),type:"\u5173\u8054"}))]}:{label:((xI=Vr==null?void 0:Vr.label[0])==null?void 0:xI.item_type)===1?"\u6807\u7B7E":"\u8D44\u6E90",subject_id:(SI=E==null?void 0:E.detail)==null?void 0:SI.id,properties:{description:Vr.description,rootNodeUuid:z==null?void 0:z.rootNodeUuid,name:Vr.name,nodeType:(bI=Vr==null?void 0:Vr.label[0])==null?void 0:bI.name,tags:((PI=(CI=Vr.tag)==null?void 0:CI.map(el=>el==null?void 0:el.name))==null?void 0:PI.join("\uFF0C"))||"",color:lo===1?"2":parseInt(z==null?void 0:z.colorType)+1+"",resourceOrigin:Vr.resourceOrigin,resourceUrl:Vr.resourceOrigin===3?Vr.url:Vr.resourceOrigin===2?((DI=(MI=(wI=bs==null?void 0:bs[0])==null?void 0:wI.response)==null?void 0:MI.url)==null?void 0:DI.indexOf("educoder.net"))>-1?(LI=(II=bs==null?void 0:bs[0])==null?void 0:II.response)==null?void 0:LI.url:((OI=y==null?void 0:y.setting)==null?void 0:OI.public_bucket_host)+((BI=(TI=bs==null?void 0:bs[0])==null?void 0:TI.response)==null?void 0:BI.url):(NI=Ui==null?void 0:Ui[0])==null?void 0:NI.url,container_type:((RI=Vr==null?void 0:Vr.label[0])==null?void 0:RI.name)==="\u9898\u96C6"?"ItemBanksGroup":(Vr.resourceOrigin===1||Vr.resourceOrigin===2)&&((_I=Ui==null?void 0:Ui[0])==null?void 0:_I.container_type)||((kI=(FI=bs==null?void 0:bs[0])==null?void 0:FI.response)==null?void 0:kI.container_type),container_id:(Vr.resourceOrigin===1||Vr.resourceOrigin===2)&&((zI=Ui==null?void 0:Ui[0])==null?void 0:zI.container_id)||((WI=(UI=bs==null?void 0:bs[0])==null?void 0:UI.response)==null?void 0:WI.container_id),itemBanksGroupIds:ks==null?void 0:ks.map(el=>el==null?void 0:el.group_id).toString()},subgraphNodeUuid:Te,relationships:[...(jI=no.bh)==null?void 0:jI.map(el=>({startNodeUuid:el.uuid,type:"\u5305\u542B"})),...(GI=no.qx)==null?void 0:GI.map(el=>({startNodeUuid:el.uuid,type:"\u524D\u5E8F"})),...(VI=no.hx)==null?void 0:VI.map(el=>({endNodeUuid:el.uuid,type:"\u540E\u5E8F"})),...(HI=no.gl)==null?void 0:HI.map(el=>({startNodeUuid:el.uuid,type:"\u5173\u8054"}))]};const QI=yield(0,ee.ZP)(EZ,{method:"POST",body:AZ});vo(!1),(QI==null?void 0:QI.status)===0&&(Dh.get("type")==="classrooms"?b({type:"pathsDetail/getCourseDetail",payload:Il({id:(KI=E==null?void 0:E.detail)==null?void 0:KI.id,knowledge:!0},(0,vt.oP)())}):b({type:"pathsDetail/getPathsDetail",payload:Il({id:(ZI=E==null?void 0:E.detail)==null?void 0:ZI.id,knowledge:!0},(0,vt.oP)())}),Fe.ZP.info(lo===3?"\u7F16\u8F91\u6210\u529F":"\u521B\u5EFA\u6210\u529F"),Xo(0),fe(!1),se(),Oo.resetFields(),qa([]),Di({}),gs([]),cs([]),Kc({qx:[],hx:[],bh:[],gl:[]}))}),500),size:"large"},Xr.createElement(De.default.Item,{label:"\u8282\u70B9\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8282\u70B9\u540D\u79F0"},{type:"string",max:60,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Xr.createElement(Pe.default,{maxLength:60,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Xr.createElement(De.default.Item,{label:"\u8282\u70B9\u7B80\u4ECB",name:"description",rules:[{type:"string",max:5e3,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Xr.createElement(Pe.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Xr.createElement(De.default.Item,{label:"\u8282\u70B9\u7C7B\u578B",name:"label",style:{marginBottom:"0rem"},rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},Xr.createElement(vs,{containerRef:ae,type:5,pathsDetail:E,showmodal:lo!==3,dataSources:[]})),((Bt=(Dt=si==null?void 0:si.label)==null?void 0:Dt[0])==null?void 0:Bt.item_type)===2&&Xr.createElement(De.default.Item,{label:" ",name:"resourceOrigin",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8D44\u6E90\u7C7B\u578B"}]},Xr.createElement(pe.ZP.Group,{className:Qr.radioform},Xr.createElement(pe.ZP,{value:1},"\u9009\u62E9\u5934\u6B4C\u8D44\u6E90"),((Xt=(Vt=si==null?void 0:si.label)==null?void 0:Vt[0])==null?void 0:Xt.name)!=="\u9898\u96C6"&&Xr.createElement(pe.ZP,{value:2},"\u4E0A\u4F20\u6587\u4EF6"),((on=(vn=si==null?void 0:si.label)==null?void 0:vn[0])==null?void 0:on.name)!=="\u9898\u96C6"&&Xr.createElement(pe.ZP,{value:3},"\u5916\u94FE"))),(si==null?void 0:si.resourceOrigin)===1&&((qn=(wn=si==null?void 0:si.label)==null?void 0:wn[0])==null?void 0:qn.item_type)===2&&Xr.createElement(De.default.Item,{label:" ",name:""},Xr.createElement(ve.ZP,{onClick:()=>{var Vr,Xi,Bo,wo,Hs,ds;((Xi=(Vr=si==null?void 0:si.label)==null?void 0:Vr[0])==null?void 0:Xi.name)==="\u9898\u96C6"?(Ih(!0),Bs(ks),Rg()):(zi(!0),oo(((wo=(Bo=si==null?void 0:si.label)==null?void 0:Bo[0])==null?void 0:wo.name)==="\u89C6\u9891"?"2":((ds=(Hs=si==null?void 0:si.label)==null?void 0:Hs[0])==null?void 0:ds.name)==="\u8BD5\u5377"?"4":"1"))},type:"primary",style:{height:"40rem",lineHeight:"40rem",padding:"0rem 32rem",boxShadow:"none"}},((En=(yn=si==null?void 0:si.label)==null?void 0:yn[0])==null?void 0:En.name)==="\u9898\u96C6"?"\u9009\u62E9\u9898\u96C6":"\u9009\u62E9\u8D44\u6E90"),(Ui==null?void 0:Ui.length)>0&&Xr.createElement("div",{style:{color:"#1B8565",marginTop:"5rem",fontSize:"16rem",display:"flex",alignItems:"center"}},Xr.createElement("div",{className:Qr.multiple,title:(Pn=Ui==null?void 0:Ui[0])==null?void 0:Pn.name},(or=Ui==null?void 0:Ui[0])==null?void 0:or.name),Xr.createElement("i",{style:{fontSize:"16rem",cursor:"pointer",marginLeft:"10rem"},onClick:()=>{gs([])},className:"iconfont icon-shanchu12"})," "),(ks==null?void 0:ks.length)>0&&(ks==null?void 0:ks.map(Vr=>Xr.createElement("div",{style:{color:"#1B8565",marginTop:"5rem",fontSize:"16rem",display:"flex",alignItems:"center"}},Xr.createElement("div",{className:Qr.multiple,title:Vr==null?void 0:Vr.name},Vr==null?void 0:Vr.name),Xr.createElement("i",{style:{fontSize:"16rem",cursor:"pointer",marginLeft:"10rem"},onClick:()=>{cs(ks==null?void 0:ks.filter(Xi=>(Xi==null?void 0:Xi.group_id)!==(Vr==null?void 0:Vr.group_id)))},className:"iconfont icon-shanchu12"})," ")))),(si==null?void 0:si.resourceOrigin)===2&&((yr=(xn=si==null?void 0:si.label)==null?void 0:xn[0])==null?void 0:yr.item_type)===2&&Xr.createElement(De.default.Item,{label:" ",name:"file",shouldUpdate:!0},Xr.createElement(Uo.default,Il({},_1),Xr.createElement(ve.ZP,{type:"primary",style:{height:"40rem",lineHeight:"40rem",padding:"0rem 32rem",boxShadow:"none"}},"\u4E0A\u4F20\u6587\u4EF6"))),(si==null?void 0:si.resourceOrigin)===3&&((ea=(na=si==null?void 0:si.label)==null?void 0:na[0])==null?void 0:ea.item_type)===2&&Xr.createElement(De.default.Item,{label:" ",name:"url"},Xr.createElement(De.default.Item,{label:"\u5916\u94FE\u94FE\u63A5",name:"url",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u5916\u94FE"}]},Xr.createElement(Pe.default,{style:{height:"40rem"}}))),Xr.createElement(De.default.Item,{label:"\u8282\u70B9\u6807\u7B7E",name:"tag"},Xr.createElement(vs,{containerRef:ae,type:3,pathsDetail:E,showmodal:!0,dataSources:[]})))),Xr.createElement("div",{className:Qr.addmodal,style:{marginTop:"20rem"}},Xr.createElement("div",{className:Qr.title},Xr.createElement("span",null,"\u8282\u70B9\u5173\u7CFB"),Xr.createElement("span",{style:{cursor:"pointer"},onClick:()=>{F1()}},"\u5173\u7CFB\u8BBE\u7F6E")),Xr.createElement("div",{className:Qr.gxcoent,style:{padding:"20rem 25rem"}},Xr.createElement("div",{className:Qr.gxtitle},Xr.createElement("div",{className:Qr.Colortitle,style:{background:"#6236ff"}}),Xr.createElement("div",null,"\u88AB\u5305\u542B\uFF08",(jr=no.bh)==null?void 0:jr.length,"\uFF09")),Xr.createElement("div",{className:Qr.gxbody},(Or=no==null?void 0:no.bh)==null?void 0:Or.map(Vr=>Xr.createElement("div",{className:Qr.tag,style:{background:"#6236ff"}},Xr.createElement("span",{style:{marginRight:"10rem"}},Vr==null?void 0:Vr.name)," ",Xr.createElement(jo.Z,{onClick:()=>{var Xi;let Bo=(Xi=no==null?void 0:no.bh)==null?void 0:Xi.filter(wo=>wo.uuid!==Vr.uuid);Kc({bh:Bo,hx:no==null?void 0:no.hx,qx:no==null?void 0:no.qx,gl:no==null?void 0:no.gl})}})))),Xr.createElement("div",{className:Qr.gxtitle,style:{marginTop:"30rem"}},Xr.createElement("div",{className:Qr.Colortitle,style:{background:"#24A881"}}),Xr.createElement("div",null,"\u524D\u5E8F\uFF08",(Yr=no.qx)==null?void 0:Yr.length,"\uFF09")),Xr.createElement("div",{className:Qr.gxbody},(fa=no==null?void 0:no.qx)==null?void 0:fa.map(Vr=>Xr.createElement("div",{className:Qr.tag,style:{background:"#24A881"}},Xr.createElement("span",{style:{marginRight:"10rem"}},Vr==null?void 0:Vr.name)," ",Xr.createElement(jo.Z,{onClick:()=>{var Xi;let Bo=(Xi=no==null?void 0:no.qx)==null?void 0:Xi.filter(wo=>wo.uuid!==Vr.uuid);Kc({qx:Bo,bh:no==null?void 0:no.bh,hx:no==null?void 0:no.hx,gl:no==null?void 0:no.gl})}})))),Xr.createElement("div",{className:Qr.gxtitle,style:{marginTop:"30rem"}},Xr.createElement("div",{className:Qr.Colortitle,style:{background:"#EC8657"}}),Xr.createElement("div",null,"\u540E\u5E8F\uFF08",(Ia=no.hx)==null?void 0:Ia.length,"\uFF09")),Xr.createElement("div",{className:Qr.gxbody},(oi=no==null?void 0:no.hx)==null?void 0:oi.map(Vr=>Xr.createElement("div",{className:Qr.tag,style:{background:"#EC8657"}},Xr.createElement("span",{style:{marginRight:"10rem"}},Vr==null?void 0:Vr.name)," ",Xr.createElement(jo.Z,{onClick:()=>{var Xi;let Bo=(Xi=no==null?void 0:no.hx)==null?void 0:Xi.filter(wo=>wo.uuid!==Vr.uuid);Kc({qx:no==null?void 0:no.qx,bh:no==null?void 0:no.bh,hx:Bo,gl:no==null?void 0:no.gl})}})))),Xr.createElement("div",{className:Qr.gxtitle,style:{marginTop:"30rem"}},Xr.createElement("div",{className:Qr.Colortitle,style:{background:"#497DFF"}}),Xr.createElement("div",null,"\u5173\u8054\uFF08",(Eo=no.gl)==null?void 0:Eo.length,"\uFF09")),Xr.createElement("div",{className:Qr.gxbody},(to=no==null?void 0:no.gl)==null?void 0:to.map(Vr=>Xr.createElement("div",{className:Qr.tag,style:{background:"#497DFF"}},Xr.createElement("span",{style:{marginRight:"10rem"}},Vr==null?void 0:Vr.name)," ",Xr.createElement(jo.Z,{onClick:()=>{var Xi;let Bo=(Xi=no==null?void 0:no.gl)==null?void 0:Xi.filter(wo=>wo.uuid!==Vr.uuid);Kc({qx:no==null?void 0:no.qx,hx:no==null?void 0:no.hx,bh:no==null?void 0:no.bh,gl:Bo})}}))))))),Xr.createElement(Ce.default,{title:"\u9009\u62E9\u9898\u96C6",open:B0,destroyOnClose:!0,centered:!0,getContainer:()=>ae.current,width:"1200rem",onOk:()=>{if((lc==null?void 0:lc.length)<=0){Fe.ZP.info("\u8BF7\u9009\u62E9\u9898\u96C6");return}cs(lc),Ih(!1)},onCancel:()=>{Bs([]),Ih(!1)}},Xr.createElement(Xa.default,{checkable:!0,style:{margin:20,maxHeight:400,overflow:"auto"},blockNode:!0,checkStrictly:!0,checkedKeys:lc==null?void 0:lc.map(Vr=>Vr==null?void 0:Vr.group_id),onCheck:(Vr,Xi)=>{Bs(Xi==null?void 0:Xi.checkedNodes)},treeData:sc,fieldNames:{key:"group_id",title:"name"},titleRender:Vr=>Xr.createElement("div",{style:{display:"flex",alignItems:"center",paddingRight:"14px"}},Xr.createElement(tn.Z,{title:Vr==null?void 0:Vr.name},Xr.createElement("div",{className:Qr.multiple,style:{display:"flex",alignItems:"center",maxWidth:"80%"}},Xr.createElement("img",{src:qc,style:{marginRight:10}}),Xr.createElement("span",null,Vr==null?void 0:Vr.name))),Xr.createElement("div",{style:{padding:"0rem 10rem",fontSize:"12rem",background:"#F6F7F9",color:"#909D99",borderRadius:"20rem"}},"\u8BD5\u9898\u6570 ",Vr==null?void 0:Vr.count))})),Xr.createElement(Ce.default,{title:"\u9009\u62E9\u5934\u6B4C\u8D44\u6E90",open:Ya,destroyOnClose:!0,centered:!0,getContainer:()=>ae.current,width:"1200rem",onOk:()=>{zi(!1)},onCancel:()=>{zi(!1),lo!==3&&gs([]),oo("1")}},Xr.createElement("div",{className:Qr.settingmodal},Xr.createElement(At.default,{className:Qr.Tabs,activeKey:Ca,destroyInactiveTabPane:!0,onChange:Vr=>{oo(Vr)},type:"card",items:((Qi=(ri=si==null?void 0:si.label)==null?void 0:ri[0])==null?void 0:Qi.name)==="\u89C6\u9891"?Si.filter(Vr=>(Vr==null?void 0:Vr.label)==="\u89C6\u9891"):((Ji=(Ri=si==null?void 0:si.label)==null?void 0:Ri[0])==null?void 0:Ji.name)==="\u8BD5\u5377"?Si.filter(Vr=>(Vr==null?void 0:Vr.label)==="\u8BD5\u5377"):Si.filter(Vr=>(Vr==null?void 0:Vr.label)!=="\u89C6\u9891")}))),Xr.createElement(Ul.Z,{close:!0,style:{zIndex:1300,background:"rgba(1, 10, 35, 0.5)"},data:Yi==null?void 0:Yi.url,type:Yi==null?void 0:Yi.file_type,disabledDownload:!0,onClose:()=>Po({})}),Xr.createElement(Ce.default,{title:"\u5173\u7CFB\u8BBE\u7F6E",open:ya,destroyOnClose:!0,centered:!0,getContainer:()=>ae.current,width:"1200rem",onCancel:()=>{La(!1);let Vr=JSON.parse(sessionStorage.getItem("typesdatajson"));Kc(Vr)},onOk:()=>{let Vr=JSON.parse(sessionStorage.getItem("typesdatajsoncopy"));Kc(Vr),La(!1)}},Xr.createElement("div",{className:Qr.settingmodal},Xr.createElement(At.default,{className:Qr.Tabs,activeKey:T1,destroyInactiveTabPane:!0,onChange:Vr=>{Qv(Vr)},type:"card",items:fu})))))};var bn=(0,be.connect)(({pathsDetail:E,user:a,loading:y,globalSetting:x})=>({pathsDetail:E,user:a,globalSetting:x,loading:y.models.index}))(zt),An={tree:"tree___nmqFN",center:"center___zS18i",head:"head___VcDyA",del:"del___VM4Mh",body:"body___YCIVW",tabs:"tabs___SW1M6",active:"active___p1mR9",scrollBox:"scrollBox___reAJO",treeWarp:"treeWarp___oNJ2m",treeNode:"treeNode___qHtQK",node:"node___AIr0l",info:"info___FnWMG",resource:"resource___WYrQp",action:"action___gQRZY",tags:"tags___iMesf",tag:"tag___ImQuD",leftLine:"leftLine___KCWcy",rightLine:"rightLine____XB16",icon:"icon___QEn9F",nodeWrap:"nodeWrap___CLyJX",line:"line___njEbX",statusbutton:"statusbutton___yMqes",checkbox:"checkbox___jNN_4",loading:"loading___zOI_x",allTreeNode:"allTreeNode___csU65"},cr=Oe(24905),ir=Oe(95237),kr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA1lJREFUWEfFl09oXFUUxn/nvTEpbXXRos4bgwgGRYtZCIILhQSFtgEjgnShCNJV05pMqQstpV1UjW6seY1pFERB6EYEJVJbRMmALgqCixTFlgoupjOjUhdNo0068z65w0ycmcxMJmbk3e39zne+d/69c40Oz45P1PPnbwxZxEgkHjQjJUg5c4OcRM4zfpLH7LY7mftxjy13Qm1rge6ZVnK5yLEInkfctha+fG9c8+B0T4Ljvx6wQjublgL6T6r3L3EkEoeALR05Xg1a9IwTm403Lo/bUjOOpgLcV98o8hni0f/ouN7MOL8pwTPNorFKQN+kBkrGGYm+rjivkJiR9T2Gs2N2oZa3ToD78qUi33fbedWhE9Gb4JHaSKwIcDm/LjJdC3ur8BnntxqD1ZpYEZAKdTwSR7sZ9lZcnvFaLm3HKi0M5aK7yeUNVPt6dS9uuoV+l4pyBFKhTkVidL0sG8F7xkwubfvNTbiref7oeMhsxGt9+V/bHnC7BVPaqRLnusW7Hh7z2WWpUNOR2N/W0Jj3jBcRd0fi8zqsMW/iKYzDEvs8n6cxslGJjxAD7Xg945QlJzUHDLbuGj72U+zL7rG/g0k9Jvi2FpvwGcqOWSYI9abEqwaP5w/ad6n3tVk3eE/ihTYiMhaEuihx3yqQIYwDhXGbcXfJk3qWiA+BW1ewxheFtI3cO6M7FpfKXeTuFvDYWxi3Tyt2o4jpMlvDMeOSJUMtILY2EfBNIW1PDs4pcfECbyni5QZM0fN5KDdmPwehZlz462rMOHH/AK9khqyYDPU14okmPq63FGDGuXzadt/1rrZHRU4LdtYSVNsomNYDusk8kGgQ8JXn89yVl+xqEOqsxK4mqVhonQIo4jNSGLOzkiwIOWQwIehxYd7SS/8vo/Z7MtQsrggrx2BZxpH8OG+bmZJT2k2J2UaB5SlYTkG7IjRk8M62gMNuw0mGGkacMXg9f9CO9k1psFjCFfG/x2fYiS5vUAUm5PaJJvmvGGRcG645BQ1+8Dz2lowUJb40mJTHBMLltr7VfIY9UVDEB4KH12zD2AdR7KPYhaiTNKxnxHaCXfkZOXDsv+NKFOJbSJyA2FeyaipiW0qrhRPrWl4VEevDpCoi1qdZbR/H9jhtHCb/1/P8H/hZr0qiHgOCAAAAAElFTkSuQmCC",Rr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA/1JREFUWEe1l19oW2UYxp/nNMmWdO1cZmcSW3TYKWwKoh3MmdBVUOmEDSeINvNGGEwRLwRR0Y12FHF44c2qTvEuCaNCRS+KiJiQP512eOFFB3XzX7FNXVnLlrRL8+e8ck6XmS45OUc9O5fnfO/7/L7n/b7vvB9h8dk1OuVaLF3po1QOqMBOEgGBBLRwgnMimFOA88KWr7zOzfGpZ3cVraSm2aC7Ryd9xVLxuCoSBqTdbPzad14lJeba6DnxxzM92WYxhgDd4xc2rCxl31YFrwFotSZcN2qZ5AetW3zDF/fvWG2UoyGANutCcfULQPb8R+GbwvjDBrf76UZu1AF0RiYeqKA8LkCnPeLXiwLOKg48Nftc6KfavOsAtJmvFgvn7BavChKcdbndu2uduAGg1Ty/OJ+wz3YD/4jJjYGu3t/7thfWdtD1JxBNnlAFx+y03SgXyeFsOKRr6QBri65w0Wi1EyiAvGaUUASbAVGswhNccbnd3VopdIBANP2hKupLBtuk0N6mbJs+GMwZCfijqXEAPSLS8S8gTmcPh45SO+EuFxcXjA4ZkkvZcMjbLLE/kvrY4VBOlSvqd9YhmNvq8t5Of3TiSZHy103qZQ4QTUYgzAO4SyiPQ9BixQkq7GcgkhpRIS//H4DaWF8kqR29PisACpWP6Iuk4oDsu0UAywQ+BRkUkZ56DSboj6amReReKwAyiV4Qz9eNJcbYg2+09zccIPIk+7MDoXTgzNmH1HLpx5vjSP5MXzSZg2CTFQArtuoAxKaquA4VTb0HkTcagOe1ElwFpM0OgEER5XQ0dQkKD2cHQvrC9kfSbwnUdxvnZ862Egw9LN9+EsucEshZCPo7OtqPLCzkXjUW1xuZaVsWoTZzXZwS02reOTrRXSlVPheRB5uWjYzbsg190fSxFiA9Gw7GzW2vQSJHbDmIfJHUZ0fDwSODpNq85uv9UBTlCVuOYl8sdZICHwTXBHgREKfpjiGu3Hmfp8P8Z0SsOkH/TDi0ZJRUWwOJBJRf59JtJcGfAvGYA3BkPhx6xdLvGESZgrJZUiEcEDjMxoHIu+nq/m1gz1//NCSR9JAK9bhpsB0DyMH5cGhIS7W+JVvKxiF4xA6NJgdbxuv0Pla9uKxrSrfHvr+jIMVzIui6FRAEZzweZfcvhx69VM1f15Z3ncncX65Uxu2G0MSdCvfPDASnaifX8GKiO6EWxwTYa4cTJDMet3KoduaGDlQ/6K1a+fKbELze7G/ZHJA5kO9vdW45aXRZNb2c3jOW2ba8Iu8Q6gsC3GbFEa2PFGGk1cPhRrM2LUEjkX1xcVyYT/WqKg8A2CmAn4B+PRdgjoDWip1XqHy5w783meij6bmhxf4NftTdgSGLQUwAAAAASUVORK5CYII=",qr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAsVJREFUWEfFl0tIVGEUx39nZsxoKpGISlqmC42gxwxCEApBUhC0iR7bMLRyhrZRC6Ntecc0CtoVRRshkbKN0iJ0RmtRBj0WLUKLoEAz0po5cWe4zdWZO/czJuauzz3n9/3P6/sE02/qwSp+fm5FM4dRbUSlDqEu+7syjeg0Iq+RwENWbxqh6eiiiWvxNZrq28z870vASdD1vvZZA5kF7hIOddN05lOpf7wB3iWq+aYXED2PEjYLvMxKmEflKrVyhfquhWI+igPkTj0A2vxPgQt+kjHCoSPF1CgEmOzZQVqGQLeWJ7jjRT4SCBxkz7mXbr9LAXInT5U/uAsiHIq4lcgD5HI+Wj7ZvfSTMWqlxamJPEDS6ga9WF7ZPSEuE43ZnUUOwJb+x6/3ntUujBOqPsbOjg+egBNWK6qDRh1jd8eaqm12KnIASasftMPTuXCKSPy2rzrPr+8jnR5Cda2vLXKDaKxTsCfc/MyXkkNGAieIdN3zdwqkevei6UfAutL2Mkt4y0ZhsvcA6fTjksYrAbAdTSaaSeuw7+QMBtuECauPjHaWFcB2lkrE0cy1kn4D0i+kekZQWsoOMJHoIJPpL+2XUSFpvQFtMAZIWneA7Xl7HSQaL2xfEwDkrZCy5nyr1l0DKasdJT+mg7xgd2yg4AAmACLfVw4wcbMGqCqqWM3CIvVd9ioGEwCYM0yBHCcSu591nLLGUY16pGyYaLzNHCCbApMidAMkdqIUv5gE5OvfbWeigNhFaNSGSwD2o7KhqAIhmWHX2afGCmTb0GgQuQCSPc+ASFEAkSdEYoeMAbKDyGgUuwCM5rFJETqj2GgZyWkisVumsXPF6jcJnWVkG/uuY3lFMNhOpsp7HbvpMgsNoPaGbSyequXrOKdCBS8kNkDFr2ROKip2KXWSVdFruQNR0YeJA1HRp5m7dyr2OF3ewP/pef4HW7pxo3nDj9QAAAAASUVORK5CYII=",_a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA75JREFUWEe1l19sU2UYxn9v2dwGzmSoEZJtRhY1StAQtN2YkEUiYOL/C6LhQtPWLQwXwXAlRKsXcjMUJQzFrUaCesGFjptBREJ0iXQmXOGCIQKJZDH4Z2Jm6UZ7HnNqCx30z2ktJ2lz8p3ned7ne8/7ft/5DI9Xb5dunonzJLDSgWVAi0GTjGlgIvM76RPDzXP5NnLMkl6krRSoe7naUileF7yAaCiFd5+bMYn4pL6Rd3Z/Y38U4xQ0EInId/4QbzhiG2KOl8DXYgwu4mP7mhb61x2wVD6NvAb6Vuj2+AyfSTxWSeDrOMaRulrW7Rm1yTwmZw+FOrQUh4MSzVUJnhUxTtfVsnbPqJ3J1Z2Vge4u3ZaMc8ItsKoGv2riVE0j7XuP2MWrQ5k7953/MsKIxOobEjwjanBozZ08ka2JKxkItyviOLx5I4NntX3GK4Mx253uGPfPbbVkip8qrfayTRsX6htoGzhmU2kDoYCGJIJehAx+NzgsuF+w1AunACYSHbO3zF3hEpe44GWRMWPKxAODY3Y2bdyvZ4B+QVu5Rsw4OxSzRRYK6HmJLzwKHI6O2dpcbN/jqotPsgmxVaLRo04a5jMedA18KNHjkfhldMyey4ft7dKC6Utsl3gxW1ulNH0+tlnQrzHg4VLgzPOCBrL8YKce4jLvA8tLaZqx383ArxJ3lAJ7NXDFSLtew2FHUV3jqIX8Sgjqqm0g013jEvcV1DZOWTCguJcOKDcDLj7o18/AokIGDH50MzAhWFjNDLid8c+f7EBsLKZrxtduDYxKdFbLwMsdejaVor/YzLOxDD61sF8fOND3fw10d2hJ0mEn4lGPWu46sMXCAT3tiK88kYyj0ZitysVuXKVbE1O8Legpdy+pNe6xzPtyl+JbSpowEjVG597jdiLSpZrzCXolIhJNJbnXAozxaMwWpzejYEDvITZ5EjESBj9I3A0s8MTJA/IZmwdjtvO/7XiFFiZnOIOor1SwLJ5xrrWVeyMHbCb3g2SD4zBQllCFYJvD+qHv7XOXPuubMOzXfgfWV6jrjWbsi8bM3bDS1ywDW1Zr3uRfxASLvamVhzLj+Nz5dO0aMfc0db0BdyTs112OMYxYUp58cXQ6+E08tes7+y0XmfdgsrlDDX87DEi8VBUTxr558+nOnXnBDOQGDPsVcox3Pa0R+Zwa58zH1mzB5YeUmOKGR9R0OcmrEiHPpyVj3AcfN7cy4LZasRAlT8dZsiTraaczKVaasUyixYwmxDTGBGIC42QNDH8Us9NeX92/T9xk1NzUiXsAAAAASUVORK5CYII=",ta="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA9tJREFUWEe9l11sFFUUx///3ZmyrVWMCQsWig+1Kr6w2wZM/CwaP/CBByM8mOhrQyBYt2pMwGD8NmG7tX7yZEx8gsTAg2J4sDUBjJKy1QSjQiNF0WA3tdDalp3Z+ZvZ6W637W5nt906bzNz7v/8zrnnnnsvUeajQ9tr7D8GH6S0TdQGCQ0kGiBIxJ8E/qJwVkEcNWqDfWzvt8qRpp+REq03Z+Dsl6OnBFzvZ+/+J3iF0GfB4IrX2PHd5YXGlATQJ20h+58rewHEJNWV43iuDYlxEAeMtc1vccfhdDGNogBu1LYyRyRsXozjIiAnjdq6J7jz1N/z/s39oHh0o019IWFtNZznNciLpoGt3JP8qVB3VgamIz9ddeczFEOmiU3ckxzOfcoDeHM++k210l4qewROGI3ND+VqIg9gxSOvC3CLbtkfBgL7zOfOvOGtGABe6p3zi632SolJXjWuCzSxvT+VBbAT0Y8dR+2VCi3Fngy8a8bOdDDb4X4/l/JrMqbJcGHx6KO7w9bExGWSGQOhMGPfjuSA9MGmRmvKurhgAyJGjHXNYVpdLY9JzjG/aGo6B+b1jHQ8IhLXzNhAqHC8W9DWyOiknyYDxhba8eiHDrTTz3gugCRaXVFnSQBEwhXpk/RApQCu/ZIzQH7FdDzyC4Db/AAqqoHu1vVWJjPkpwnyR1pdkTEJ9b7Gy2BAMEUrHrnqtwKmG8YYiIk8h1A3axxxIcDAPjk6IGhNObwkh5nuivwM4Xa/AeaqcD2fOf7vzFJrq7emRsey78QFs4Zt3J0c0nutd9hpp7csCPIHdwp6JbT5AZRahoXO83BlQpA8Rjseed8BdlUKkFuGAJ+t6Uz2zB1vJaIvy9GrCzcjxml1Rx5WBscrBShYhuMIBLeaHf0nchpWd8ujyOiIoFkNaq4PMnA/dbDVtMedYUErF4Iwg4GNMIMzJ5ope7UFDWRLwD16TUOU7RxMGY23rvE2ozKnwae3jwM8CGGXX+QeNONmLPm8tx1337Xadq6d/7/6AYlRA7VN7gY2cyBJRPbLwSt+tVCN/wRfMjuT70z3F0/Su3ic+1rCPdVwUkqDRK8RvfERbumzZwFkIdw9fnLyNKT1ywPBQZOhzYVnh3l7vHqid1oWvgR0S3UhOGiuMB/n7u9/LdQtfjHpia6yLX0u4N5qQGTTjtonCyPP6Za+mrk1cWnwBUgvSrphMSButUN822hZGc/N+bxm5CcsNxs29wLO0xJu8rP3CospEJ8aCL1ZLGrfKSjmRIe2B+1Lv90H2dsAbhDQQKEBhATveg7gLMCjxrqmU9xxOFMO7H8KhNHxXAeU2AAAAABJRU5ErkJggg==",ia="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAAAXNSR0IArs4c6QAAA05JREFUSEvFl1+IVHUUxz/n3jvOH92HfFpWEi2tWAwLIvChh+1lc9bY7EFS8iGKtIdeCnwxREmEXgyfEoRktdIgKrLdQqRFLURQ0lr/ryy02QwLK9u67uzsvfd39I6uzNyZO3PHQZzH+Z1zvp/f9/x+Z34jNPG5NUCn4/MigmMpkz7kxSGXSpGXLmaaKPUgVOImTfXT7kBvVLwxTIhFTiCf9MhJL7fi1C4B6CCp2QJbjNKDsAxlYZzkqBiB/zVwB/rF5sviNPm2tdwUQcM5EogXC5xVpbMV0Tow54C9CrMi5D0lNz/DsHQxFeRIcYBtRtnxKMTnaorwBcr5cg2x+T35Ghek0M9p4OVHCgAnga/LNdRgUgX6pDDAeKs9bwRvCVdU+Twcl5zH4cCBqoPRqGCz6yL8i7KzIs9Ch/5h/2MDMIbxzOt81zKA1bGRxLOfov407tAH6M3jVQbVcsAIQ5ksf7QEYD+1hcRznz0Q1MIoxcHFsQAQjqWyXG8AYAN+zZY7z+zEWba1Yk292xSPtgWjreL7Wg5MOHzV3s3tSAB76UcEIniTuH+/jxn76X5Rwencg7Pkwyow98pW/Ou7GjpgYDLTw6HSIKp5C5IdJF8dRcQqFVPj4Z57C5P/Eef5fThPvlMl4l3bgXdte023wg6ocjW9hsFIAEkvIdk1Ummv8dCJU1gLX6ne+aWP8Ud2R97OMIA4HE92cznaAcBZsRdn8aa6V17V4A1txh/dVzcuDFCY5dsn1jJRFwAsEiv7sBe9XbN4qS3nN2JyhxvOpXIAVWbSa+ibS2p4CxIrD2Av2lDZDn8G9891mLEjDcVLuyyfhMJIKsvRmABBmE3ihYPYHevvHUhvCvdsL2b8t1jiYQDP4tSC1fzVBECpBFbHBiTzNOa/b9Dp4djiYQC3yA9tbzLWJEBTepFzQBUvdYb9sh3zWAB8uDG/h5/LCVv6LYjry9whdIWTbVkuhgFyd99s7XGLPUycCBeMYdvFGxx5aRNuGOAEUD3eHkYpKkc4kErzrnThhUOCFrwH1B9lLcAET3HLZtW87tLbs/qAqiLFX/helTda0KmZGogr7Epn+STanPsrxV/pVUPP3dfrcmjtjwmQQxi2LA5G7XwO6A7Rr2QOpC6bTgAAAABJRU5ErkJggg==",Aa="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAAAXNSR0IArs4c6QAAAg1JREFUSEvtl09IFFEcx7/fN6hhQS5FiOShEjwUFIWt00FPdYlw25BO/YOOC0XQHmT35EgYHYJOQacugrC7eDa7iLbbpWutWUSGJR1WpSLZfb8YYWtWZ5gZkT3EzPV9v7/vh++8ebxhPGctAnIUQR5ymZBZ1cb0/MXMp7rFLFhntWCEkD4RdAUYpUnOsLN9iPHcqAQwNEhIrktL65nSpfSCWbBSovFYIEboOUpdbQAg+BaUdbdBAhyHoL2+RnJakemalteAtFzoPoHLR07j4J59vhzp4iQ+rn2HUrj9D4BYKiWz3V5uMz92X4t+6AD4DcGEQG4OdvVivH/YN7guuP7yGcqVr1sBWC4lM72eAAUrpbU8ca4bSlVqWnfY4TZE0McVgERVwKyCxysQXBMg7hbydPAGTh7wLG+bxb2BoPguuv8GYEMR9wD19ysQkT6BpPzK2Z0GuH0TmlMPenS1utAUAIJfilcyh51h5wpjp2pav2kKwGYIsUTAcRCxU0RizQPwS/JY3509sMNw2xYBRA1EDUQNRA3YDcTa9uJdZRmrG798z9Tn5Xms/Fzbcif0tXkLevYfwvvVldATaOA8zZx1V4BjgdxETIABiLheAEkuAvgQYFaNwMyrZOYRA4gbJMMyaXzOl+0fEcdNiT9oSKKYyL4IOy80QD2gPz9qAbgFwTfDMO7MJUZmw4bb+j/0UVXnXVodrAAAAABJRU5ErkJggg==",xa="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABSZJREFUaEPlWltMHFUY/v+ZWWCBliJbhAopIgaEgsAu0CoJ1jYpaYyJ4UFNrKlPFNrSGl9MBDoFTEyMsaVye2vERF+IL8bQhFpJaGRhuShQt0lBCFgQ2CAU2GV3Zo45S5YsuzPsLCypo/N6/tt3/us5ZxA0/mEo7Od5wtng13yn5DyBwDyPhBwlhBwkiFFUPhKyhogrBHGKgPRHGBP2Sxy8PMjzKOxV/64BtLVZdMOzTAkRXK8BYjEARgdnDFkFQnqQ0/2cmyh1l5ebXMHxb1IHDYAQghevD54RRbESAY/sRqkvDwHymGXZ5qZr+XcQkQQjMygAl/nhQpcgVAGSjGCUqKYlaNVxXOMtPrdPLY8qADxPmL9ESxUBeE+t4L3QIcA3z7KmRp5HKZCcgAAq+bFoIPZPJYm8GkhYKNcZBu8D6j9p5rNWd5K7I4BL1waPCJLQCIApgYwTXBuwtPgIbHNWsK8tgnNjFRz2ZTdbhD4GwsKjQR9lgLiEDIg1pAGnCw8kEgDIJMdwVV9dz3+sRKwIgO68JK7dDmT8k+U/YdL6E9jmrUBEdVURWQ7i4jMgJeN1OBDzXAAgZJJho84reUIWAI35eTLw5U5hY19fgonf78D89JCKnVQmiU/Og9SXzoA+MlaRiIZTPBo/lMsJWQAVNf1Xd0pY29xDeDDwLQgu+56M9zBzOj1kGt+FuIR0RXk0sVvqC274EvgBuFhnKRJdpElJ0vR4Nzwa6QSAgAUiSHAMpGWXQvILJYp8OlZX6VtitwGgTaqiZqBdqc5vGv9jkIYFR56WfVYZBEFrS73xnHez2wagkh8olUSpQU4lDZvfem/vw877amMg5/h5xXBiWKa6mTfSEHB/WwDobDM4I3XIjQc0YS33boYs5gP5hOaE6eQV2cSmY0d+ElPmmZ22AFTwg6eJKH4mJ3xs4DvV1UYfFad7MefNZDk5G/YV58PhjplAAOg6rU5ZxndkSZFlP27h87u2eeBCtbkBkCn15aB13nKvUY1ON030oaQIU8mlLDkGx5rN3tv1+QO1wkwnq+T7BJE6WxuKqrcA0Hl+TuzvkhuJR83tsDA7qlZnSAEYEo9BdtE5Gd1kNYEtOE3PE+4Qck+ZoqvZl5KOBz2ddao7bKg9QDt2cWmt7NjhKaluAEqNa2F2DEbNX6ve/VADoPKOFb0PhxP9I5IgaW+rK7zpBnCh1nIDCCn2tdQ61AGzU8qjOU1YVqdnvfkiow+HZxrfTpNNYseyY8TcPu675lhfcgrONdnOmHi0EDLyyvzFIfa01pmuejzwPQHwqxxDPW3w9+KEogdyTnyQ+kx8uvIQo9J31uGOibmp/iU58kOGVMgrLvdbQoDplvqCtzY9UN13FxBjfKnMd7+A9SfzTxVA5IF4KDr1kb8NhCy3NhSecgMor+nvRQDOl6r7h1qQhI2nCoDhwqHkjTo/GwiA0FZfcPy/AUDzIVRR06/xJN5lGU3PLUuKNaQe9A5QZDkMj4iJkE0cSZIc9iW/pBof65xZmB1ZkeNRVUbLa/uuIEG/nq2ZRqb5UWKnYW7E3A6L//ZhbrOZaXicdg90ITrQhOo8EPSBJlRHSi4sijEkZvqNJXSTRKdDVKo23hVoV0dKKkDTh3oKQPPXKhSEpi+2PHGo6atFCkLzl7ubCa3h63VPKGn6gcMDQtNPTB4Qmn7k8+6Q7hLrhMv7+czKhsGtplqTWeWFxv/sodt7VzT7q4Gcaz0/ewii6xWCmKKJnz3Uxuh+0/0DF9aFXrFDGJoAAAAASUVORK5CYII=",zr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABL5JREFUaEPdWntMW1UY/53b0s4sQAfDPeKWza1kPDIFCjHRRBM3p0xDnG7Z2PxHjVCn0fjYoqF4bYlmmxqNTkp8/OMeuk0N0REnmmiiiYECZgFmaJDFmT1kkDKyzEJ7PnMKl8Dtvb0trY/r/fd8r9/5vvM9zrkMJv9YJuyXZbIO857bI4huAqGYgQpByCPGsoV8RjQOhlECGwBDvxWWUwVS2feyzCLp6p83AFnus13i12qI8xpibDOIHCkZw1iIEZ1kktS6RLquVZZLJlLinyZOGQARsccbu3Zw4k0AVs9HqQbPkMSkhne9FUcZY5SKzJQA7G7svjPCo/sBKk9FSfK0rNsqWfYc9JZ/myxPUgBkmaRL0a59nPhzyQpOh05i0mtLLBV7ZZlxIzmGAJ58KZgzyUNHiajaSFgm1xljbVmSY8fbLzuvJJKbEEC93LMK0UgbERUZGWe3WVDszEVpYS4K8uxwZNuQm50VYxsbn0RofALDo2H0DoyhPziG8ETUSCQYY2dgsVb75bKzesS6AKZ3/icj41cuX4jqO5aj1JkLq9XQoTE7IhFCb3AMbd+dx2/nryYEIkBkSY5b9DyhqVHE/MVo4ItEYZPvsKNm4w2oWp9nuJOJCDpOj6K1/XeMhMK6ZCKcllpc92mdCU0Abk/gQKIDW1rowKPbbsQCuyUt4xXmP8NRvH/sV/QOhHTliYPd7HM9ryaIA+CWOzfwCLXrSdp421JsuWsFWHLRkjRAIuCzr8+h/YeLujxWybpBnWLnmCGKVL0nENDL88L4BzatSNqo+RB+eioRCNbt97lcs4vdHABuT6CWEz+spViEze5dzozvvFqX8MTBQ0HdcJKYtLPZ5zqi8M0AEL3NhcjVX7TaA3FgPU+UZCzmjTwjzoTvnT69gz20zLpwndI7zQBwNwa2cs6PaQl/eOuatLONkdHqdZGdPjw+qMkmSdK2Zq/ruFicAVDf0HGIgJ1qDpHnX3QXp6o/I/SvNPdr1gkGHPY3Ve2aASD6+QvRwLBWS+yudeKmotQ65YxYD+DnMyH4jwTjxTEWWmZxFYh5IuaBqS4z8o2aUrQHr79QlnSFzZThihxRsZ99tUez7VBSagyAXuEqK8lD3fY1mbYrJXktHw+ip280nkdiB1q8lXtiAOo8nV+CaLOa6qH7V+PW8sW6CkNXJnEtbNyUGVm8KMeGBXZJk+zH7sv46PMhrTA62eKrvDcGoN7TMUAEp5rqmUfWoXBVbKzV/N77ZBBdvRq7Y2Sxav2x7WtRXrJIk2vg7Dje+EBk97kfYwj6fVWFUwAaOi4TkK8m8j69Htfn2/9VAH+MhNH45ul4AMCIv6lqsRJCYRDZ1FRveSpgt2m7VtD+Ex4IT3A85evSCqGJFl+l/f8BwPQhZPpDPN80euKrc7H5Nt3vwXtWonhtzvzTaF1j535wipt2TFPITN9KJGrm6muduPm/3sxNFzPzttMCgOkHGtOPlDEvmHmoFwBMf60S84KZL7aUUmjqq0UBwvSXuwKEqa/XlVAy9QOHAsLUT0wKCFM/8s1u0qdSLPb9nc+skhV7m+XKuEs2vZkj5WcKUz90z94F0/5qoOVK5WcPTvxuDioyxc8e6c7BmeL/C6MjFF4PO1ITAAAAAElFTkSuQmCC",Kr=Oe(43604),Sa=Oe(5083),gi=Oe(61186),Ka=Oe.n(gi),vi=Oe(94811),bi=Oe(88256),hi=Oe(85439),ii=Oe(7386),Ni=Oe(59301),ro=Object.defineProperty,bo=Object.defineProperties,Mo=Object.getOwnPropertyDescriptors,ns=Object.getOwnPropertySymbols,ps=Object.prototype.hasOwnProperty,Ns=Object.prototype.propertyIsEnumerable,$o=(E,a,y)=>a in E?ro(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,ho=(E,a)=>{for(var y in a||(a={}))ps.call(a,y)&&$o(E,y,a[y]);if(ns)for(var y of ns(a))Ns.call(a,y)&&$o(E,y,a[y]);return E},_o=(E,a)=>bo(E,Mo(a)),Do=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});const As=({classroomList:E,dispatch:a,courseEndTime:y})=>{const x=(0,be.useParams)(),[b]=De.default.useForm(),[z,te]=(0,Re.useState)(1),[re,ae]=(0,Re.useState)([]),[se,fe]=(0,Re.useState)(0),[me,Se]=(0,Re.useState)(20),[Te,ke]=(0,Re.useState)(!0),[We,je]=(0,Re.useState)([]),[Ke,Qe]=(0,Re.useState)(!0);x.coursesId=x.pathId,x.id=x.coursesId,(0,Re.useEffect)(()=>{if(E.actionTabs.key==="\u7ACB\u5373\u53D1\u5E03")if(ot(),Je(),E.actionTabs.type===2){const Bt=E.actionTabs.selectArrsAll[0];Qe(Bt.unified_setting)}else Qe(!1)},[E.actionTabs]);const Je=Bt=>Do(void 0,null,function*(){ke(!0);const Vt=yield(0,vi.c_)(_o(ho({},x),{page:Bt||z,limit:2e4}));Vt==null||Vt.course_groups.map((Xt,vn)=>{Xt.key=Xt.id,Xt.title=Xt.name,Xt.disabled=Xt.is_published}),Vt&&(ae([...Vt==null?void 0:Vt.course_groups]),fe(Vt==null?void 0:Vt.course_groups_count),ke(!1),Bt||b.setFieldsValue({publish_time:Ka()(Ka()(new Date).add(0,"days").format("YYYY-MM-DD HH:mm")),end_time:Ka()(Ka()(new Date((0,vt.qd)("/"))).add(7,"days").format("YYYY-MM-DD HH:mm"))}))}),at=()=>Do(void 0,null,function*(){var Bt;const Vt=ho({},b.getFieldsValue());if(Vt.end_time<=Vt.publish_time){Fe.ZP.info("\u622A\u6B62\u65F6\u95F4\u4E0D\u80FD\u5927\u4E8E\u6216\u7B49\u4E8E\u53D1\u5E03\u65F6\u95F4"),Dt(!1);return}if((We==null?void 0:We.length)<=0&&!Ke&&re.length>0){Fe.ZP.info("\u53D1\u5E03\u73ED\u7EA7\u4E0D\u80FD\u4E3A\u7A7A"),Dt(!1);return}let Xt={ids:[...E.actionTabs.selectArrs],group_ids:We.length>0?We.map(on=>on.id):(Bt=E.detailShixunsList)==null?void 0:Bt.course_groups,end_time:Ka()(Vt.end_time).format("YYYY-MM-DD HH:mm"),publish_time:Ka()(Vt.publish_time).format("YYYY-MM-DD HH:mm"),unified_setting:!We.length,subject_id:x.pathId};Dt(!0),(yield(0,ee.ZP)("/api/subject_knowledge/batch_publish.json",{method:"post",body:ho({},Xt)})).status===0?(a({type:"classroomList/setActionTabs",payload:{}}),a({type:"pathsDetail/setActionTabs",payload:{key:"\u66F4\u65B0\u6570\u636E"}}),Dt(!1),ot(),(0,vt.L9)(["\u6559\u5B66\u8BFE\u5802","\u8BFE\u7A0B\u5B9E\u9A8C","\u7ACB\u5373\u53D1\u5E03"]),Fe.ZP.success("\u53D1\u5E03\u6210\u529F")):Dt(!1)}),ot=()=>{te(1),ae([]),je([])},ut=se>z*me,{detailShixunsList:ft}=E,[lt,Dt]=(0,Re.useState)(!1);return Ni.createElement(Ce.default,{width:600,centered:!0,confirmLoading:lt,title:"\u53D1\u5E03\u8282\u70B9",open:E.actionTabs.key==="\u7ACB\u5373\u53D1\u5E03",okText:"\u786E\u8BA4\u53D1\u5E03",cancelText:"\u53D6\u6D88",className:ii.Z.modal,onOk:()=>at(),onCancel:()=>{ot(),a({type:"classroomList/setActionTabs",payload:{}})}},Ni.createElement("p",null,"\u5230\u8FBE\u53D1\u5E03\u65F6\u95F4\u540E\uFF0C\u5B66\u751F\u5C06\u5728\u5404\u6559\u5B66\u6A21\u5757\u4E2D\u67E5\u770B\u5230\u5B66\u4E60\u8DEF\u5F84\u7684\u4F5C\u4E1A\u3001\u8003\u8BD5\u3001\u89C6\u9891\u3001\u8D44\u6E90\u7B49",Ni.createElement("br",null),"\u53D1\u5E03\u64CD\u4F5C\u4EC5\u9488\u5BF9\u672A\u53D1\u5E03\u8D44\u6E90\u7684\u5206\u73ED\u751F\u6548"),Ni.createElement(De.default,{form:b},Ni.createElement("div",{style:{paddingLeft:0}},Ni.createElement(ir.Z,{className:"mt30",align:"middle"},Ni.createElement(Kr.Z,null,Ni.createElement(De.default.Item,{name:"publish_time",label:"\u53D1\u5E03\u65F6\u95F4"},Ni.createElement(Sa.default,{style:{width:170,marginRight:"25px"},disabledDate:Bt=>(0,hi.Q8)(Bt,y),disabledTime:Bt=>(0,hi.d0)(Bt),placeholder:"\u8BF7\u9009\u62E9\u53D1\u5E03\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:Ka()((0,vt.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",allowClear:!1}))),Ni.createElement(Kr.Z,{className:"ml20"},Ni.createElement(De.default.Item,{name:"end_time",label:"\u622A\u6B62\u65F6\u95F4:"},Ni.createElement(Sa.default,{style:{width:170},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:Ka()((0,vt.U6)(),"HH:mm")},disabledDate:Bt=>(0,hi.Q8)(Bt,y,b.getFieldValue("publish_time")),disabledTime:Bt=>(0,hi.d0)(Bt,b.getFieldValue("publish_time")),format:"YYYY-MM-DD HH:mm",allowClear:!1})))),E.actionTabs.type===2&&Ni.createElement(ir.Z,{style:{marginBottom:"10px"}},Ni.createElement("span",{className:"mr5"},"\u53D1\u5E03\u8BBE\u7F6E:"),Ni.createElement(pe.ZP.Group,{value:Ke,onChange:Bt=>{Qe(Bt.target.value),je([])}},Ni.createElement(pe.ZP,{value:!0,disabled:!E.actionTabs.manage_all_group},"\u7EDF\u4E00\u53D1\u5E03"),Ni.createElement(pe.ZP,{className:"ml20",disabled:re.length<=0,value:!1},"\u5206\u73ED\u53D1\u5E03"))),re.length<=0&&E.actionTabs.type===2&&Ni.createElement("span",{style:{marginLeft:"65px",color:"rgba(0, 0, 0, 0.25)"}},'\u8BFE\u5802\u65E0\u5206\u73ED\uFF0C\u4EC5\u652F\u6301\u9009\u62E9\u201C\u7EDF\u4E00\u53D1\u5E03"')),(E.actionTabs.type===1||!Ke)&&re.length>0&&Ni.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"10px"}},Ni.createElement("span",{style:{flex:1}},Ni.createElement(cr.default,{checked:We.length===re.length,onChange:Bt=>{We.length===re.length?je([]):je(re)}},"\u5168\u9009")),Ni.createElement("span",{style:{width:16}}),Ni.createElement("span",{style:{flex:1}},"\u5DF2\u9009\u62E9",We.length||0,"\u4E2A\u5206\u73ED")),(E.actionTabs.type===1||!Ke)&&re.length>0&&Ni.createElement(bi.Z,{data:re,selectedRowKeys:We,setSelectedRowKeys:je})))};var Qo=(0,be.connect)(({classroomList:E})=>({classroomList:E}))(As),Fa=Oe(59301),Zs=Object.defineProperty,Rs=Object.defineProperties,Ft=Object.getOwnPropertyDescriptors,Ut=Object.getOwnPropertySymbols,un=Object.prototype.hasOwnProperty,Sn=Object.prototype.propertyIsEnumerable,_n=(E,a,y)=>a in E?Zs(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,Un=(E,a)=>{for(var y in a||(a={}))un.call(a,y)&&_n(E,y,a[y]);if(Ut)for(var y of Ut(a))Sn.call(a,y)&&_n(E,y,a[y]);return E},gr=(E,a)=>Rs(E,Ft(a)),ur=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});const dr=[{name:"\u672A\u53D1\u5E03",color:"#9AA4B3"},{name:"\u5DF2\u53D1\u5E03",color:"#37AD83"},{name:"\u672A\u5F00\u542F",color:"#92D2B7"},{name:"\u672A\u901A\u5173",color:"#EE5D5D"},{name:"\u6309\u65F6\u901A\u5173",color:"#37AD83"},{name:"\u8865\u4EA4\u901A\u5173",color:"#288A67"},{name:"\u622A\u6B62\u540E\u901A\u5173",color:"#929628"},{name:"\u672A\u5F00\u59CB",color:"#92D2B7"},{name:"\u8003\u8BD5\u4E2D",color:"#FFC86B"},{name:"\u5DF2\u4EA4\u5377",color:"#37AD83"},{name:"\u5DF2\u4EA4\u5377/\u672A\u7B54",color:"#929628"},{name:"\u672A\u770B\u5B8C",color:"#FFC86B"},{name:"\u5DF2\u770B\u5B8C",color:"#37AD83"},{name:"\u672A\u67E5\u770B",color:"#9AA4B3"},{name:"\u5DF2\u67E5\u770B",color:"#37AD83"},{name:"\u5DF2\u4E0B\u8F7D",color:"#377DFF"}],Lr=({pathsDetail:E,setselectitems:a,publishshow:y,node:x,index:b,onExpandClick:z,onClickDetails:te,selectitems:re})=>{var ae,se,fe;const[me,Se]=(0,Re.useState)(!1),Te=(0,Re.useRef)(null),{name:ke,complete_rate:We,node_type:je,resource_info:Ke,grasp_rate:Qe,has_children:Je,children:at,expand:ot,key:ut,is_publish:ft,status:lt,id:Dt,url:Bt}=x||{};(0,Re.useEffect)(()=>{var En;Vt();const Pn=(En=Te.current)==null?void 0:En.parentElement;if(!Pn)return;const or=new ResizeObserver(()=>{Vt()});return or.observe(Pn),()=>{or.disconnect()}},[ot]);const Vt=()=>{if(!Te.current)return;const En=Te.current,Pn=En.parentElement,or=En.previousElementSibling,xn=Pn==null?void 0:Pn.firstElementChild;if(Pn&&or&&xn){const yr=or.getBoundingClientRect().height,na=Pn.getBoundingClientRect().height,ea=xn.getBoundingClientRect().height,jr=yr/2,Or=na-(ea+yr)/2;En.style.bottom=`${jr}px`,En.style.height=`${Or}px`}},Xt=(ae=Number(We))==null?void 0:ae.toFixed(0),vn=Xt==="100",on=vn?je==="\u5B9E\u8BAD"?"\u5DF2\u901A\u5173":"\u5DF2\u5B8C\u6210":`${Xt}%`,wn=Ke==null?void 0:Ke.reduce((En,Pn)=>En+Pn.value,0),qn={\u5B9E\u8BAD:kr,\u8BD5\u5377:Rr,\u8BFE\u4EF6:qr,\u89C6\u9891:_a},yn=()=>{z(ut)};return Fa.createElement("div",{className:An.treeNode,"data-index":b},Fa.createElement("div",{className:An.node,style:vn?{background:"#EDF7EE"}:{}},!ft&&!((se=E==null?void 0:E.detail)!=null&&se.can_managed)&&Fa.createElement("div",{style:{background:"rgba(0, 0, 0, 0.5)",width:"100%",height:"100%",position:"absolute",zIndex:5,left:"50%",bottom:0,transform:"translateX(-50%)",textAlign:"center",paddingTop:"30rem",borderRadius:"10rem"}},Fa.createElement("div",null,Fa.createElement("i",{className:"iconfont icon-suo1",style:{color:"#fff",fontSize:"28rem"}}),Fa.createElement("div",{style:{color:"#fff",fontSize:"12rem"}},"\u8D44\u6E90\u6682\u672A\u53D1\u5E03"))),Fa.createElement("div",{className:An.statusbutton,style:{background:(fe=dr.find(En=>En.name===lt))==null?void 0:fe.color}},lt),y&&Fa.createElement(cr.default,{checked:re==null?void 0:re.map(En=>En.id).includes(Dt),onChange:()=>{if(re!=null&&re.map(En=>En.id).includes(Dt))a(re.filter(En=>En.id!==Dt));else{let En=[...re];En.push(x),a(En)}},className:An.checkbox}),Fa.createElement(ir.Z,{style:{padding:Je?"initial":"3rem 0"}},Fa.createElement(tn.Z,{title:"\u5B8C\u6210\u7387"},Fa.createElement("div",{style:{flexShrink:0,marginLeft:"24rem",marginTop:"17rem"}},Fa.createElement(nn,{strokeColor:"#60C059",percentage:We,startAngle:270,trackColor:"#E3E8EF",text:on,textSize:"12rem",textColor:"#60C059",outerDiameter:"62rem",innerDiameter:"46rem",textPadding:"3rem",hoverEffect:!1}))),Fa.createElement("div",{className:An.info},Fa.createElement(ir.Z,{align:"middle"},Fa.createElement(tn.Z,{title:je},Fa.createElement("img",{src:qn[je]||ta,style:{marginRight:"10rem",width:"16rem"}})),Fa.createElement(tn.Z,{title:ke},Fa.createElement("b",{onClick:()=>{te(x)},className:"c-grey-333 current",style:{fontSize:"16rem"}},(0,vt.Pq)(ke,19)))),Fa.createElement(ir.Z,{align:"middle",style:{marginTop:"5rem",marginLeft:"26rem",marginBottom:Je?"0":"30rem"}},Fa.createElement(ir.Z,{align:"middle"},Fa.createElement(tn.Z,{title:"\u638C\u63E1\u7387"},Fa.createElement("img",{src:ia,style:{marginRight:"4rem",width:"16rem"}})),Fa.createElement("span",{style:{color:"#1B8565",fontSize:"14rem"}},Qe,"%")),Fa.createElement(ir.Z,{align:"middle",style:{marginLeft:"55rem"}},Fa.createElement(tn.Z,{title:"\u5B8C\u6210\u7387"},Fa.createElement("img",{src:Aa,style:{marginRight:"4rem",width:"16rem"}})),Fa.createElement("span",{style:{color:"#1B8565",fontSize:"14rem"}},We,"%"))),Je&&Fa.createElement(ir.Z,{className:An.resource},Fa.createElement("span",{style:{color:"#666",fontSize:"14rem"}},"\u8D44\u6E90\u6570\uFF1A",wn),Fa.createElement("div",{onClick:()=>Se(!me),className:An.action},me?Fa.createElement(Fa.Fragment,null,"\u6536\u8D77",Fa.createElement("i",{className:"iconfont icon-xialajiantou1",style:{transform:"scale(0.6)"}})):Fa.createElement(Fa.Fragment,null,"\u5C55\u5F00",Fa.createElement("i",{className:"iconfont icon-xialajiantoubeifen",style:{transform:"scale(0.6)"}})))))),me&&Fa.createElement("div",{className:An.tags},Ke==null?void 0:Ke.map((En,Pn)=>Fa.createElement(tn.Z,{title:En.name},Fa.createElement("div",{className:An.tag,key:Pn},(0,vt.Pq)(En.name,5),"\uFF1A",En.value)))),b.length>1&&Fa.createElement("div",{className:An.leftLine}),ot&&Fa.createElement("div",{className:An.rightLine}),Je&&Fa.createElement("img",{onClick:yn,className:An.icon,src:ot?zr:xa})),at&&at.length>0&&ot&&Fa.createElement("div",{className:An.nodeWrap},at.map((En,Pn)=>Fa.createElement(Lr,{key:En.key,onExpandClick:z,onClickDetails:te,publishshow:y,setselectitems:a,pathsDetail:E,selectitems:re,node:En,index:b+"-"+(Pn+1)})),at.length>1&&Fa.createElement("div",{ref:Te,className:An.line})))},Pr=({data:E,onExpandClick:a,selectitems:y,onClickDetails:x,pathsDetail:b,setselectitems:z,publishshow:te})=>Fa.createElement("div",{className:An.treeNode},Fa.createElement("div",{className:An.nodeWrap},E.map((re,ae)=>Fa.createElement(Lr,{key:re.key,onExpandClick:a,onClickDetails:x,pathsDetail:b,publishshow:te,selectitems:y,setselectitems:z,node:re,index:String(ae+1)}))));var $r=({visible:E,onCancel:a,subjectId:y,onClickDetails:x,pathsDetail:b,dispatch:z})=>{var te;const[re,ae]=(0,Re.useState)([]),[se,fe]=(0,Re.useState)(!0),[me,Se]=(0,Re.useState)("\u5168\u90E8"),[Te,ke]=(0,Re.useState)([]),[We]=(0,be.useSearchParams)(),[je,Ke]=(0,Re.useState)(!1),[Qe,Je]=(0,Re.useState)([]);(0,Re.useEffect)(()=>{ot()},[me]),(0,Re.useEffect)(()=>{b.actionTabs.key==="\u66F4\u65B0\u6570\u636E"&&(z({type:"pathsDetail/setActionTabs",payload:{key:""}}),ot())},[b.actionTabs.key]);const at=(Bt,Vt)=>ur(void 0,null,function*(){const Xt=yield(0,ee.ZP)("/api/subject_knowledge.json",{method:"get",params:{id:Bt,subject_id:y,node_type:me}});if((Xt==null?void 0:Xt.status)===0)return Vt&&ke((Xt==null?void 0:Xt.node_types)||[]),(Xt==null?void 0:Xt.data)||[];fe(!1)}),ot=()=>ur(void 0,null,function*(){fe(!0);const Bt=yield at(E,!0);ae(Bt),fe(!1)}),ut=(Bt,Vt,Xt)=>ur(void 0,null,function*(){return yield Promise.all(Bt.map(on=>ur(void 0,null,function*(){return on.key===Vt?yield Xt(on):on.children&&on.children.length>0?gr(Un({},on),{children:yield ut(on.children,Vt,Xt)}):on})))}),ft=Bt=>ur(void 0,null,function*(){fe(!0);const Vt=yield ut(re,Bt,Xt=>ur(void 0,null,function*(){var vn,on;const wn=gr(Un({},Xt),{expand:!(Xt!=null&&Xt.expand)});return!(Xt!=null&&Xt.expand)&&!((vn=Xt==null?void 0:Xt.children)!=null&&vn.length)&&(wn.children=yield at(Bt),((on=wn.children)==null?void 0:on.length)===0&&(wn.has_children=!1,wn.expand=!1)),wn}));ae(Vt),fe(!1)}),lt=Bt=>ur(void 0,null,function*(){fe(!0),yield x(Bt,!1),fe(!1)});return Fa.createElement("div",{className:An.tree},Fa.createElement("div",{className:An.center},Fa.createElement("div",{className:An.head},Fa.createElement("div",{className:An.del},Fa.createElement("i",{onClick:a,className:"iconfont icon-shanchuhuanjing"}),Fa.createElement("b",null))),Fa.createElement("div",{className:An.body},se&&Fa.createElement("div",{className:An.loading},Fa.createElement(de.Z,{spinning:!0})),Fa.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},Fa.createElement("div",{className:An.tabs,style:{flex:1}},Te==null?void 0:Te.map(Bt=>Fa.createElement("div",{onClick:()=>Se(Bt.node_type),className:Bt.node_type===me?An.active:void 0,key:Bt.node_type},Bt.node_type,"\uFF08",Bt.count,"\uFF09"))),We.get("type")==="classrooms"&&((te=b==null?void 0:b.detail)==null?void 0:te.can_managed)&&Fa.createElement("div",null,je&&Fa.createElement(cr.default,{style:{color:"#fff"},checked:(Qe==null?void 0:Qe.length)===(re==null?void 0:re.length),onChange:()=>{if((Qe==null?void 0:Qe.length)===(re==null?void 0:re.length))Je([]);else{Ke(!0);let Bt=[...re];Je(Bt)}}},(Qe==null?void 0:Qe.length)===(re==null?void 0:re.length)?"\u53D6\u6D88\u5168\u9009":"\u5168\u9009","\uFF08\u5F53\u524D\u9009\u4E2D",Qe==null?void 0:Qe.length,"\uFF09"),je&&Fa.createElement(ve.ZP,{style:{marginRight:"20rem",borderRadius:"24rem"},onClick:()=>Ke(!1)},"\u53D6\u6D88"),Fa.createElement(ve.ZP,{type:"primary",onClick:()=>ur(void 0,null,function*(){if(je)z({type:"classroomList/setActionTabs",payload:{key:"\u7ACB\u5373\u53D1\u5E03",selectArrs:Qe==null?void 0:Qe.map(Bt=>Bt.id)}});else{Ke(!0);let Bt=[...re];Je(Bt)}}),style:{borderRadius:"24rem"}},je?"\u6279\u91CF\u53D1\u5E03":"\u53D1\u5E03\u8282\u70B9"))),Fa.createElement("div",{className:An.scrollBox},Fa.createElement("div",{className:zn()(An.treeWarp,!0&&An.allTreeNode)},Fa.createElement(Pr,{pathsDetail:b,selectitems:Qe,setselectitems:Je,publishshow:je,data:re,onClickDetails:lt,onExpandClick:ft}))))),Fa.createElement(Qo,null))},Jr=Oe(89282),Er=Oe(59301),pa=Object.defineProperty,ha=Object.defineProperties,ka=Object.getOwnPropertyDescriptors,Pa=Object.getOwnPropertySymbols,Ra=Object.prototype.hasOwnProperty,Ci=Object.prototype.propertyIsEnumerable,wi=(E,a,y)=>a in E?pa(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,ui=(E,a)=>{for(var y in a||(a={}))Ra.call(a,y)&&wi(E,y,a[y]);if(Pa)for(var y of Pa(a))Ci.call(a,y)&&wi(E,y,a[y]);return E},Mi=(E,a)=>ha(E,ka(a)),Fi=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});const ei=[3,2,1];var ti=({xxljac:E,pathsDetail:a,dispatch:y,setxxljac:x})=>{var b,z,te;const re=(0,be.useParams)(),ae=(0,be.useSelector)(ri=>ri),{pathsDetail:{detail:se={}}}=ae,[fe,me]=(0,Re.useState)(!0),[Se,Te]=(0,Re.useState)(!1),[ke,We]=(0,Re.useState)(""),[je,Ke]=(0,Re.useState)(!1),[Qe,Je]=(0,Re.useState)(!1),[at,ot]=(0,Re.useState)(!1),[ut,ft]=(0,Re.useState)(""),[lt,Dt]=(0,Re.useState)({}),[Bt,Vt]=(0,Re.useState)([]),[Xt,vn]=(0,Re.useState)(""),[on,wn]=(0,Re.useState)([]),[qn,yn]=(0,Re.useState)(!1),[En,Pn]=(0,Re.useState)(1),[or,xn]=(0,Re.useState)({});let[yr,na]=(0,Re.useState)({});const ea=se==null?void 0:se.can_managed,[jr]=(0,be.useSearchParams)();(0,Re.useEffect)(()=>{Eo(E)},[E]);function Or(){return Fi(this,null,function*(){var ri;let Qi=[...(ri=a==null?void 0:a.detail)==null?void 0:ri.nodes];wn(Qi==null?void 0:Qi.splice(1))})}(0,Re.useEffect)(()=>{var ri;(ri=a==null?void 0:a.detail)!=null&&ri.nodes&&En===1&&(Or(),Pn(2))},[(b=a==null?void 0:a.detail)==null?void 0:b.nodes]);const Yr=(ri=null)=>Fi(void 0,null,function*(){var Qi;me(!0);const Ri=yield(0,ee.ZP)("/api/subject_knowledge.json",{method:"get",params:{id:ri,subject_id:re==null?void 0:re.pathId}});if((Ri==null?void 0:Ri.status)===0){Dt(Ri||{});const Ji=(Ri==null?void 0:Ri.parent_knowledges)||[];Vt(Ji),ri||vn((Qi=Ji==null?void 0:Ji[0])==null?void 0:Qi.id)}me(!1),jr.get("type")==="classrooms"?y({type:"pathsDetail/getCourseDetail",payload:ui({id:re.pathId,knowledge:!0},(0,vt.oP)())}):y({type:"pathsDetail/getPathsDetail",payload:ui({id:re.pathId,knowledge:!0},(0,vt.oP)())})}),fa=()=>Fi(void 0,null,function*(){var ri,Qi,Ri,Ji,lo,Xo,Oo,si,Di,ya;if(!ut){Fe.ZP.warning("\u8BF7\u8F93\u5165\u6587\u672C");return}if(ut!=="\u786E\u8BA4\u5220\u9664"){Fe.ZP.warning("\u6587\u672C\u8F93\u5165\u6709\u8BEF");return}ot(!0);const La=yield(0,ee.ZP)("/api/subject_knowledge.json",{method:"delete",body:{id:Xt,subject_id:re==null?void 0:re.pathId}});if((La==null?void 0:La.status)===0)if(Fe.ZP.success("\u5220\u9664\u6210\u529F"),Ke(!1),jr.get("type")==="classrooms"){let Ya=yield y({type:"pathsDetail/getCourseDetail",payload:ui({id:(ri=a==null?void 0:a.detail)==null?void 0:ri.id,knowledge:!0},(0,vt.oP)())});Eo((Ri=(Qi=Ya==null?void 0:Ya.route_nodes)==null?void 0:Qi[0])==null?void 0:Ri.id,((lo=(Ji=Ya==null?void 0:Ya.route_nodes)==null?void 0:Ji[0])==null?void 0:lo.name)||"\u5B66\u4E60\u8DEF\u5F84")}else{let Ya=yield y({type:"pathsDetail/getPathsDetail",payload:ui({id:(Xo=a==null?void 0:a.detail)==null?void 0:Xo.id,knowledge:!0},(0,vt.oP)())});Eo((si=(Oo=Ya==null?void 0:Ya.route_nodes)==null?void 0:Oo[0])==null?void 0:si.id,((ya=(Di=Ya==null?void 0:Ya.route_nodes)==null?void 0:Di[0])==null?void 0:ya.name)||"\u5B66\u4E60\u8DEF\u5F84")}ot(!1)}),Ia=(ri,Qi=!0)=>Fi(void 0,null,function*(){var Ri,Ji,lo,Xo,Oo,si,Di;if((ri==null?void 0:ri.container_type)==="Attachment"&&!((Ri=a==null?void 0:a.detail)!=null&&Ri.can_managed)){(0,Jr.fc)({id:ri==null?void 0:ri.container_id,watch_type:2,course_id:(Ji=a==null?void 0:a.detail)==null?void 0:Ji.id}),xn({url:Dn.Z.API_SERVER+(ri==null?void 0:ri.url),file_type:ri==null?void 0:ri.file_type});return}if(ri!=null&&ri.url){window.open(ri==null?void 0:ri.url);return}Qi&&me(!0);let ya=yield(0,ee.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:0,subject_id:re==null?void 0:re.pathId,nodeUuid:(ri==null?void 0:ri.knowledge_uuid)||(ri==null?void 0:ri.key)}});if((ya==null?void 0:ya.status)===0){if(((Xo=(lo=ya==null?void 0:ya.data)==null?void 0:lo.nodes)==null?void 0:Xo.length)>0){let La=(Di=(si=(Oo=ya==null?void 0:ya.data)==null?void 0:Oo.nodes)==null?void 0:si.map(Ya=>{var zi,Ca,oo,Ui,gs,Ko,rs,as,Jo,mo,xc,Sc,wl;const Ss=(zi=ya==null?void 0:ya.data)==null?void 0:zi.resource_count;return Mi(ui({},Ya==null?void 0:Ya.properties),{rootNodeUuid:(Ca=Ya==null?void 0:Ya.properties)==null?void 0:Ca.rootNodeUuid,id:(oo=Ya==null?void 0:Ya.properties)==null?void 0:oo.uuid,name:(Ui=Ya==null?void 0:Ya.properties)==null?void 0:Ui.name,description:(gs=Ya==null?void 0:Ya.properties)==null?void 0:gs.description,nodeType:(Ko=Ya==null?void 0:Ya.properties)==null?void 0:Ko.nodeType,tags:((rs=Ya==null?void 0:Ya.properties)==null?void 0:rs.tags)&&((mo=(Jo=(as=Ya==null?void 0:Ya.properties)==null?void 0:as.tags)==null?void 0:Jo.split("\uFF0C"))==null?void 0:mo.map(Bu=>({name:Bu})))||[],colorType:parseInt((xc=Ya==null?void 0:Ya.properties)==null?void 0:xc.color)>3?"3":(Sc=Ya==null?void 0:Ya.properties)==null?void 0:Sc.color,activeColor:"#FA6400",size:ei[((wl=Ya==null?void 0:Ya.properties)==null?void 0:wl.color)-1]||1,shape:"circle",hide:!1,isExtendedState:!0,currentResourceTotal:Ss})}))==null?void 0:Di[0];La.resourceid=ri==null?void 0:ri.id,na(La),yn(!0)}me(!1)}}),oi=ri=>Fi(void 0,null,function*(){Je(ri==null?void 0:ri.id)}),Eo=(ri,Qi)=>Fi(void 0,null,function*(){Qi?x(ri):(vn(ri),Yr(ri))}),to=()=>Er.createElement("div",{className:ze.studentHead},Er.createElement("div",{className:ze.headLi},Er.createElement("img",{src:Ze}),Er.createElement("aside",null,Er.createElement("span",null,"\u8D44\u6E90\u603B\u6570"),Er.createElement("b",null,lt==null?void 0:lt.resource_count))),Er.createElement("div",{className:ze.headLi},Er.createElement("img",{src:xt}),Er.createElement("aside",null,Er.createElement("span",null,"\u5B66\u4E60\u5B8C\u6210\u7387"),Er.createElement("b",{style:{color:"#F7B500"}},lt==null?void 0:lt.complete_rate,"%"))),Er.createElement("div",{className:ze.headLi},Er.createElement("img",{src:bt}),Er.createElement("aside",null,Er.createElement("span",null,"\u5B66\u4E60\u638C\u63E1\u7387"),Er.createElement("b",{style:{color:"#3AFFC8"}},lt==null?void 0:lt.grasp_rate,"%"))),Er.createElement("div",{className:ze.headLi},Er.createElement("img",{src:Yt}),Er.createElement("aside",null,Er.createElement("span",{style:{marginBottom:"10rem"}},"\u4E0A\u6B21\u5B66\u5230"),Er.createElement(tn.Z,{title:lt==null?void 0:lt.last_knowledge_name},Er.createElement("b",{style:{color:"#7FAAFF",fontSize:"16rem"}},(0,vt.Pq)(lt==null?void 0:lt.last_knowledge_name,13))))),Er.createElement("div",{onClick:()=>Ia({knowledge_uuid:lt==null?void 0:lt.last_knowledge_uuid,id:lt==null?void 0:lt.last_knowledge_uuid}),className:ze.btn},"\u7EE7\u7EED\u5B66\u4E60"));return Er.createElement(Er.Fragment,null,Er.createElement(Gt,null,Er.createElement(Er.Fragment,null,Er.createElement("span",{className:"relative",style:{float:"right"}},ea&&Er.createElement("div",{className:ze.addBtn,onClick:()=>{We(null),Te(!0)}},"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84")),Er.createElement("div",{className:ze.learning},Er.createElement("div",{className:ze.body},Er.createElement(de.Z,{spinning:fe},(z=lt==null?void 0:lt.data)!=null&&z.length?Er.createElement(Er.Fragment,null,ea?Er.createElement("div",{className:ze.head},Er.createElement("div",{className:ze.numerical},Er.createElement("div",null,Er.createElement("img",{src:Ze}),Er.createElement("span",null,"\u8D44\u6E90\u603B\u6570"),Er.createElement("b",null,lt==null?void 0:lt.resource_count)),Er.createElement("div",null,Er.createElement("img",{src:xt}),Er.createElement("span",null,"\u5E73\u5747\u5B66\u4E60\u5B8C\u6210\u7387"),Er.createElement("b",{style:{color:"#F7B500"}},lt==null?void 0:lt.complete_rate,"%")),Er.createElement("div",null,Er.createElement("img",{src:bt}),Er.createElement("span",null,"\u5E73\u5747\u5B66\u4E60\u638C\u63E1\u7387"),Er.createElement("b",{style:{color:"#3AFFC8"}},lt==null?void 0:lt.grasp_rate,"%"))),Er.createElement("div",{className:ze.action},Er.createElement("div",{onClick:()=>{We(Xt),Te(!0)}},Er.createElement("span",null,Er.createElement("i",{className:"iconfont icon-bianji13"})),Er.createElement("span",null,"\u7F16\u8F91\u5B66\u4E60\u8DEF\u5F84")),Er.createElement("div",{onClick:()=>Ke(!0)},Er.createElement("span",null,Er.createElement("i",{className:"iconfont icon-shanchu17"})),Er.createElement("span",null,"\u5220\u9664\u5B66\u4E60\u8DEF\u5F84")))):to(),Er.createElement(xr,{pathsDetail:a,dataSource:(lt==null?void 0:lt.data)||[],onClick:Ia,onMore:oi})):Er.createElement(sr,{style:{height:"calc(100vh - 440rem)",visibility:fe?"hidden":"visible"},text:"\u6682\u65E0\u5B66\u4E60\u8DEF\u5F84\u6570\u636E",textColor:"#fff",buttonText:ea&&"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84",onClick:()=>{We(null),Te(!0)}}))),Qe&&Er.createElement($r,{pathsDetail:a,subjectId:re==null?void 0:re.pathId,dispatch:y,visible:Qe,onCancel:()=>Je(!1),onClickDetails:Ia}),Se&&Er.createElement(qo,{onOk:Eo,setaddmodal:Te,addmodal:Se,uuid:ke}),Er.createElement(Ce.default,{title:"\u786E\u8BA4\u5220\u9664\u63D0\u793A",open:je,centered:!0,confirmLoading:at,okButtonProps:{danger:!0},width:"600rem",okText:"\u786E\u8BA4\u5220\u9664",onCancel:()=>Ke(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{ft("")},onOk:fa},Er.createElement("div",{style:{background:"#fff",boxShadow:"0 3rem 4rem 0 #F3F3F3",borderRadius:"2rem",padding:"20rem"}},Er.createElement("div",{style:{fontSize:"16rem",color:"#000"}},"\u8BF7\u786E\u8BA4\u662F\u5426\u5220\u9664\u300A",(te=Bt==null?void 0:Bt.find(ri=>ri.id===Xt))==null?void 0:te.name,"\u300B\u7684\u5B66\u4E60\u8DEF\u5F84\uFF1F\u82E5\u5DF2\u786E\u8BA4\u9700\u8981\u5220\u9664\u5B66\u4E60\u8DEF\u5F84\uFF0C\u8BF7\u5728\u4E0B\u65B9\u6587\u672C\u6846\u4E2D\u8F93\u5165\u201C\u786E\u8BA4\u5220\u9664\u201D\u6587\u672C\u540E\uFF0C\u70B9\u51FB\u201C\u786E\u8BA4\u5220\u9664\u201D\u6309\u94AE"),Er.createElement("div",{style:{fontSize:"16rem",color:"#E30000",margin:"20rem 0"}},"\u63D0\u793A\uFF1A\u5220\u9664\u540E\u5C06\u65E0\u6CD5\u6062\u590D\u5B66\u4E60\u8DEF\u5F84\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"),Er.createElement(Pe.default,{size:"large",placeholder:"\u8BF7\u8F93\u5165\u201C\u786E\u8BA4\u5220\u9664\u201D\u6587\u672C",value:ut,onChange:ri=>ft(ri.target.value)})))))),Er.createElement(bn,{initdata:()=>{},uuid:"\u5B66\u4E60\u8DEF\u5F84",Tabsdatas:on,setshow:()=>{},getData:Yr,buildTree:()=>{},containerRef:()=>{},showdetail:qn,setshowdetail:yn,items:yr}),Er.createElement(Ul.Z,{close:!0,style:{zIndex:1300,background:"rgba(1, 10, 35, 0.5)"},data:or==null?void 0:or.url,type:or==null?void 0:or.file_type,disabledDownload:!0,onClose:()=>xn({})}))},Wa=Oe(78673),ba=Oe(59301),Ii=Object.defineProperty,eo=Object.getOwnPropertySymbols,Ki=Object.prototype.hasOwnProperty,xi=Object.prototype.propertyIsEnumerable,He=(E,a,y)=>a in E?Ii(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,et=(E,a)=>{for(var y in a||(a={}))Ki.call(a,y)&&He(E,y,a[y]);if(eo)for(var y of eo(a))xi.call(a,y)&&He(E,y,a[y]);return E},it=(E,a)=>{var y={};for(var x in E)Ki.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&eo)for(var x of eo(E))a.indexOf(x)<0&&xi.call(E,x)&&(y[x]=E[x]);return y},Et=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});const It=E=>{var a=E,{pathsDetail:y,user:x,globalSetting:b,loading:z,dispatch:te,datas:re,styles:ae,activied:se}=a,fe=it(a,["pathsDetail","user","globalSetting","loading","dispatch","datas","styles","activied"]);const[me,Se]=(0,Re.useState)(!1),[Te,ke]=(0,Re.useState)([]),[We,je]=(0,Re.useState)([]),[Ke,Qe]=(0,Re.useState)(),[Je,at]=(0,Re.useState)([]),[ot,ut]=(0,Re.useState)(!1);(0,Re.useEffect)(()=>{me&&ft()},[me]),(0,Re.useEffect)(()=>{ut(se===2)},[se]);function ft(){return Et(this,null,function*(){var lt,Dt;let Bt=yield(0,ee.ZP)("/api/knowledge/v2/courses.json",{method:"get",params:{subject_id:(lt=y==null?void 0:y.detail)==null?void 0:lt.id}});(Bt==null?void 0:Bt.status)===0&&je(Bt==null?void 0:Bt.data);let Vt=yield(0,ee.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:1,subject_id:y.detail.id}});if((Vt==null?void 0:Vt.status)===0){let Xt=[...(Dt=Vt==null?void 0:Vt.data)==null?void 0:Dt.nodes];ke(Xt==null?void 0:Xt.splice(1))}})}return ba.createElement("div",{style:et({width:"128rem"},ae)},ba.createElement("span",{onClick:()=>{Se(!0)},style:{width:"128rem",height:"36rem",lineHeight:"36rem",display:"inline-block",textAlign:"center",background:"#fff",color:"#1B8565",fontSize:"14rem",borderRadius:"20rem",cursor:"pointer"}},"\u5173\u8054\u6559\u5B66\u8BFE\u5802"),ba.createElement(Ce.default,{title:"\u5173\u8054\u6559\u5B66\u8BFE\u5802",open:me,width:"860rem",centered:!0,onOk:()=>Et(void 0,null,function*(){if(!Ke){Fe.ZP.info("\u8BF7\u9009\u62E9\u6559\u5B66\u8BFE\u5802");return}if((Je==null?void 0:Je.length)<=0){Fe.ZP.info("\u8BF7\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31");return}let lt=yield(0,ee.ZP)("/api/knowledge/v2/send_to_course.json",{method:"post",body:{subject_id:y.detail.id,uuids:Je,course_id:Ke,send_route:ot}});(lt==null?void 0:lt.status)===0&&(Se(!1),Ce.default.warning({title:"\u6E29\u99A8\u63D0\u793A",icon:null,closeIcon:!0,centered:!0,content:ba.createElement("div",null,"\u5DF2\u5173\u8054\u6559\u5B66\u8BFE\u5802\uFF0C\u9884\u8BA13-7\u5206\u949F\u5185\u5B8C\u6210\u56FE\u8C31\u590D\u5236\uFF0C\u53EF\u70B9\u51FB\u4E0B\u65B9\u6309\u94AE\u524D\u5F80\u67E5\u770B\u3002 \u82E5\u9875\u9762\u65E0\u6570\u636E\uFF0C\u8BF7\u7B49\u5F853-7\u5206\u949F\u540E\u5237\u65B0\u8BFE\u5802\u77E5\u8BC6\u56FE\u8C31\u9875\u9762"),okText:"\u524D\u5F80\u67E5\u770B",onOk:()=>{var Dt;window.open(`${(Dt=We==null?void 0:We.find(Bt=>(Bt==null?void 0:Bt.id)===Ke))==null?void 0:Dt.first_category_url}`)}}))}),onCancel:()=>{Se(!1)}},ba.createElement("div",{style:{background:"#fff",boxShadow:"0rem 3rem 4rem 0rem #f3f3f3",borderRadius:"0rem 0rem 2rem 2rem",padding:"20rem"}},ba.createElement("div",{style:{height:"40rem",minHeight:"40rem",display:"flex"}},ba.createElement("span",{style:{width:"92rem",background:"#F6F7F9",border:"1px solid #DCDCDC",display:"inline-flex",alignItems:"center",justifyContent:"center",borderRight:"none",color:"#666666"}},"\u6559\u5B66\u8BFE\u5802"),ba.createElement(Gt,null,ba.createElement(Nr.default,{showSearch:!0,filterOption:(lt,Dt)=>Dt.children.toLowerCase().indexOf(lt.toLowerCase())>=0,onChange:lt=>{Qe(lt)},style:{width:"90%"},size:"large"},We==null?void 0:We.map(lt=>ba.createElement(Nr.default.Option,{value:lt==null?void 0:lt.id},lt==null?void 0:lt.name))))),ba.createElement("div",{style:{marginTop:"30rem"}},ba.createElement("span",{style:{marginLeft:"14rem",color:"#5F6368"}},"\u77E5\u8BC6\u56FE\u8C31"),ba.createElement(cr.default.Group,{onChange:lt=>{at(lt)},style:{marginLeft:"30rem"}},Te==null?void 0:Te.map(lt=>{var Dt,Bt;return ba.createElement(cr.default,{value:(Dt=lt==null?void 0:lt.properties)==null?void 0:Dt.uuid},(Bt=lt==null?void 0:lt.properties)==null?void 0:Bt.name)}))),ba.createElement("div",{style:{marginTop:"30rem"}},ba.createElement("span",{style:{marginLeft:"14rem",color:"#5F6368"}},"\u5B66\u4E60\u8DEF\u5F84"),ba.createElement(Wa.Z,{onChange:lt=>{console.log(lt),ut(lt)},style:{marginLeft:"30rem"},disabled:se===2,checked:ot}),ba.createElement("span",{style:{marginLeft:"5rem"}},"\u540C\u6B65\u53D1\u9001\uFF08\u5F00\u542F\u540E\uFF0C\u5C06\u56FE\u8C31\u4E2D\u5BF9\u5E94\u7684\u5B66\u4E60\u8DEF\u5F84\u53D1\u9001\u5230\u6559\u5B66\u8BFE\u5802\u4E2D\uFF09")))))};var Lt=(0,be.connect)(({pathsDetail:E,user:a,loading:y,globalSetting:x})=>({pathsDetail:E,user:a,globalSetting:x,loading:y.models.index}))(It),jt=Oe(38854),kt={tag:"tag___aFk2e",active:"active___xFrif",tagsModal:"tagsModal___PRPSO",btn:"btn___IfO8v",modal:"modal___X3fUd",mHead:"mHead___IvIZN",body:"body___FhLrG",add:"add___YJGg_",error:"error___JoLGM"},qt=Oe(59301),Zt=Object.defineProperty,ln=Object.getOwnPropertySymbols,In=Object.prototype.hasOwnProperty,Cn=Object.prototype.propertyIsEnumerable,Yn=(E,a,y)=>a in E?Zt(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,Kn=(E,a)=>{for(var y in a||(a={}))In.call(a,y)&&Yn(E,y,a[y]);if(ln)for(var y of ln(a))Cn.call(a,y)&&Yn(E,y,a[y]);return E},Rn=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())}),Fn=({value:E=[],onChange:a,type:y,subjectId:x})=>{const[b,z]=(0,Re.useState)(!1),[te,re]=(0,Re.useState)([]),[ae,se]=(0,Re.useState)([]),[fe,me]=(0,Re.useState)([]),[Se,Te]=(0,Re.useState)(""),[ke,We]=(0,Re.useState)(""),[je,Ke]=(0,Re.useState)(!1),[Qe,Je]=(0,Re.useState)(!1),at=[{background:"#6236FF",borderColor:"#9D82FF"},{background:"#6DB9FF",borderColor:"#6DB9FF"},{background:"rgba(27,175,234,0.8)",borderColor:"#68D5FF"},{background:"#C1AC15",borderColor:"#DCC51C"},{background:"#E07E37",borderColor:"#F79046"},{background:"rgba(29,94,255,0.8)",borderColor:"#6D97FE"},{background:"#E75454",borderColor:"#FE8383"},{background:"#A557D8",borderColor:"#C57AF6"},{background:"#2CA768",borderColor:"#43CC86"},{background:"#1F9269",borderColor:"#38B588"},{background:"#CA7720",borderColor:"#E99338"},{background:"rgba(224,32,32,0.8)",borderColor:"#E02020"},{background:"rgba(255,126,15,0.8)",borderColor:"#FF7E0F"},{background:"rgba(29,94,255,0.8)",borderColor:"#1D5EFF"},{background:"#2BAC8E",borderColor:"#30CB9D"},{background:"#EE5D5D",borderColor:"#FF8181"},{background:"#7E5AFE",borderColor:"#9173FA"},{background:"#3ABCEF",borderColor:"#6FD6FF"},{background:"#B132C2",borderColor:"#C57AF6"},{background:"#46A4FB",borderColor:"#72BBFF"},{background:"#C1AC15",borderColor:"#DCC51C"},{background:"#E07E37",borderColor:"#F79046"},{background:"#1D5EFF",borderColor:"#6D97FE"},{background:"#2CA768",borderColor:"#43CC86"},{background:"#A557D8",borderColor:"#C57AF6"},{background:"#1F9269",borderColor:"#38B588"},{background:"#CA7720",borderColor:"#E99338"}],ot=y===1?"\u7C7B\u578B":"\u6807\u7B7E",ut=y===1?"0":"4";(0,Re.useEffect)(()=>{b&&(me(E),ft())},[b]);const ft=()=>Rn(void 0,null,function*(){var Xt;Je(!0);const vn=yield(0,ee.ZP)("/api/knowledge_items.json",{method:"get",params:{subject_id:x,item_type:ut}});(vn==null?void 0:vn.status)===0&&(re((Xt=vn==null?void 0:vn.data)==null?void 0:Xt.map(on=>on.name)),se((vn==null?void 0:vn.data)||[])),Je(!1)}),lt=Xt=>Rn(void 0,null,function*(){var vn;Je(!0);const on=(vn=ae==null?void 0:ae.find(qn=>qn.name===Xt))==null?void 0:vn.id,wn=yield(0,ee.ZP)(`/api/knowledge_items/${on}.json`,{method:"delete",body:{subject_id:x}});if((wn==null?void 0:wn.status)===0){ft(),Fe.ZP.success("\u5220\u9664\u6210\u529F");return}Je(!1)}),Dt=({title:Xt="",style:vn={},showDelete:on=!0,modal:wn=!1,active:qn=!1})=>{const En=(xn=>xn.split("").reduce((yr,na)=>yr+na.charCodeAt(0),0))(Xt)%at.length,{background:Pn,borderColor:or}=at[En];return qt.createElement("div",{className:zn()(kt.tag,qn?kt.active:""),onClick:()=>{wn&&(b===1&&me([Xt]),b===2&&(fe.includes(Xt)?me(fe.filter(xn=>xn!==Xt)):me([...fe,Xt])))},style:Kn({background:Pn,borderColor:or},vn)},qt.createElement("span",null,Xt),on&&qt.createElement("i",{onClick:xn=>{xn.stopPropagation(),wn?lt(Xt):a(E.filter(yr=>yr!==Xt))},className:"iconfont icon-shanchu5"}))},Bt=()=>{a([...fe]),z(!1)},Vt=()=>Rn(void 0,null,function*(){if(!Se.replace(/\s+/g,"")){We(`${ot}\u4E0D\u80FD\u4E3A\u7A7A`);return}if(te.includes(Se)){We(`\u8BE5${ot}\u5DF2\u5B58\u5728\uFF0C\u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0\uFF01`);return}Je(!0);const Xt=yield(0,ee.ZP)("/api/knowledge_items.json",{method:"post",body:{subject_id:x,item_type:ut,name:Se}});if((Xt==null?void 0:Xt.status)===0){yield ft(),Ke(!1),Fe.ZP.success("\u6DFB\u52A0\u6210\u529F");return}Je(!1)});return qt.createElement("div",{className:kt.tagsModal},y===1&&qt.createElement(qt.Fragment,null,E==null?void 0:E.map((Xt,vn)=>qt.createElement(Dt,{key:vn,title:Xt,showDelete:!1,style:{marginRight:"20rem"}})),qt.createElement("div",{onClick:()=>z(1),style:{marginBottom:"20rem"},className:kt.btn},qt.createElement("i",{className:"iconfont icon-genghuanguanliyuan1"}),E!=null&&E.length?"\u66F4\u6362":"\u9009\u62E9","\u7C7B\u578B")),y===2&&qt.createElement(qt.Fragment,null,E==null?void 0:E.map((Xt,vn)=>qt.createElement(Dt,{key:vn,title:Xt})),qt.createElement("div",{onClick:()=>z(2),className:kt.btn,style:{marginBottom:"10rem"}},qt.createElement("i",{className:"iconfont icon-tianjiatixing"}),E!=null&&E.length?"\u66F4\u6362":"\u9009\u62E9","\u6807\u7B7E")),qt.createElement(Ce.default,{open:!!b,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>z(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{Ke(!1),We(""),Te("")},onOk:Bt,title:`\u9009\u62E9${ot}`},qt.createElement("div",{className:kt.modal},qt.createElement(de.Z,{spinning:Qe},qt.createElement("div",{className:kt.mHead},qt.createElement("b",null),qt.createElement("span",null,`\u8282\u70B9${ot}`,"\uFF08",te.length,"\uFF09"),qt.createElement("div",{onClick:()=>{je||(Ke(!0),We(""),Te(""))},className:kt.btn},qt.createElement("i",{className:"iconfont icon-tianjiatixing"}),"\u6DFB\u52A0")),qt.createElement("div",{className:kt.body},!(te!=null&&te.length)&&!je&&qt.createElement(sr,{style:{height:"230rem"}}),te==null?void 0:te.map((Xt,vn)=>qt.createElement(Dt,{showDelete:!(fe!=null&&fe.includes(Xt)),modal:!0,style:{cursor:"pointer",verticalAlign:"center",marginTop:"10rem",marginBottom:"10rem"},active:fe.includes(Xt),key:vn,title:Xt})),je&&qt.createElement("div",{className:kt.add},qt.createElement(Pe.default,{style:{width:"rem"},size:"large",value:Se,onChange:Xt=>{We(""),Te(Xt.target.value)}}),qt.createElement("i",{onClick:Vt,className:"iconfont icon-dui",style:{color:"#1B8565"}}),qt.createElement("i",{onClick:()=>Ke(!1),className:"iconfont icon-shanchu10",style:{color:"#9096A3"}}),!!ke&&qt.createElement("div",{className:kt.error},ke)))))))},Qn={flex_box_center:"flex_box_center___X1Bk6",flex_space_between:"flex_space_between___uybt7",flex_box_vertical_center:"flex_box_vertical_center___eRrsT",flex_box_center_end:"flex_box_center_end___twuIC",flex_box_column:"flex_box_column___GZ7ID",tabs:"tabs___lQRiO",activied:"activied___xuukl",tab:"tab___BDDdU",content:"content___Njpry"},wr=Oe(88522),Cr=Oe(33708),Ar=Oe(6909),$n=Oe(4771),va=Oe(26407),Va=Oe(87822),Za=Oe(3776),Ir=Oe(78872);function Tr(E,a,y){return a=(0,Va.Z)(a),(0,Ir.Z)(E,(0,Za.Z)()?Reflect.construct(a,y||[],(0,Va.Z)(E).constructor):a.apply(E,y))}var da=Oe(9427),Wn=Oe(33606),Br=Oe(37271),ra=Br,Wr=1e-6,ca=typeof Float32Array!="undefined"?Float32Array:Array,aa=Math.random;function Ba(E){ca=E}var pi=Math.PI/180;function Ai(E){return E*pi}function oa(E,a){return Math.abs(E-a)<=Wr*Math.max(1,Math.abs(E),Math.abs(a))}Math.hypot||(Math.hypot=function(){for(var E=0,a=arguments.length;a--;)E+=arguments[a]*arguments[a];return Math.sqrt(E)});function ni(){var E=new ca(3);return ca!=Float32Array&&(E[0]=0,E[1]=0,E[2]=0),E}function ao(E){var a=new ca(3);return a[0]=E[0],a[1]=E[1],a[2]=E[2],a}function Io(E){var a=E[0],y=E[1],x=E[2];return Math.hypot(a,y,x)}function qi(E,a,y){var x=new ca(3);return x[0]=E,x[1]=a,x[2]=y,x}function Fo(E,a){return E[0]=a[0],E[1]=a[1],E[2]=a[2],E}function Yo(E,a,y,x){return E[0]=a,E[1]=y,E[2]=x,E}function fs(E,a,y){return E[0]=a[0]+y[0],E[1]=a[1]+y[1],E[2]=a[2]+y[2],E}function ws(E,a,y){return E[0]=a[0]-y[0],E[1]=a[1]-y[1],E[2]=a[2]-y[2],E}function cc(E,a,y){return E[0]=a[0]*y[0],E[1]=a[1]*y[1],E[2]=a[2]*y[2],E}function Sd(E,a,y){return E[0]=a[0]/y[0],E[1]=a[1]/y[1],E[2]=a[2]/y[2],E}function dc(E,a){return E[0]=Math.ceil(a[0]),E[1]=Math.ceil(a[1]),E[2]=Math.ceil(a[2]),E}function Ic(E,a){return E[0]=Math.floor(a[0]),E[1]=Math.floor(a[1]),E[2]=Math.floor(a[2]),E}function pf(E,a,y){return E[0]=Math.min(a[0],y[0]),E[1]=Math.min(a[1],y[1]),E[2]=Math.min(a[2],y[2]),E}function Fh(E,a,y){return E[0]=Math.max(a[0],y[0]),E[1]=Math.max(a[1],y[1]),E[2]=Math.max(a[2],y[2]),E}function Vo(E,a){return E[0]=Math.round(a[0]),E[1]=Math.round(a[1]),E[2]=Math.round(a[2]),E}function us(E,a,y){return E[0]=a[0]*y,E[1]=a[1]*y,E[2]=a[2]*y,E}function Ll(E,a,y,x){return E[0]=a[0]+y[0]*x,E[1]=a[1]+y[1]*x,E[2]=a[2]+y[2]*x,E}function _s(E,a){var y=a[0]-E[0],x=a[1]-E[1],b=a[2]-E[2];return Math.hypot(y,x,b)}function Yl(E,a){var y=a[0]-E[0],x=a[1]-E[1],b=a[2]-E[2];return y*y+x*x+b*b}function Xl(E){var a=E[0],y=E[1],x=E[2];return a*a+y*y+x*x}function Wl(E,a){return E[0]=-a[0],E[1]=-a[1],E[2]=-a[2],E}function Lc(E,a){return E[0]=1/a[0],E[1]=1/a[1],E[2]=1/a[2],E}function Oc(E,a){var y=a[0],x=a[1],b=a[2],z=y*y+x*x+b*b;return z>0&&(z=1/Math.sqrt(z)),E[0]=a[0]*z,E[1]=a[1]*z,E[2]=a[2]*z,E}function Ju(E,a){return E[0]*a[0]+E[1]*a[1]+E[2]*a[2]}function Qd(E,a,y){var x=a[0],b=a[1],z=a[2],te=y[0],re=y[1],ae=y[2];return E[0]=b*ae-z*re,E[1]=z*te-x*ae,E[2]=x*re-b*te,E}function kh(E,a,y,x){var b=a[0],z=a[1],te=a[2];return E[0]=b+x*(y[0]-b),E[1]=z+x*(y[1]-z),E[2]=te+x*(y[2]-te),E}function _0(E,a,y,x,b,z){var te=z*z,re=te*(2*z-3)+1,ae=te*(z-2)+z,se=te*(z-1),fe=te*(3-2*z);return E[0]=a[0]*re+y[0]*ae+x[0]*se+b[0]*fe,E[1]=a[1]*re+y[1]*ae+x[1]*se+b[1]*fe,E[2]=a[2]*re+y[2]*ae+x[2]*se+b[2]*fe,E}function zh(E,a,y,x,b,z){var te=1-z,re=te*te,ae=z*z,se=re*te,fe=3*z*re,me=3*ae*te,Se=ae*z;return E[0]=a[0]*se+y[0]*fe+x[0]*me+b[0]*Se,E[1]=a[1]*se+y[1]*fe+x[1]*me+b[1]*Se,E[2]=a[2]*se+y[2]*fe+x[2]*me+b[2]*Se,E}function Yd(E,a){a=a||1;var y=glMatrix.RANDOM()*2*Math.PI,x=glMatrix.RANDOM()*2-1,b=Math.sqrt(1-x*x)*a;return E[0]=Math.cos(y)*b,E[1]=Math.sin(y)*b,E[2]=x*a,E}function ll(E,a,y){var x=a[0],b=a[1],z=a[2],te=y[3]*x+y[7]*b+y[11]*z+y[15];return te=te||1,E[0]=(y[0]*x+y[4]*b+y[8]*z+y[12])/te,E[1]=(y[1]*x+y[5]*b+y[9]*z+y[13])/te,E[2]=(y[2]*x+y[6]*b+y[10]*z+y[14])/te,E}function Fg(E,a,y){var x=a[0],b=a[1],z=a[2];return E[0]=x*y[0]+b*y[3]+z*y[6],E[1]=x*y[1]+b*y[4]+z*y[7],E[2]=x*y[2]+b*y[5]+z*y[8],E}function kg(E,a,y){var x=y[0],b=y[1],z=y[2],te=y[3],re=a[0],ae=a[1],se=a[2],fe=b*se-z*ae,me=z*re-x*se,Se=x*ae-b*re,Te=b*Se-z*me,ke=z*fe-x*Se,We=x*me-b*fe,je=te*2;return fe*=je,me*=je,Se*=je,Te*=2,ke*=2,We*=2,E[0]=re+fe+Te,E[1]=ae+me+ke,E[2]=se+Se+We,E}function zg(E,a,y,x){var b=[],z=[];return b[0]=a[0]-y[0],b[1]=a[1]-y[1],b[2]=a[2]-y[2],z[0]=b[0],z[1]=b[1]*Math.cos(x)-b[2]*Math.sin(x),z[2]=b[1]*Math.sin(x)+b[2]*Math.cos(x),E[0]=z[0]+y[0],E[1]=z[1]+y[1],E[2]=z[2]+y[2],E}function Ug(E,a,y,x){var b=[],z=[];return b[0]=a[0]-y[0],b[1]=a[1]-y[1],b[2]=a[2]-y[2],z[0]=b[2]*Math.sin(x)+b[0]*Math.cos(x),z[1]=b[1],z[2]=b[2]*Math.cos(x)-b[0]*Math.sin(x),E[0]=z[0]+y[0],E[1]=z[1]+y[1],E[2]=z[2]+y[2],E}function Uh(E,a,y,x){var b=[],z=[];return b[0]=a[0]-y[0],b[1]=a[1]-y[1],b[2]=a[2]-y[2],z[0]=b[0]*Math.cos(x)-b[1]*Math.sin(x),z[1]=b[0]*Math.sin(x)+b[1]*Math.cos(x),z[2]=b[2],E[0]=z[0]+y[0],E[1]=z[1]+y[1],E[2]=z[2]+y[2],E}function Wh(E,a){var y=E[0],x=E[1],b=E[2],z=a[0],te=a[1],re=a[2],ae=Math.sqrt(y*y+x*x+b*b),se=Math.sqrt(z*z+te*te+re*re),fe=ae*se,me=fe&&Ju(E,a)/fe;return Math.acos(Math.min(Math.max(me,-1),1))}function Xv(E){return E[0]=0,E[1]=0,E[2]=0,E}function jh(E){return"vec3("+E[0]+", "+E[1]+", "+E[2]+")"}function Wg(E,a){return E[0]===a[0]&&E[1]===a[1]&&E[2]===a[2]}function yf(E,a){var y=E[0],x=E[1],b=E[2],z=a[0],te=a[1],re=a[2];return Math.abs(y-z)<=Wr*Math.max(1,Math.abs(y),Math.abs(z))&&Math.abs(x-te)<=Wr*Math.max(1,Math.abs(x),Math.abs(te))&&Math.abs(b-re)<=Wr*Math.max(1,Math.abs(b),Math.abs(re))}var Gh=ws,Jv=null,F0=null,Ef=_s,Vh=null,Yf=Io,k0=null,z0=function(){var E=ni();return function(a,y,x,b,z,te){var re,ae;for(y||(y=3),x||(x=0),b?ae=Math.min(b*y+x,a.length):ae=a.length,re=x;re<ae;re+=y)E[0]=a[re],E[1]=a[re+1],E[2]=a[re+2],z(E,E,te),a[re]=E[0],a[re+1]=E[1],a[re+2]=E[2];return a}}();function Fu(){var E=new ca(4);return ca!=Float32Array&&(E[0]=0,E[1]=0,E[2]=0,E[3]=0),E}function Hh(E){var a=new ca(4);return a[0]=E[0],a[1]=E[1],a[2]=E[2],a[3]=E[3],a}function Af(E,a,y,x){var b=new ca(4);return b[0]=E,b[1]=a,b[2]=y,b[3]=x,b}function Kh(E,a){return E[0]=a[0],E[1]=a[1],E[2]=a[2],E[3]=a[3],E}function Zh(E,a,y,x,b){return E[0]=a,E[1]=y,E[2]=x,E[3]=b,E}function Qh(E,a,y){return E[0]=a[0]+y[0],E[1]=a[1]+y[1],E[2]=a[2]+y[2],E[3]=a[3]+y[3],E}function Yh(E,a,y){return E[0]=a[0]-y[0],E[1]=a[1]-y[1],E[2]=a[2]-y[2],E[3]=a[3]-y[3],E}function jg(E,a,y){return E[0]=a[0]*y[0],E[1]=a[1]*y[1],E[2]=a[2]*y[2],E[3]=a[3]*y[3],E}function qv(E,a,y){return E[0]=a[0]/y[0],E[1]=a[1]/y[1],E[2]=a[2]/y[2],E[3]=a[3]/y[3],E}function hs(E,a){return E[0]=Math.ceil(a[0]),E[1]=Math.ceil(a[1]),E[2]=Math.ceil(a[2]),E[3]=Math.ceil(a[3]),E}function Us(E,a){return E[0]=Math.floor(a[0]),E[1]=Math.floor(a[1]),E[2]=Math.floor(a[2]),E[3]=Math.floor(a[3]),E}function ku(E,a,y){return E[0]=Math.min(a[0],y[0]),E[1]=Math.min(a[1],y[1]),E[2]=Math.min(a[2],y[2]),E[3]=Math.min(a[3],y[3]),E}function ed(E,a,y){return E[0]=Math.max(a[0],y[0]),E[1]=Math.max(a[1],y[1]),E[2]=Math.max(a[2],y[2]),E[3]=Math.max(a[3],y[3]),E}function td(E,a){return E[0]=Math.round(a[0]),E[1]=Math.round(a[1]),E[2]=Math.round(a[2]),E[3]=Math.round(a[3]),E}function Gg(E,a,y){return E[0]=a[0]*y,E[1]=a[1]*y,E[2]=a[2]*y,E[3]=a[3]*y,E}function Vg(E,a,y,x){return E[0]=a[0]+y[0]*x,E[1]=a[1]+y[1]*x,E[2]=a[2]+y[2]*x,E[3]=a[3]+y[3]*x,E}function Hg(E,a){var y=a[0]-E[0],x=a[1]-E[1],b=a[2]-E[2],z=a[3]-E[3];return Math.hypot(y,x,b,z)}function Kg(E,a){var y=a[0]-E[0],x=a[1]-E[1],b=a[2]-E[2],z=a[3]-E[3];return y*y+x*x+b*b+z*z}function xf(E){var a=E[0],y=E[1],x=E[2],b=E[3];return Math.hypot(a,y,x,b)}function G1(E){var a=E[0],y=E[1],x=E[2],b=E[3];return a*a+y*y+x*x+b*b}function MS(E,a){return E[0]=-a[0],E[1]=-a[1],E[2]=-a[2],E[3]=-a[3],E}function $v(E,a){return E[0]=1/a[0],E[1]=1/a[1],E[2]=1/a[2],E[3]=1/a[3],E}function Xd(E,a){var y=a[0],x=a[1],b=a[2],z=a[3],te=y*y+x*x+b*b+z*z;return te>0&&(te=1/Math.sqrt(te)),E[0]=y*te,E[1]=x*te,E[2]=b*te,E[3]=z*te,E}function em(E,a){return E[0]*a[0]+E[1]*a[1]+E[2]*a[2]+E[3]*a[3]}function DS(E,a,y,x){var b=y[0]*x[1]-y[1]*x[0],z=y[0]*x[2]-y[2]*x[0],te=y[0]*x[3]-y[3]*x[0],re=y[1]*x[2]-y[2]*x[1],ae=y[1]*x[3]-y[3]*x[1],se=y[2]*x[3]-y[3]*x[2],fe=a[0],me=a[1],Se=a[2],Te=a[3];return E[0]=me*se-Se*ae+Te*re,E[1]=-(fe*se)+Se*te-Te*z,E[2]=fe*ae-me*te+Te*b,E[3]=-(fe*re)+me*z-Se*b,E}function tm(E,a,y,x){var b=a[0],z=a[1],te=a[2],re=a[3];return E[0]=b+x*(y[0]-b),E[1]=z+x*(y[1]-z),E[2]=te+x*(y[2]-te),E[3]=re+x*(y[3]-re),E}function V1(E,a){a=a||1;var y,x,b,z,te,re;do y=glMatrix.RANDOM()*2-1,x=glMatrix.RANDOM()*2-1,te=y*y+x*x;while(te>=1);do b=glMatrix.RANDOM()*2-1,z=glMatrix.RANDOM()*2-1,re=b*b+z*z;while(re>=1);var ae=Math.sqrt((1-te)/re);return E[0]=a*y,E[1]=a*x,E[2]=a*b*ae,E[3]=a*z*ae,E}function bd(E,a,y){var x=a[0],b=a[1],z=a[2],te=a[3];return E[0]=y[0]*x+y[4]*b+y[8]*z+y[12]*te,E[1]=y[1]*x+y[5]*b+y[9]*z+y[13]*te,E[2]=y[2]*x+y[6]*b+y[10]*z+y[14]*te,E[3]=y[3]*x+y[7]*b+y[11]*z+y[15]*te,E}function IS(E,a,y){var x=a[0],b=a[1],z=a[2],te=y[0],re=y[1],ae=y[2],se=y[3],fe=se*x+re*z-ae*b,me=se*b+ae*x-te*z,Se=se*z+te*b-re*x,Te=-te*x-re*b-ae*z;return E[0]=fe*se+Te*-te+me*-ae-Se*-re,E[1]=me*se+Te*-re+Se*-te-fe*-ae,E[2]=Se*se+Te*-ae+fe*-re-me*-te,E[3]=a[3],E}function LS(E){return E[0]=0,E[1]=0,E[2]=0,E[3]=0,E}function H1(E){return"vec4("+E[0]+", "+E[1]+", "+E[2]+", "+E[3]+")"}function K1(E,a){return E[0]===a[0]&&E[1]===a[1]&&E[2]===a[2]&&E[3]===a[3]}function Z1(E,a){var y=E[0],x=E[1],b=E[2],z=E[3],te=a[0],re=a[1],ae=a[2],se=a[3];return Math.abs(y-te)<=Wr*Math.max(1,Math.abs(y),Math.abs(te))&&Math.abs(x-re)<=Wr*Math.max(1,Math.abs(x),Math.abs(re))&&Math.abs(b-ae)<=Wr*Math.max(1,Math.abs(b),Math.abs(ae))&&Math.abs(z-se)<=Wr*Math.max(1,Math.abs(z),Math.abs(se))}var OS=null,Q1=null,nm=null,rm=null,TS=null,BS=null,xs=null,Zi=function(){var E=Fu();return function(a,y,x,b,z,te){var re,ae;for(y||(y=4),x||(x=0),b?ae=Math.min(b*y+x,a.length):ae=a.length,re=x;re<ae;re+=y)E[0]=a[re],E[1]=a[re+1],E[2]=a[re+2],E[3]=a[re+3],z(E,E,te),a[re]=E[0],a[re+1]=E[1],a[re+2]=E[2],a[re+3]=E[3];return a}}();function Pi(){var E=new ca(16);return ca!=Float32Array&&(E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[6]=0,E[7]=0,E[8]=0,E[9]=0,E[11]=0,E[12]=0,E[13]=0,E[14]=0),E[0]=1,E[5]=1,E[10]=1,E[15]=1,E}function ys(E){var a=new ca(16);return a[0]=E[0],a[1]=E[1],a[2]=E[2],a[3]=E[3],a[4]=E[4],a[5]=E[5],a[6]=E[6],a[7]=E[7],a[8]=E[8],a[9]=E[9],a[10]=E[10],a[11]=E[11],a[12]=E[12],a[13]=E[13],a[14]=E[14],a[15]=E[15],a}function Fs(E,a){return E[0]=a[0],E[1]=a[1],E[2]=a[2],E[3]=a[3],E[4]=a[4],E[5]=a[5],E[6]=a[6],E[7]=a[7],E[8]=a[8],E[9]=a[9],E[10]=a[10],E[11]=a[11],E[12]=a[12],E[13]=a[13],E[14]=a[14],E[15]=a[15],E}function Sf(E,a,y,x,b,z,te,re,ae,se,fe,me,Se,Te,ke,We){var je=new ca(16);return je[0]=E,je[1]=a,je[2]=y,je[3]=x,je[4]=b,je[5]=z,je[6]=te,je[7]=re,je[8]=ae,je[9]=se,je[10]=fe,je[11]=me,je[12]=Se,je[13]=Te,je[14]=ke,je[15]=We,je}function qu(E,a,y,x,b,z,te,re,ae,se,fe,me,Se,Te,ke,We,je){return E[0]=a,E[1]=y,E[2]=x,E[3]=b,E[4]=z,E[5]=te,E[6]=re,E[7]=ae,E[8]=se,E[9]=fe,E[10]=me,E[11]=Se,E[12]=Te,E[13]=ke,E[14]=We,E[15]=je,E}function Pu(E){return E[0]=1,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=1,E[6]=0,E[7]=0,E[8]=0,E[9]=0,E[10]=1,E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,E}function Cd(E,a){if(E===a){var y=a[1],x=a[2],b=a[3],z=a[6],te=a[7],re=a[11];E[1]=a[4],E[2]=a[8],E[3]=a[12],E[4]=y,E[6]=a[9],E[7]=a[13],E[8]=x,E[9]=z,E[11]=a[14],E[12]=b,E[13]=te,E[14]=re}else E[0]=a[0],E[1]=a[4],E[2]=a[8],E[3]=a[12],E[4]=a[1],E[5]=a[5],E[6]=a[9],E[7]=a[13],E[8]=a[2],E[9]=a[6],E[10]=a[10],E[11]=a[14],E[12]=a[3],E[13]=a[7],E[14]=a[11],E[15]=a[15];return E}function zu(E,a){var y=a[0],x=a[1],b=a[2],z=a[3],te=a[4],re=a[5],ae=a[6],se=a[7],fe=a[8],me=a[9],Se=a[10],Te=a[11],ke=a[12],We=a[13],je=a[14],Ke=a[15],Qe=y*re-x*te,Je=y*ae-b*te,at=y*se-z*te,ot=x*ae-b*re,ut=x*se-z*re,ft=b*se-z*ae,lt=fe*We-me*ke,Dt=fe*je-Se*ke,Bt=fe*Ke-Te*ke,Vt=me*je-Se*We,Xt=me*Ke-Te*We,vn=Se*Ke-Te*je,on=Qe*vn-Je*Xt+at*Vt+ot*Bt-ut*Dt+ft*lt;return on?(on=1/on,E[0]=(re*vn-ae*Xt+se*Vt)*on,E[1]=(b*Xt-x*vn-z*Vt)*on,E[2]=(We*ft-je*ut+Ke*ot)*on,E[3]=(Se*ut-me*ft-Te*ot)*on,E[4]=(ae*Bt-te*vn-se*Dt)*on,E[5]=(y*vn-b*Bt+z*Dt)*on,E[6]=(je*at-ke*ft-Ke*Je)*on,E[7]=(fe*ft-Se*at+Te*Je)*on,E[8]=(te*Xt-re*Bt+se*lt)*on,E[9]=(x*Bt-y*Xt-z*lt)*on,E[10]=(ke*ut-We*at+Ke*Qe)*on,E[11]=(me*at-fe*ut-Te*Qe)*on,E[12]=(re*Dt-te*Vt-ae*lt)*on,E[13]=(y*Vt-x*Dt+b*lt)*on,E[14]=(We*Je-ke*ot-je*Qe)*on,E[15]=(fe*ot-me*Je+Se*Qe)*on,E):null}function bf(E,a){var y=a[0],x=a[1],b=a[2],z=a[3],te=a[4],re=a[5],ae=a[6],se=a[7],fe=a[8],me=a[9],Se=a[10],Te=a[11],ke=a[12],We=a[13],je=a[14],Ke=a[15];return E[0]=re*(Se*Ke-Te*je)-me*(ae*Ke-se*je)+We*(ae*Te-se*Se),E[1]=-(x*(Se*Ke-Te*je)-me*(b*Ke-z*je)+We*(b*Te-z*Se)),E[2]=x*(ae*Ke-se*je)-re*(b*Ke-z*je)+We*(b*se-z*ae),E[3]=-(x*(ae*Te-se*Se)-re*(b*Te-z*Se)+me*(b*se-z*ae)),E[4]=-(te*(Se*Ke-Te*je)-fe*(ae*Ke-se*je)+ke*(ae*Te-se*Se)),E[5]=y*(Se*Ke-Te*je)-fe*(b*Ke-z*je)+ke*(b*Te-z*Se),E[6]=-(y*(ae*Ke-se*je)-te*(b*Ke-z*je)+ke*(b*se-z*ae)),E[7]=y*(ae*Te-se*Se)-te*(b*Te-z*Se)+fe*(b*se-z*ae),E[8]=te*(me*Ke-Te*We)-fe*(re*Ke-se*We)+ke*(re*Te-se*me),E[9]=-(y*(me*Ke-Te*We)-fe*(x*Ke-z*We)+ke*(x*Te-z*me)),E[10]=y*(re*Ke-se*We)-te*(x*Ke-z*We)+ke*(x*se-z*re),E[11]=-(y*(re*Te-se*me)-te*(x*Te-z*me)+fe*(x*se-z*re)),E[12]=-(te*(me*je-Se*We)-fe*(re*je-ae*We)+ke*(re*Se-ae*me)),E[13]=y*(me*je-Se*We)-fe*(x*je-b*We)+ke*(x*Se-b*me),E[14]=-(y*(re*je-ae*We)-te*(x*je-b*We)+ke*(x*ae-b*re)),E[15]=y*(re*Se-ae*me)-te*(x*Se-b*me)+fe*(x*ae-b*re),E}function fc(E){var a=E[0],y=E[1],x=E[2],b=E[3],z=E[4],te=E[5],re=E[6],ae=E[7],se=E[8],fe=E[9],me=E[10],Se=E[11],Te=E[12],ke=E[13],We=E[14],je=E[15],Ke=a*te-y*z,Qe=a*re-x*z,Je=a*ae-b*z,at=y*re-x*te,ot=y*ae-b*te,ut=x*ae-b*re,ft=se*ke-fe*Te,lt=se*We-me*Te,Dt=se*je-Se*Te,Bt=fe*We-me*ke,Vt=fe*je-Se*ke,Xt=me*je-Se*We;return Ke*Xt-Qe*Vt+Je*Bt+at*Dt-ot*lt+ut*ft}function Uu(E,a,y){var x=a[0],b=a[1],z=a[2],te=a[3],re=a[4],ae=a[5],se=a[6],fe=a[7],me=a[8],Se=a[9],Te=a[10],ke=a[11],We=a[12],je=a[13],Ke=a[14],Qe=a[15],Je=y[0],at=y[1],ot=y[2],ut=y[3];return E[0]=Je*x+at*re+ot*me+ut*We,E[1]=Je*b+at*ae+ot*Se+ut*je,E[2]=Je*z+at*se+ot*Te+ut*Ke,E[3]=Je*te+at*fe+ot*ke+ut*Qe,Je=y[4],at=y[5],ot=y[6],ut=y[7],E[4]=Je*x+at*re+ot*me+ut*We,E[5]=Je*b+at*ae+ot*Se+ut*je,E[6]=Je*z+at*se+ot*Te+ut*Ke,E[7]=Je*te+at*fe+ot*ke+ut*Qe,Je=y[8],at=y[9],ot=y[10],ut=y[11],E[8]=Je*x+at*re+ot*me+ut*We,E[9]=Je*b+at*ae+ot*Se+ut*je,E[10]=Je*z+at*se+ot*Te+ut*Ke,E[11]=Je*te+at*fe+ot*ke+ut*Qe,Je=y[12],at=y[13],ot=y[14],ut=y[15],E[12]=Je*x+at*re+ot*me+ut*We,E[13]=Je*b+at*ae+ot*Se+ut*je,E[14]=Je*z+at*se+ot*Te+ut*Ke,E[15]=Je*te+at*fe+ot*ke+ut*Qe,E}function Zg(E,a,y){var x=y[0],b=y[1],z=y[2],te,re,ae,se,fe,me,Se,Te,ke,We,je,Ke;return a===E?(E[12]=a[0]*x+a[4]*b+a[8]*z+a[12],E[13]=a[1]*x+a[5]*b+a[9]*z+a[13],E[14]=a[2]*x+a[6]*b+a[10]*z+a[14],E[15]=a[3]*x+a[7]*b+a[11]*z+a[15]):(te=a[0],re=a[1],ae=a[2],se=a[3],fe=a[4],me=a[5],Se=a[6],Te=a[7],ke=a[8],We=a[9],je=a[10],Ke=a[11],E[0]=te,E[1]=re,E[2]=ae,E[3]=se,E[4]=fe,E[5]=me,E[6]=Se,E[7]=Te,E[8]=ke,E[9]=We,E[10]=je,E[11]=Ke,E[12]=te*x+fe*b+ke*z+a[12],E[13]=re*x+me*b+We*z+a[13],E[14]=ae*x+Se*b+je*z+a[14],E[15]=se*x+Te*b+Ke*z+a[15]),E}function NS(E,a,y){var x=y[0],b=y[1],z=y[2];return E[0]=a[0]*x,E[1]=a[1]*x,E[2]=a[2]*x,E[3]=a[3]*x,E[4]=a[4]*b,E[5]=a[5]*b,E[6]=a[6]*b,E[7]=a[7]*b,E[8]=a[8]*z,E[9]=a[9]*z,E[10]=a[10]*z,E[11]=a[11]*z,E[12]=a[12],E[13]=a[13],E[14]=a[14],E[15]=a[15],E}function XI(E,a,y,x){var b=x[0],z=x[1],te=x[2],re=Math.hypot(b,z,te),ae,se,fe,me,Se,Te,ke,We,je,Ke,Qe,Je,at,ot,ut,ft,lt,Dt,Bt,Vt,Xt,vn,on,wn;return re<Wr?null:(re=1/re,b*=re,z*=re,te*=re,ae=Math.sin(y),se=Math.cos(y),fe=1-se,me=a[0],Se=a[1],Te=a[2],ke=a[3],We=a[4],je=a[5],Ke=a[6],Qe=a[7],Je=a[8],at=a[9],ot=a[10],ut=a[11],ft=b*b*fe+se,lt=z*b*fe+te*ae,Dt=te*b*fe-z*ae,Bt=b*z*fe-te*ae,Vt=z*z*fe+se,Xt=te*z*fe+b*ae,vn=b*te*fe+z*ae,on=z*te*fe-b*ae,wn=te*te*fe+se,E[0]=me*ft+We*lt+Je*Dt,E[1]=Se*ft+je*lt+at*Dt,E[2]=Te*ft+Ke*lt+ot*Dt,E[3]=ke*ft+Qe*lt+ut*Dt,E[4]=me*Bt+We*Vt+Je*Xt,E[5]=Se*Bt+je*Vt+at*Xt,E[6]=Te*Bt+Ke*Vt+ot*Xt,E[7]=ke*Bt+Qe*Vt+ut*Xt,E[8]=me*vn+We*on+Je*wn,E[9]=Se*vn+je*on+at*wn,E[10]=Te*vn+Ke*on+ot*wn,E[11]=ke*vn+Qe*on+ut*wn,a!==E&&(E[12]=a[12],E[13]=a[13],E[14]=a[14],E[15]=a[15]),E)}function RS(E,a,y){var x=Math.sin(y),b=Math.cos(y),z=a[4],te=a[5],re=a[6],ae=a[7],se=a[8],fe=a[9],me=a[10],Se=a[11];return a!==E&&(E[0]=a[0],E[1]=a[1],E[2]=a[2],E[3]=a[3],E[12]=a[12],E[13]=a[13],E[14]=a[14],E[15]=a[15]),E[4]=z*b+se*x,E[5]=te*b+fe*x,E[6]=re*b+me*x,E[7]=ae*b+Se*x,E[8]=se*b-z*x,E[9]=fe*b-te*x,E[10]=me*b-re*x,E[11]=Se*b-ae*x,E}function _S(E,a,y){var x=Math.sin(y),b=Math.cos(y),z=a[0],te=a[1],re=a[2],ae=a[3],se=a[8],fe=a[9],me=a[10],Se=a[11];return a!==E&&(E[4]=a[4],E[5]=a[5],E[6]=a[6],E[7]=a[7],E[12]=a[12],E[13]=a[13],E[14]=a[14],E[15]=a[15]),E[0]=z*b-se*x,E[1]=te*b-fe*x,E[2]=re*b-me*x,E[3]=ae*b-Se*x,E[8]=z*x+se*b,E[9]=te*x+fe*b,E[10]=re*x+me*b,E[11]=ae*x+Se*b,E}function JI(E,a,y){var x=Math.sin(y),b=Math.cos(y),z=a[0],te=a[1],re=a[2],ae=a[3],se=a[4],fe=a[5],me=a[6],Se=a[7];return a!==E&&(E[8]=a[8],E[9]=a[9],E[10]=a[10],E[11]=a[11],E[12]=a[12],E[13]=a[13],E[14]=a[14],E[15]=a[15]),E[0]=z*b+se*x,E[1]=te*b+fe*x,E[2]=re*b+me*x,E[3]=ae*b+Se*x,E[4]=se*b-z*x,E[5]=fe*b-te*x,E[6]=me*b-re*x,E[7]=Se*b-ae*x,E}function Xf(E,a){return E[0]=1,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=1,E[6]=0,E[7]=0,E[8]=0,E[9]=0,E[10]=1,E[11]=0,E[12]=a[0],E[13]=a[1],E[14]=a[2],E[15]=1,E}function Xh(E,a){return E[0]=a[0],E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=a[1],E[6]=0,E[7]=0,E[8]=0,E[9]=0,E[10]=a[2],E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,E}function FS(E,a,y){var x=y[0],b=y[1],z=y[2],te=Math.hypot(x,b,z),re,ae,se;return te<Wr?null:(te=1/te,x*=te,b*=te,z*=te,re=Math.sin(a),ae=Math.cos(a),se=1-ae,E[0]=x*x*se+ae,E[1]=b*x*se+z*re,E[2]=z*x*se-b*re,E[3]=0,E[4]=x*b*se-z*re,E[5]=b*b*se+ae,E[6]=z*b*se+x*re,E[7]=0,E[8]=x*z*se+b*re,E[9]=b*z*se-x*re,E[10]=z*z*se+ae,E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,E)}function kS(E,a){var y=Math.sin(a),x=Math.cos(a);return E[0]=1,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=x,E[6]=y,E[7]=0,E[8]=0,E[9]=-y,E[10]=x,E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,E}function zS(E,a){var y=Math.sin(a),x=Math.cos(a);return E[0]=x,E[1]=0,E[2]=-y,E[3]=0,E[4]=0,E[5]=1,E[6]=0,E[7]=0,E[8]=y,E[9]=0,E[10]=x,E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,E}function Y1(E,a){var y=Math.sin(a),x=Math.cos(a);return E[0]=x,E[1]=y,E[2]=0,E[3]=0,E[4]=-y,E[5]=x,E[6]=0,E[7]=0,E[8]=0,E[9]=0,E[10]=1,E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,E}function US(E,a,y){var x=a[0],b=a[1],z=a[2],te=a[3],re=x+x,ae=b+b,se=z+z,fe=x*re,me=x*ae,Se=x*se,Te=b*ae,ke=b*se,We=z*se,je=te*re,Ke=te*ae,Qe=te*se;return E[0]=1-(Te+We),E[1]=me+Qe,E[2]=Se-Ke,E[3]=0,E[4]=me-Qe,E[5]=1-(fe+We),E[6]=ke+je,E[7]=0,E[8]=Se+Ke,E[9]=ke-je,E[10]=1-(fe+Te),E[11]=0,E[12]=y[0],E[13]=y[1],E[14]=y[2],E[15]=1,E}function qI(E,a){var y=new ca(3),x=-a[0],b=-a[1],z=-a[2],te=a[3],re=a[4],ae=a[5],se=a[6],fe=a[7],me=x*x+b*b+z*z+te*te;return me>0?(y[0]=(re*te+fe*x+ae*z-se*b)*2/me,y[1]=(ae*te+fe*b+se*x-re*z)*2/me,y[2]=(se*te+fe*z+re*b-ae*x)*2/me):(y[0]=(re*te+fe*x+ae*z-se*b)*2,y[1]=(ae*te+fe*b+se*x-re*z)*2,y[2]=(se*te+fe*z+re*b-ae*x)*2),US(E,a,y),E}function am(E,a){return E[0]=a[12],E[1]=a[13],E[2]=a[14],E}function Qg(E,a){var y=a[0],x=a[1],b=a[2],z=a[4],te=a[5],re=a[6],ae=a[8],se=a[9],fe=a[10];return E[0]=Math.hypot(y,x,b),E[1]=Math.hypot(z,te,re),E[2]=Math.hypot(ae,se,fe),E}function im(E,a){var y=new ca(3);Qg(y,a);var x=1/y[0],b=1/y[1],z=1/y[2],te=a[0]*x,re=a[1]*b,ae=a[2]*z,se=a[4]*x,fe=a[5]*b,me=a[6]*z,Se=a[8]*x,Te=a[9]*b,ke=a[10]*z,We=te+fe+ke,je=0;return We>0?(je=Math.sqrt(We+1)*2,E[3]=.25*je,E[0]=(me-Te)/je,E[1]=(Se-ae)/je,E[2]=(re-se)/je):te>fe&&te>ke?(je=Math.sqrt(1+te-fe-ke)*2,E[3]=(me-Te)/je,E[0]=.25*je,E[1]=(re+se)/je,E[2]=(Se+ae)/je):fe>ke?(je=Math.sqrt(1+fe-te-ke)*2,E[3]=(Se-ae)/je,E[0]=(re+se)/je,E[1]=.25*je,E[2]=(me+Te)/je):(je=Math.sqrt(1+ke-te-fe)*2,E[3]=(re-se)/je,E[0]=(Se+ae)/je,E[1]=(me+Te)/je,E[2]=.25*je),E}function $I(E,a,y,x){var b=a[0],z=a[1],te=a[2],re=a[3],ae=b+b,se=z+z,fe=te+te,me=b*ae,Se=b*se,Te=b*fe,ke=z*se,We=z*fe,je=te*fe,Ke=re*ae,Qe=re*se,Je=re*fe,at=x[0],ot=x[1],ut=x[2];return E[0]=(1-(ke+je))*at,E[1]=(Se+Je)*at,E[2]=(Te-Qe)*at,E[3]=0,E[4]=(Se-Je)*ot,E[5]=(1-(me+je))*ot,E[6]=(We+Ke)*ot,E[7]=0,E[8]=(Te+Qe)*ut,E[9]=(We-Ke)*ut,E[10]=(1-(me+ke))*ut,E[11]=0,E[12]=y[0],E[13]=y[1],E[14]=y[2],E[15]=1,E}function U0(E,a,y,x,b){var z=a[0],te=a[1],re=a[2],ae=a[3],se=z+z,fe=te+te,me=re+re,Se=z*se,Te=z*fe,ke=z*me,We=te*fe,je=te*me,Ke=re*me,Qe=ae*se,Je=ae*fe,at=ae*me,ot=x[0],ut=x[1],ft=x[2],lt=b[0],Dt=b[1],Bt=b[2],Vt=(1-(We+Ke))*ot,Xt=(Te+at)*ot,vn=(ke-Je)*ot,on=(Te-at)*ut,wn=(1-(Se+Ke))*ut,qn=(je+Qe)*ut,yn=(ke+Je)*ft,En=(je-Qe)*ft,Pn=(1-(Se+We))*ft;return E[0]=Vt,E[1]=Xt,E[2]=vn,E[3]=0,E[4]=on,E[5]=wn,E[6]=qn,E[7]=0,E[8]=yn,E[9]=En,E[10]=Pn,E[11]=0,E[12]=y[0]+lt-(Vt*lt+on*Dt+yn*Bt),E[13]=y[1]+Dt-(Xt*lt+wn*Dt+En*Bt),E[14]=y[2]+Bt-(vn*lt+qn*Dt+Pn*Bt),E[15]=1,E}function X1(E,a){var y=a[0],x=a[1],b=a[2],z=a[3],te=y+y,re=x+x,ae=b+b,se=y*te,fe=x*te,me=x*re,Se=b*te,Te=b*re,ke=b*ae,We=z*te,je=z*re,Ke=z*ae;return E[0]=1-me-ke,E[1]=fe+Ke,E[2]=Se-je,E[3]=0,E[4]=fe-Ke,E[5]=1-se-ke,E[6]=Te+We,E[7]=0,E[8]=Se+je,E[9]=Te-We,E[10]=1-se-me,E[11]=0,E[12]=0,E[13]=0,E[14]=0,E[15]=1,E}function eL(E,a,y,x,b,z,te){var re=1/(y-a),ae=1/(b-x),se=1/(z-te);return E[0]=z*2*re,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=z*2*ae,E[6]=0,E[7]=0,E[8]=(y+a)*re,E[9]=(b+x)*ae,E[10]=(te+z)*se,E[11]=-1,E[12]=0,E[13]=0,E[14]=te*z*2*se,E[15]=0,E}function WS(E,a,y,x,b){var z=1/Math.tan(a/2),te;return E[0]=z/y,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=z,E[6]=0,E[7]=0,E[8]=0,E[9]=0,E[11]=-1,E[12]=0,E[13]=0,E[15]=0,b!=null&&b!==1/0?(te=1/(x-b),E[10]=(b+x)*te,E[14]=2*b*x*te):(E[10]=-1,E[14]=-2*x),E}var tL=WS;function nL(E,a,y,x,b){var z=1/Math.tan(a/2),te;return E[0]=z/y,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=z,E[6]=0,E[7]=0,E[8]=0,E[9]=0,E[11]=-1,E[12]=0,E[13]=0,E[15]=0,b!=null&&b!==1/0?(te=1/(x-b),E[10]=b*te,E[14]=b*x*te):(E[10]=-1,E[14]=-x),E}function rL(E,a,y,x){var b=Math.tan(a.upDegrees*Math.PI/180),z=Math.tan(a.downDegrees*Math.PI/180),te=Math.tan(a.leftDegrees*Math.PI/180),re=Math.tan(a.rightDegrees*Math.PI/180),ae=2/(te+re),se=2/(b+z);return E[0]=ae,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=se,E[6]=0,E[7]=0,E[8]=-((te-re)*ae*.5),E[9]=(b-z)*se*.5,E[10]=x/(y-x),E[11]=-1,E[12]=0,E[13]=0,E[14]=x*y/(y-x),E[15]=0,E}function jS(E,a,y,x,b,z,te){var re=1/(a-y),ae=1/(x-b),se=1/(z-te);return E[0]=-2*re,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=-2*ae,E[6]=0,E[7]=0,E[8]=0,E[9]=0,E[10]=2*se,E[11]=0,E[12]=(a+y)*re,E[13]=(b+x)*ae,E[14]=(te+z)*se,E[15]=1,E}var GS=jS;function VS(E,a,y,x,b,z,te){var re=1/(a-y),ae=1/(x-b),se=1/(z-te);return E[0]=-2*re,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=-2*ae,E[6]=0,E[7]=0,E[8]=0,E[9]=0,E[10]=se,E[11]=0,E[12]=(a+y)*re,E[13]=(b+x)*ae,E[14]=z*se,E[15]=1,E}function HS(E,a,y,x){var b,z,te,re,ae,se,fe,me,Se,Te,ke=a[0],We=a[1],je=a[2],Ke=x[0],Qe=x[1],Je=x[2],at=y[0],ot=y[1],ut=y[2];return Math.abs(ke-at)<Wr&&Math.abs(We-ot)<Wr&&Math.abs(je-ut)<Wr?Pu(E):(fe=ke-at,me=We-ot,Se=je-ut,Te=1/Math.hypot(fe,me,Se),fe*=Te,me*=Te,Se*=Te,b=Qe*Se-Je*me,z=Je*fe-Ke*Se,te=Ke*me-Qe*fe,Te=Math.hypot(b,z,te),Te?(Te=1/Te,b*=Te,z*=Te,te*=Te):(b=0,z=0,te=0),re=me*te-Se*z,ae=Se*b-fe*te,se=fe*z-me*b,Te=Math.hypot(re,ae,se),Te?(Te=1/Te,re*=Te,ae*=Te,se*=Te):(re=0,ae=0,se=0),E[0]=b,E[1]=re,E[2]=fe,E[3]=0,E[4]=z,E[5]=ae,E[6]=me,E[7]=0,E[8]=te,E[9]=se,E[10]=Se,E[11]=0,E[12]=-(b*ke+z*We+te*je),E[13]=-(re*ke+ae*We+se*je),E[14]=-(fe*ke+me*We+Se*je),E[15]=1,E)}function aL(E,a,y,x){var b=a[0],z=a[1],te=a[2],re=x[0],ae=x[1],se=x[2],fe=b-y[0],me=z-y[1],Se=te-y[2],Te=fe*fe+me*me+Se*Se;Te>0&&(Te=1/Math.sqrt(Te),fe*=Te,me*=Te,Se*=Te);var ke=ae*Se-se*me,We=se*fe-re*Se,je=re*me-ae*fe;return Te=ke*ke+We*We+je*je,Te>0&&(Te=1/Math.sqrt(Te),ke*=Te,We*=Te,je*=Te),E[0]=ke,E[1]=We,E[2]=je,E[3]=0,E[4]=me*je-Se*We,E[5]=Se*ke-fe*je,E[6]=fe*We-me*ke,E[7]=0,E[8]=fe,E[9]=me,E[10]=Se,E[11]=0,E[12]=b,E[13]=z,E[14]=te,E[15]=1,E}function iL(E){return"mat4("+E[0]+", "+E[1]+", "+E[2]+", "+E[3]+", "+E[4]+", "+E[5]+", "+E[6]+", "+E[7]+", "+E[8]+", "+E[9]+", "+E[10]+", "+E[11]+", "+E[12]+", "+E[13]+", "+E[14]+", "+E[15]+")"}function oL(E){return Math.hypot(E[0],E[1],E[2],E[3],E[4],E[5],E[6],E[7],E[8],E[9],E[10],E[11],E[12],E[13],E[14],E[15])}function sL(E,a,y){return E[0]=a[0]+y[0],E[1]=a[1]+y[1],E[2]=a[2]+y[2],E[3]=a[3]+y[3],E[4]=a[4]+y[4],E[5]=a[5]+y[5],E[6]=a[6]+y[6],E[7]=a[7]+y[7],E[8]=a[8]+y[8],E[9]=a[9]+y[9],E[10]=a[10]+y[10],E[11]=a[11]+y[11],E[12]=a[12]+y[12],E[13]=a[13]+y[13],E[14]=a[14]+y[14],E[15]=a[15]+y[15],E}function KS(E,a,y){return E[0]=a[0]-y[0],E[1]=a[1]-y[1],E[2]=a[2]-y[2],E[3]=a[3]-y[3],E[4]=a[4]-y[4],E[5]=a[5]-y[5],E[6]=a[6]-y[6],E[7]=a[7]-y[7],E[8]=a[8]-y[8],E[9]=a[9]-y[9],E[10]=a[10]-y[10],E[11]=a[11]-y[11],E[12]=a[12]-y[12],E[13]=a[13]-y[13],E[14]=a[14]-y[14],E[15]=a[15]-y[15],E}function lL(E,a,y){return E[0]=a[0]*y,E[1]=a[1]*y,E[2]=a[2]*y,E[3]=a[3]*y,E[4]=a[4]*y,E[5]=a[5]*y,E[6]=a[6]*y,E[7]=a[7]*y,E[8]=a[8]*y,E[9]=a[9]*y,E[10]=a[10]*y,E[11]=a[11]*y,E[12]=a[12]*y,E[13]=a[13]*y,E[14]=a[14]*y,E[15]=a[15]*y,E}function uL(E,a,y,x){return E[0]=a[0]+y[0]*x,E[1]=a[1]+y[1]*x,E[2]=a[2]+y[2]*x,E[3]=a[3]+y[3]*x,E[4]=a[4]+y[4]*x,E[5]=a[5]+y[5]*x,E[6]=a[6]+y[6]*x,E[7]=a[7]+y[7]*x,E[8]=a[8]+y[8]*x,E[9]=a[9]+y[9]*x,E[10]=a[10]+y[10]*x,E[11]=a[11]+y[11]*x,E[12]=a[12]+y[12]*x,E[13]=a[13]+y[13]*x,E[14]=a[14]+y[14]*x,E[15]=a[15]+y[15]*x,E}function J1(E,a){return E[0]===a[0]&&E[1]===a[1]&&E[2]===a[2]&&E[3]===a[3]&&E[4]===a[4]&&E[5]===a[5]&&E[6]===a[6]&&E[7]===a[7]&&E[8]===a[8]&&E[9]===a[9]&&E[10]===a[10]&&E[11]===a[11]&&E[12]===a[12]&&E[13]===a[13]&&E[14]===a[14]&&E[15]===a[15]}function cL(E,a){var y=E[0],x=E[1],b=E[2],z=E[3],te=E[4],re=E[5],ae=E[6],se=E[7],fe=E[8],me=E[9],Se=E[10],Te=E[11],ke=E[12],We=E[13],je=E[14],Ke=E[15],Qe=a[0],Je=a[1],at=a[2],ot=a[3],ut=a[4],ft=a[5],lt=a[6],Dt=a[7],Bt=a[8],Vt=a[9],Xt=a[10],vn=a[11],on=a[12],wn=a[13],qn=a[14],yn=a[15];return Math.abs(y-Qe)<=Wr*Math.max(1,Math.abs(y),Math.abs(Qe))&&Math.abs(x-Je)<=Wr*Math.max(1,Math.abs(x),Math.abs(Je))&&Math.abs(b-at)<=Wr*Math.max(1,Math.abs(b),Math.abs(at))&&Math.abs(z-ot)<=Wr*Math.max(1,Math.abs(z),Math.abs(ot))&&Math.abs(te-ut)<=Wr*Math.max(1,Math.abs(te),Math.abs(ut))&&Math.abs(re-ft)<=Wr*Math.max(1,Math.abs(re),Math.abs(ft))&&Math.abs(ae-lt)<=Wr*Math.max(1,Math.abs(ae),Math.abs(lt))&&Math.abs(se-Dt)<=Wr*Math.max(1,Math.abs(se),Math.abs(Dt))&&Math.abs(fe-Bt)<=Wr*Math.max(1,Math.abs(fe),Math.abs(Bt))&&Math.abs(me-Vt)<=Wr*Math.max(1,Math.abs(me),Math.abs(Vt))&&Math.abs(Se-Xt)<=Wr*Math.max(1,Math.abs(Se),Math.abs(Xt))&&Math.abs(Te-vn)<=Wr*Math.max(1,Math.abs(Te),Math.abs(vn))&&Math.abs(ke-on)<=Wr*Math.max(1,Math.abs(ke),Math.abs(on))&&Math.abs(We-wn)<=Wr*Math.max(1,Math.abs(We),Math.abs(wn))&&Math.abs(je-qn)<=Wr*Math.max(1,Math.abs(je),Math.abs(qn))&&Math.abs(Ke-yn)<=Wr*Math.max(1,Math.abs(Ke),Math.abs(yn))}var ZS=Uu,dL=KS;function QS(){var E=new ca(9);return ca!=Float32Array&&(E[1]=0,E[2]=0,E[3]=0,E[5]=0,E[6]=0,E[7]=0),E[0]=1,E[4]=1,E[8]=1,E}function fL(E,a){return E[0]=a[0],E[1]=a[1],E[2]=a[2],E[3]=a[4],E[4]=a[5],E[5]=a[6],E[6]=a[8],E[7]=a[9],E[8]=a[10],E}function wZ(E){var a=new glMatrix.ARRAY_TYPE(9);return a[0]=E[0],a[1]=E[1],a[2]=E[2],a[3]=E[3],a[4]=E[4],a[5]=E[5],a[6]=E[6],a[7]=E[7],a[8]=E[8],a}function MZ(E,a){return E[0]=a[0],E[1]=a[1],E[2]=a[2],E[3]=a[3],E[4]=a[4],E[5]=a[5],E[6]=a[6],E[7]=a[7],E[8]=a[8],E}function hL(E,a,y,x,b,z,te,re,ae){var se=new ca(9);return se[0]=E,se[1]=a,se[2]=y,se[3]=x,se[4]=b,se[5]=z,se[6]=te,se[7]=re,se[8]=ae,se}function DZ(E,a,y,x,b,z,te,re,ae,se){return E[0]=a,E[1]=y,E[2]=x,E[3]=b,E[4]=z,E[5]=te,E[6]=re,E[7]=ae,E[8]=se,E}function IZ(E){return E[0]=1,E[1]=0,E[2]=0,E[3]=0,E[4]=1,E[5]=0,E[6]=0,E[7]=0,E[8]=1,E}function LZ(E,a){if(E===a){var y=a[1],x=a[2],b=a[5];E[1]=a[3],E[2]=a[6],E[3]=y,E[5]=a[7],E[6]=x,E[7]=b}else E[0]=a[0],E[1]=a[3],E[2]=a[6],E[3]=a[1],E[4]=a[4],E[5]=a[7],E[6]=a[2],E[7]=a[5],E[8]=a[8];return E}function OZ(E,a){var y=a[0],x=a[1],b=a[2],z=a[3],te=a[4],re=a[5],ae=a[6],se=a[7],fe=a[8],me=fe*te-re*se,Se=-fe*z+re*ae,Te=se*z-te*ae,ke=y*me+x*Se+b*Te;return ke?(ke=1/ke,E[0]=me*ke,E[1]=(-fe*x+b*se)*ke,E[2]=(re*x-b*te)*ke,E[3]=Se*ke,E[4]=(fe*y-b*ae)*ke,E[5]=(-re*y+b*z)*ke,E[6]=Te*ke,E[7]=(-se*y+x*ae)*ke,E[8]=(te*y-x*z)*ke,E):null}function TZ(E,a){var y=a[0],x=a[1],b=a[2],z=a[3],te=a[4],re=a[5],ae=a[6],se=a[7],fe=a[8];return E[0]=te*fe-re*se,E[1]=b*se-x*fe,E[2]=x*re-b*te,E[3]=re*ae-z*fe,E[4]=y*fe-b*ae,E[5]=b*z-y*re,E[6]=z*se-te*ae,E[7]=x*ae-y*se,E[8]=y*te-x*z,E}function BZ(E){var a=E[0],y=E[1],x=E[2],b=E[3],z=E[4],te=E[5],re=E[6],ae=E[7],se=E[8];return a*(se*z-te*ae)+y*(-se*b+te*re)+x*(ae*b-z*re)}function NZ(E,a,y){var x=a[0],b=a[1],z=a[2],te=a[3],re=a[4],ae=a[5],se=a[6],fe=a[7],me=a[8],Se=y[0],Te=y[1],ke=y[2],We=y[3],je=y[4],Ke=y[5],Qe=y[6],Je=y[7],at=y[8];return E[0]=Se*x+Te*te+ke*se,E[1]=Se*b+Te*re+ke*fe,E[2]=Se*z+Te*ae+ke*me,E[3]=We*x+je*te+Ke*se,E[4]=We*b+je*re+Ke*fe,E[5]=We*z+je*ae+Ke*me,E[6]=Qe*x+Je*te+at*se,E[7]=Qe*b+Je*re+at*fe,E[8]=Qe*z+Je*ae+at*me,E}function RZ(E,a,y){var x=a[0],b=a[1],z=a[2],te=a[3],re=a[4],ae=a[5],se=a[6],fe=a[7],me=a[8],Se=y[0],Te=y[1];return E[0]=x,E[1]=b,E[2]=z,E[3]=te,E[4]=re,E[5]=ae,E[6]=Se*x+Te*te+se,E[7]=Se*b+Te*re+fe,E[8]=Se*z+Te*ae+me,E}function _Z(E,a,y){var x=a[0],b=a[1],z=a[2],te=a[3],re=a[4],ae=a[5],se=a[6],fe=a[7],me=a[8],Se=Math.sin(y),Te=Math.cos(y);return E[0]=Te*x+Se*te,E[1]=Te*b+Se*re,E[2]=Te*z+Se*ae,E[3]=Te*te-Se*x,E[4]=Te*re-Se*b,E[5]=Te*ae-Se*z,E[6]=se,E[7]=fe,E[8]=me,E}function FZ(E,a,y){var x=y[0],b=y[1];return E[0]=x*a[0],E[1]=x*a[1],E[2]=x*a[2],E[3]=b*a[3],E[4]=b*a[4],E[5]=b*a[5],E[6]=a[6],E[7]=a[7],E[8]=a[8],E}function kZ(E,a){return E[0]=1,E[1]=0,E[2]=0,E[3]=0,E[4]=1,E[5]=0,E[6]=a[0],E[7]=a[1],E[8]=1,E}function zZ(E,a){var y=Math.sin(a),x=Math.cos(a);return E[0]=x,E[1]=y,E[2]=0,E[3]=-y,E[4]=x,E[5]=0,E[6]=0,E[7]=0,E[8]=1,E}function UZ(E,a){return E[0]=a[0],E[1]=0,E[2]=0,E[3]=0,E[4]=a[1],E[5]=0,E[6]=0,E[7]=0,E[8]=1,E}function WZ(E,a){return E[0]=a[0],E[1]=a[1],E[2]=0,E[3]=a[2],E[4]=a[3],E[5]=0,E[6]=a[4],E[7]=a[5],E[8]=1,E}function jZ(E,a){var y=a[0],x=a[1],b=a[2],z=a[3],te=y+y,re=x+x,ae=b+b,se=y*te,fe=x*te,me=x*re,Se=b*te,Te=b*re,ke=b*ae,We=z*te,je=z*re,Ke=z*ae;return E[0]=1-me-ke,E[3]=fe-Ke,E[6]=Se+je,E[1]=fe+Ke,E[4]=1-se-ke,E[7]=Te-We,E[2]=Se-je,E[5]=Te+We,E[8]=1-se-me,E}function GZ(E,a){var y=a[0],x=a[1],b=a[2],z=a[3],te=a[4],re=a[5],ae=a[6],se=a[7],fe=a[8],me=a[9],Se=a[10],Te=a[11],ke=a[12],We=a[13],je=a[14],Ke=a[15],Qe=y*re-x*te,Je=y*ae-b*te,at=y*se-z*te,ot=x*ae-b*re,ut=x*se-z*re,ft=b*se-z*ae,lt=fe*We-me*ke,Dt=fe*je-Se*ke,Bt=fe*Ke-Te*ke,Vt=me*je-Se*We,Xt=me*Ke-Te*We,vn=Se*Ke-Te*je,on=Qe*vn-Je*Xt+at*Vt+ot*Bt-ut*Dt+ft*lt;return on?(on=1/on,E[0]=(re*vn-ae*Xt+se*Vt)*on,E[1]=(ae*Bt-te*vn-se*Dt)*on,E[2]=(te*Xt-re*Bt+se*lt)*on,E[3]=(b*Xt-x*vn-z*Vt)*on,E[4]=(y*vn-b*Bt+z*Dt)*on,E[5]=(x*Bt-y*Xt-z*lt)*on,E[6]=(We*ft-je*ut+Ke*ot)*on,E[7]=(je*at-ke*ft-Ke*Je)*on,E[8]=(ke*ut-We*at+Ke*Qe)*on,E):null}function VZ(E,a,y){return E[0]=2/a,E[1]=0,E[2]=0,E[3]=0,E[4]=-2/y,E[5]=0,E[6]=-1,E[7]=1,E[8]=1,E}function HZ(E){return"mat3("+E[0]+", "+E[1]+", "+E[2]+", "+E[3]+", "+E[4]+", "+E[5]+", "+E[6]+", "+E[7]+", "+E[8]+")"}function KZ(E){return Math.hypot(E[0],E[1],E[2],E[3],E[4],E[5],E[6],E[7],E[8])}function ZZ(E,a,y){return E[0]=a[0]+y[0],E[1]=a[1]+y[1],E[2]=a[2]+y[2],E[3]=a[3]+y[3],E[4]=a[4]+y[4],E[5]=a[5]+y[5],E[6]=a[6]+y[6],E[7]=a[7]+y[7],E[8]=a[8]+y[8],E}function QZ(E,a,y){return E[0]=a[0]-y[0],E[1]=a[1]-y[1],E[2]=a[2]-y[2],E[3]=a[3]-y[3],E[4]=a[4]-y[4],E[5]=a[5]-y[5],E[6]=a[6]-y[6],E[7]=a[7]-y[7],E[8]=a[8]-y[8],E}function YZ(E,a,y){return E[0]=a[0]*y,E[1]=a[1]*y,E[2]=a[2]*y,E[3]=a[3]*y,E[4]=a[4]*y,E[5]=a[5]*y,E[6]=a[6]*y,E[7]=a[7]*y,E[8]=a[8]*y,E}function XZ(E,a,y,x){return E[0]=a[0]+y[0]*x,E[1]=a[1]+y[1]*x,E[2]=a[2]+y[2]*x,E[3]=a[3]+y[3]*x,E[4]=a[4]+y[4]*x,E[5]=a[5]+y[5]*x,E[6]=a[6]+y[6]*x,E[7]=a[7]+y[7]*x,E[8]=a[8]+y[8]*x,E}function JZ(E,a){return E[0]===a[0]&&E[1]===a[1]&&E[2]===a[2]&&E[3]===a[3]&&E[4]===a[4]&&E[5]===a[5]&&E[6]===a[6]&&E[7]===a[7]&&E[8]===a[8]}function qZ(E,a){var y=E[0],x=E[1],b=E[2],z=E[3],te=E[4],re=E[5],ae=E[6],se=E[7],fe=E[8],me=a[0],Se=a[1],Te=a[2],ke=a[3],We=a[4],je=a[5],Ke=a[6],Qe=a[7],Je=a[8];return Math.abs(y-me)<=glMatrix.EPSILON*Math.max(1,Math.abs(y),Math.abs(me))&&Math.abs(x-Se)<=glMatrix.EPSILON*Math.max(1,Math.abs(x),Math.abs(Se))&&Math.abs(b-Te)<=glMatrix.EPSILON*Math.max(1,Math.abs(b),Math.abs(Te))&&Math.abs(z-ke)<=glMatrix.EPSILON*Math.max(1,Math.abs(z),Math.abs(ke))&&Math.abs(te-We)<=glMatrix.EPSILON*Math.max(1,Math.abs(te),Math.abs(We))&&Math.abs(re-je)<=glMatrix.EPSILON*Math.max(1,Math.abs(re),Math.abs(je))&&Math.abs(ae-Ke)<=glMatrix.EPSILON*Math.max(1,Math.abs(ae),Math.abs(Ke))&&Math.abs(se-Qe)<=glMatrix.EPSILON*Math.max(1,Math.abs(se),Math.abs(Qe))&&Math.abs(fe-Je)<=glMatrix.EPSILON*Math.max(1,Math.abs(fe),Math.abs(Je))}var $Z=null,eQ=null;function ou(){var E=new ca(4);return ca!=Float32Array&&(E[0]=0,E[1]=0,E[2]=0),E[3]=1,E}function tQ(E){return E[0]=0,E[1]=0,E[2]=0,E[3]=1,E}function Jf(E,a,y){y=y*.5;var x=Math.sin(y);return E[0]=x*a[0],E[1]=x*a[1],E[2]=x*a[2],E[3]=Math.cos(y),E}function nQ(E,a){var y=Math.acos(a[3])*2,x=Math.sin(y/2);return x>glMatrix.EPSILON?(E[0]=a[0]/x,E[1]=a[1]/x,E[2]=a[2]/x):(E[0]=1,E[1]=0,E[2]=0),y}function rQ(E,a){var y=EL(E,a);return Math.acos(2*y*y-1)}function qf(E,a,y){var x=a[0],b=a[1],z=a[2],te=a[3],re=y[0],ae=y[1],se=y[2],fe=y[3];return E[0]=x*fe+te*re+b*se-z*ae,E[1]=b*fe+te*ae+z*re-x*se,E[2]=z*fe+te*se+x*ae-b*re,E[3]=te*fe-x*re-b*ae-z*se,E}function aQ(E,a,y){y*=.5;var x=a[0],b=a[1],z=a[2],te=a[3],re=Math.sin(y),ae=Math.cos(y);return E[0]=x*ae+te*re,E[1]=b*ae+z*re,E[2]=z*ae-b*re,E[3]=te*ae-x*re,E}function iQ(E,a,y){y*=.5;var x=a[0],b=a[1],z=a[2],te=a[3],re=Math.sin(y),ae=Math.cos(y);return E[0]=x*ae-z*re,E[1]=b*ae+te*re,E[2]=z*ae+x*re,E[3]=te*ae-b*re,E}function oQ(E,a,y){y*=.5;var x=a[0],b=a[1],z=a[2],te=a[3],re=Math.sin(y),ae=Math.cos(y);return E[0]=x*ae+b*re,E[1]=b*ae-x*re,E[2]=z*ae+te*re,E[3]=te*ae-z*re,E}function sQ(E,a){var y=a[0],x=a[1],b=a[2];return E[0]=y,E[1]=x,E[2]=b,E[3]=Math.sqrt(Math.abs(1-y*y-x*x-b*b)),E}function gL(E,a){var y=a[0],x=a[1],b=a[2],z=a[3],te=Math.sqrt(y*y+x*x+b*b),re=Math.exp(z),ae=te>0?re*Math.sin(te)/te:0;return E[0]=y*ae,E[1]=x*ae,E[2]=b*ae,E[3]=re*Math.cos(te),E}function vL(E,a){var y=a[0],x=a[1],b=a[2],z=a[3],te=Math.sqrt(y*y+x*x+b*b),re=te>0?Math.atan2(te,z)/te:0;return E[0]=y*re,E[1]=x*re,E[2]=b*re,E[3]=.5*Math.log(y*y+x*x+b*b+z*z),E}function lQ(E,a,y){return vL(E,a),yL(E,E,y),gL(E,E),E}function q1(E,a,y,x){var b=a[0],z=a[1],te=a[2],re=a[3],ae=y[0],se=y[1],fe=y[2],me=y[3],Se,Te,ke,We,je;return Te=b*ae+z*se+te*fe+re*me,Te<0&&(Te=-Te,ae=-ae,se=-se,fe=-fe,me=-me),1-Te>Wr?(Se=Math.acos(Te),ke=Math.sin(Se),We=Math.sin((1-x)*Se)/ke,je=Math.sin(x*Se)/ke):(We=1-x,je=x),E[0]=We*b+je*ae,E[1]=We*z+je*se,E[2]=We*te+je*fe,E[3]=We*re+je*me,E}function uQ(E){var a=glMatrix.RANDOM(),y=glMatrix.RANDOM(),x=glMatrix.RANDOM(),b=Math.sqrt(1-a),z=Math.sqrt(a);return E[0]=b*Math.sin(2*Math.PI*y),E[1]=b*Math.cos(2*Math.PI*y),E[2]=z*Math.sin(2*Math.PI*x),E[3]=z*Math.cos(2*Math.PI*x),E}function $1(E,a){var y=a[0],x=a[1],b=a[2],z=a[3],te=y*y+x*x+b*b+z*z,re=te?1/te:0;return E[0]=-y*re,E[1]=-x*re,E[2]=-b*re,E[3]=z*re,E}function cQ(E,a){return E[0]=-a[0],E[1]=-a[1],E[2]=-a[2],E[3]=a[3],E}function mL(E,a){var y=a[0]+a[4]+a[8],x;if(y>0)x=Math.sqrt(y+1),E[3]=.5*x,x=.5/x,E[0]=(a[5]-a[7])*x,E[1]=(a[6]-a[2])*x,E[2]=(a[1]-a[3])*x;else{var b=0;a[4]>a[0]&&(b=1),a[8]>a[b*3+b]&&(b=2);var z=(b+1)%3,te=(b+2)%3;x=Math.sqrt(a[b*3+b]-a[z*3+z]-a[te*3+te]+1),E[b]=.5*x,x=.5/x,E[3]=(a[z*3+te]-a[te*3+z])*x,E[z]=(a[z*3+b]+a[b*3+z])*x,E[te]=(a[te*3+b]+a[b*3+te])*x}return E}function om(E,a,y,x){var b=.5*Math.PI/180;a*=b,y*=b,x*=b;var z=Math.sin(a),te=Math.cos(a),re=Math.sin(y),ae=Math.cos(y),se=Math.sin(x),fe=Math.cos(x);return E[0]=z*ae*fe-te*re*se,E[1]=te*re*fe+z*ae*se,E[2]=te*ae*se-z*re*fe,E[3]=te*ae*fe+z*re*se,E}function dQ(E){return"quat("+E[0]+", "+E[1]+", "+E[2]+", "+E[3]+")"}var fQ=Hh,pL=Af,sm=Kh,YS=Zh,hQ=Qh,XS=qf,yL=Gg,EL=em,gQ=tm,vQ=xf,mQ=null,pQ=G1,yQ=null,lm=Xd,EQ=K1,AQ=Z1,xQ=function(){var E=ni(),a=qi(1,0,0),y=qi(0,1,0);return function(x,b,z){var te=Ju(b,z);return te<-.999999?(Qd(E,a,b),Yf(E)<1e-6&&Qd(E,y,b),Oc(E,E),Jf(x,E,Math.PI),x):te>.999999?(x[0]=0,x[1]=0,x[2]=0,x[3]=1,x):(Qd(E,b,z),x[0]=E[0],x[1]=E[1],x[2]=E[2],x[3]=1+te,lm(x,x))}}(),SQ=function(){var E=ou(),a=ou();return function(y,x,b,z,te,re){return q1(E,x,te,re),q1(a,b,z,re),q1(y,E,a,2*re*(1-re)),y}}(),bQ=function(){var E=QS();return function(a,y,x,b){return E[0]=x[0],E[3]=x[1],E[6]=x[2],E[1]=b[0],E[4]=b[1],E[7]=b[2],E[2]=-y[0],E[5]=-y[1],E[8]=-y[2],lm(a,mL(a,E))}}();function eE(){var E=new ca(2);return ca!=Float32Array&&(E[0]=0,E[1]=0),E}function CQ(E){var a=new glMatrix.ARRAY_TYPE(2);return a[0]=E[0],a[1]=E[1],a}function PQ(E,a){var y=new glMatrix.ARRAY_TYPE(2);return y[0]=E,y[1]=a,y}function AL(E,a){return E[0]=a[0],E[1]=a[1],E}function xL(E,a,y){return E[0]=a,E[1]=y,E}function wQ(E,a,y){return E[0]=a[0]+y[0],E[1]=a[1]+y[1],E}function MQ(E,a,y){return E[0]=a[0]-y[0],E[1]=a[1]-y[1],E}function DQ(E,a,y){return E[0]=a[0]*y[0],E[1]=a[1]*y[1],E}function IQ(E,a,y){return E[0]=a[0]/y[0],E[1]=a[1]/y[1],E}function LQ(E,a){return E[0]=Math.ceil(a[0]),E[1]=Math.ceil(a[1]),E}function OQ(E,a){return E[0]=Math.floor(a[0]),E[1]=Math.floor(a[1]),E}function TQ(E,a,y){return E[0]=Math.min(a[0],y[0]),E[1]=Math.min(a[1],y[1]),E}function BQ(E,a,y){return E[0]=Math.max(a[0],y[0]),E[1]=Math.max(a[1],y[1]),E}function NQ(E,a){return E[0]=Math.round(a[0]),E[1]=Math.round(a[1]),E}function RQ(E,a,y){return E[0]=a[0]*y,E[1]=a[1]*y,E}function _Q(E,a,y,x){return E[0]=a[0]+y[0]*x,E[1]=a[1]+y[1]*x,E}function FQ(E,a){var y=a[0]-E[0],x=a[1]-E[1];return Math.hypot(y,x)}function kQ(E,a){var y=a[0]-E[0],x=a[1]-E[1];return y*y+x*x}function zQ(E){var a=E[0],y=E[1];return Math.hypot(a,y)}function UQ(E){var a=E[0],y=E[1];return a*a+y*y}function WQ(E,a){return E[0]=-a[0],E[1]=-a[1],E}function jQ(E,a){return E[0]=1/a[0],E[1]=1/a[1],E}function SL(E,a){var y=a[0],x=a[1],b=y*y+x*x;return b>0&&(b=1/Math.sqrt(b)),E[0]=a[0]*b,E[1]=a[1]*b,E}function bL(E,a){return E[0]*a[0]+E[1]*a[1]}function GQ(E,a,y){var x=a[0]*y[1]-a[1]*y[0];return E[0]=E[1]=0,E[2]=x,E}function VQ(E,a,y,x){var b=a[0],z=a[1];return E[0]=b+x*(y[0]-b),E[1]=z+x*(y[1]-z),E}function HQ(E,a){a=a||1;var y=glMatrix.RANDOM()*2*Math.PI;return E[0]=Math.cos(y)*a,E[1]=Math.sin(y)*a,E}function KQ(E,a,y){var x=a[0],b=a[1];return E[0]=y[0]*x+y[2]*b,E[1]=y[1]*x+y[3]*b,E}function ZQ(E,a,y){var x=a[0],b=a[1];return E[0]=y[0]*x+y[2]*b+y[4],E[1]=y[1]*x+y[3]*b+y[5],E}function QQ(E,a,y){var x=a[0],b=a[1];return E[0]=y[0]*x+y[3]*b+y[6],E[1]=y[1]*x+y[4]*b+y[7],E}function YQ(E,a,y){var x=a[0],b=a[1];return E[0]=y[0]*x+y[4]*b+y[12],E[1]=y[1]*x+y[5]*b+y[13],E}function XQ(E,a,y,x){var b=a[0]-y[0],z=a[1]-y[1],te=Math.sin(x),re=Math.cos(x);return E[0]=b*re-z*te+y[0],E[1]=b*te+z*re+y[1],E}function JQ(E,a){var y=E[0],x=E[1],b=a[0],z=a[1],te=Math.sqrt(y*y+x*x)*Math.sqrt(b*b+z*z),re=te&&(y*b+x*z)/te;return Math.acos(Math.min(Math.max(re,-1),1))}function qQ(E){return E[0]=0,E[1]=0,E}function $Q(E){return"vec2("+E[0]+", "+E[1]+")"}function CL(E,a){return E[0]===a[0]&&E[1]===a[1]}function eY(E,a){var y=E[0],x=E[1],b=a[0],z=a[1];return Math.abs(y-b)<=glMatrix.EPSILON*Math.max(1,Math.abs(y),Math.abs(b))&&Math.abs(x-z)<=glMatrix.EPSILON*Math.max(1,Math.abs(x),Math.abs(z))}var tY=null,nY=null,rY=null,aY=null,iY=null,oY=null,sY=null,lY=function(){var E=eE();return function(a,y,x,b,z,te){var re,ae;for(y||(y=2),x||(x=0),b?ae=Math.min(b*y+x,a.length):ae=a.length,re=x;re<ae;re+=y)E[0]=a[re],E[1]=a[re+1],z(E,E,te),a[re]=E[0],a[re+1]=E[1];return a}}();function Oi(E){return typeof E=="number"}function hc(E,a){return Math.sqrt((E[0]-a[0])*(E[0]-a[0])+(E[1]-a[1])*(E[1]-a[1]))}function fo(E){return E==null}function Is(E){return typeof E=="string"}var PL=function(E,a,y){return E<a?a:E>y?y:E},bl=PL,Rt=Oe(80813),W0={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0};function JS(E){return Array.isArray(E)&&E.every(function(a){var y=a[0].toLowerCase();return W0[y]===a.length-1&&"achlmqstvz".includes(y)})}function qS(E){return JS(E)&&E.every(function(a){var y=a[0];return y===y.toUpperCase()})}function $S(E){return qS(E)&&E.every(function(a){var y=a[0];return"ACLMQZ".includes(y)})}var Sb={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null};function Pb(E){for(var a=E.pathValue[E.segmentStart],y=a.toLowerCase(),x=E.data;x.length>=W0[y]&&(y==="m"&&x.length>2?(E.segments.push([a].concat(x.splice(0,2))),y="l",a=a==="m"?"l":"L"):E.segments.push([a].concat(x.splice(0,W0[y]))),!!W0[y]););}function wL(E){var a=E.index,y=E.pathValue,x=y.charCodeAt(a);if(x===48){E.param=0,E.index+=1;return}if(x===49){E.param=1,E.index+=1;return}E.err='[path-util]: invalid Arc flag "'.concat(y[a],'", expecting 0 or 1 at index ').concat(a)}function ML(E){return E>=48&&E<=57||E===43||E===45||E===46}function Yg(E){return E>=48&&E<=57}function DL(E){var a=E.max,y=E.pathValue,x=E.index,b=x,z=!1,te=!1,re=!1,ae=!1,se;if(b>=a){E.err="[path-util]: Invalid path value at index ".concat(b,', "pathValue" is missing param');return}if(se=y.charCodeAt(b),(se===43||se===45)&&(b+=1,se=y.charCodeAt(b)),!Yg(se)&&se!==46){E.err="[path-util]: Invalid path value at index ".concat(b,', "').concat(y[b],'" is not a number');return}if(se!==46){if(z=se===48,b+=1,se=y.charCodeAt(b),z&&b<a&&se&&Yg(se)){E.err="[path-util]: Invalid path value at index ".concat(x,', "').concat(y[x],'" illegal number');return}for(;b<a&&Yg(y.charCodeAt(b));)b+=1,te=!0;se=y.charCodeAt(b)}if(se===46){for(ae=!0,b+=1;Yg(y.charCodeAt(b));)b+=1,re=!0;se=y.charCodeAt(b)}if(se===101||se===69){if(ae&&!te&&!re){E.err="[path-util]: Invalid path value at index ".concat(b,', "').concat(y[b],'" invalid float exponent');return}if(b+=1,se=y.charCodeAt(b),(se===43||se===45)&&(b+=1),b<a&&Yg(y.charCodeAt(b)))for(;b<a&&Yg(y.charCodeAt(b));)b+=1;else{E.err="[path-util]: Invalid path value at index ".concat(b,', "').concat(y[b],'" invalid integer exponent');return}}E.index=b,E.param=+E.pathValue.slice(x,b)}function IL(E){var a=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];return E===10||E===13||E===8232||E===8233||E===32||E===9||E===11||E===12||E===160||E>=5760&&a.includes(E)}function um(E){for(var a=E.pathValue,y=E.max;E.index<y&&IL(a.charCodeAt(E.index));)E.index+=1}function LL(E){switch(E|32){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:return!0;default:return!1}}function OL(E){return(E|32)===97}function TL(E){var a=E.max,y=E.pathValue,x=E.index,b=y.charCodeAt(x),z=W0[y[x].toLowerCase()];if(E.segmentStart=x,!LL(b)){E.err='[path-util]: Invalid path value "'.concat(y[x],'" is not a path command');return}if(E.index+=1,um(E),E.data=[],!z){Pb(E);return}for(;;){for(var te=z;te>0;te-=1){if(OL(b)&&(te===3||te===4)?wL(E):DL(E),E.err.length)return;E.data.push(E.param),um(E),E.index<a&&y.charCodeAt(E.index)===44&&(E.index+=1,um(E))}if(E.index>=E.max||!ML(y.charCodeAt(E.index)))break}Pb(E)}var BL=function(){function E(a){this.pathValue=a,this.segments=[],this.max=a.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""}return E}();function NL(E){if(JS(E))return[].concat(E);var a=new BL(E);for(um(a);a.index<a.max&&!a.err.length;)TL(a);return a.err?a.err:a.segments}function RL(E){if(qS(E))return[].concat(E);var a=NL(E),y=0,x=0,b=0,z=0;return a.map(function(te){var re=te.slice(1).map(Number),ae=te[0],se=ae.toUpperCase();if(ae==="M")return y=re[0],x=re[1],b=y,z=x,["M",y,x];var fe;if(ae!==se)switch(se){case"A":fe=[se,re[0],re[1],re[2],re[3],re[4],re[5]+y,re[6]+x];break;case"V":fe=[se,re[0]+x];break;case"H":fe=[se,re[0]+y];break;default:{var me=re.map(function(Te,ke){return Te+(ke%2?x:y)});fe=[se].concat(me)}}else fe=[se].concat(re);var Se=fe.length;switch(se){case"Z":y=b,x=z;break;case"H":y=fe[1];break;case"V":x=fe[1];break;default:y=fe[Se-2],x=fe[Se-1],se==="M"&&(b=y,z=x)}return fe})}function _L(E,a){var y=E[0],x=a.x1,b=a.y1,z=a.x2,te=a.y2,re=E.slice(1).map(Number),ae=E;if("TQ".includes(y)||(a.qx=null,a.qy=null),y==="H")ae=["L",E[1],b];else if(y==="V")ae=["L",x,E[1]];else if(y==="S"){var se=x*2-z,fe=b*2-te;a.x1=se,a.y1=fe,ae=["C",se,fe].concat(re)}else if(y==="T"){var me=x*2-a.qx,Se=b*2-a.qy;a.qx=me,a.qy=Se,ae=["Q",me,Se].concat(re)}else if(y==="Q"){var Te=re[0],ke=re[1];a.qx=Te,a.qy=ke}return ae}function cm(E){if($S(E))return[].concat(E);for(var a=RL(E),y=(0,Rt.pi)({},Sb),x=0;x<a.length;x+=1){a[x]=_L(a[x],y);var b=a[x],z=b.length;y.x1=+b[z-2],y.y1=+b[z-1],y.x2=+b[z-4]||y.x1,y.y2=+b[z-3]||y.y1}return a}function $f(E,a,y){var x=E[0],b=E[1],z=a[0],te=a[1];return[x+(z-x)*y,b+(te-b)*y]}function tE(E,a,y,x,b){var z=hc([E,a],[y,x]),te={x:0,y:0};if(typeof b=="number")if(b<=0)te={x:E,y:a};else if(b>=z)te={x:y,y:x};else{var re=$f([E,a],[y,x],b/z),ae=re[0],se=re[1];te={x:ae,y:se}}return{length:z,point:te,min:{x:Math.min(E,y),y:Math.min(a,x)},max:{x:Math.max(E,y),y:Math.max(a,x)}}}function Mb(E,a){var y=E.x,x=E.y,b=a.x,z=a.y,te=y*b+x*z,re=Math.sqrt((Math.pow(y,2)+Math.pow(x,2))*(Math.pow(b,2)+Math.pow(z,2))),ae=y*z-x*b<0?-1:1,se=ae*Math.acos(te/re);return se}function FL(E,a,y,x,b,z,te,re,ae,se){var fe=Math.abs,me=Math.sin,Se=Math.cos,Te=Math.sqrt,ke=Math.PI,We=fe(y),je=fe(x),Ke=(b%360+360)%360,Qe=Ke*(ke/180);if(E===re&&a===ae)return{x:E,y:a};if(We===0||je===0)return tE(E,a,re,ae,se).point;var Je=(E-re)/2,at=(a-ae)/2,ot={x:Se(Qe)*Je+me(Qe)*at,y:-me(Qe)*Je+Se(Qe)*at},ut=Math.pow(ot.x,2)/Math.pow(We,2)+Math.pow(ot.y,2)/Math.pow(je,2);ut>1&&(We*=Te(ut),je*=Te(ut));var ft=Math.pow(We,2)*Math.pow(je,2)-Math.pow(We,2)*Math.pow(ot.y,2)-Math.pow(je,2)*Math.pow(ot.x,2),lt=Math.pow(We,2)*Math.pow(ot.y,2)+Math.pow(je,2)*Math.pow(ot.x,2),Dt=ft/lt;Dt=Dt<0?0:Dt;var Bt=(z!==te?1:-1)*Te(Dt),Vt={x:Bt*(We*ot.y/je),y:Bt*(-(je*ot.x)/We)},Xt={x:Se(Qe)*Vt.x-me(Qe)*Vt.y+(E+re)/2,y:me(Qe)*Vt.x+Se(Qe)*Vt.y+(a+ae)/2},vn={x:(ot.x-Vt.x)/We,y:(ot.y-Vt.y)/je},on=Mb({x:1,y:0},vn),wn={x:(-ot.x-Vt.x)/We,y:(-ot.y-Vt.y)/je},qn=Mb(vn,wn);!te&&qn>0?qn-=2*ke:te&&qn<0&&(qn+=2*ke),qn%=2*ke;var yn=on+qn*se,En=We*Se(yn),Pn=je*me(yn),or={x:Se(Qe)*En-me(Qe)*Pn+Xt.x,y:me(Qe)*En+Se(Qe)*Pn+Xt.y};return or}function kL(E,a,y,x,b,z,te,re,ae,se,fe){var me,Se=fe.bbox,Te=Se===void 0?!0:Se,ke=fe.length,We=ke===void 0?!0:ke,je=fe.sampleSize,Ke=je===void 0?30:je,Qe=typeof se=="number",Je=E,at=a,ot=0,ut=[Je,at,ot],ft=[Je,at],lt=0,Dt={x:0,y:0},Bt=[{x:Je,y:at}];Qe&&se<=0&&(Dt={x:Je,y:at});for(var Vt=0;Vt<=Ke;Vt+=1){if(lt=Vt/Ke,me=FL(E,a,y,x,b,z,te,re,ae,lt),Je=me.x,at=me.y,Te&&Bt.push({x:Je,y:at}),We&&(ot+=hc(ft,[Je,at])),ft=[Je,at],Qe&&ot>=se&&se>ut[2]){var Xt=(ot-se)/(ot-ut[2]);Dt={x:ft[0]*(1-Xt)+ut[0]*Xt,y:ft[1]*(1-Xt)+ut[1]*Xt}}ut=[Je,at,ot]}return Qe&&se>=ot&&(Dt={x:re,y:ae}),{length:ot,point:Dt,min:{x:Math.min.apply(null,Bt.map(function(vn){return vn.x})),y:Math.min.apply(null,Bt.map(function(vn){return vn.y}))},max:{x:Math.max.apply(null,Bt.map(function(vn){return vn.x})),y:Math.max.apply(null,Bt.map(function(vn){return vn.y}))}}}function zL(E,a,y,x,b,z,te,re,ae){var se=1-ae;return{x:Math.pow(se,3)*E+3*Math.pow(se,2)*ae*y+3*se*Math.pow(ae,2)*b+Math.pow(ae,3)*te,y:Math.pow(se,3)*a+3*Math.pow(se,2)*ae*x+3*se*Math.pow(ae,2)*z+Math.pow(ae,3)*re}}function Ib(E,a,y,x,b,z,te,re,ae,se){var fe,me=se.bbox,Se=me===void 0?!0:me,Te=se.length,ke=Te===void 0?!0:Te,We=se.sampleSize,je=We===void 0?10:We,Ke=typeof ae=="number",Qe=E,Je=a,at=0,ot=[Qe,Je,at],ut=[Qe,Je],ft=0,lt={x:0,y:0},Dt=[{x:Qe,y:Je}];Ke&&ae<=0&&(lt={x:Qe,y:Je});for(var Bt=0;Bt<=je;Bt+=1){if(ft=Bt/je,fe=zL(E,a,y,x,b,z,te,re,ft),Qe=fe.x,Je=fe.y,Se&&Dt.push({x:Qe,y:Je}),ke&&(at+=hc(ut,[Qe,Je])),ut=[Qe,Je],Ke&&at>=ae&&ae>ot[2]){var Vt=(at-ae)/(at-ot[2]);lt={x:ut[0]*(1-Vt)+ot[0]*Vt,y:ut[1]*(1-Vt)+ot[1]*Vt}}ot=[Qe,Je,at]}return Ke&&ae>=at&&(lt={x:te,y:re}),{length:at,point:lt,min:{x:Math.min.apply(null,Dt.map(function(Xt){return Xt.x})),y:Math.min.apply(null,Dt.map(function(Xt){return Xt.y}))},max:{x:Math.max.apply(null,Dt.map(function(Xt){return Xt.x})),y:Math.max.apply(null,Dt.map(function(Xt){return Xt.y}))}}}function UL(E,a,y,x,b,z,te){var re=1-te;return{x:Math.pow(re,2)*E+2*re*te*y+Math.pow(te,2)*b,y:Math.pow(re,2)*a+2*re*te*x+Math.pow(te,2)*z}}function WL(E,a,y,x,b,z,te,re){var ae,se=re.bbox,fe=se===void 0?!0:se,me=re.length,Se=me===void 0?!0:me,Te=re.sampleSize,ke=Te===void 0?10:Te,We=typeof te=="number",je=E,Ke=a,Qe=0,Je=[je,Ke,Qe],at=[je,Ke],ot=0,ut={x:0,y:0},ft=[{x:je,y:Ke}];We&&te<=0&&(ut={x:je,y:Ke});for(var lt=0;lt<=ke;lt+=1){if(ot=lt/ke,ae=UL(E,a,y,x,b,z,ot),je=ae.x,Ke=ae.y,fe&&ft.push({x:je,y:Ke}),Se&&(Qe+=hc(at,[je,Ke])),at=[je,Ke],We&&Qe>=te&&te>Je[2]){var Dt=(Qe-te)/(Qe-Je[2]);ut={x:at[0]*(1-Dt)+Je[0]*Dt,y:at[1]*(1-Dt)+Je[1]*Dt}}Je=[je,Ke,Qe]}return We&&te>=Qe&&(ut={x:b,y:z}),{length:Qe,point:ut,min:{x:Math.min.apply(null,ft.map(function(Bt){return Bt.x})),y:Math.min.apply(null,ft.map(function(Bt){return Bt.y}))},max:{x:Math.max.apply(null,ft.map(function(Bt){return Bt.x})),y:Math.max.apply(null,ft.map(function(Bt){return Bt.y}))}}}function Lb(E,a,y){for(var x,b,z,te,re,ae,se=cm(E),fe=typeof a=="number",me,Se=[],Te,ke=0,We=0,je=0,Ke=0,Qe,Je=[],at=[],ot=0,ut={x:0,y:0},ft=ut,lt=ut,Dt=ut,Bt=0,Vt=0,Xt=se.length;Vt<Xt;Vt+=1)Qe=se[Vt],Te=Qe[0],me=Te==="M",Se=me?Se:[ke,We].concat(Qe.slice(1)),me?(je=Qe[1],Ke=Qe[2],ut={x:je,y:Ke},ft=ut,ot=0,fe&&a<.001&&(Dt=ut)):Te==="L"?(x=tE(Se[0],Se[1],Se[2],Se[3],(a||0)-Bt),ot=x.length,ut=x.min,ft=x.max,lt=x.point):Te==="A"?(b=kL(Se[0],Se[1],Se[2],Se[3],Se[4],Se[5],Se[6],Se[7],Se[8],(a||0)-Bt,y||{}),ot=b.length,ut=b.min,ft=b.max,lt=b.point):Te==="C"?(z=Ib(Se[0],Se[1],Se[2],Se[3],Se[4],Se[5],Se[6],Se[7],(a||0)-Bt,y||{}),ot=z.length,ut=z.min,ft=z.max,lt=z.point):Te==="Q"?(te=WL(Se[0],Se[1],Se[2],Se[3],Se[4],Se[5],(a||0)-Bt,y||{}),ot=te.length,ut=te.min,ft=te.max,lt=te.point):Te==="Z"&&(Se=[ke,We,je,Ke],re=tE(Se[0],Se[1],Se[2],Se[3],(a||0)-Bt),ot=re.length,ut=re.min,ft=re.max,lt=re.point),fe&&Bt<a&&Bt+ot>=a&&(Dt=lt),at.push(ft),Je.push(ut),Bt+=ot,ae=Te!=="Z"?Qe.slice(-2):[je,Ke],ke=ae[0],We=ae[1];return fe&&a>=Bt&&(Dt={x:ke,y:We}),{length:Bt,point:Dt,min:{x:Math.min.apply(null,Je.map(function(vn){return vn.x})),y:Math.min.apply(null,Je.map(function(vn){return vn.y}))},max:{x:Math.max.apply(null,at.map(function(vn){return vn.x})),y:Math.max.apply(null,at.map(function(vn){return vn.y}))}}}function jL(E,a){return Lb(E,void 0,(0,Rt.pi)((0,Rt.pi)({},a),{bbox:!1,length:!0})).length}function Tc(E){return Array.isArray(E)}var dm=function(E){if(Tc(E))return E.reduce(function(a,y){return Math.min(a,y)},E[0])};function fm(E){if(!Array.isArray(E))return-1/0;var a=E.length;if(!a)return-1/0;for(var y=E[0],x=1;x<a;x++)y=Math.max(y,E[x]);return y}var GL=1e-5;function j0(E,a,y){return y===void 0&&(y=GL),E===a||Math.abs(E-a)<y}var VL=function(E,a){return(E%a+a)%a},Ob=VL;function HL(E,a,y){if(E[y].length>7){E[y].shift();for(var x=E[y],b=y;x.length;)a[y]="A",E.splice(b+=1,0,["C"].concat(x.splice(0,6)));E.splice(y,1)}}function KL(E){return $S(E)&&E.every(function(a){var y=a[0];return"MC".includes(y)})}function hm(E,a,y){var x=E*Math.cos(y)-a*Math.sin(y),b=E*Math.sin(y)+a*Math.cos(y);return{x,y:b}}function nE(E,a,y,x,b,z,te,re,ae,se){var fe=E,me=a,Se=y,Te=x,ke=re,We=ae,je=Math.PI*120/180,Ke=Math.PI/180*(+b||0),Qe=[],Je,at,ot,ut,ft;if(se)at=se[0],ot=se[1],ut=se[2],ft=se[3];else{Je=hm(fe,me,-Ke),fe=Je.x,me=Je.y,Je=hm(ke,We,-Ke),ke=Je.x,We=Je.y;var lt=(fe-ke)/2,Dt=(me-We)/2,Bt=lt*lt/(Se*Se)+Dt*Dt/(Te*Te);Bt>1&&(Bt=Math.sqrt(Bt),Se*=Bt,Te*=Bt);var Vt=Se*Se,Xt=Te*Te,vn=(z===te?-1:1)*Math.sqrt(Math.abs((Vt*Xt-Vt*Dt*Dt-Xt*lt*lt)/(Vt*Dt*Dt+Xt*lt*lt)));ut=vn*Se*Dt/Te+(fe+ke)/2,ft=vn*-Te*lt/Se+(me+We)/2,at=Math.asin(((me-ft)/Te*Math.pow(10,9)>>0)/Math.pow(10,9)),ot=Math.asin(((We-ft)/Te*Math.pow(10,9)>>0)/Math.pow(10,9)),at=fe<ut?Math.PI-at:at,ot=ke<ut?Math.PI-ot:ot,at<0&&(at=Math.PI*2+at),ot<0&&(ot=Math.PI*2+ot),te&&at>ot&&(at-=Math.PI*2),!te&&ot>at&&(ot-=Math.PI*2)}var on=ot-at;if(Math.abs(on)>je){var wn=ot,qn=ke,yn=We;ot=at+je*(te&&ot>at?1:-1),ke=ut+Se*Math.cos(ot),We=ft+Te*Math.sin(ot),Qe=nE(ke,We,Se,Te,b,0,te,qn,yn,[ot,wn,ut,ft])}on=ot-at;var En=Math.cos(at),Pn=Math.sin(at),or=Math.cos(ot),xn=Math.sin(ot),yr=Math.tan(on/4),na=4/3*Se*yr,ea=4/3*Te*yr,jr=[fe,me],Or=[fe+na*Pn,me-ea*En],Yr=[ke+na*xn,We-ea*or],fa=[ke,We];if(Or[0]=2*jr[0]-Or[0],Or[1]=2*jr[1]-Or[1],se)return Or.concat(Yr,fa,Qe);Qe=Or.concat(Yr,fa,Qe);for(var Ia=[],oi=0,Eo=Qe.length;oi<Eo;oi+=1)Ia[oi]=oi%2?hm(Qe[oi-1],Qe[oi],Ke).y:hm(Qe[oi],Qe[oi+1],Ke).x;return Ia}function ZL(E,a,y,x,b,z){var te=.3333333333333333,re=2/3;return[te*E+re*y,te*a+re*x,te*b+re*y,te*z+re*x,b,z]}var Tb=function(E,a,y,x){var b=.5,z=$f([E,a],[y,x],b);return(0,Rt.ev)((0,Rt.ev)([],z,!0),[y,x,y,x],!1)};function QL(E,a){var y=E[0],x=E.slice(1).map(Number),b=x[0],z=x[1],te,re=a.x1,ae=a.y1,se=a.x,fe=a.y;switch("TQ".includes(y)||(a.qx=null,a.qy=null),y){case"M":return a.x=b,a.y=z,E;case"A":return te=[re,ae].concat(x),["C"].concat(nE(te[0],te[1],te[2],te[3],te[4],te[5],te[6],te[7],te[8],te[9]));case"Q":return a.qx=b,a.qy=z,te=[re,ae].concat(x),["C"].concat(ZL(te[0],te[1],te[2],te[3],te[4],te[5]));case"L":return["C"].concat(Tb(re,ae,b,z));case"Z":return re===se&&ae===fe?["C",re,ae,se,fe,se,fe]:["C"].concat(Tb(re,ae,se,fe));default:}return E}function rE(E,a){if(a===void 0&&(a=!1),KL(E)){var y=[].concat(E);return a?[y,[]]:y}for(var x=cm(E),b=(0,Rt.pi)({},Sb),z=[],te="",re=x.length,ae,se,fe=[],me=0;me<re;me+=1){x[me]&&(te=x[me][0]),z[me]=te;var Se=QL(x[me],b);x[me]=Se,HL(x,z,me),re=x.length,te==="Z"&&fe.push(me),ae=x[me],se=ae.length,b.x1=+ae[se-2],b.y1=+ae[se-1],b.x2=+ae[se-4]||b.x1,b.y2=+ae[se-3]||b.y1}return a?[x,fe]:x}function YL(E,a){a===void 0&&(a=.5);var y=E.slice(0,2),x=E.slice(2,4),b=E.slice(4,6),z=E.slice(6,8),te=$f(y,x,a),re=$f(x,b,a),ae=$f(b,z,a),se=$f(te,re,a),fe=$f(re,ae,a),me=$f(se,fe,a);return[["C"].concat(te,se,me),["C"].concat(fe,ae,z)]}function Nb(E){return E.map(function(a,y,x){var b=y&&x[y-1].slice(-2).concat(a.slice(1)),z=y?Ib(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],{bbox:!1}).length:0,te;return y?te=z?YL(b):[a,a]:te=[a],{s:a,ss:te,l:z}})}function Rb(E,a,y){var x=Nb(E),b=Nb(a),z=x.length,te=b.length,re=x.filter(function(je){return je.l}).length,ae=b.filter(function(je){return je.l}).length,se=x.filter(function(je){return je.l}).reduce(function(je,Ke){var Qe=Ke.l;return je+Qe},0)/re||0,fe=b.filter(function(je){return je.l}).reduce(function(je,Ke){var Qe=Ke.l;return je+Qe},0)/ae||0,me=y||Math.max(z,te),Se=[se,fe],Te=[me-z,me-te],ke=0,We=[x,b].map(function(je,Ke){return je.l===me?je.map(function(Qe){return Qe.s}):je.map(function(Qe,Je){return ke=Je&&Te[Ke]&&Qe.l>=Se[Ke],Te[Ke]-=ke?1:0,ke?Qe.ss:[Qe.s]}).flat()});return We[0].length===We[1].length?We:Rb(We[0],We[1],me)}function XL(E,a,y,x,b,z,te,re){return 3*((re-a)*(y+b)-(te-E)*(x+z)+x*(E-b)-y*(a-z)+re*(b+E/3)-te*(z+a/3))/20}function JL(E){var a=0,y=0,x=0;return rE(E).map(function(b){var z;switch(b[0]){case"M":return a=b[1],y=b[2],0;default:var te=b.slice(1),re=te[0],ae=te[1],se=te[2],fe=te[3],me=te[4],Se=te[5];return x=XL(a,y,re,ae,se,fe,me,Se),z=b.slice(-2),a=z[0],y=z[1],x}}).reduce(function(b,z){return b+z},0)}function _b(E){return JL(E)>=0}function qL(E){var a=E.slice(1).map(function(y,x,b){return x?b[x-1].slice(-2).concat(y.slice(1)):E[0].slice(1).concat(y.slice(1))}).map(function(y){return y.map(function(x,b){return y[y.length-b-2*(1-b%2)]})}).reverse();return[["M"].concat(a[0].slice(0,2))].concat(a.map(function(y){return["C"].concat(y.slice(2))}))}function $L(E){return E.map(function(a){return Array.isArray(a)?[].concat(a):a})}function eO(E){var a=E.length,y=a-1;return E.map(function(x,b){return E.map(function(z,te){var re=b+te,ae;return te===0||E[re]&&E[re][0]==="M"?(ae=E[re],["M"].concat(ae.slice(-2))):(re>=a&&(re-=y),E[re])})})}function tO(E,a){var y=E.length-1,x=[],b=0,z=0,te=eO(E);return te.forEach(function(re,ae){E.slice(1).forEach(function(se,fe){z+=hc(E[(ae+fe)%y].slice(-2),a[fe%y].slice(-2))}),x[ae]=z,z=0}),b=x.indexOf(Math.min.apply(null,x)),te[b]}var nO=function(E){return E===void 0},Lo=nO,rO={}.toString,aO=function(E,a){return rO.call(E)==="[object "+a+"]"},Ub=aO,iO=function(E){return Ub(E,"Boolean")},gm=iO;function Gi(E){return typeof E=="function"}var jl=function(E){var a=typeof E;return E!==null&&a==="object"||a==="function"};function oO(E,a,y){return Lb(E,a,(0,Rt.pi)((0,Rt.pi)({},y),{bbox:!1,length:!0})).point}var _i=Oe(400);function sO(E,a){for(;!{}.hasOwnProperty.call(E,a)&&(E=(0,Va.Z)(E))!==null;);return E}function aE(){return aE=typeof Reflect!="undefined"&&Reflect.get?Reflect.get.bind():function(E,a,y){var x=sO(E,a);if(x){var b=Object.getOwnPropertyDescriptor(x,a);return b.get?b.get.call(arguments.length<3?E:y):b.value}},aE.apply(null,arguments)}function Wb(E,a,y,x){var b=aE((0,Va.Z)(1&x?E.prototype:E),a,y);return 2&x&&typeof b=="function"?function(z){return b.apply(y,z)}:b}function Wu(E,a,y,x){var b=E-y,z=a-x;return Math.sqrt(b*b+z*z)}function vm(E,a){var y=Math.min.apply(Math,(0,Rt.ev)([],(0,Rt.CR)(E),!1)),x=Math.min.apply(Math,(0,Rt.ev)([],(0,Rt.CR)(a),!1)),b=Math.max.apply(Math,(0,Rt.ev)([],(0,Rt.CR)(E),!1)),z=Math.max.apply(Math,(0,Rt.ev)([],(0,Rt.CR)(a),!1));return{x:y,y:x,width:b-y,height:z-x}}function Vb(E){return(E+Math.PI*2)%(Math.PI*2)}function Hb(E,a){var y=Math.abs(E);return a>0?y:y*-1}function lO(E,a,y,x,b,z){var te=y,re=x;if(te===0||re===0)return{x:E,y:a};for(var ae=b-E,se=z-a,fe=Math.abs(ae),me=Math.abs(se),Se=te*te,Te=re*re,ke=Math.PI/4,We=0,je=0,Ke=0;Ke<4;Ke++){We=te*Math.cos(ke),je=re*Math.sin(ke);var Qe=(Se-Te)*Math.pow(Math.cos(ke),3)/te,Je=(Te-Se)*Math.pow(Math.sin(ke),3)/re,at=We-Qe,ot=je-Je,ut=fe-Qe,ft=me-Je,lt=Math.hypot(ot,at),Dt=Math.hypot(ft,ut),Bt=lt*Math.asin((at*ft-ot*ut)/(lt*Dt)),Vt=Bt/Math.sqrt(Se+Te-We*We-je*je);ke+=Vt,ke=Math.min(Math.PI/2,Math.max(0,ke))}return{x:E+Hb(We,ae),y:a+Hb(je,se)}}function uO(E,a,y,x,b,z,te,re){return-1*y*Math.cos(b)*Math.sin(re)-x*Math.sin(b)*Math.cos(re)}function cO(E,a,y,x,b,z,te,re){return-1*y*Math.sin(b)*Math.sin(re)+x*Math.cos(b)*Math.cos(re)}function dO(E,a,y){return Math.atan(-a/E*Math.tan(y))}function fO(E,a,y){return Math.atan(a/(E*Math.tan(y)))}function hO(E,a,y,x,b,z){return y*Math.cos(b)*Math.cos(z)-x*Math.sin(b)*Math.sin(z)+E}function gO(E,a,y,x,b,z){return y*Math.sin(b)*Math.cos(z)+x*Math.cos(b)*Math.sin(z)+a}function vO(E,a,y,x){var b=Math.atan2(x*E,y*a);return(b+Math.PI*2)%(Math.PI*2)}function Kb(E,a,y){return{x:E*Math.cos(y),y:a*Math.sin(y)}}function Zb(E,a,y){var x=Math.cos(y),b=Math.sin(y);return[E*x-a*b,E*b+a*x]}function mO(E,a,y,x,b,z,te){for(var re=dO(y,x,b),ae=1/0,se=-1/0,fe=[z,te],me=-Math.PI*2;me<=Math.PI*2;me+=Math.PI){var Se=re+me;z<te?z<Se&&Se<te&&fe.push(Se):te<Se&&Se<z&&fe.push(Se)}for(var me=0;me<fe.length;me++){var Te=hO(E,a,y,x,b,fe[me]);Te<ae&&(ae=Te),Te>se&&(se=Te)}for(var ke=fO(y,x,b),We=1/0,je=-1/0,Ke=[z,te],me=-Math.PI*2;me<=Math.PI*2;me+=Math.PI){var Qe=ke+me;z<te?z<Qe&&Qe<te&&Ke.push(Qe):te<Qe&&Qe<z&&Ke.push(Qe)}for(var me=0;me<Ke.length;me++){var Je=gO(E,a,y,x,b,Ke[me]);Je<We&&(We=Je),Je>je&&(je=Je)}return{x:ae,y:We,width:se-ae,height:je-We}}function uY(E,a,y,x,b,z,te,re,ae){var se=Zb(re-E,ae-a,-b),fe=__read(se,2),me=fe[0],Se=fe[1],Te=lO(0,0,y,x,me,Se),ke=vO(y,x,Te.x,Te.y);ke<z?Te=Kb(y,x,z):ke>te&&(Te=Kb(y,x,te));var We=Zb(Te.x,Te.y,b);return{x:We[0]+E,y:We[1]+a}}function cY(E,a,y,x,b,z,te,re){var ae=(te-z)*re+z,se=uO(E,a,y,x,b,z,te,ae),fe=cO(E,a,y,x,b,z,te,ae);return Vb(Math.atan2(fe,se))}var pO=1e-4;function Qb(E,a,y,x,b,z){var te=-1,re=1/0,ae=[y,x],se=20;z&&z>200&&(se=z/10);for(var fe=1/se,me=fe/10,Se=0;Se<=se;Se++){var Te=Se*fe,ke=[b.apply(void 0,(0,Rt.ev)([],(0,Rt.CR)(E.concat([Te])),!1)),b.apply(void 0,(0,Rt.ev)([],(0,Rt.CR)(a.concat([Te])),!1))],We=Wu(ae[0],ae[1],ke[0],ke[1]);We<re&&(te=Te,re=We)}if(te===0)return{x:E[0],y:a[0]};if(te===1){var je=E.length;return{x:E[je-1],y:a[je-1]}}re=1/0;for(var Se=0;Se<32&&!(me<pO);Se++){var Ke=te-me,Qe=te+me,ke=[b.apply(void 0,(0,Rt.ev)([],(0,Rt.CR)(E.concat([Ke])),!1)),b.apply(void 0,(0,Rt.ev)([],(0,Rt.CR)(a.concat([Ke])),!1))],We=Wu(ae[0],ae[1],ke[0],ke[1]);if(Ke>=0&&We<re)te=Ke,re=We;else{var Je=[b.apply(void 0,(0,Rt.ev)([],(0,Rt.CR)(E.concat([Qe])),!1)),b.apply(void 0,(0,Rt.ev)([],(0,Rt.CR)(a.concat([Qe])),!1))],at=Wu(ae[0],ae[1],Je[0],Je[1]);Qe<=1&&at<re?(te=Qe,re=at):me*=.5}}return{x:b.apply(void 0,(0,Rt.ev)([],(0,Rt.CR)(E.concat([te])),!1)),y:b.apply(void 0,(0,Rt.ev)([],(0,Rt.CR)(a.concat([te])),!1))}}function yO(E,a){for(var y=0,x=E.length,b=0;b<x;b++){var z=E[b],te=a[b],re=E[(b+1)%x],ae=a[(b+1)%x];y+=Wu(z,te,re,ae)}return y/2}function dY(E,a,y,x){return vm([E,y],[a,x])}function Yb(E,a,y,x){return Wu(E,a,y,x)}function Jd(E,a,y,x,b){return{x:(1-b)*E+b*y,y:(1-b)*a+b*x}}function EO(E,a,y,x,b,z){var te=(y-E)*(b-E)+(x-a)*(z-a);if(te<0)return Wu(E,a,b,z);var re=(y-E)*(y-E)+(x-a)*(x-a);return te>re?Wu(y,x,b,z):Xb(E,a,y,x,b,z)}function Xb(E,a,y,x,b,z){var te=[y-E,x-a];if(CL(te,[0,0]))return Math.sqrt((b-E)*(b-E)+(z-a)*(z-a));var re=[-te[1],te[0]];SL(re,re);var ae=[b-E,z-a];return Math.abs(bL(ae,re))}function fY(E,a,y,x){return Math.atan2(x-a,y-E)}function Jh(E,a,y,x,b){var z=1-b;return z*z*z*E+3*a*b*z*z+3*y*b*b*z+x*b*b*b}function Jb(E,a,y,x,b){var z=1-b;return 3*(z*z*(a-E)+2*z*b*(y-a)+b*b*(x-y))}function $b(E,a,y,x){var b=-3*E+9*a-9*y+3*x,z=6*E-12*a+6*y,te=3*a-3*E,re=[],ae,se,fe;if(j0(b,0))j0(z,0)||(ae=-te/z,ae>=0&&ae<=1&&re.push(ae));else{var me=z*z-4*b*te;j0(me,0)?re.push(-z/(2*b)):me>0&&(fe=Math.sqrt(me),ae=(-z+fe)/(2*b),se=(-z-fe)/(2*b),ae>=0&&ae<=1&&re.push(ae),se>=0&&se<=1&&re.push(se))}return re}function AO(E,a,y,x,b,z,te,re,ae){var se=Jh(E,y,b,te,ae),fe=Jh(a,x,z,re,ae),me=Jd(E,a,y,x,ae),Se=Jd(y,x,b,z,ae),Te=Jd(b,z,te,re,ae),ke=Jd(me.x,me.y,Se.x,Se.y,ae),We=Jd(Se.x,Se.y,Te.x,Te.y,ae);return[[E,a,me.x,me.y,ke.x,ke.y,se,fe],[se,fe,We.x,We.y,Te.x,Te.y,te,re]]}function iE(E,a,y,x,b,z,te,re,ae){if(ae===0)return yO([E,y,b,te],[a,x,z,re]);var se=AO(E,a,y,x,b,z,te,re,.5),fe=__spreadArray(__spreadArray([],__read(se[0]),!1),[ae-1],!1),me=__spreadArray(__spreadArray([],__read(se[1]),!1),[ae-1],!1);return iE.apply(void 0,__spreadArray([],__read(fe),!1))+iE.apply(void 0,__spreadArray([],__read(me),!1))}function xO(E,a,y,x,b,z,te,re){for(var ae=[E,te],se=[a,re],fe=$b(E,y,b,te),me=$b(a,x,z,re),Se=0;Se<fe.length;Se++)ae.push(Jh(E,y,b,te,fe[Se]));for(var Se=0;Se<me.length;Se++)se.push(Jh(a,x,z,re,me[Se]));return vm(ae,se)}function hY(E,a,y,x,b,z,te,re){return iE(E,a,y,x,b,z,te,re,3)}function SO(E,a,y,x,b,z,te,re,ae,se,fe){return Qb([E,y,b,te],[a,x,z,re],ae,se,Jh,fe)}function eC(E,a,y,x,b,z,te,re,ae,se,fe){var me=SO(E,a,y,x,b,z,te,re,ae,se,fe);return Wu(me.x,me.y,ae,se)}function gY(E,a,y,x,b,z,te,re,ae){return{x:Jh(E,y,b,te,ae),y:Jh(a,x,z,re,ae)}}function vY(E,a,y,x,b,z,te,re,ae){var se=Jb(E,y,b,te,ae),fe=Jb(a,x,z,re,ae);return Vb(Math.atan2(fe,se))}function tC(E){for(var a=0,y=[],x=0;x<E.length-1;x++){var b=E[x],z=E[x+1],te=Wu(b[0],b[1],z[0],z[1]),re={from:b,to:z,length:te};y.push(re),a+=te}return{segments:y,totalLength:a}}function nC(E){if(E.length<2)return 0;for(var a=0,y=0;y<E.length-1;y++){var x=E[y],b=E[y+1];a+=Wu(x[0],x[1],b[0],b[1])}return a}function rC(E,a){if(a>1||a<0||E.length<2)return null;var y=tC(E),x=y.segments,b=y.totalLength;if(b===0)return{x:E[0][0],y:E[0][1]};for(var z=0,te=null,re=0;re<x.length;re++){var ae=x[re],se=ae.from,fe=ae.to,me=ae.length/b;if(a>=z&&a<=z+me){var Se=(a-z)/me;te=Jd(se[0],se[1],fe[0],fe[1],Se);break}z+=me}return te}function aC(E,a){if(a>1||a<0||E.length<2)return 0;for(var y=tC(E),x=y.segments,b=y.totalLength,z=0,te=0,re=0;re<x.length;re++){var ae=x[re],se=ae.from,fe=ae.to,me=ae.length/b;if(a>=z&&a<=z+me){te=Math.atan2(fe[1]-se[1],fe[0]-se[0]);break}z+=me}return te}function iC(E,a,y){for(var x=1/0,b=0;b<E.length-1;b++){var z=E[b],te=E[b+1],re=EO(z[0],z[1],te[0],te[1],a,y);re<x&&(x=re)}return x}function bO(E){for(var a=[],y=[],x=0;x<E.length;x++){var b=E[x];a.push(b[0]),y.push(b[1])}return vm(a,y)}function CO(E){return nC(E)}function mY(E,a){return rC(E,a)}function pY(E,a,y){return iC(E,a,y)}function yY(E,a){return aC(E,a)}function mm(E){var a=E.slice(0);return E.length&&a.push(E[0]),a}function EY(E){return bO(E)}function AY(E){return nC(mm(E))}function xY(E,a){return rC(mm(E),a)}function SY(E,a,y){return iC(mm(E),a,y)}function bY(E,a){return aC(mm(E),a)}function G0(E,a,y,x){var b=1-x;return b*b*E+2*x*b*a+x*x*y}function oC(E,a,y){var x=E+y-2*a;if(j0(x,0))return[.5];var b=(E-a)/x;return b<=1&&b>=0?[b]:[]}function PO(E,a,y,x,b,z,te){var re=G0(E,y,b,te),ae=G0(a,x,z,te),se=Jd(E,a,y,x,te),fe=Jd(y,x,b,z,te);return[[E,a,se.x,se.y,re,ae],[re,ae,fe.x,fe.y,b,z]]}function oE(E,a,y,x,b,z,te){if(te===0)return(Wu(E,a,y,x)+Wu(y,x,b,z)+Wu(E,a,b,z))/2;var re=PO(E,a,y,x,b,z,.5),ae=re[0],se=re[1];return ae.push(te-1),se.push(te-1),oE.apply(void 0,__spreadArray([],__read(ae),!1))+oE.apply(void 0,__spreadArray([],__read(se),!1))}function wO(E,a,y,x,b,z){var te=oC(E,y,b)[0],re=oC(a,x,z)[0],ae=[E,b],se=[a,z];return te!==void 0&&ae.push(G0(E,y,b,te)),re!==void 0&&se.push(G0(a,x,z,re)),vm(ae,se)}function CY(E,a,y,x,b,z){return oE(E,a,y,x,b,z,3)}function MO(E,a,y,x,b,z,te,re){return Qb([E,y,b],[a,x,z],te,re,G0)}function DO(E,a,y,x,b,z,te,re){var ae=MO(E,a,y,x,b,z,te,re);return Wu(ae.x,ae.y,te,re)}var ju=Oe(85195),eh=Oe(20569),IO=Oe(44464);function qh(E,a){var y=typeof Symbol!="undefined"&&E[Symbol.iterator]||E["@@iterator"];if(!y){if(Array.isArray(E)||(y=(0,IO.Z)(E))||a&&E&&typeof E.length=="number"){y&&(E=y);var x=0,b=function(){};return{s:b,n:function(){return x>=E.length?{done:!0}:{done:!1,value:E[x++]}},e:function(se){throw se},f:b}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var z,te=!0,re=!1;return{s:function(){y=y.call(E)},n:function(){var se=y.next();return te=se.done,se},e:function(se){re=!0,z=se},f:function(){try{te||y.return==null||y.return()}finally{if(re)throw z}}}}var $h=Oe(37061);var LO=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof Oe.g!="undefined"?Oe.g:typeof self!="undefined"?self:{},sC={exports:{}};(function(E,a){(function(y,x){E.exports=x()})(LO,function(){function y(ot,ut,ft,lt,Dt){x(ot,ut,ft||0,lt||ot.length-1,Dt||z)}function x(ot,ut,ft,lt,Dt){for(;lt>ft;){if(lt-ft>600){var Bt=lt-ft+1,Vt=ut-ft+1,Xt=Math.log(Bt),vn=.5*Math.exp(2*Xt/3),on=.5*Math.sqrt(Xt*vn*(Bt-vn)/Bt)*(Vt-Bt/2<0?-1:1),wn=Math.max(ft,Math.floor(ut-Vt*vn/Bt+on)),qn=Math.min(lt,Math.floor(ut+(Bt-Vt)*vn/Bt+on));x(ot,ut,wn,qn,Dt)}var yn=ot[ut],En=ft,Pn=lt;for(b(ot,ft,ut),Dt(ot[lt],yn)>0&&b(ot,ft,lt);En<Pn;){for(b(ot,En,Pn),En++,Pn--;Dt(ot[En],yn)<0;)En++;for(;Dt(ot[Pn],yn)>0;)Pn--}Dt(ot[ft],yn)===0?b(ot,ft,Pn):(Pn++,b(ot,Pn,lt)),Pn<=ut&&(ft=Pn+1),ut<=Pn&&(lt=Pn-1)}}function b(ot,ut,ft){var lt=ot[ut];ot[ut]=ot[ft],ot[ft]=lt}function z(ot,ut){return ot<ut?-1:ot>ut?1:0}var te=function(ut){ut===void 0&&(ut=9),this._maxEntries=Math.max(4,ut),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()};te.prototype.all=function(){return this._all(this.data,[])},te.prototype.search=function(ut){var ft=this.data,lt=[];if(!Qe(ut,ft))return lt;for(var Dt=this.toBBox,Bt=[];ft;){for(var Vt=0;Vt<ft.children.length;Vt++){var Xt=ft.children[Vt],vn=ft.leaf?Dt(Xt):Xt;Qe(ut,vn)&&(ft.leaf?lt.push(Xt):Ke(ut,vn)?this._all(Xt,lt):Bt.push(Xt))}ft=Bt.pop()}return lt},te.prototype.collides=function(ut){var ft=this.data;if(!Qe(ut,ft))return!1;for(var lt=[];ft;){for(var Dt=0;Dt<ft.children.length;Dt++){var Bt=ft.children[Dt],Vt=ft.leaf?this.toBBox(Bt):Bt;if(Qe(ut,Vt)){if(ft.leaf||Ke(ut,Vt))return!0;lt.push(Bt)}}ft=lt.pop()}return!1},te.prototype.load=function(ut){if(!(ut&&ut.length))return this;if(ut.length<this._minEntries){for(var ft=0;ft<ut.length;ft++)this.insert(ut[ft]);return this}var lt=this._build(ut.slice(),0,ut.length-1,0);if(!this.data.children.length)this.data=lt;else if(this.data.height===lt.height)this._splitRoot(this.data,lt);else{if(this.data.height<lt.height){var Dt=this.data;this.data=lt,lt=Dt}this._insert(lt,this.data.height-lt.height-1,!0)}return this},te.prototype.insert=function(ut){return ut&&this._insert(ut,this.data.height-1),this},te.prototype.clear=function(){return this.data=Je([]),this},te.prototype.remove=function(ut,ft){if(!ut)return this;for(var lt=this.data,Dt=this.toBBox(ut),Bt=[],Vt=[],Xt,vn,on;lt||Bt.length;){if(lt||(lt=Bt.pop(),vn=Bt[Bt.length-1],Xt=Vt.pop(),on=!0),lt.leaf){var wn=re(ut,lt.children,ft);if(wn!==-1)return lt.children.splice(wn,1),Bt.push(lt),this._condense(Bt),this}!on&&!lt.leaf&&Ke(lt,Dt)?(Bt.push(lt),Vt.push(Xt),Xt=0,vn=lt,lt=lt.children[0]):vn?(Xt++,lt=vn.children[Xt],on=!1):lt=null}return this},te.prototype.toBBox=function(ut){return ut},te.prototype.compareMinX=function(ut,ft){return ut.minX-ft.minX},te.prototype.compareMinY=function(ut,ft){return ut.minY-ft.minY},te.prototype.toJSON=function(){return this.data},te.prototype.fromJSON=function(ut){return this.data=ut,this},te.prototype._all=function(ut,ft){for(var lt=[];ut;)ut.leaf?ft.push.apply(ft,ut.children):lt.push.apply(lt,ut.children),ut=lt.pop();return ft},te.prototype._build=function(ut,ft,lt,Dt){var Bt=lt-ft+1,Vt=this._maxEntries,Xt;if(Bt<=Vt)return Xt=Je(ut.slice(ft,lt+1)),ae(Xt,this.toBBox),Xt;Dt||(Dt=Math.ceil(Math.log(Bt)/Math.log(Vt)),Vt=Math.ceil(Bt/Math.pow(Vt,Dt-1))),Xt=Je([]),Xt.leaf=!1,Xt.height=Dt;var vn=Math.ceil(Bt/Vt),on=vn*Math.ceil(Math.sqrt(Vt));at(ut,ft,lt,on,this.compareMinX);for(var wn=ft;wn<=lt;wn+=on){var qn=Math.min(wn+on-1,lt);at(ut,wn,qn,vn,this.compareMinY);for(var yn=wn;yn<=qn;yn+=vn){var En=Math.min(yn+vn-1,qn);Xt.children.push(this._build(ut,yn,En,Dt-1))}}return ae(Xt,this.toBBox),Xt},te.prototype._chooseSubtree=function(ut,ft,lt,Dt){for(;Dt.push(ft),!(ft.leaf||Dt.length-1===lt);){for(var Bt=1/0,Vt=1/0,Xt=void 0,vn=0;vn<ft.children.length;vn++){var on=ft.children[vn],wn=Te(on),qn=We(ut,on)-wn;qn<Vt?(Vt=qn,Bt=wn<Bt?wn:Bt,Xt=on):qn===Vt&&wn<Bt&&(Bt=wn,Xt=on)}ft=Xt||ft.children[0]}return ft},te.prototype._insert=function(ut,ft,lt){var Dt=lt?ut:this.toBBox(ut),Bt=[],Vt=this._chooseSubtree(Dt,this.data,ft,Bt);for(Vt.children.push(ut),fe(Vt,Dt);ft>=0&&Bt[ft].children.length>this._maxEntries;)this._split(Bt,ft),ft--;this._adjustParentBBoxes(Dt,Bt,ft)},te.prototype._split=function(ut,ft){var lt=ut[ft],Dt=lt.children.length,Bt=this._minEntries;this._chooseSplitAxis(lt,Bt,Dt);var Vt=this._chooseSplitIndex(lt,Bt,Dt),Xt=Je(lt.children.splice(Vt,lt.children.length-Vt));Xt.height=lt.height,Xt.leaf=lt.leaf,ae(lt,this.toBBox),ae(Xt,this.toBBox),ft?ut[ft-1].children.push(Xt):this._splitRoot(lt,Xt)},te.prototype._splitRoot=function(ut,ft){this.data=Je([ut,ft]),this.data.height=ut.height+1,this.data.leaf=!1,ae(this.data,this.toBBox)},te.prototype._chooseSplitIndex=function(ut,ft,lt){for(var Dt,Bt=1/0,Vt=1/0,Xt=ft;Xt<=lt-ft;Xt++){var vn=se(ut,0,Xt,this.toBBox),on=se(ut,Xt,lt,this.toBBox),wn=je(vn,on),qn=Te(vn)+Te(on);wn<Bt?(Bt=wn,Dt=Xt,Vt=qn<Vt?qn:Vt):wn===Bt&&qn<Vt&&(Vt=qn,Dt=Xt)}return Dt||lt-ft},te.prototype._chooseSplitAxis=function(ut,ft,lt){var Dt=ut.leaf?this.compareMinX:me,Bt=ut.leaf?this.compareMinY:Se,Vt=this._allDistMargin(ut,ft,lt,Dt),Xt=this._allDistMargin(ut,ft,lt,Bt);Vt<Xt&&ut.children.sort(Dt)},te.prototype._allDistMargin=function(ut,ft,lt,Dt){ut.children.sort(Dt);for(var Bt=this.toBBox,Vt=se(ut,0,ft,Bt),Xt=se(ut,lt-ft,lt,Bt),vn=ke(Vt)+ke(Xt),on=ft;on<lt-ft;on++){var wn=ut.children[on];fe(Vt,ut.leaf?Bt(wn):wn),vn+=ke(Vt)}for(var qn=lt-ft-1;qn>=ft;qn--){var yn=ut.children[qn];fe(Xt,ut.leaf?Bt(yn):yn),vn+=ke(Xt)}return vn},te.prototype._adjustParentBBoxes=function(ut,ft,lt){for(var Dt=lt;Dt>=0;Dt--)fe(ft[Dt],ut)},te.prototype._condense=function(ut){for(var ft=ut.length-1,lt=void 0;ft>=0;ft--)ut[ft].children.length===0?ft>0?(lt=ut[ft-1].children,lt.splice(lt.indexOf(ut[ft]),1)):this.clear():ae(ut[ft],this.toBBox)};function re(ot,ut,ft){if(!ft)return ut.indexOf(ot);for(var lt=0;lt<ut.length;lt++)if(ft(ot,ut[lt]))return lt;return-1}function ae(ot,ut){se(ot,0,ot.children.length,ut,ot)}function se(ot,ut,ft,lt,Dt){Dt||(Dt=Je(null)),Dt.minX=1/0,Dt.minY=1/0,Dt.maxX=-1/0,Dt.maxY=-1/0;for(var Bt=ut;Bt<ft;Bt++){var Vt=ot.children[Bt];fe(Dt,ot.leaf?lt(Vt):Vt)}return Dt}function fe(ot,ut){return ot.minX=Math.min(ot.minX,ut.minX),ot.minY=Math.min(ot.minY,ut.minY),ot.maxX=Math.max(ot.maxX,ut.maxX),ot.maxY=Math.max(ot.maxY,ut.maxY),ot}function me(ot,ut){return ot.minX-ut.minX}function Se(ot,ut){return ot.minY-ut.minY}function Te(ot){return(ot.maxX-ot.minX)*(ot.maxY-ot.minY)}function ke(ot){return ot.maxX-ot.minX+(ot.maxY-ot.minY)}function We(ot,ut){return(Math.max(ut.maxX,ot.maxX)-Math.min(ut.minX,ot.minX))*(Math.max(ut.maxY,ot.maxY)-Math.min(ut.minY,ot.minY))}function je(ot,ut){var ft=Math.max(ot.minX,ut.minX),lt=Math.max(ot.minY,ut.minY),Dt=Math.min(ot.maxX,ut.maxX),Bt=Math.min(ot.maxY,ut.maxY);return Math.max(0,Dt-ft)*Math.max(0,Bt-lt)}function Ke(ot,ut){return ot.minX<=ut.minX&&ot.minY<=ut.minY&&ut.maxX<=ot.maxX&&ut.maxY<=ot.maxY}function Qe(ot,ut){return ut.minX<=ot.maxX&&ut.minY<=ot.maxY&&ut.maxX>=ot.minX&&ut.maxY>=ot.minY}function Je(ot){return{children:ot,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function at(ot,ut,ft,lt,Dt){for(var Bt=[ut,ft];Bt.length;)if(ft=Bt.pop(),ut=Bt.pop(),!(ft-ut<=lt)){var Vt=ut+Math.ceil((ft-ut)/lt/2)*lt;y(ot,Vt,ut,ft,Dt),Bt.push(ut,Vt,Vt,ft)}}return te})})(sC);var OO=sC.exports,la=function(E){return E.GROUP="g",E.FRAGMENT="fragment",E.CIRCLE="circle",E.ELLIPSE="ellipse",E.IMAGE="image",E.RECT="rect",E.LINE="line",E.POLYLINE="polyline",E.POLYGON="polygon",E.TEXT="text",E.PATH="path",E.HTML="html",E.MESH="mesh",E}({}),pm=function(E){return E[E.ZERO=0]="ZERO",E[E.NEGATIVE_ONE=1]="NEGATIVE_ONE",E}({}),th=function(){function E(){(0,Ar.Z)(this,E),this.plugins=[]}return(0,$n.Z)(E,[{key:"addRenderingPlugin",value:function(y){this.plugins.push(y),this.context.renderingPlugins.push(y)}},{key:"removeAllRenderingPlugins",value:function(){var y=this;this.plugins.forEach(function(x){var b=y.context.renderingPlugins.indexOf(x);b>=0&&y.context.renderingPlugins.splice(b,1)})}}])}(),TO=function(){function E(a){(0,Ar.Z)(this,E),this.clipSpaceNearZ=pm.NEGATIVE_ONE,this.plugins=[],this.config=(0,Cr.Z)({enableDirtyCheck:!0,enableCulling:!1,enableAutoRendering:!0,enableDirtyRectangleRendering:!0,enableDirtyRectangleRenderingDebug:!1,enableSizeAttenuation:!0,enableRenderingOptimization:!1},a)}return(0,$n.Z)(E,[{key:"registerPlugin",value:function(y){var x=this.plugins.findIndex(function(b){return b===y});x===-1&&this.plugins.push(y)}},{key:"unregisterPlugin",value:function(y){var x=this.plugins.findIndex(function(b){return b===y});x>-1&&this.plugins.splice(x,1)}},{key:"getPlugins",value:function(){return this.plugins}},{key:"getPlugin",value:function(y){return this.plugins.find(function(x){return x.name===y})}},{key:"getConfig",value:function(){return this.config}},{key:"setConfig",value:function(y){Object.assign(this.config,y)}}])}(),sE=fs,Xg=Fo,BO=Fh,NO=pf,lC=us,lE=Gh,il=function(){function E(){(0,Ar.Z)(this,E),this.center=[0,0,0],this.halfExtents=[0,0,0],this.min=[0,0,0],this.max=[0,0,0]}return(0,$n.Z)(E,[{key:"update",value:function(y,x){Xg(this.center,y),Xg(this.halfExtents,x),lE(this.min,this.center,this.halfExtents),sE(this.max,this.center,this.halfExtents)}},{key:"setMinMax",value:function(y,x){sE(this.center,x,y),lC(this.center,this.center,.5),lE(this.halfExtents,x,y),lC(this.halfExtents,this.halfExtents,.5),Xg(this.min,y),Xg(this.max,x)}},{key:"getMin",value:function(){return this.min}},{key:"getMax",value:function(){return this.max}},{key:"add",value:function(y){if(!E.isEmpty(y)){if(E.isEmpty(this)){this.setMinMax(y.getMin(),y.getMax());return}var x=this.center,b=x[0],z=x[1],te=x[2],re=this.halfExtents,ae=re[0],se=re[1],fe=re[2],me=b-ae,Se=b+ae,Te=z-se,ke=z+se,We=te-fe,je=te+fe,Ke=y.center,Qe=Ke[0],Je=Ke[1],at=Ke[2],ot=y.halfExtents,ut=ot[0],ft=ot[1],lt=ot[2],Dt=Qe-ut,Bt=Qe+ut,Vt=Je-ft,Xt=Je+ft,vn=at-lt,on=at+lt;Dt<me&&(me=Dt),Bt>Se&&(Se=Bt),Vt<Te&&(Te=Vt),Xt>ke&&(ke=Xt),vn<We&&(We=vn),on>je&&(je=on),x[0]=(me+Se)*.5,x[1]=(Te+ke)*.5,x[2]=(We+je)*.5,re[0]=(Se-me)*.5,re[1]=(ke-Te)*.5,re[2]=(je-We)*.5,this.min[0]=me,this.min[1]=Te,this.min[2]=We,this.max[0]=Se,this.max[1]=ke,this.max[2]=je}}},{key:"setFromTransformedAABB",value:function(y,x){var b=this.center,z=this.halfExtents,te=y.center,re=y.halfExtents,ae=x[0],se=x[4],fe=x[8],me=x[1],Se=x[5],Te=x[9],ke=x[2],We=x[6],je=x[10],Ke=Math.abs(ae),Qe=Math.abs(se),Je=Math.abs(fe),at=Math.abs(me),ot=Math.abs(Se),ut=Math.abs(Te),ft=Math.abs(ke),lt=Math.abs(We),Dt=Math.abs(je);b[0]=x[12]+ae*te[0]+se*te[1]+fe*te[2],b[1]=x[13]+me*te[0]+Se*te[1]+Te*te[2],b[2]=x[14]+ke*te[0]+We*te[1]+je*te[2],z[0]=Ke*re[0]+Qe*re[1]+Je*re[2],z[1]=at*re[0]+ot*re[1]+ut*re[2],z[2]=ft*re[0]+lt*re[1]+Dt*re[2],lE(this.min,b,z),sE(this.max,b,z)}},{key:"intersects",value:function(y){var x=this.getMax(),b=this.getMin(),z=y.getMax(),te=y.getMin();return b[0]<=z[0]&&x[0]>=te[0]&&b[1]<=z[1]&&x[1]>=te[1]&&b[2]<=z[2]&&x[2]>=te[2]}},{key:"intersection",value:function(y){if(!this.intersects(y))return null;var x=new E,b=BO([0,0,0],this.getMin(),y.getMin()),z=NO([0,0,0],this.getMax(),y.getMax());return x.setMinMax(b,z),x}},{key:"getNegativeFarPoint",value:function(y){return y.pnVertexFlag===273?Xg([0,0,0],this.min):y.pnVertexFlag===272?[this.min[0],this.min[1],this.max[2]]:y.pnVertexFlag===257?[this.min[0],this.max[1],this.min[2]]:y.pnVertexFlag===256?[this.min[0],this.max[1],this.max[2]]:y.pnVertexFlag===17?[this.max[0],this.min[1],this.min[2]]:y.pnVertexFlag===16?[this.max[0],this.min[1],this.max[2]]:y.pnVertexFlag===1?[this.max[0],this.max[1],this.min[2]]:[this.max[0],this.max[1],this.max[2]]}},{key:"getPositiveFarPoint",value:function(y){return y.pnVertexFlag===273?Xg([0,0,0],this.max):y.pnVertexFlag===272?[this.max[0],this.max[1],this.min[2]]:y.pnVertexFlag===257?[this.max[0],this.min[1],this.max[2]]:y.pnVertexFlag===256?[this.max[0],this.min[1],this.min[2]]:y.pnVertexFlag===17?[this.min[0],this.max[1],this.max[2]]:y.pnVertexFlag===16?[this.min[0],this.max[1],this.min[2]]:y.pnVertexFlag===1?[this.min[0],this.min[1],this.max[2]]:[this.min[0],this.min[1],this.min[2]]}}],[{key:"isEmpty",value:function(y){return!y||y.halfExtents[0]===0&&y.halfExtents[1]===0&&y.halfExtents[2]===0}}])}(),RO=function(){function E(a,y){(0,Ar.Z)(this,E),this.distance=a||0,this.normal=y||qi(0,1,0),this.updatePNVertexFlag()}return(0,$n.Z)(E,[{key:"updatePNVertexFlag",value:function(){this.pnVertexFlag=(+(this.normal[0]>=0)<<8)+(+(this.normal[1]>=0)<<4)+ +(this.normal[2]>=0)}},{key:"distanceToPoint",value:function(y){return Ju(y,this.normal)-this.distance}},{key:"normalize",value:function(){var y=1/Yf(this.normal);us(this.normal,this.normal,y),this.distance*=y}},{key:"intersectsLine",value:function(y,x,b){var z=this.distanceToPoint(y),te=this.distanceToPoint(x),re=z/(z-te),ae=re>=0&&re<=1;return ae&&b&&kh(b,y,x,re),ae}}])}(),Jg=function(E){return E[E.OUTSIDE=4294967295]="OUTSIDE",E[E.INSIDE=0]="INSIDE",E[E.INDETERMINATE=2147483647]="INDETERMINATE",E}({}),_O=function(){function E(a){if((0,Ar.Z)(this,E),this.planes=[],a)this.planes=a;else for(var y=0;y<6;y++)this.planes.push(new RO)}return(0,$n.Z)(E,[{key:"extractFromVPMatrix",value:function(y){var x=(0,Wn.Z)(y,16),b=x[0],z=x[1],te=x[2],re=x[3],ae=x[4],se=x[5],fe=x[6],me=x[7],Se=x[8],Te=x[9],ke=x[10],We=x[11],je=x[12],Ke=x[13],Qe=x[14],Je=x[15];Yo(this.planes[0].normal,re-b,me-ae,We-Se),this.planes[0].distance=Je-je,Yo(this.planes[1].normal,re+b,me+ae,We+Se),this.planes[1].distance=Je+je,Yo(this.planes[2].normal,re+z,me+se,We+Te),this.planes[2].distance=Je+Ke,Yo(this.planes[3].normal,re-z,me-se,We-Te),this.planes[3].distance=Je-Ke,Yo(this.planes[4].normal,re-te,me-fe,We-ke),this.planes[4].distance=Je-Qe,Yo(this.planes[5].normal,re+te,me+fe,We+ke),this.planes[5].distance=Je+Qe,this.planes.forEach(function(at){at.normalize(),at.updatePNVertexFlag()})}}])}(),wu=function(){function E(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;(0,Ar.Z)(this,E),this.x=0,this.y=0,this.x=a,this.y=y}return(0,$n.Z)(E,[{key:"clone",value:function(){return new E(this.x,this.y)}},{key:"copyFrom",value:function(y){this.x=y.x,this.y=y.y}}])}(),qg=function(){function E(a,y,x,b){(0,Ar.Z)(this,E),this.x=a,this.y=y,this.width=x,this.height=b,this.left=a,this.right=a+x,this.top=y,this.bottom=y+b}return(0,$n.Z)(E,[{key:"toJSON",value:function(){}}],[{key:"fromRect",value:function(y){return new E(y.x,y.y,y.width,y.height)}},{key:"applyTransform",value:function(y,x){var b=Af(y.x,y.y,0,1),z=Af(y.x+y.width,y.y,0,1),te=Af(y.x,y.y+y.height,0,1),re=Af(y.x+y.width,y.y+y.height,0,1),ae=Fu(),se=Fu(),fe=Fu(),me=Fu();bd(ae,b,x),bd(se,z,x),bd(fe,te,x),bd(me,re,x);var Se=Math.min(ae[0],se[0],fe[0],me[0]),Te=Math.min(ae[1],se[1],fe[1],me[1]),ke=Math.max(ae[0],se[0],fe[0],me[0]),We=Math.max(ae[1],se[1],fe[1],me[1]);return E.fromRect({x:Se,y:Te,width:ke-Se,height:We-Te})}}])}(),Qs="Method not implemented.",$g="Use document.documentElement instead.",FO="Cannot append a destroyed element.";function e0(E){return E===void 0?0:E>360||E<-360?E%360:E}var uE=ni();function $u(E){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,x=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Array.isArray(E)&&E.length===3?x?ao(E):Fo(uE,E):Oi(E)?x?qi(E,a,y):Yo(uE,E,a,y):x?qi(E[0],E[1]||a,E[2]||y):Yo(uE,E[0],E[1]||a,E[2]||y)}var kO=Math.PI/180;function Ys(E){return E*kO}var zO=180/Math.PI;function gc(E){return E*zO}var UO=.9;function PY(E){return E%=400,E<0&&(E+=400),E*UO}function wY(E){return E/360}function WO(E){return 360*E}var ym=Math.PI/2;function jO(E,a){var y=a[0],x=a[1],b=a[2],z=a[3],te=y*y,re=x*x,ae=b*b,se=z*z,fe=te+re+ae+se,me=y*z-x*b;return me>.499995*fe?(E[0]=ym,E[1]=2*Math.atan2(x,y),E[2]=0):me<-.499995*fe?(E[0]=-ym,E[1]=2*Math.atan2(x,y),E[2]=0):(E[0]=Math.asin(2*(y*b-z*x)),E[1]=Math.atan2(2*(y*z+x*b),1-2*(ae+se)),E[2]=Math.atan2(2*(y*x+b*z),1-2*(re+ae))),E}function GO(E,a){var y,x,b=Qg(ni(),a),z=(0,Wn.Z)(b,3),te=z[0],re=z[1],ae=z[2],se=Math.asin(-a[2]/te);return se<ym?se>-ym?(y=Math.atan2(a[6]/re,a[10]/ae),x=Math.atan2(a[1]/te,a[0]/te)):(x=0,y=-Math.atan2(a[4]/re,a[5]/re)):(x=0,y=Math.atan2(a[4]/re,a[5]/re)),E[0]=y,E[1]=se,E[2]=x,E}function cE(E,a){return a.length===16?GO(E,a):jO(E,a)}function VO(E,a,y,x,b){var z=Math.cos(E),te=Math.sin(E);return hL(x*z,b*te,0,-x*te,b*z,0,a,y,1)}function HO(E,a,y,x,b,z,te){var re=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1,ae=2*z,se=y-a,fe=x-b,me=ae/se,Se=ae/fe,Te=(y+a)/se,ke=(x+b)/fe,We,je,Ke=te-z,Qe=te*z;return re?(We=-te/Ke,je=-Qe/Ke):(We=-(te+z)/Ke,je=-2*Qe/Ke),E[0]=me,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=Se,E[6]=0,E[7]=0,E[8]=Te,E[9]=ke,E[10]=We,E[11]=-1,E[12]=0,E[13]=0,E[14]=je,E[15]=0,E}function uC(E){var a=E[0],y=E[1],x=E[3],b=E[4],z=Math.sqrt(a*a+y*y),te=Math.sqrt(x*x+b*b),re=a*b-y*x;if(re<0&&(a<b?z=-z:te=-te),z){var ae=1/z;a*=ae,y*=ae}if(te){var se=1/te;x*=se,b*=se}var fe=Math.atan2(y,a),me=gc(fe);return[E[6],E[7],z,te,me]}var qd=Pi(),Pd=Pi(),V0=Fu(),Co=[ni(),ni(),ni()],cC=ni();function KO(E,a,y,x,b,z){if(!ZO(qd,E)||(Fs(Pd,qd),Pd[3]=0,Pd[7]=0,Pd[11]=0,Pd[15]=1,Math.abs(fc(Pd))<1e-8))return!1;var te=qd[3],re=qd[7],ae=qd[11],se=qd[12],fe=qd[13],me=qd[14],Se=qd[15];if(te!==0||re!==0||ae!==0){V0[0]=te,V0[1]=re,V0[2]=ae,V0[3]=Se;var Te=zu(Pd,Pd);if(!Te)return!1;Cd(Pd,Pd),bd(b,V0,Pd)}else b[0]=b[1]=b[2]=0,b[3]=1;if(a[0]=se,a[1]=fe,a[2]=me,QO(Co,qd),y[0]=Io(Co[0]),Oc(Co[0],Co[0]),x[0]=Ju(Co[0],Co[1]),dE(Co[1],Co[1],Co[0],1,-x[0]),y[1]=Io(Co[1]),Oc(Co[1],Co[1]),x[0]/=y[1],x[1]=Ju(Co[0],Co[2]),dE(Co[2],Co[2],Co[0],1,-x[1]),x[2]=Ju(Co[1],Co[2]),dE(Co[2],Co[2],Co[1],1,-x[2]),y[2]=Io(Co[2]),Oc(Co[2],Co[2]),x[1]/=y[2],x[2]/=y[2],Qd(cC,Co[1],Co[2]),Ju(Co[0],cC)<0)for(var ke=0;ke<3;ke++)y[ke]*=-1,Co[ke][0]*=-1,Co[ke][1]*=-1,Co[ke][2]*=-1;return z[0]=.5*Math.sqrt(Math.max(1+Co[0][0]-Co[1][1]-Co[2][2],0)),z[1]=.5*Math.sqrt(Math.max(1-Co[0][0]+Co[1][1]-Co[2][2],0)),z[2]=.5*Math.sqrt(Math.max(1-Co[0][0]-Co[1][1]+Co[2][2],0)),z[3]=.5*Math.sqrt(Math.max(1+Co[0][0]+Co[1][1]+Co[2][2],0)),Co[2][1]>Co[1][2]&&(z[0]=-z[0]),Co[0][2]>Co[2][0]&&(z[1]=-z[1]),Co[1][0]>Co[0][1]&&(z[2]=-z[2]),!0}function ZO(E,a){var y=a[15];if(y===0)return!1;for(var x=1/y,b=0;b<16;b++)E[b]=a[b]*x;return!0}function QO(E,a){E[0][0]=a[0],E[0][1]=a[1],E[0][2]=a[2],E[1][0]=a[4],E[1][1]=a[5],E[1][2]=a[6],E[2][0]=a[8],E[2][1]=a[9],E[2][2]=a[10]}function dE(E,a,y,x,b){E[0]=a[0]*x+y[0]*b,E[1]=a[1]*x+y[1]*b,E[2]=a[2]*x+y[2]*b}var Xs=function(E){return E[E.ORBITING=0]="ORBITING",E[E.EXPLORING=1]="EXPLORING",E[E.TRACKING=2]="TRACKING",E}({}),fE=function(E){return E[E.DEFAULT=0]="DEFAULT",E[E.ROTATIONAL=1]="ROTATIONAL",E[E.TRANSLATIONAL=2]="TRANSLATIONAL",E[E.CINEMATIC=3]="CINEMATIC",E}({}),nd=function(E){return E[E.ORTHOGRAPHIC=0]="ORTHOGRAPHIC",E[E.PERSPECTIVE=1]="PERSPECTIVE",E}({}),dC={UPDATED:"updated"},fC=2e-4,hC=function(){function E(){(0,Ar.Z)(this,E),this.clipSpaceNearZ=pm.NEGATIVE_ONE,this.eventEmitter=new ra,this.matrix=Pi(),this.right=qi(1,0,0),this.up=qi(0,1,0),this.forward=qi(0,0,1),this.position=qi(0,0,1),this.focalPoint=qi(0,0,0),this.distanceVector=qi(0,0,-1),this.distance=1,this.azimuth=0,this.elevation=0,this.roll=0,this.relAzimuth=0,this.relElevation=0,this.relRoll=0,this.dollyingStep=0,this.maxDistance=1/0,this.minDistance=-1/0,this.zoom=1,this.rotateWorld=!1,this.fov=30,this.near=.1,this.far=1e3,this.aspect=1,this.projectionMatrix=Pi(),this.projectionMatrixInverse=Pi(),this.jitteredProjectionMatrix=void 0,this.enableUpdate=!0,this.type=Xs.EXPLORING,this.trackingMode=fE.DEFAULT,this.projectionMode=nd.PERSPECTIVE,this.frustum=new _O,this.orthoMatrix=Pi()}return(0,$n.Z)(E,[{key:"isOrtho",value:function(){return this.projectionMode===nd.ORTHOGRAPHIC}},{key:"getProjectionMode",value:function(){return this.projectionMode}},{key:"getPerspective",value:function(){return this.jitteredProjectionMatrix||this.projectionMatrix}},{key:"getPerspectiveInverse",value:function(){return this.projectionMatrixInverse}},{key:"getFrustum",value:function(){return this.frustum}},{key:"getPosition",value:function(){return this.position}},{key:"getFocalPoint",value:function(){return this.focalPoint}},{key:"getDollyingStep",value:function(){return this.dollyingStep}},{key:"getNear",value:function(){return this.near}},{key:"getFar",value:function(){return this.far}},{key:"getZoom",value:function(){return this.zoom}},{key:"getOrthoMatrix",value:function(){return this.orthoMatrix}},{key:"getView",value:function(){return this.view}},{key:"setEnableUpdate",value:function(y){this.enableUpdate=y}},{key:"setType",value:function(y,x){return this.type=y,this.type===Xs.EXPLORING?this.setWorldRotation(!0):this.setWorldRotation(!1),this._getAngles(),this.type===Xs.TRACKING&&x!==void 0&&this.setTrackingMode(x),this}},{key:"setProjectionMode",value:function(y){return this.projectionMode=y,this}},{key:"setTrackingMode",value:function(y){if(this.type!==Xs.TRACKING)throw new Error("Impossible to set a tracking mode if the camera is not of tracking type");return this.trackingMode=y,this}},{key:"setWorldRotation",value:function(y){return this.rotateWorld=y,this._getAngles(),this}},{key:"getViewTransform",value:function(){return zu(Pi(),this.matrix)}},{key:"getWorldTransform",value:function(){return this.matrix}},{key:"jitterProjectionMatrix",value:function(y,x){var b=Xf(Pi(),[y,x,0]);this.jitteredProjectionMatrix=Uu(Pi(),b,this.projectionMatrix)}},{key:"clearJitterProjectionMatrix",value:function(){this.jitteredProjectionMatrix=void 0}},{key:"setMatrix",value:function(y){return this.matrix=y,this._update(),this}},{key:"setProjectionMatrix",value:function(y){this.projectionMatrix=y}},{key:"setFov",value:function(y){return this.setPerspective(this.near,this.far,y,this.aspect),this}},{key:"setAspect",value:function(y){return this.setPerspective(this.near,this.far,this.fov,y),this}},{key:"setNear",value:function(y){return this.projectionMode===nd.PERSPECTIVE?this.setPerspective(y,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,y,this.far),this}},{key:"setFar",value:function(y){return this.projectionMode===nd.PERSPECTIVE?this.setPerspective(this.near,y,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,y),this}},{key:"setViewOffset",value:function(y,x,b,z,te,re){return this.aspect=y/x,this.view===void 0&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=y,this.view.fullHeight=x,this.view.offsetX=b,this.view.offsetY=z,this.view.width=te,this.view.height=re,this.projectionMode===nd.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"clearViewOffset",value:function(){return this.view!==void 0&&(this.view.enabled=!1),this.projectionMode===nd.PERSPECTIVE?this.setPerspective(this.near,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far),this}},{key:"setZoom",value:function(y){return this.zoom=y,this.projectionMode===nd.ORTHOGRAPHIC?this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far):this.projectionMode===nd.PERSPECTIVE&&this.setPerspective(this.near,this.far,this.fov,this.aspect),this}},{key:"setZoomByViewportPoint",value:function(y,x){var b=this.canvas.viewport2Canvas({x:x[0],y:x[1]}),z=b.x,te=b.y,re=this.roll;this.rotate(0,0,-re),this.setPosition(z,te),this.setFocalPoint(z,te),this.setZoom(y),this.rotate(0,0,re);var ae=this.canvas.viewport2Canvas({x:x[0],y:x[1]}),se=ae.x,fe=ae.y,me=qi(se-z,fe-te,0),Se=Ju(me,this.right)/Io(this.right),Te=Ju(me,this.up)/Io(this.up),ke=this.getPosition(),We=(0,Wn.Z)(ke,2),je=We[0],Ke=We[1],Qe=this.getFocalPoint(),Je=(0,Wn.Z)(Qe,2),at=Je[0],ot=Je[1];return this.setPosition(je-Se,Ke-Te),this.setFocalPoint(at-Se,ot-Te),this}},{key:"setPerspective",value:function(y,x,b,z){var te;this.projectionMode=nd.PERSPECTIVE,this.fov=b,this.near=y,this.far=x,this.aspect=z;var re=this.near*Math.tan(Ys(.5*this.fov))/this.zoom,ae=2*re,se=this.aspect*ae,fe=-.5*se;if((te=this.view)!==null&&te!==void 0&&te.enabled){var me=this.view.fullWidth,Se=this.view.fullHeight;fe+=this.view.offsetX*se/me,re-=this.view.offsetY*ae/Se,se*=this.view.width/me,ae*=this.view.height/Se}return HO(this.projectionMatrix,fe,fe+se,re-ae,re,y,this.far,this.clipSpaceNearZ===pm.ZERO),zu(this.projectionMatrixInverse,this.projectionMatrix),this.triggerUpdate(),this}},{key:"setOrthographic",value:function(y,x,b,z,te,re){var ae;this.projectionMode=nd.ORTHOGRAPHIC,this.rright=x,this.left=y,this.top=b,this.bottom=z,this.near=te,this.far=re;var se=(this.rright-this.left)/(2*this.zoom),fe=(this.top-this.bottom)/(2*this.zoom),me=(this.rright+this.left)/2,Se=(this.top+this.bottom)/2,Te=me-se,ke=me+se,We=Se+fe,je=Se-fe;if((ae=this.view)!==null&&ae!==void 0&&ae.enabled){var Ke=(this.rright-this.left)/this.view.fullWidth/this.zoom,Qe=(this.top-this.bottom)/this.view.fullHeight/this.zoom;Te+=Ke*this.view.offsetX,ke=Te+Ke*this.view.width,We-=Qe*this.view.offsetY,je=We-Qe*this.view.height}return this.clipSpaceNearZ===pm.NEGATIVE_ONE?GS(this.projectionMatrix,Te,ke,We,je,te,re):VS(this.projectionMatrix,Te,ke,We,je,te,re),zu(this.projectionMatrixInverse,this.projectionMatrix),this._getOrthoMatrix(),this.triggerUpdate(),this}},{key:"setPosition",value:function(y){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.position[1],b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.position[2],z=$u(y,x,b);return this._setPosition(z),this.setFocalPoint(this.focalPoint),this.triggerUpdate(),this}},{key:"setFocalPoint",value:function(y){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.focalPoint[1],b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.focalPoint[2],z=qi(0,1,0);if(this.focalPoint=$u(y,x,b),this.trackingMode===fE.CINEMATIC){var te=ws(ni(),this.focalPoint,this.position);y=te[0],x=te[1],b=te[2];var re=Io(te),ae=gc(Math.asin(x/re)),se=90+gc(Math.atan2(b,y)),fe=Pi();_S(fe,fe,Ys(se)),RS(fe,fe,Ys(ae)),z=ll(ni(),[0,1,0],fe)}return zu(this.matrix,HS(Pi(),this.position,this.focalPoint,z)),this._getAxes(),this._getDistance(),this._getAngles(),this.triggerUpdate(),this}},{key:"getDistance",value:function(){return this.distance}},{key:"getDistanceVector",value:function(){return this.distanceVector}},{key:"setDistance",value:function(y){if(this.distance===y||y<0)return this;this.distance=y,this.distance<fC&&(this.distance=fC),this.dollyingStep=this.distance/100;var x=ni();y=this.distance;var b=this.forward,z=this.focalPoint;return x[0]=y*b[0]+z[0],x[1]=y*b[1]+z[1],x[2]=y*b[2]+z[2],this._setPosition(x),this.triggerUpdate(),this}},{key:"setMaxDistance",value:function(y){return this.maxDistance=y,this}},{key:"setMinDistance",value:function(y){return this.minDistance=y,this}},{key:"setAzimuth",value:function(y){return this.azimuth=e0(y),this.computeMatrix(),this._getAxes(),this.type===Xs.ORBITING||this.type===Xs.EXPLORING?this._getPosition():this.type===Xs.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getAzimuth",value:function(){return this.azimuth}},{key:"setElevation",value:function(y){return this.elevation=e0(y),this.computeMatrix(),this._getAxes(),this.type===Xs.ORBITING||this.type===Xs.EXPLORING?this._getPosition():this.type===Xs.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getElevation",value:function(){return this.elevation}},{key:"setRoll",value:function(y){return this.roll=e0(y),this.computeMatrix(),this._getAxes(),this.type===Xs.ORBITING||this.type===Xs.EXPLORING?this._getPosition():this.type===Xs.TRACKING&&this._getFocalPoint(),this.triggerUpdate(),this}},{key:"getRoll",value:function(){return this.roll}},{key:"_update",value:function(){this._getAxes(),this._getPosition(),this._getDistance(),this._getAngles(),this._getOrthoMatrix(),this.triggerUpdate()}},{key:"computeMatrix",value:function(){var y=Jf(ou(),[0,0,1],Ys(this.roll));Pu(this.matrix);var x=Jf(ou(),[1,0,0],Ys((this.rotateWorld&&this.type!==Xs.TRACKING||this.type===Xs.TRACKING?1:-1)*this.elevation)),b=Jf(ou(),[0,1,0],Ys((this.rotateWorld&&this.type!==Xs.TRACKING||this.type===Xs.TRACKING?1:-1)*this.azimuth)),z=qf(ou(),b,x);z=qf(ou(),z,y);var te=X1(Pi(),z);this.type===Xs.ORBITING||this.type===Xs.EXPLORING?(Zg(this.matrix,this.matrix,this.focalPoint),Uu(this.matrix,this.matrix,te),Zg(this.matrix,this.matrix,[0,0,this.distance])):this.type===Xs.TRACKING&&(Zg(this.matrix,this.matrix,this.position),Uu(this.matrix,this.matrix,te))}},{key:"_setPosition",value:function(y,x,b){this.position=$u(y,x,b);var z=this.matrix;z[12]=this.position[0],z[13]=this.position[1],z[14]=this.position[2],z[15]=1,this._getOrthoMatrix()}},{key:"_getAxes",value:function(){Fo(this.right,$u(bd(Fu(),[1,0,0,0],this.matrix))),Fo(this.up,$u(bd(Fu(),[0,1,0,0],this.matrix))),Fo(this.forward,$u(bd(Fu(),[0,0,1,0],this.matrix))),Oc(this.right,this.right),Oc(this.up,this.up),Oc(this.forward,this.forward)}},{key:"_getAngles",value:function(){var y=this.distanceVector[0],x=this.distanceVector[1],b=this.distanceVector[2],z=Io(this.distanceVector);if(z===0){this.elevation=0,this.azimuth=0;return}this.type===Xs.TRACKING?(this.elevation=gc(Math.asin(x/z)),this.azimuth=gc(Math.atan2(-y,-b))):this.rotateWorld?(this.elevation=gc(Math.asin(x/z)),this.azimuth=gc(Math.atan2(-y,-b))):(this.elevation=-gc(Math.asin(x/z)),this.azimuth=-gc(Math.atan2(-y,-b)))}},{key:"_getPosition",value:function(){Fo(this.position,$u(bd(Fu(),[0,0,0,1],this.matrix))),this._getDistance()}},{key:"_getFocalPoint",value:function(){Fg(this.distanceVector,[0,0,-this.distance],fL(QS(),this.matrix)),fs(this.focalPoint,this.position,this.distanceVector),this._getDistance()}},{key:"_getDistance",value:function(){this.distanceVector=ws(ni(),this.focalPoint,this.position),this.distance=Io(this.distanceVector),this.dollyingStep=this.distance/100}},{key:"_getOrthoMatrix",value:function(){if(this.projectionMode===nd.ORTHOGRAPHIC){var y=this.position,x=Jf(ou(),[0,0,1],-this.roll*Math.PI/180);U0(this.orthoMatrix,x,qi((this.rright-this.left)/2-y[0],(this.top-this.bottom)/2-y[1],0),qi(this.zoom,this.zoom,1),y)}}},{key:"triggerUpdate",value:function(){if(this.enableUpdate){var y=this.getViewTransform(),x=Uu(Pi(),this.getPerspective(),y);this.getFrustum().extractFromVPMatrix(x),this.eventEmitter.emit(dC.UPDATED)}}},{key:"rotate",value:function(y,x,b){throw new Error(Qs)}},{key:"pan",value:function(y,x){throw new Error(Qs)}},{key:"dolly",value:function(y){throw new Error(Qs)}},{key:"createLandmark",value:function(y,x){throw new Error(Qs)}},{key:"gotoLandmark",value:function(y,x){throw new Error(Qs)}},{key:"cancelLandmarkAnimation",value:function(){throw new Error(Qs)}}])}(),YO=function(E){return E[E.Standard=0]="Standard",E}({}),Em=function(E){return E[E.ADDED=0]="ADDED",E[E.REMOVED=1]="REMOVED",E[E.Z_INDEX_CHANGED=2]="Z_INDEX_CHANGED",E}({}),gC={absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new qg(0,0,0,0)},mi=function(E){return E.COORDINATE="<coordinate>",E.COLOR="<color>",E.PAINT="<paint>",E.NUMBER="<number>",E.ANGLE="<angle>",E.OPACITY_VALUE="<opacity-value>",E.SHADOW_BLUR="<shadow-blur>",E.LENGTH="<length>",E.PERCENTAGE="<percentage>",E.LENGTH_PERCENTAGE="<length> | <percentage>",E.LENGTH_PERCENTAGE_12="[<length> | <percentage>]{1,2}",E.LENGTH_PERCENTAGE_14="[<length> | <percentage>]{1,4}",E.LIST_OF_POINTS="<list-of-points>",E.PATH="<path>",E.FILTER="<filter>",E.Z_INDEX="<z-index>",E.OFFSET_DISTANCE="<offset-distance>",E.DEFINED_PATH="<defined-path>",E.MARKER="<marker>",E.TRANSFORM="<transform>",E.TRANSFORM_ORIGIN="<transform-origin>",E.TEXT="<text>",E.TEXT_TRANSFORM="<text-transform>",E}({});function hE(E,a,y){E.prototype=a.prototype=y,y.constructor=E}function vC(E,a){var y=Object.create(E.prototype);for(var x in a)y[x]=a[x];return y}function H0(){}var K0=.7,Am=1/K0,t0="\\s*([+-]?\\d+)\\s*",Z0="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",$d="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",XO=/^#([0-9a-f]{3,8})$/,JO=new RegExp(`^rgb\\(${t0},${t0},${t0}\\)$`),qO=new RegExp(`^rgb\\(${$d},${$d},${$d}\\)$`),$O=new RegExp(`^rgba\\(${t0},${t0},${t0},${Z0}\\)$`),eT=new RegExp(`^rgba\\(${$d},${$d},${$d},${Z0}\\)$`),tT=new RegExp(`^hsl\\(${Z0},${$d},${$d}\\)$`),nT=new RegExp(`^hsla\\(${Z0},${$d},${$d},${Z0}\\)$`),mC={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};hE(H0,xm,{copy(E){return Object.assign(new this.constructor,this,E)},displayable(){return this.rgb().displayable()},hex:pC,formatHex:pC,formatHex8:rT,formatHsl:aT,formatRgb:yC,toString:yC});function pC(){return this.rgb().formatHex()}function rT(){return this.rgb().formatHex8()}function aT(){return bC(this).formatHsl()}function yC(){return this.rgb().formatRgb()}function xm(E){var a,y;return E=(E+"").trim().toLowerCase(),(a=XO.exec(E))?(y=a[1].length,a=parseInt(a[1],16),y===6?EC(a):y===3?new vc(a>>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):y===8?Sm(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):y===4?Sm(a>>12&15|a>>8&240,a>>8&15|a>>4&240,a>>4&15|a&240,((a&15)<<4|a&15)/255):null):(a=JO.exec(E))?new vc(a[1],a[2],a[3],1):(a=qO.exec(E))?new vc(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=$O.exec(E))?Sm(a[1],a[2],a[3],a[4]):(a=eT.exec(E))?Sm(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=tT.exec(E))?SC(a[1],a[2]/100,a[3]/100,1):(a=nT.exec(E))?SC(a[1],a[2]/100,a[3]/100,a[4]):mC.hasOwnProperty(E)?EC(mC[E]):E==="transparent"?new vc(NaN,NaN,NaN,0):null}function EC(E){return new vc(E>>16&255,E>>8&255,E&255,1)}function Sm(E,a,y,x){return x<=0&&(E=a=y=NaN),new vc(E,a,y,x)}function iT(E){return E instanceof H0||(E=xm(E)),E?(E=E.rgb(),new vc(E.r,E.g,E.b,E.opacity)):new vc}function oT(E,a,y,x){return arguments.length===1?iT(E):new vc(E,a,y,x==null?1:x)}function vc(E,a,y,x){this.r=+E,this.g=+a,this.b=+y,this.opacity=+x}hE(vc,oT,vC(H0,{brighter(E){return E=E==null?Am:Math.pow(Am,E),new vc(this.r*E,this.g*E,this.b*E,this.opacity)},darker(E){return E=E==null?K0:Math.pow(K0,E),new vc(this.r*E,this.g*E,this.b*E,this.opacity)},rgb(){return this},clamp(){return new vc(eg(this.r),eg(this.g),eg(this.b),bm(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:AC,formatHex:AC,formatHex8:sT,formatRgb:xC,toString:xC}));function AC(){return`#${tg(this.r)}${tg(this.g)}${tg(this.b)}`}function sT(){return`#${tg(this.r)}${tg(this.g)}${tg(this.b)}${tg((isNaN(this.opacity)?1:this.opacity)*255)}`}function xC(){const E=bm(this.opacity);return`${E===1?"rgb(":"rgba("}${eg(this.r)}, ${eg(this.g)}, ${eg(this.b)}${E===1?")":`, ${E})`}`}function bm(E){return isNaN(E)?1:Math.max(0,Math.min(1,E))}function eg(E){return Math.max(0,Math.min(255,Math.round(E)||0))}function tg(E){return E=eg(E),(E<16?"0":"")+E.toString(16)}function SC(E,a,y,x){return x<=0?E=a=y=NaN:y<=0||y>=1?E=a=NaN:a<=0&&(E=NaN),new wd(E,a,y,x)}function bC(E){if(E instanceof wd)return new wd(E.h,E.s,E.l,E.opacity);if(E instanceof H0||(E=xm(E)),!E)return new wd;if(E instanceof wd)return E;E=E.rgb();var a=E.r/255,y=E.g/255,x=E.b/255,b=Math.min(a,y,x),z=Math.max(a,y,x),te=NaN,re=z-b,ae=(z+b)/2;return re?(a===z?te=(y-x)/re+(y<x)*6:y===z?te=(x-a)/re+2:te=(a-y)/re+4,re/=ae<.5?z+b:2-z-b,te*=60):re=ae>0&&ae<1?0:te,new wd(te,re,ae,E.opacity)}function lT(E,a,y,x){return arguments.length===1?bC(E):new wd(E,a,y,x==null?1:x)}function wd(E,a,y,x){this.h=+E,this.s=+a,this.l=+y,this.opacity=+x}hE(wd,lT,vC(H0,{brighter(E){return E=E==null?Am:Math.pow(Am,E),new wd(this.h,this.s,this.l*E,this.opacity)},darker(E){return E=E==null?K0:Math.pow(K0,E),new wd(this.h,this.s,this.l*E,this.opacity)},rgb(){var E=this.h%360+(this.h<0)*360,a=isNaN(E)||isNaN(this.s)?0:this.s,y=this.l,x=y+(y<.5?y:1-y)*a,b=2*y-x;return new vc(gE(E>=240?E-240:E+120,b,x),gE(E,b,x),gE(E<120?E+240:E-120,b,x),this.opacity)},clamp(){return new wd(CC(this.h),Cm(this.s),Cm(this.l),bm(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const E=bm(this.opacity);return`${E===1?"hsl(":"hsla("}${CC(this.h)}, ${Cm(this.s)*100}%, ${Cm(this.l)*100}%${E===1?")":`, ${E})`}`}}));function CC(E){return E=(E||0)%360,E<0?E+360:E}function Cm(E){return Math.max(0,Math.min(1,E||0))}function gE(E,a,y){return(E<60?a+(y-a)*E/60:E<180?y:E<240?a+(y-a)*(240-E)/60:a)*255}function Jl(E,a){if(typeof E!="function"||a!=null&&typeof a!="function")throw new TypeError("Expected a function");var y=function(){for(var b=arguments.length,z=new Array(b),te=0;te<b;te++)z[te]=arguments[te];var re=a?a.apply(this,z):z[0],ae=y.cache;if(ae.has(re))return ae.get(re);var se=E.apply(this,z);return y.cache=ae.set(re,se)||ae,se};return y.cache=new(Jl.Cache||Map),Jl.cacheList.push(y.cache),y}Jl.Cache=Map,Jl.cacheList=[],Jl.clearCache=function(){Jl.cacheList.forEach(function(E){return E.clear()})};var yi=function(E){return E[E.kUnknown=0]="kUnknown",E[E.kNumber=1]="kNumber",E[E.kPercentage=2]="kPercentage",E[E.kEms=3]="kEms",E[E.kPixels=4]="kPixels",E[E.kRems=5]="kRems",E[E.kDegrees=6]="kDegrees",E[E.kRadians=7]="kRadians",E[E.kGradians=8]="kGradians",E[E.kTurns=9]="kTurns",E[E.kMilliseconds=10]="kMilliseconds",E[E.kSeconds=11]="kSeconds",E[E.kInteger=12]="kInteger",E}({}),Md=function(E){return E[E.kUNumber=0]="kUNumber",E[E.kUPercent=1]="kUPercent",E[E.kULength=2]="kULength",E[E.kUAngle=3]="kUAngle",E[E.kUTime=4]="kUTime",E[E.kUOther=5]="kUOther",E}({}),uT=function(E){return E[E.kYes=0]="kYes",E[E.kNo=1]="kNo",E}({}),cT=function(E){return E[E.kYes=0]="kYes",E[E.kNo=1]="kNo",E}({}),dT=[{name:"em",unit_type:yi.kEms},{name:"px",unit_type:yi.kPixels},{name:"deg",unit_type:yi.kDegrees},{name:"rad",unit_type:yi.kRadians},{name:"grad",unit_type:yi.kGradians},{name:"ms",unit_type:yi.kMilliseconds},{name:"s",unit_type:yi.kSeconds},{name:"rem",unit_type:yi.kRems},{name:"turn",unit_type:yi.kTurns}],n0=function(E){return E[E.kUnknownType=0]="kUnknownType",E[E.kUnparsedType=1]="kUnparsedType",E[E.kKeywordType=2]="kKeywordType",E[E.kUnitType=3]="kUnitType",E[E.kSumType=4]="kSumType",E[E.kProductType=5]="kProductType",E[E.kNegateType=6]="kNegateType",E[E.kInvertType=7]="kInvertType",E[E.kMinType=8]="kMinType",E[E.kMaxType=9]="kMaxType",E[E.kClampType=10]="kClampType",E[E.kTransformType=11]="kTransformType",E[E.kPositionType=12]="kPositionType",E[E.kURLImageType=13]="kURLImageType",E[E.kColorType=14]="kColorType",E[E.kUnsupportedColorType=15]="kUnsupportedColorType",E}({}),fT=function(a){return dT.find(function(y){return y.name===a}).unit_type},hT=function(a){return a?a==="number"?yi.kNumber:a==="percent"||a==="%"?yi.kPercentage:fT(a):yi.kUnknown},gT=function(a){switch(a){case yi.kNumber:case yi.kInteger:return Md.kUNumber;case yi.kPercentage:return Md.kUPercent;case yi.kPixels:return Md.kULength;case yi.kMilliseconds:case yi.kSeconds:return Md.kUTime;case yi.kDegrees:case yi.kRadians:case yi.kGradians:case yi.kTurns:return Md.kUAngle;default:return Md.kUOther}},vT=function(a){switch(a){case Md.kUNumber:return yi.kNumber;case Md.kULength:return yi.kPixels;case Md.kUPercent:return yi.kPercentage;case Md.kUTime:return yi.kSeconds;case Md.kUAngle:return yi.kDegrees;default:return yi.kUnknown}},PC=function(a){var y=1;switch(a){case yi.kPixels:case yi.kDegrees:case yi.kSeconds:break;case yi.kMilliseconds:y=.001;break;case yi.kRadians:y=180/Math.PI;break;case yi.kGradians:y=.9;break;case yi.kTurns:y=360;break}return y},vE=function(a){switch(a){case yi.kNumber:case yi.kInteger:return"";case yi.kPercentage:return"%";case yi.kEms:return"em";case yi.kRems:return"rem";case yi.kPixels:return"px";case yi.kDegrees:return"deg";case yi.kRadians:return"rad";case yi.kGradians:return"grad";case yi.kMilliseconds:return"ms";case yi.kSeconds:return"s";case yi.kTurns:return"turn"}return""},Pm=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"toString",value:function(){return this.buildCSSText(uT.kNo,cT.kNo,"")}},{key:"isNumericValue",value:function(){return this.getType()>=n0.kUnitType&&this.getType()<=n0.kClampType}}],[{key:"isAngle",value:function(y){return y===yi.kDegrees||y===yi.kRadians||y===yi.kGradians||y===yi.kTurns}},{key:"isLength",value:function(y){return y>=yi.kEms&&y<yi.kDegrees}},{key:"isRelativeUnit",value:function(y){return y===yi.kPercentage||y===yi.kEms||y===yi.kRems}},{key:"isTime",value:function(y){return y===yi.kSeconds||y===yi.kMilliseconds}}])}(),mT=function(E){function a(y){var x;return(0,Ar.Z)(this,a),x=Tr(this,a),x.colorSpace=y,x}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"getType",value:function(){return n0.kColorType}},{key:"to",value:function(x){return this}}])}(Pm),nh=function(E){return E[E.Constant=0]="Constant",E[E.LinearGradient=1]="LinearGradient",E[E.RadialGradient=2]="RadialGradient",E}({}),wm=function(E){function a(y,x){var b;return(0,Ar.Z)(this,a),b=Tr(this,a),b.type=y,b.value=x,b}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"clone",value:function(){return new a(this.type,this.value)}},{key:"buildCSSText",value:function(x,b,z){return z}},{key:"getType",value:function(){return n0.kColorType}}])}(Pm),rd=function(E){function a(y){var x;return(0,Ar.Z)(this,a),x=Tr(this,a),x.value=y,x}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"clone",value:function(){return new a(this.value)}},{key:"getType",value:function(){return n0.kKeywordType}},{key:"buildCSSText",value:function(x,b,z){return z+this.value}}])}(Pm),pT=function(a){var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",x="";return Number.isFinite(a)?x="NaN":a>0?x="infinity":x="-infinity",x+=y},mE=function(a){return vT(gT(a))},Js=function(E){function a(y){var x,b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:yi.kNumber;(0,Ar.Z)(this,a),x=Tr(this,a);var z;return typeof b=="string"?z=hT(b):z=b,x.unit=z,x.value=y,x}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"clone",value:function(){return new a(this.value,this.unit)}},{key:"equals",value:function(x){var b=x;return this.value===b.value&&this.unit===b.unit}},{key:"getType",value:function(){return n0.kUnitType}},{key:"convertTo",value:function(x){if(this.unit===x)return new a(this.value,this.unit);var b=mE(this.unit);if(b!==mE(x)||b===yi.kUnknown)return null;var z=PC(this.unit)/PC(x);return new a(this.value*z,x)}},{key:"buildCSSText",value:function(x,b,z){var te;switch(this.unit){case yi.kUnknown:break;case yi.kInteger:te=Number(this.value).toFixed(0);break;case yi.kNumber:case yi.kPercentage:case yi.kEms:case yi.kRems:case yi.kPixels:case yi.kDegrees:case yi.kRadians:case yi.kGradians:case yi.kMilliseconds:case yi.kSeconds:case yi.kTurns:{var re=-999999,ae=999999,se=this.value,fe=vE(this.unit);if(se<re||se>ae){var me=vE(this.unit);!Number.isFinite(se)||Number.isNaN(se)?te=pT(se,me):te=se+(me||"")}else te="".concat(se).concat(fe)}}return z+=te,z}}])}(Pm),Dd=new Js(0,"px");new Js(1,"px");var ng=new Js(0,"deg"),pE=function(E){function a(y,x,b){var z,te=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,re=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;return(0,Ar.Z)(this,a),z=Tr(this,a,["rgb"]),z.r=y,z.g=x,z.b=b,z.alpha=te,z.isNone=re,z}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"clone",value:function(){return new a(this.r,this.g,this.b,this.alpha)}},{key:"buildCSSText",value:function(x,b,z){return"".concat(z,"rgba(").concat(this.r,",").concat(this.g,",").concat(this.b,",").concat(this.alpha,")")}}])}(mT),wC=new rd("unset"),yT=new rd("initial"),ET=new rd("inherit"),yE={"":wC,unset:wC,initial:yT,inherit:ET},AT=function(a){return yE[a]||(yE[a]=new rd(a)),yE[a]},MC=new pE(0,0,0,0,!0),DC=new pE(0,0,0,0),xT=Jl(function(E,a,y,x){return new pE(E,a,y,x)},function(E,a,y,x){return"rgba(".concat(E,",").concat(a,",").concat(y,",").concat(x,")")}),hl=function(a){var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:yi.kNumber;return new Js(a,y)};new Js(50,"%");function ST(E){var a=E.type,y=E.value;return a==="hex"?"#".concat(y):a==="literal"?y:a==="rgb"?"rgb(".concat(y.join(","),")"):"rgba(".concat(y.join(","),")")}var bT=function(){var E={linearGradient:/^(linear\-gradient)/i,repeatingLinearGradient:/^(repeating\-linear\-gradient)/i,radialGradient:/^(radial\-gradient)/i,repeatingRadialGradient:/^(repeating\-radial\-gradient)/i,conicGradient:/^(conic\-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,percentageValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,emValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,angleValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^\#([0-9a-fA-F]+)/,literalColor:/^([a-zA-Z]+)/,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,number:/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/},a="";function y(yn){throw new Error("".concat(a,": ").concat(yn))}function x(){var yn=b();return a.length>0&&y("Invalid input not EOF"),yn}function b(){return Je(z)}function z(){return te("linear-gradient",E.linearGradient,ae)||te("repeating-linear-gradient",E.repeatingLinearGradient,ae)||te("radial-gradient",E.radialGradient,me)||te("repeating-radial-gradient",E.repeatingRadialGradient,me)||te("conic-gradient",E.conicGradient,me)}function te(yn,En,Pn){return re(En,function(or){var xn=Pn();return xn&&(wn(E.comma)||y("Missing comma before color stops")),{type:yn,orientation:xn,colorStops:Je(at)}})}function re(yn,En){var Pn=wn(yn);if(Pn){wn(E.startCall)||y("Missing (");var or=En(Pn);return wn(E.endCall)||y("Missing )"),or}}function ae(){return se()||fe()}function se(){return on("directional",E.sideOrCorner,1)}function fe(){return on("angular",E.angleValue,1)}function me(){var yn,En=Se(),Pn;return En&&(yn=[],yn.push(En),Pn=a,wn(E.comma)&&(En=Se(),En?yn.push(En):a=Pn)),yn}function Se(){var yn=Te()||ke();if(yn)yn.at=je();else{var En=We();if(En){yn=En;var Pn=je();Pn&&(yn.at=Pn)}else{var or=Ke();or&&(yn={type:"default-radial",at:or})}}return yn}function Te(){var yn=on("shape",/^(circle)/i,0);return yn&&(yn.style=vn()||We()),yn}function ke(){var yn=on("shape",/^(ellipse)/i,0);return yn&&(yn.style=Vt()||We()),yn}function We(){return on("extent-keyword",E.extentKeywords,1)}function je(){if(on("position",/^at/,0)){var yn=Ke();return yn||y("Missing positioning value"),yn}}function Ke(){var yn=Qe();if(yn.x||yn.y)return{type:"position",value:yn}}function Qe(){return{x:Vt(),y:Vt()}}function Je(yn){var En=yn(),Pn=[];if(En)for(Pn.push(En);wn(E.comma);)En=yn(),En?Pn.push(En):y("One extra comma");return Pn}function at(){var yn=ot();return yn||y("Expected color definition"),yn.length=Vt(),yn}function ot(){return ft()||Dt()||lt()||ut()}function ut(){return on("literal",E.literalColor,0)}function ft(){return on("hex",E.hexColor,1)}function lt(){return re(E.rgbColor,function(){return{type:"rgb",value:Je(Bt)}})}function Dt(){return re(E.rgbaColor,function(){return{type:"rgba",value:Je(Bt)}})}function Bt(){return wn(E.number)[1]}function Vt(){return on("%",E.percentageValue,1)||Xt()||vn()}function Xt(){return on("position-keyword",E.positionKeywords,1)}function vn(){return on("px",E.pixelValue,1)||on("em",E.emValue,1)}function on(yn,En,Pn){var or=wn(En);if(or)return{type:yn,value:or[Pn]}}function wn(yn){var En=/^[\n\r\t\s]+/.exec(a);En&&qn(En[0].length);var Pn=yn.exec(a);return Pn&&qn(Pn[0].length),Pn}function qn(yn){a=a.substring(yn)}return function(yn){return a=yn,x()}}();function CT(E,a,y,x){var b=Ys(x.value),z=0,te=0,re=z+a/2,ae=te+y/2,se=Math.abs(a*Math.cos(b))+Math.abs(y*Math.sin(b)),fe=E[0]+re-Math.cos(b)*se/2,me=E[1]+ae-Math.sin(b)*se/2,Se=E[0]+re+Math.cos(b)*se/2,Te=E[1]+ae+Math.sin(b)*se/2;return{x1:fe,y1:me,x2:Se,y2:Te}}function PT(E,a,y,x,b,z){var te=x.value,re=b.value;x.unit===yi.kPercentage&&(te=x.value/100*a),b.unit===yi.kPercentage&&(re=b.value/100*y);var ae=Math.max(hc([0,0],[te,re]),hc([0,y],[te,re]),hc([a,y],[te,re]),hc([a,0],[te,re]));return z&&(z instanceof Js?ae=z.value:z instanceof rd&&(z.value==="closest-side"?ae=Math.min(te,a-te,re,y-re):z.value==="farthest-side"?ae=Math.max(te,a-te,re,y-re):z.value==="closest-corner"&&(ae=Math.min(hc([0,0],[te,re]),hc([0,y],[te,re]),hc([a,y],[te,re]),hc([a,0],[te,re]))))),{x:te+E[0],y:re+E[1],r:ae}}var wT=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,MT=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,DT=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,IC=/[\d.]+:(#[^\s]+|[^\)]+\))/gi;function IT(E){var a,y=E.length;if(E[y-1].length=(a=E[y-1].length)!==null&&a!==void 0?a:{type:"%",value:"100"},y>1){var x;E[0].length=(x=E[0].length)!==null&&x!==void 0?x:{type:"%",value:"0"}}for(var b=0,z=Number(E[0].length.value),te=1;te<y;te++){var re,ae=(re=E[te].length)===null||re===void 0?void 0:re.value;if(!fo(ae)&&!fo(z)){for(var se=1;se<te-b;se++)E[b+se].length={type:"%",value:"".concat(z+(Number(ae)-z)*se/(te-b))};b=te,z=Number(ae)}}}var LT={left:180,top:-90,bottom:90,right:0,"left top":225,"top left":225,"left bottom":135,"bottom left":135,"right top":-45,"top right":-45,"right bottom":45,"bottom right":45},OT=Jl(function(E){var a;return E.type==="angular"?a=Number(E.value):a=LT[E.value]||0,hl(a,"deg")}),TT=Jl(function(E){var a=50,y=50,x="%",b="%";if((E==null?void 0:E.type)==="position"){var z=E.value,te=z.x,re=z.y;(te==null?void 0:te.type)==="position-keyword"&&(te.value==="left"?a=0:te.value==="center"?a=50:te.value==="right"?a=100:te.value==="top"?y=0:te.value==="bottom"&&(y=100)),(re==null?void 0:re.type)==="position-keyword"&&(re.value==="left"?a=0:re.value==="center"?y=50:re.value==="right"?a=100:re.value==="top"?y=0:re.value==="bottom"&&(y=100)),((te==null?void 0:te.type)==="px"||(te==null?void 0:te.type)==="%"||(te==null?void 0:te.type)==="em")&&(x=te==null?void 0:te.type,a=Number(te.value)),((re==null?void 0:re.type)==="px"||(re==null?void 0:re.type)==="%"||(re==null?void 0:re.type)==="em")&&(b=re==null?void 0:re.type,y=Number(re.value))}return{cx:hl(a,x),cy:hl(y,b)}}),BT=Jl(function(E){if(E.indexOf("linear")>-1||E.indexOf("radial")>-1){var a=bT(E);return a.map(function(re){var ae=re.type,se=re.orientation,fe=re.colorStops;IT(fe);var me=fe.map(function(Je){return{offset:hl(Number(Je.length.value),"%"),color:ST(Je)}});if(ae==="linear-gradient")return new wm(nh.LinearGradient,{angle:se?OT(se):ng,steps:me});if(ae==="radial-gradient"&&(se||(se=[{type:"shape",value:"circle"}]),se[0].type==="shape"&&se[0].value==="circle")){var Se=TT(se[0].at),Te=Se.cx,ke=Se.cy,We;if(se[0].style){var je=se[0].style,Ke=je.type,Qe=je.value;Ke==="extent-keyword"?We=AT(Qe):We=hl(Qe,Ke)}return new wm(nh.RadialGradient,{cx:Te,cy:ke,size:We,steps:me})}})}var y=E[0];if(E[1]==="("||E[2]==="("){if(y==="l"){var x=wT.exec(E);if(x){var b,z=((b=x[2].match(IC))===null||b===void 0?void 0:b.map(function(re){return re.split(":")}))||[];return[new wm(nh.LinearGradient,{angle:hl(parseFloat(x[1]),"deg"),steps:z.map(function(re){var ae=(0,Wn.Z)(re,2),se=ae[0],fe=ae[1];return{offset:hl(Number(se)*100,"%"),color:fe}})})]}}else if(y==="r"){var te=NT(E);if(te)if(Is(te))E=te;else return[new wm(nh.RadialGradient,te)]}else if(y==="p")return RT(E)}});function NT(E){var a=MT.exec(E);if(a){var y,x=((y=a[4].match(IC))===null||y===void 0?void 0:y.map(function(b){return b.split(":")}))||[];return{cx:hl(50,"%"),cy:hl(50,"%"),steps:x.map(function(b){var z=(0,Wn.Z)(b,2),te=z[0],re=z[1];return{offset:hl(Number(te)*100,"%"),color:re}})}}return null}function RT(E){var a=DT.exec(E);if(a){var y=a[1],x=a[2];switch(y){case"a":y="repeat";break;case"x":y="repeat-x";break;case"y":y="repeat-y";break;case"n":y="no-repeat";break;default:y="no-repeat"}return{image:x,repetition:y}}return null}function MY(E){return!!E.type&&!!E.value}function rg(E){return E&&!!E.image}function Mm(E){return E&&!fo(E.r)&&!fo(E.g)&&!fo(E.b)}var Q0=Jl(function(E){if(rg(E))return(0,Cr.Z)({repetition:"repeat"},E);if(fo(E)&&(E=""),E==="transparent")return DC;if(E==="currentColor")E="black";else if(E==="none")return MC;var a=BT(E);if(a)return a;var y=xm(E),x=[0,0,0,0];return y!==null&&(x[0]=y.r||0,x[1]=y.g||0,x[2]=y.b||0,x[3]=y.opacity),xT.apply(void 0,x)});function _T(E,a){if(!(!Mm(E)||!Mm(a)))return[[Number(E.r),Number(E.g),Number(E.b),Number(E.alpha)],[Number(a.r),Number(a.g),Number(a.b),Number(a.alpha)],function(y){var x=y.slice();if(x[3])for(var b=0;b<3;b++)x[b]=Math.round(bl(x[b],0,255));return x[3]=bl(x[3],0,1),"rgba(".concat(x.join(","),")")}]}function Y0(E,a){if(fo(a))return hl(0,"px");if(a="".concat(a).trim().toLowerCase(),isFinite(Number(a))){if("px".search(E)>=0)return hl(Number(a),"px");if("deg".search(E)>=0)return hl(Number(a),"deg")}var y=[];a=a.replace(E,function(b){return y.push(b),"U".concat(b)});var x="U(".concat(E.source,")");return y.map(function(b){return hl(Number(a.replace(new RegExp("U".concat(b),"g"),"").replace(new RegExp(x,"g"),"*0")),b)})[0]}var LC=function(a){return Y0(new RegExp("px","g"),a)},FT=Jl(LC),kT=function(a){return Y0(new RegExp("%","g"),a)};Jl(kT);var OC=function(a){return Oi(a)||isFinite(Number(a))?hl(Number(a)||0,"px"):Y0(new RegExp("px|%|em|rem","g"),a)},EE=Jl(OC),TC=function(a){return Y0(new RegExp("deg|rad|grad|turn","g"),a)},zT=Jl(TC);function UT(E,a,y,x){var b=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,z="",te=E.value||0,re=a.value||0,ae=mE(E.unit),se=E.convertTo(ae),fe=a.convertTo(ae);return se&&fe?(te=se.value,re=fe.value,z=vE(E.unit)):(Js.isLength(E.unit)||Js.isLength(a.unit))&&(te=Bc(E,b,y),re=Bc(a,b,y),z="px"),[te,re,function(me){return x&&(me=Math.max(me,0)),me+z}]}function mc(E){var a=0;return E.unit===yi.kDegrees?a=E.value:E.unit===yi.kRadians?a=gc(Number(E.value)):E.unit===yi.kTurns?a=WO(Number(E.value)):E.value&&(a=E.value),a}function BC(E,a){var y;return Array.isArray(E)?y=E.map(function(x){return Number(x)}):Is(E)?y=E.split(" ").map(function(x){return Number(x)}):Oi(E)&&(y=[E]),a===2?y.length===1?[y[0],y[0]]:[y[0],y[1]]:a===4?y.length===1?[y[0],y[0],y[0],y[0]]:y.length===2?[y[0],y[1],y[0],y[1]]:y.length===3?[y[0],y[1],y[2],y[1]]:[y[0],y[1],y[2],y[3]]:a==="even"&&y.length%2===1?[].concat((0,va.Z)(y),(0,va.Z)(y)):y}function Bc(E,a,y){var x=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(E.unit===yi.kPixels)return Number(E.value);if(E.unit===yi.kPercentage&&y){var b=y.nodeName===la.GROUP?y.getLocalBounds():y.getGeometryBounds();return(x?b.min[a]:0)+E.value/100*b.halfExtents[a]*2}return 0}var WT=function(a){return Y0(/deg|rad|grad|turn|px|%/g,a)},jT=["blur","brightness","drop-shadow","contrast","grayscale","sepia","saturate","hue-rotate","invert"];function GT(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(E=E.toLowerCase().trim(),E==="none")return[];for(var a=/\s*([\w-]+)\(([^)]*)\)/g,y=[],x,b=0;x=a.exec(E);){if(x.index!==b)return[];if(b=x.index+x[0].length,jT.indexOf(x[1])>-1&&y.push({name:x[1],params:x[2].split(" ").map(function(z){return WT(z)||Q0(z)})}),a.lastIndex===E.length)return y}return[]}function NC(E){return E.toString()}var RC=function(a){return typeof a=="number"?hl(a):/^\s*[-+]?(\d*\.)?\d+\s*$/.test(a)?hl(Number(a)):hl(0)},AE=Jl(RC);Jl(function(E){return Is(E)?E.split(" ").map(AE):E.map(AE)});function xE(E,a){return[E,a,NC]}function SE(E,a){return function(y,x){return[y,x,function(b){return NC(bl(b,E,a))}]}}function _C(E,a){if(E.length===a.length)return[E,a,function(y){return y}]}function bE(E){return E.parsedStyle.d.totalLength===0&&(E.parsedStyle.d.totalLength=jL(E.parsedStyle.d.absolutePath)),E.parsedStyle.d.totalLength}function VT(E){return E.parsedStyle.points.totalLength===0&&(E.parsedStyle.points.totalLength=CO(E.parsedStyle.points.points)),E.parsedStyle.points.totalLength}function HT(E){for(var a=0;a<E.length;a++){var y=E[a-1],x=E[a],b=x[0];if(b==="M"&&y){var z=y[0],te=[x[1],x[2]],re=void 0;z==="L"||z==="M"?re=[y[1],y[2]]:(z==="C"||z==="A"||z==="Q")&&(re=[y[y.length-2],y[y.length-1]]),re&&Dm(te,re)&&(E.splice(a,1),a--)}}}function KT(E){for(var a=!1,y=E.length,x=0;x<y;x++){var b=E[x],z=b[0];if(z==="C"||z==="A"||z==="Q"){a=!0;break}}return a}function ZT(E){for(var a=[],y=[],x=[],b=0;b<E.length;b++){var z=E[b],te=z[0];te==="M"?(x.length&&(y.push(x),x=[]),x.push([z[1],z[2]])):te==="Z"?x.length&&(a.push(x),x=[]):x.push([z[1],z[2]])}return x.length>0&&y.push(x),{polygons:a,polylines:y}}function Dm(E,a){return E[0]===a[0]&&E[1]===a[1]}function QT(E,a){for(var y=[],x=[],b=[],z=0;z<E.length;z++){var te=E[z],re=te.currentPoint,ae=te.params,se=te.prePoint,fe=void 0;switch(te.command){case"Q":fe=wO(se[0],se[1],ae[1],ae[2],ae[3],ae[4]);break;case"C":fe=xO(se[0],se[1],ae[1],ae[2],ae[3],ae[4],ae[5],ae[6]);break;case"A":var me=te.arcParams;fe=mO(me.cx,me.cy,me.rx,me.ry,me.xRotation,me.startAngle,me.endAngle);break;default:y.push(re[0]),x.push(re[1]);break}fe&&(te.box=fe,y.push(fe.x,fe.x+fe.width),x.push(fe.y,fe.y+fe.height)),a&&(te.command==="L"||te.command==="M")&&te.prePoint&&te.nextPoint&&b.push(te)}y=y.filter(function(at){return!Number.isNaN(at)&&at!==1/0&&at!==-1/0}),x=x.filter(function(at){return!Number.isNaN(at)&&at!==1/0&&at!==-1/0});var Se=dm(y),Te=dm(x),ke=fm(y),We=fm(x);if(b.length===0)return{x:Se,y:Te,width:ke-Se,height:We-Te};for(var je=0;je<b.length;je++){var Ke=b[je],Qe=Ke.currentPoint,Je=void 0;Qe[0]===Se?(Je=Im(Ke,a),Se-=Je.xExtra):Qe[0]===ke&&(Je=Im(Ke,a),ke+=Je.xExtra),Qe[1]===Te?(Je=Im(Ke,a),Te-=Je.yExtra):Qe[1]===We&&(Je=Im(Ke,a),We+=Je.yExtra)}return{x:Se,y:Te,width:ke-Se,height:We-Te}}function Im(E,a){var y=E.prePoint,x=E.currentPoint,b=E.nextPoint,z=Math.pow(x[0]-y[0],2)+Math.pow(x[1]-y[1],2),te=Math.pow(x[0]-b[0],2)+Math.pow(x[1]-b[1],2),re=Math.pow(y[0]-b[0],2)+Math.pow(y[1]-b[1],2),ae=Math.acos((z+te-re)/(2*Math.sqrt(z)*Math.sqrt(te)));if(!ae||Math.sin(ae)===0||j0(ae,0))return{xExtra:0,yExtra:0};var se=Math.abs(Math.atan2(b[1]-x[1],b[0]-x[0])),fe=Math.abs(Math.atan2(b[0]-x[0],b[1]-x[1]));se=se>Math.PI/2?Math.PI-se:se,fe=fe>Math.PI/2?Math.PI-fe:fe;var me={xExtra:Math.cos(ae/2-se)*(a/2*(1/Math.sin(ae/2)))-a/2||0,yExtra:Math.cos(fe-ae/2)*(a/2*(1/Math.sin(ae/2)))-a/2||0};return me}function FC(E,a){return[a[0]+(a[0]-E[0]),a[1]+(a[1]-E[1])]}var kC=function(a,y){var x=a.x*y.x+a.y*y.y,b=Math.sqrt((Math.pow(a.x,2)+Math.pow(a.y,2))*(Math.pow(y.x,2)+Math.pow(y.y,2))),z=a.x*y.y-a.y*y.x<0?-1:1,te=z*Math.acos(x/b);return te},zC=function(a,y,x,b,z,te,re,ae){y=Math.abs(y),x=Math.abs(x),b=Ob(b,360);var se=Ys(b);if(a.x===re.x&&a.y===re.y)return{x:a.x,y:a.y,ellipticalArcAngle:0};if(y===0||x===0)return{x:0,y:0,ellipticalArcAngle:0};var fe=(a.x-re.x)/2,me=(a.y-re.y)/2,Se={x:Math.cos(se)*fe+Math.sin(se)*me,y:-Math.sin(se)*fe+Math.cos(se)*me},Te=Math.pow(Se.x,2)/Math.pow(y,2)+Math.pow(Se.y,2)/Math.pow(x,2);Te>1&&(y*=Math.sqrt(Te),x*=Math.sqrt(Te));var ke=Math.pow(y,2)*Math.pow(x,2)-Math.pow(y,2)*Math.pow(Se.y,2)-Math.pow(x,2)*Math.pow(Se.x,2),We=Math.pow(y,2)*Math.pow(Se.y,2)+Math.pow(x,2)*Math.pow(Se.x,2),je=ke/We;je=je<0?0:je;var Ke=(z!==te?1:-1)*Math.sqrt(je),Qe={x:Ke*(y*Se.y/x),y:Ke*(-(x*Se.x)/y)},Je={x:Math.cos(se)*Qe.x-Math.sin(se)*Qe.y+(a.x+re.x)/2,y:Math.sin(se)*Qe.x+Math.cos(se)*Qe.y+(a.y+re.y)/2},at={x:(Se.x-Qe.x)/y,y:(Se.y-Qe.y)/x},ot=kC({x:1,y:0},at),ut={x:(-Se.x-Qe.x)/y,y:(-Se.y-Qe.y)/x},ft=kC(at,ut);!te&&ft>0?ft-=2*Math.PI:te&&ft<0&&(ft+=2*Math.PI),ft%=2*Math.PI;var lt=ot+ft*ae,Dt=y*Math.cos(lt),Bt=x*Math.sin(lt),Vt={x:Math.cos(se)*Dt-Math.sin(se)*Bt+Je.x,y:Math.sin(se)*Dt+Math.cos(se)*Bt+Je.y,ellipticalArcStartAngle:ot,ellipticalArcEndAngle:ot+ft,ellipticalArcAngle:lt,ellipticalArcCenter:Je,resultantRx:y,resultantRy:x};return Vt};function YT(E){for(var a=[],y=null,x=null,b=null,z=0,te=E.length,re=0;re<te;re++){var ae=E[re];x=E[re+1];var se=ae[0],fe={command:se,prePoint:y,params:ae,startTangent:null,endTangent:null,currentPoint:null,nextPoint:null,arcParams:null,box:null,cubicParams:null};switch(se){case"M":b=[ae[1],ae[2]],z=re;break;case"A":var me=XT(y,ae);fe.arcParams=me;break}if(se==="Z")y=b,x=E[z+1];else{var Se=ae.length;y=[ae[Se-2],ae[Se-1]]}x&&x[0]==="Z"&&(x=E[z],a[z]&&(a[z].prePoint=y)),fe.currentPoint=y,a[z]&&Dm(y,a[z].currentPoint)&&(a[z].prePoint=fe.prePoint);var Te=x?[x[x.length-2],x[x.length-1]]:null;fe.nextPoint=Te;var ke=fe.prePoint;if(["L","H","V"].includes(se))fe.startTangent=[ke[0]-y[0],ke[1]-y[1]],fe.endTangent=[y[0]-ke[0],y[1]-ke[1]];else if(se==="Q"){var We=[ae[1],ae[2]];fe.startTangent=[ke[0]-We[0],ke[1]-We[1]],fe.endTangent=[y[0]-We[0],y[1]-We[1]]}else if(se==="T"){var je=a[re-1],Ke=FC(je.currentPoint,ke);je.command==="Q"?(fe.command="Q",fe.startTangent=[ke[0]-Ke[0],ke[1]-Ke[1]],fe.endTangent=[y[0]-Ke[0],y[1]-Ke[1]]):(fe.command="TL",fe.startTangent=[ke[0]-y[0],ke[1]-y[1]],fe.endTangent=[y[0]-ke[0],y[1]-ke[1]])}else if(se==="C"){var Qe=[ae[1],ae[2]],Je=[ae[3],ae[4]];fe.startTangent=[ke[0]-Qe[0],ke[1]-Qe[1]],fe.endTangent=[y[0]-Je[0],y[1]-Je[1]],fe.startTangent[0]===0&&fe.startTangent[1]===0&&(fe.startTangent=[Qe[0]-Je[0],Qe[1]-Je[1]]),fe.endTangent[0]===0&&fe.endTangent[1]===0&&(fe.endTangent=[Je[0]-Qe[0],Je[1]-Qe[1]])}else if(se==="S"){var at=a[re-1],ot=FC(at.currentPoint,ke),ut=[ae[1],ae[2]];at.command==="C"?(fe.command="C",fe.startTangent=[ke[0]-ot[0],ke[1]-ot[1]],fe.endTangent=[y[0]-ut[0],y[1]-ut[1]]):(fe.command="SQ",fe.startTangent=[ke[0]-ut[0],ke[1]-ut[1]],fe.endTangent=[y[0]-ut[0],y[1]-ut[1]])}else if(se==="A"){var ft=UC(fe,0),lt=ft.x,Dt=ft.y,Bt=UC(fe,1,!1),Vt=Bt.x,Xt=Bt.y;fe.startTangent=[lt,Dt],fe.endTangent=[Vt,Xt]}a.push(fe)}return a}function UC(E,a){var y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,x=E.arcParams,b=x.rx,z=b===void 0?0:b,te=x.ry,re=te===void 0?0:te,ae=x.xRotation,se=x.arcFlag,fe=x.sweepFlag,me=zC({x:E.prePoint[0],y:E.prePoint[1]},z,re,ae,!!se,!!fe,{x:E.currentPoint[0],y:E.currentPoint[1]},a),Se=zC({x:E.prePoint[0],y:E.prePoint[1]},z,re,ae,!!se,!!fe,{x:E.currentPoint[0],y:E.currentPoint[1]},y?a+.005:a-.005),Te=Se.x-me.x,ke=Se.y-me.y,We=Math.sqrt(Te*Te+ke*ke);return{x:-Te/We,y:-ke/We}}function Lm(E){return Math.sqrt(E[0]*E[0]+E[1]*E[1])}function CE(E,a){return Lm(E)*Lm(a)?(E[0]*a[0]+E[1]*a[1])/(Lm(E)*Lm(a)):1}function WC(E,a){return(E[0]*a[1]<E[1]*a[0]?-1:1)*Math.acos(CE(E,a))}function XT(E,a){var y=a[1],x=a[2],b=Ob(Ys(a[3]),Math.PI*2),z=a[4],te=a[5],re=E[0],ae=E[1],se=a[6],fe=a[7],me=Math.cos(b)*(re-se)/2+Math.sin(b)*(ae-fe)/2,Se=-1*Math.sin(b)*(re-se)/2+Math.cos(b)*(ae-fe)/2,Te=me*me/(y*y)+Se*Se/(x*x);Te>1&&(y*=Math.sqrt(Te),x*=Math.sqrt(Te));var ke=y*y*(Se*Se)+x*x*(me*me),We=ke?Math.sqrt((y*y*(x*x)-ke)/ke):1;z===te&&(We*=-1),isNaN(We)&&(We=0);var je=x?We*y*Se/x:0,Ke=y?We*-x*me/y:0,Qe=(re+se)/2+Math.cos(b)*je-Math.sin(b)*Ke,Je=(ae+fe)/2+Math.sin(b)*je+Math.cos(b)*Ke,at=[(me-je)/y,(Se-Ke)/x],ot=[(-1*me-je)/y,(-1*Se-Ke)/x],ut=WC([1,0],at),ft=WC(at,ot);return CE(at,ot)<=-1&&(ft=Math.PI),CE(at,ot)>=1&&(ft=0),te===0&&ft>0&&(ft-=2*Math.PI),te===1&&ft<0&&(ft+=2*Math.PI),{cx:Qe,cy:Je,rx:Dm(E,[se,fe])?0:y,ry:Dm(E,[se,fe])?0:x,startAngle:ut,endAngle:ut+ft,xRotation:b,arcFlag:z,sweepFlag:te}}function JT(E,a,y){return E.reduce(function(x,b){var z="";if(b[0]==="M"||b[0]==="L"){var te=vec3.fromValues(b[1],b[2],0);y&&vec3.transformMat4(te,te,y),z="".concat(b[0]).concat(te[0],",").concat(te[1])}else if(b[0]==="Z")z=b[0];else if(b[0]==="C"){var re=vec3.fromValues(b[1],b[2],0),ae=vec3.fromValues(b[3],b[4],0),se=vec3.fromValues(b[5],b[6],0);y&&(vec3.transformMat4(re,re,y),vec3.transformMat4(ae,ae,y),vec3.transformMat4(se,se,y)),z="".concat(b[0]).concat(re[0],",").concat(re[1],",").concat(ae[0],",").concat(ae[1],",").concat(se[0],",").concat(se[1])}else if(b[0]==="A"){var fe=vec3.fromValues(b[6],b[7],0);y&&vec3.transformMat4(fe,fe,y),z="".concat(b[0]).concat(b[1],",").concat(b[2],",").concat(b[3],",").concat(b[4],",").concat(b[5],",").concat(fe[0],",").concat(fe[1])}else if(b[0]==="Q"){var me=vec3.fromValues(b[1],b[2],0),Se=vec3.fromValues(b[3],b[4],0);y&&(vec3.transformMat4(me,me,y),vec3.transformMat4(Se,Se,y)),z="".concat(b[0]).concat(b[1],",").concat(b[2],",").concat(b[3],",").concat(b[4],"}")}return x+=z},"")}function qT(E,a,y,x){return[["M",E,a],["L",y,x]]}function jC(E,a,y,x){var b=(-1+Math.sqrt(2))/3*4,z=E*b,te=a*b,re=y-E,ae=y+E,se=x-a,fe=x+a;return[["M",re,x],["C",re,x-te,y-z,se,y,se],["C",y+z,se,ae,x-te,ae,x],["C",ae,x+te,y+z,fe,y,fe],["C",y-z,fe,re,x+te,re,x],["Z"]]}function $T(E,a){var y=E.map(function(x,b){return[b===0?"M":"L",x[0],x[1]]});return a&&y.push(["Z"]),y}function eB(E,a,y,x,b){if(b){var z=_slicedToArray(b,4),te=z[0],re=z[1],ae=z[2],se=z[3],fe=E>0?1:-1,me=a>0?1:-1,Se=fe+me!==0?1:0;return[["M",fe*te+y,x],["L",E-fe*re+y,x],re?["A",re,re,0,0,Se,E+y,me*re+x]:null,["L",E+y,a-me*ae+x],ae?["A",ae,ae,0,0,Se,E+y-fe*ae,a+x]:null,["L",y+fe*se,a+x],se?["A",se,se,0,0,Se,y,a+x-me*se]:null,["L",y,me*te+x],te?["A",te,te,0,0,Se,fe*te+y,x]:null,["Z"]].filter(function(Te){return Te})}return[["M",y,x],["L",y+E,x],["L",y+E,x+a],["L",y,x+a],["Z"]]}function DY(E){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:E.getLocalTransform(),y=[];switch(E.nodeName){case la.LINE:var x=E.parsedStyle,b=x.x1,z=b===void 0?0:b,te=x.y1,re=te===void 0?0:te,ae=x.x2,se=ae===void 0?0:ae,fe=x.y2,me=fe===void 0?0:fe;y=qT(z,re,se,me);break;case la.CIRCLE:{var Se=E.parsedStyle,Te=Se.r,ke=Te===void 0?0:Te,We=Se.cx,je=We===void 0?0:We,Ke=Se.cy,Qe=Ke===void 0?0:Ke;y=jC(ke,ke,je,Qe);break}case la.ELLIPSE:{var Je=E.parsedStyle,at=Je.rx,ot=at===void 0?0:at,ut=Je.ry,ft=ut===void 0?0:ut,lt=Je.cx,Dt=lt===void 0?0:lt,Bt=Je.cy,Vt=Bt===void 0?0:Bt;y=jC(ot,ft,Dt,Vt);break}case la.POLYLINE:case la.POLYGON:var Xt=E.parsedStyle.points;y=$T(Xt.points,E.nodeName===la.POLYGON);break;case la.RECT:var vn=E.parsedStyle,on=vn.width,wn=on===void 0?0:on,qn=vn.height,yn=qn===void 0?0:qn,En=vn.x,Pn=En===void 0?0:En,or=vn.y,xn=or===void 0?0:or,yr=vn.radius,na=yr&&yr.some(function(jr){return jr!==0});y=eB(wn,yn,Pn,xn,na&&yr.map(function(jr){return clamp(jr,0,Math.min(Math.abs(wn)/2,Math.abs(yn)/2))}));break;case la.PATH:var ea=E.parsedStyle.d.absolutePath;y=_toConsumableArray(ea);break}if(y.length)return JT(y,E,a)}function IY(E){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,x=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,b=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,z=E.map(function(te,re){var ae=te[0],se=E[re+1],fe=re===0&&(a!==0||y!==0),me=(re===E.length-1||se&&(se[0]==="M"||se[0]==="Z"))&&x!==0&&b!==0,Se=fe?[a,y]:[0,0],Te=_slicedToArray(Se,2),ke=Te[0],We=Te[1],je=me?[x,b]:[0,0],Ke=_slicedToArray(je,2),Qe=Ke[0],Je=Ke[1];switch(ae){case"M":return"M ".concat(te[1]+ke,",").concat(te[2]+We);case"L":return"L ".concat(te[1]+Qe,",").concat(te[2]+Je);case"Q":return"Q ".concat(te[1]," ").concat(te[2],",").concat(te[3]+Qe," ").concat(te[4]+Je);case"C":return"C ".concat(te[1]," ").concat(te[2],",").concat(te[3]," ").concat(te[4],",").concat(te[5]+Qe," ").concat(te[6]+Je);case"A":return"A ".concat(te[1]," ").concat(te[2]," ").concat(te[3]," ").concat(te[4]," ").concat(te[5]," ").concat(te[6]," ").concat(te[7]).concat(me?" L ".concat(te[6]+x,",").concat(te[7]+b):"");case"Z":return"Z";default:return null}}).filter(function(te){return te!==null}).join(" ");return~z.indexOf("NaN")?"":z}var GC=function(a){if(a===""||Array.isArray(a)&&a.length===0)return{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:{x:0,y:0,width:0,height:0}};var y;try{y=cm(a)}catch(Te){y=cm(""),console.error("[g]: Invalid SVG Path definition: ".concat(a))}HT(y);var x=KT(y),b=ZT(y),z=b.polygons,te=b.polylines,re=YT(y),ae=QT(re,0),se=ae.x,fe=ae.y,me=ae.width,Se=ae.height;return{absolutePath:y,hasArc:x,segments:re,polygons:z,polylines:te,totalLength:0,rect:{x:Number.isFinite(se)?se:0,y:Number.isFinite(fe)?fe:0,width:Number.isFinite(me)?me:0,height:Number.isFinite(Se)?Se:0}}},tB=Jl(GC);function VC(E){return Is(E)?tB(E):GC(E)}function nB(E,a,y){var x=E.curve,b=a.curve;(!x||x.length===0)&&(x=rE(E.absolutePath,!1),E.curve=x),(!b||b.length===0)&&(b=rE(a.absolutePath,!1),a.curve=b);var z=[x,b];x.length!==b.length&&(z=Rb(x,b));var te=_b(z[0])!==_b(z[1])?qL(z[0]):$L(z[0]);return[te,tO(z[1],te),function(re){return re}]}function rB(E,a){var y;return Is(E)?y=E.split(" ").map(function(x){var b=x.split(","),z=(0,Wn.Z)(b,2),te=z[0],re=z[1];return[Number(te),Number(re)]}):y=E,{points:y,totalLength:0,segments:[]}}function aB(E,a){return[E.points,a.points,function(y){return y}]}var Cl=null,r0=/\s*(\w+)\(([^)]*)\)/g;function pc(E){return function(a){var y=0;return E.map(function(x){return x===Cl?a[y++]:x})}}function ag(E){return E}var X0={matrix:["NNNNNN",[Cl,Cl,0,0,Cl,Cl,0,0,0,0,1,0,Cl,Cl,0,1],ag],matrix3d:["NNNNNNNNNNNNNNNN",ag],rotate:["A"],rotateX:["A"],rotateY:["A"],rotateZ:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",pc([Cl,Cl,new Js(1)]),ag],scaleX:["N",pc([Cl,new Js(1),new Js(1)]),pc([Cl,new Js(1)])],scaleY:["N",pc([new Js(1),Cl,new Js(1)]),pc([new Js(1),Cl])],scaleZ:["N",pc([new Js(1),new Js(1),Cl])],scale3d:["NNN",ag],skew:["Aa",null,ag],skewX:["A",null,pc([Cl,ng])],skewY:["A",null,pc([ng,Cl])],translate:["Tt",pc([Cl,Cl,Dd]),ag],translateX:["T",pc([Cl,Dd,Dd]),pc([Cl,Dd])],translateY:["T",pc([Dd,Cl,Dd]),pc([Dd,Cl])],translateZ:["L",pc([Dd,Dd,Cl])],translate3d:["TTL",ag]};function HC(E){for(var a=[],y=E.length,x=0;x<y;x++){var b=E[x],z=b[0],te=b.slice(1);z==="translate"||z==="skew"?te.length===1&&te.push(0):z==="scale"&&te.length===1&&te.push(te[0]);var re=X0[z];if(!re)return[];var ae=te.map(function(se){return hl(se)});a.push({t:z,d:ae})}return a}function KC(E){if(Array.isArray(E))return HC(E);if(E=(E||"none").trim(),E==="none")return[];var a=[],y,x=0;for(r0.lastIndex=0;y=r0.exec(E);){if(y.index!==x)return[];x=y.index+y[0].length;var b=y[1],z=X0[b];if(!z)return[];var te=y[2].split(","),re=z[0];if(re.length<te.length)return[];for(var ae=[],se=0;se<re.length;se++){var fe=te[se],me=re[se],Se=void 0;if(fe?Se={A:function(ke){return ke.trim()==="0"?ng:zT(ke)},N:AE,T:EE,L:FT}[me.toUpperCase()](fe):Se={a:ng,n:ae[0],t:Dd}[me],Se===void 0)return[];ae.push(Se)}if(a.push({t:b,d:ae}),r0.lastIndex===E.length)return a}return[]}function iB(E){if(Array.isArray(E))return HC(E);if(E=(E||"none").trim(),E==="none")return[];var a=[],y,x=0;for(r0.lastIndex=0;y=r0.exec(E);){if(y.index!==x)return[];x=y.index+y[0].length;var b=y[1],z=X0[b];if(!z)return[];var te=y[2].split(","),re=z[0];if(re.length<te.length)return[];for(var ae=[],se=0;se<re.length;se++){var fe=te[se],me=re[se],Se=void 0;if(fe?Se={A:function(ke){return ke.trim()==="0"?ng:TC(ke)},N:RC,T:OC,L:LC}[me.toUpperCase()](fe):Se={a:ng,n:ae[0],t:Dd}[me],Se===void 0)return[];ae.push(Se)}if(a.push({t:b,d:ae}),r0.lastIndex===E.length)return a}return[]}function oB(E){var a,y,x,b;switch(E.t){case"rotateX":return b=Ys(mc(E.d[0])),[1,0,0,0,0,Math.cos(b),Math.sin(b),0,0,-Math.sin(b),Math.cos(b),0,0,0,0,1];case"rotateY":return b=Ys(mc(E.d[0])),[Math.cos(b),0,-Math.sin(b),0,0,1,0,0,Math.sin(b),0,Math.cos(b),0,0,0,0,1];case"rotate":case"rotateZ":return b=Ys(mc(E.d[0])),[Math.cos(b),Math.sin(b),0,0,-Math.sin(b),Math.cos(b),0,0,0,0,1,0,0,0,0,1];case"rotate3d":a=E.d[0].value,y=E.d[1].value,x=E.d[2].value,b=Ys(mc(E.d[3]));var z=a*a+y*y+x*x;if(z===0)a=1,y=0,x=0;else if(z!==1){var te=Math.sqrt(z);a/=te,y/=te,x/=te}var re=Math.sin(b/2),ae=re*Math.cos(b/2),se=re*re;return[1-2*(y*y+x*x)*se,2*(a*y*se+x*ae),2*(a*x*se-y*ae),0,2*(a*y*se-x*ae),1-2*(a*a+x*x)*se,2*(y*x*se+a*ae),0,2*(a*x*se+y*ae),2*(y*x*se-a*ae),1-2*(a*a+y*y)*se,0,0,0,0,1];case"scale":return[E.d[0].value,0,0,0,0,E.d[1].value,0,0,0,0,1,0,0,0,0,1];case"scaleX":return[E.d[0].value,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"scaleY":return[1,0,0,0,0,E.d[0].value,0,0,0,0,1,0,0,0,0,1];case"scaleZ":return[1,0,0,0,0,1,0,0,0,0,E.d[0].value,0,0,0,0,1];case"scale3d":return[E.d[0].value,0,0,0,0,E.d[1].value,0,0,0,0,E.d[2].value,0,0,0,0,1];case"skew":var fe=Ys(mc(E.d[0])),me=Ys(mc(E.d[1]));return[1,Math.tan(me),0,0,Math.tan(fe),1,0,0,0,0,1,0,0,0,0,1];case"skewX":return b=Ys(mc(E.d[0])),[1,0,0,0,Math.tan(b),1,0,0,0,0,1,0,0,0,0,1];case"skewY":return b=Ys(mc(E.d[0])),[1,Math.tan(b),0,0,0,1,0,0,0,0,1,0,0,0,0,1];case"translate":return a=Bc(E.d[0],0,null)||0,y=Bc(E.d[1],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,a,y,0,1];case"translateX":return a=Bc(E.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,a,0,0,1];case"translateY":return y=Bc(E.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,y,0,1];case"translateZ":return x=Bc(E.d[0],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,x,1];case"translate3d":return a=Bc(E.d[0],0,null)||0,y=Bc(E.d[1],0,null)||0,x=Bc(E.d[2],0,null)||0,[1,0,0,0,0,1,0,0,0,0,1,0,a,y,x,1];case"perspective":var Se=Bc(E.d[0],0,null)||0,Te=Se?-1/Se:0;return[1,0,0,0,0,1,0,0,0,0,1,Te,0,0,0,1];case"matrix":return[E.d[0].value,E.d[1].value,0,0,E.d[2].value,E.d[3].value,0,0,0,0,1,0,E.d[4].value,E.d[5].value,0,1];case"matrix3d":return E.d.map(function(ke){return ke.value})}}function sB(E,a){return[E[0]*a[0]+E[4]*a[1]+E[8]*a[2]+E[12]*a[3],E[1]*a[0]+E[5]*a[1]+E[9]*a[2]+E[13]*a[3],E[2]*a[0]+E[6]*a[1]+E[10]*a[2]+E[14]*a[3],E[3]*a[0]+E[7]*a[1]+E[11]*a[2]+E[15]*a[3],E[0]*a[4]+E[4]*a[5]+E[8]*a[6]+E[12]*a[7],E[1]*a[4]+E[5]*a[5]+E[9]*a[6]+E[13]*a[7],E[2]*a[4]+E[6]*a[5]+E[10]*a[6]+E[14]*a[7],E[3]*a[4]+E[7]*a[5]+E[11]*a[6]+E[15]*a[7],E[0]*a[8]+E[4]*a[9]+E[8]*a[10]+E[12]*a[11],E[1]*a[8]+E[5]*a[9]+E[9]*a[10]+E[13]*a[11],E[2]*a[8]+E[6]*a[9]+E[10]*a[10]+E[14]*a[11],E[3]*a[8]+E[7]*a[9]+E[11]*a[10]+E[15]*a[11],E[0]*a[12]+E[4]*a[13]+E[8]*a[14]+E[12]*a[15],E[1]*a[12]+E[5]*a[13]+E[9]*a[14]+E[13]*a[15],E[2]*a[12]+E[6]*a[13]+E[10]*a[14]+E[14]*a[15],E[3]*a[12]+E[7]*a[13]+E[11]*a[14]+E[15]*a[15]]}function lB(E){return E.length===0?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:E.map(oB).reduce(sB)}function ZC(E){var a=[0,0,0],y=[1,1,1],x=[0,0,0],b=[0,0,0,1],z=[0,0,0,1];return KO(lB(E),a,y,x,b,z),[[a,y,x,z,b]]}var uB=function(){function E(x,b){for(var z=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],te=0;te<4;te++)for(var re=0;re<4;re++)for(var ae=0;ae<4;ae++)z[te][re]+=b[te][ae]*x[ae][re];return z}function a(x){return x[0][2]===0&&x[0][3]===0&&x[1][2]===0&&x[1][3]===0&&x[2][0]===0&&x[2][1]===0&&x[2][2]===1&&x[2][3]===0&&x[3][2]===0&&x[3][3]===1}function y(x,b,z,te,re){for(var ae=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],se=0;se<4;se++)ae[se][3]=re[se];for(var fe=0;fe<3;fe++)for(var me=0;me<3;me++)ae[3][fe]+=x[me]*ae[me][fe];var Se=te[0],Te=te[1],ke=te[2],We=te[3],je=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];je[0][0]=1-2*(Te*Te+ke*ke),je[0][1]=2*(Se*Te-ke*We),je[0][2]=2*(Se*ke+Te*We),je[1][0]=2*(Se*Te+ke*We),je[1][1]=1-2*(Se*Se+ke*ke),je[1][2]=2*(Te*ke-Se*We),je[2][0]=2*(Se*ke-Te*We),je[2][1]=2*(Te*ke+Se*We),je[2][2]=1-2*(Se*Se+Te*Te),ae=E(ae,je);var Ke=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];z[2]&&(Ke[2][1]=z[2],ae=E(ae,Ke)),z[1]&&(Ke[2][1]=0,Ke[2][0]=z[0],ae=E(ae,Ke)),z[0]&&(Ke[2][0]=0,Ke[1][0]=z[0],ae=E(ae,Ke));for(var Qe=0;Qe<3;Qe++)for(var Je=0;Je<3;Je++)ae[Qe][Je]*=b[Qe];return a(ae)?[ae[0][0],ae[0][1],ae[1][0],ae[1][1],ae[3][0],ae[3][1]]:ae[0].concat(ae[1],ae[2],ae[3])}return y}();function cB(E){return E.toFixed(6).replace(".000000","")}function PE(E,a){var y,x;return E.decompositionPair!==a&&(E.decompositionPair=a,y=ZC(E)),a.decompositionPair!==E&&(a.decompositionPair=E,x=ZC(a)),y[0]===null||x[0]===null?[[!1],[!0],function(b){return b?a[0].d:E[0].d}]:(y[0].push(0),x[0].push(1),[y,x,function(b){var z=fB(y[0][3],x[0][3],b[5]),te=uB(b[0],b[1],b[2],z,b[4]),re=te.map(cB).join(",");return re}])}function dB(E,a){for(var y=0,x=0;x<E.length;x++)y+=E[x]*a[x];return y}function fB(E,a,y){var x=dB(E,a);x=bl(x,-1,1);var b=[];if(x===1)b=E;else for(var z=Math.acos(x),te=Math.sin(y*z)*1/Math.sqrt(1-x*x),re=0;re<4;re++)b.push(E[re]*(Math.cos(y*z)-x*te)+a[re]*te);return b}function wE(E){return E.replace(/[XY]/,"")}function ME(E){return E.replace(/(X|Y|Z|3d)?$/,"3d")}var hB=function(a,y){return a==="perspective"&&y==="perspective"||(a==="matrix"||a==="matrix3d")&&(y==="matrix"||y==="matrix3d")};function gB(E,a,y){var x=!1;if(!E.length||!a.length){E.length||(x=!0,E=a,a=[]);for(var b=function(){var Vt=E[z],Xt=Vt.t,vn=Vt.d,on=Xt.substring(0,5)==="scale"?1:0;a.push({t:Xt,d:vn.map(function(wn){return typeof wn=="number"?hl(on):hl(on,wn.unit)})})},z=0;z<E.length;z++)b()}var te=[],re=[],ae=[];if(E.length!==a.length){var se=PE(E,a);te=[se[0]],re=[se[1]],ae=[["matrix",[se[2]]]]}else for(var fe=0;fe<E.length;fe++){var me=E[fe].t,Se=a[fe].t,Te=E[fe].d,ke=a[fe].d,We=X0[me],je=X0[Se],Ke=void 0;if(hB(me,Se)){var Qe=PE([E[fe]],[a[fe]]);te.push(Qe[0]),re.push(Qe[1]),ae.push(["matrix",[Qe[2]]]);continue}else if(me===Se)Ke=me;else if(We[2]&&je[2]&&wE(me)===wE(Se))Ke=wE(me),Te=We[2](Te),ke=je[2](ke);else if(We[1]&&je[1]&&ME(me)===ME(Se))Ke=ME(me),Te=We[1](Te),ke=je[1](ke);else{var Je=PE(E,a);te=[Je[0]],re=[Je[1]],ae=[["matrix",[Je[2]]]];break}for(var at=[],ot=[],ut=[],ft=0;ft<Te.length;ft++){var lt=UT(Te[ft],ke[ft],y,!1,ft);at[ft]=lt[0],ot[ft]=lt[1],ut.push(lt[2])}te.push(at),re.push(ot),ae.push([Ke,ut])}if(x){var Dt=te;te=re,re=Dt}return[te,re,function(Bt){return Bt.map(function(Vt,Xt){var vn=Vt.map(function(on,wn){return ae[Xt][1][wn](on)}).join(",");return ae[Xt][0]==="matrix"&&vn.split(",").length===16&&(ae[Xt][0]="matrix3d"),ae[Xt][0]==="matrix3d"&&vn.split(",").length===6&&(ae[Xt][0]="matrix"),"".concat(ae[Xt][0],"(").concat(vn,")")}).join(" ")}]}var vB=Jl(function(E){if(Is(E)){if(E==="text-anchor")return[hl(0,"px"),hl(0,"px")];var a=E.split(" ");return a.length===1&&(a[0]==="top"||a[0]==="bottom"?(a[1]=a[0],a[0]="center"):a[1]="center"),a.length!==2?null:[EE(QC(a[0])),EE(QC(a[1]))]}return[hl(E[0]||0,"px"),hl(E[1]||0,"px")]});function QC(E){return E==="center"?"50%":E==="left"||E==="top"?"0%":E==="right"||E==="bottom"?"100%":E}var DE=[{n:"display",k:["none"]},{n:"opacity",int:!0,inh:!0,d:"1",syntax:mi.OPACITY_VALUE},{n:"fillOpacity",int:!0,inh:!0,d:"1",syntax:mi.OPACITY_VALUE},{n:"strokeOpacity",int:!0,inh:!0,d:"1",syntax:mi.OPACITY_VALUE},{n:"fill",int:!0,k:["none"],d:"none",syntax:mi.PAINT},{n:"fillRule",k:["nonzero","evenodd"],d:"nonzero"},{n:"stroke",int:!0,k:["none"],d:"none",syntax:mi.PAINT,l:!0},{n:"shadowType",k:["inner","outer","both"],d:"outer",l:!0},{n:"shadowColor",int:!0,syntax:mi.COLOR},{n:"shadowOffsetX",int:!0,l:!0,d:"0",syntax:mi.LENGTH_PERCENTAGE},{n:"shadowOffsetY",int:!0,l:!0,d:"0",syntax:mi.LENGTH_PERCENTAGE},{n:"shadowBlur",int:!0,l:!0,d:"0",syntax:mi.SHADOW_BLUR},{n:"lineWidth",int:!0,inh:!0,d:"1",l:!0,a:["strokeWidth"],syntax:mi.LENGTH_PERCENTAGE},{n:"increasedLineWidthForHitTesting",inh:!0,d:"0",l:!0,syntax:mi.LENGTH_PERCENTAGE},{n:"lineJoin",inh:!0,l:!0,a:["strokeLinejoin"],k:["miter","bevel","round"],d:"miter"},{n:"lineCap",inh:!0,l:!0,a:["strokeLinecap"],k:["butt","round","square"],d:"butt"},{n:"lineDash",int:!0,inh:!0,k:["none"],a:["strokeDasharray"],syntax:mi.LENGTH_PERCENTAGE_12},{n:"lineDashOffset",int:!0,inh:!0,d:"0",a:["strokeDashoffset"],syntax:mi.LENGTH_PERCENTAGE},{n:"offsetPath",syntax:mi.DEFINED_PATH},{n:"offsetDistance",int:!0,syntax:mi.OFFSET_DISTANCE},{n:"dx",int:!0,l:!0,d:"0",syntax:mi.LENGTH_PERCENTAGE},{n:"dy",int:!0,l:!0,d:"0",syntax:mi.LENGTH_PERCENTAGE},{n:"zIndex",ind:!0,int:!0,d:"0",k:["auto"],syntax:mi.Z_INDEX},{n:"visibility",k:["visible","hidden"],ind:!0,inh:!0,int:!0,d:"visible"},{n:"pointerEvents",inh:!0,k:["none","auto","stroke","fill","painted","visible","visiblestroke","visiblefill","visiblepainted","all"],d:"auto"},{n:"filter",ind:!0,l:!0,k:["none"],d:"none",syntax:mi.FILTER},{n:"clipPath",syntax:mi.DEFINED_PATH},{n:"textPath",syntax:mi.DEFINED_PATH},{n:"textPathSide",k:["left","right"],d:"left"},{n:"textPathStartOffset",l:!0,d:"0",syntax:mi.LENGTH_PERCENTAGE},{n:"transform",p:100,int:!0,k:["none"],d:"none",syntax:mi.TRANSFORM},{n:"transformOrigin",p:100,d:"0 0",l:!0,syntax:mi.TRANSFORM_ORIGIN},{n:"cx",int:!0,l:!0,d:"0",syntax:mi.COORDINATE},{n:"cy",int:!0,l:!0,d:"0",syntax:mi.COORDINATE},{n:"cz",int:!0,l:!0,d:"0",syntax:mi.COORDINATE},{n:"r",int:!0,l:!0,d:"0",syntax:mi.LENGTH_PERCENTAGE},{n:"rx",int:!0,l:!0,d:"0",syntax:mi.LENGTH_PERCENTAGE},{n:"ry",int:!0,l:!0,d:"0",syntax:mi.LENGTH_PERCENTAGE},{n:"x",int:!0,l:!0,d:"0",syntax:mi.COORDINATE},{n:"y",int:!0,l:!0,d:"0",syntax:mi.COORDINATE},{n:"z",int:!0,l:!0,d:"0",syntax:mi.COORDINATE},{n:"width",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:mi.LENGTH_PERCENTAGE},{n:"height",int:!0,l:!0,k:["auto","fit-content","min-content","max-content"],d:"0",syntax:mi.LENGTH_PERCENTAGE},{n:"radius",int:!0,l:!0,d:"0",syntax:mi.LENGTH_PERCENTAGE_14},{n:"x1",int:!0,l:!0,syntax:mi.COORDINATE},{n:"y1",int:!0,l:!0,syntax:mi.COORDINATE},{n:"z1",int:!0,l:!0,syntax:mi.COORDINATE},{n:"x2",int:!0,l:!0,syntax:mi.COORDINATE},{n:"y2",int:!0,l:!0,syntax:mi.COORDINATE},{n:"z2",int:!0,l:!0,syntax:mi.COORDINATE},{n:"d",int:!0,l:!0,d:"",syntax:mi.PATH,p:50},{n:"points",int:!0,l:!0,syntax:mi.LIST_OF_POINTS,p:50},{n:"text",l:!0,d:"",syntax:mi.TEXT,p:50},{n:"textTransform",l:!0,inh:!0,k:["capitalize","uppercase","lowercase","none"],d:"none",syntax:mi.TEXT_TRANSFORM,p:51},{n:"font",l:!0},{n:"fontSize",int:!0,inh:!0,d:"16px",l:!0,syntax:mi.LENGTH_PERCENTAGE},{n:"fontFamily",l:!0,inh:!0,d:"sans-serif"},{n:"fontStyle",l:!0,inh:!0,k:["normal","italic","oblique"],d:"normal"},{n:"fontWeight",l:!0,inh:!0,k:["normal","bold","bolder","lighter"],d:"normal"},{n:"fontVariant",l:!0,inh:!0,k:["normal","small-caps"],d:"normal"},{n:"lineHeight",l:!0,syntax:mi.LENGTH,int:!0,d:"0"},{n:"letterSpacing",l:!0,syntax:mi.LENGTH,int:!0,d:"0"},{n:"miterLimit",l:!0,syntax:mi.NUMBER,d:function(a){return a===la.PATH||a===la.POLYGON||a===la.POLYLINE?"4":"10"}},{n:"wordWrap",l:!0},{n:"wordWrapWidth",l:!0},{n:"maxLines",l:!0},{n:"textOverflow",l:!0,d:"clip"},{n:"leading",l:!0},{n:"textBaseline",l:!0,inh:!0,k:["top","hanging","middle","alphabetic","ideographic","bottom"],d:"alphabetic"},{n:"textAlign",l:!0,inh:!0,k:["start","center","middle","end","left","right"],d:"start"},{n:"markerStart",syntax:mi.MARKER},{n:"markerEnd",syntax:mi.MARKER},{n:"markerMid",syntax:mi.MARKER},{n:"markerStartOffset",syntax:mi.LENGTH,l:!0,int:!0,d:"0"},{n:"markerEndOffset",syntax:mi.LENGTH,l:!0,int:!0,d:"0"}],mB=new Set(DE.filter(function(E){return!!E.l}).map(function(E){return E.n})),YC={},pB=function(){function E(a){var y=this;(0,Ar.Z)(this,E),this.runtime=a,DE.forEach(function(x){y.registerMetadata(x)})}return(0,$n.Z)(E,[{key:"registerMetadata",value:function(y){[y.n].concat((0,va.Z)(y.a||[])).forEach(function(x){YC[x]=y})}},{key:"getPropertySyntax",value:function(y){return this.runtime.CSSPropertySyntaxFactory[y]}},{key:"processProperties",value:function(y,x){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{skipUpdateAttribute:!1,skipParse:!1,forceUpdateGeometry:!1,usedAttributes:[],memoize:!0};Object.assign(y.attributes,x);var z=y.parsedStyle.clipPath,te=y.parsedStyle.offsetPath;yB(y,x);var re=!!b.forceUpdateGeometry;if(!re){for(var ae in x)if(mB.has(ae)){re=!0;break}}var se=XC(y);se.has("fill")&&x.fill&&(y.parsedStyle.fill=Q0(x.fill)),se.has("stroke")&&x.stroke&&(y.parsedStyle.stroke=Q0(x.stroke)),se.has("shadowColor")&&x.shadowColor&&(y.parsedStyle.shadowColor=Q0(x.shadowColor)),se.has("filter")&&x.filter&&(y.parsedStyle.filter=GT(x.filter)),se.has("radius")&&!fo(x.radius)&&(y.parsedStyle.radius=BC(x.radius,4)),se.has("lineDash")&&!fo(x.lineDash)&&(y.parsedStyle.lineDash=BC(x.lineDash,"even")),se.has("points")&&x.points&&(y.parsedStyle.points=rB(x.points)),se.has("d")&&x.d===""&&(y.parsedStyle.d=(0,Cr.Z)({},gC)),se.has("d")&&x.d&&(y.parsedStyle.d=VC(x.d)),se.has("textTransform")&&x.textTransform&&this.runtime.CSSPropertySyntaxFactory[mi.TEXT_TRANSFORM].calculator(null,null,{value:x.textTransform},y,null),se.has("clipPath")&&!Lo(x.clipPath)&&this.runtime.CSSPropertySyntaxFactory[mi.DEFINED_PATH].calculator("clipPath",z,x.clipPath,y,this.runtime),se.has("offsetPath")&&x.offsetPath&&this.runtime.CSSPropertySyntaxFactory[mi.DEFINED_PATH].calculator("offsetPath",te,x.offsetPath,y,this.runtime),se.has("transform")&&x.transform&&(y.parsedStyle.transform=KC(x.transform)),se.has("transformOrigin")&&x.transformOrigin&&(y.parsedStyle.transformOrigin=vB(x.transformOrigin)),se.has("markerStart")&&x.markerStart&&(y.parsedStyle.markerStart=this.runtime.CSSPropertySyntaxFactory[mi.MARKER].calculator(null,x.markerStart,x.markerStart,null,null)),se.has("markerEnd")&&x.markerEnd&&(y.parsedStyle.markerEnd=this.runtime.CSSPropertySyntaxFactory[mi.MARKER].calculator(null,x.markerEnd,x.markerEnd,null,null)),se.has("markerMid")&&x.markerMid&&(y.parsedStyle.markerMid=this.runtime.CSSPropertySyntaxFactory[mi.MARKER].calculator("",x.markerMid,x.markerMid,null,null)),se.has("zIndex")&&!fo(x.zIndex)&&this.runtime.CSSPropertySyntaxFactory[mi.Z_INDEX].postProcessor(y),se.has("offsetDistance")&&!fo(x.offsetDistance)&&this.runtime.CSSPropertySyntaxFactory[mi.OFFSET_DISTANCE].postProcessor(y),se.has("transform")&&x.transform&&this.runtime.CSSPropertySyntaxFactory[mi.TRANSFORM].postProcessor(y),se.has("transformOrigin")&&x.transformOrigin&&this.runtime.CSSPropertySyntaxFactory[mi.TRANSFORM_ORIGIN].postProcessor(y),re&&(y.geometry.dirty=!0,y.renderable.boundsDirty=!0,y.renderable.renderBoundsDirty=!0,b.forceUpdateGeometry||this.runtime.sceneGraphService.dirtifyToRoot(y))}},{key:"updateGeometry",value:function(y){var x=y.nodeName,b=this.runtime.geometryUpdaterFactory[x];if(b){var z=y.geometry;z.contentBounds||(z.contentBounds=new il),z.renderBounds||(z.renderBounds=new il);var te=y.parsedStyle,re=b.update(te,y),ae=re.cx,se=ae===void 0?0:ae,fe=re.cy,me=fe===void 0?0:fe,Se=re.cz,Te=Se===void 0?0:Se,ke=re.hwidth,We=ke===void 0?0:ke,je=re.hheight,Ke=je===void 0?0:je,Qe=re.hdepth,Je=Qe===void 0?0:Qe,at=[Math.abs(We),Math.abs(Ke),Je],ot=te.stroke,ut=te.lineWidth,ft=ut===void 0?1:ut,lt=te.increasedLineWidthForHitTesting,Dt=lt===void 0?0:lt,Bt=te.shadowType,Vt=Bt===void 0?"outer":Bt,Xt=te.shadowColor,vn=te.filter,on=vn===void 0?[]:vn,wn=te.transformOrigin,qn=[se,me,Te];z.contentBounds.update(qn,at);var yn=x===la.POLYLINE||x===la.POLYGON||x===la.PATH?Math.SQRT2:.5,En=ot&&!ot.isNone;if(En){var Pn=((ft||0)+(Dt||0))*yn;at[0]+=Pn,at[1]+=Pn}if(z.renderBounds.update(qn,at),Xt&&Vt&&Vt!=="inner"){var or=z.renderBounds,xn=or.min,yr=or.max,na=te.shadowBlur,ea=te.shadowOffsetX,jr=te.shadowOffsetY,Or=na||0,Yr=ea||0,fa=jr||0,Ia=xn[0]-Or+Yr,oi=yr[0]+Or+Yr,Eo=xn[1]-Or+fa,to=yr[1]+Or+fa;xn[0]=Math.min(xn[0],Ia),yr[0]=Math.max(yr[0],oi),xn[1]=Math.min(xn[1],Eo),yr[1]=Math.max(yr[1],to),z.renderBounds.setMinMax(xn,yr)}on.forEach(function(lo){var Xo=lo.name,Oo=lo.params;if(Xo==="blur"){var si=Oo[0].value;z.renderBounds.update(z.renderBounds.center,fs(z.renderBounds.halfExtents,z.renderBounds.halfExtents,[si,si,0]))}else if(Xo==="drop-shadow"){var Di=Oo[0].value,ya=Oo[1].value,La=Oo[2].value,Ya=z.renderBounds,zi=Ya.min,Ca=Ya.max,oo=zi[0]-La+Di,Ui=Ca[0]+La+Di,gs=zi[1]-La+ya,Ko=Ca[1]+La+ya;zi[0]=Math.min(zi[0],oo),Ca[0]=Math.max(Ca[0],Ui),zi[1]=Math.min(zi[1],gs),Ca[1]=Math.max(Ca[1],Ko),z.renderBounds.setMinMax(zi,Ca)}}),y.geometry.dirty=!1;var ri=We<0,Qi=Ke<0,Ri=(ri?-1:1)*(wn?Bc(wn[0],0,y,!0):0),Ji=(Qi?-1:1)*(wn?Bc(wn[1],1,y,!0):0);(Ri||Ji)&&y.setOrigin(Ri,Ji)}}},{key:"updateSizeAttenuation",value:function(y,x){y.style.isSizeAttenuation?(y.style.rawLineWidth||(y.style.rawLineWidth=y.style.lineWidth),y.style.lineWidth=(y.style.rawLineWidth||1)/x,y.nodeName===la.CIRCLE&&(y.style.rawR||(y.style.rawR=y.style.r),y.style.r=(y.style.rawR||1)/x)):(y.style.rawLineWidth&&(y.style.lineWidth=y.style.rawLineWidth,delete y.style.rawLineWidth),y.nodeName===la.CIRCLE&&y.style.rawR&&(y.style.r=y.style.rawR,delete y.style.rawR))}}])}();function yB(E,a){var y=XC(E);for(var x in a)y.has(x)&&(E.parsedStyle[x]=a[x])}function XC(E){return E.constructor.PARSED_STYLE_LIST}var EB=function(){function E(){(0,Ar.Z)(this,E),this.mixer=xE}return(0,$n.Z)(E,[{key:"calculator",value:function(y,x,b,z){return mc(b)}}])}(),AB=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"calculator",value:function(y,x,b,z,te){return b instanceof rd&&(b=null),te.sceneGraphService.updateDisplayObjectDependency(y,x,b,z),y==="clipPath"&&z.forEach(function(re){re.childNodes.length===0&&te.sceneGraphService.dirtifyToRoot(re)}),b}}])}(),xB=function(){function E(){(0,Ar.Z)(this,E),this.parser=Q0,this.mixer=_T}return(0,$n.Z)(E,[{key:"calculator",value:function(y,x,b,z){return b instanceof rd?b.value==="none"?MC:DC:b}}])}(),SB=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"calculator",value:function(y,x,b){return b instanceof rd?[]:b}}])}();function JC(E){var a=E.parsedStyle,y=a.fontSize;return fo(y)?null:y}var IE=function(){function E(){(0,Ar.Z)(this,E),this.mixer=xE}return(0,$n.Z)(E,[{key:"calculator",value:function(y,x,b,z,te){if(Oi(b))return b;if(Js.isRelativeUnit(b.unit)){if(b.unit===yi.kPercentage)return 0;if(b.unit===yi.kEms){if(z.parentNode){var re=JC(z.parentNode);if(re)return re*=b.value,re}return 0}if(b.unit===yi.kRems){var ae;if(z!=null&&(ae=z.ownerDocument)!==null&&ae!==void 0&&ae.documentElement){var se=JC(z.ownerDocument.documentElement);if(se)return se*=b.value,se}return 0}}else return b.value}}])}(),bB=function(){function E(){(0,Ar.Z)(this,E),this.mixer=_C}return(0,$n.Z)(E,[{key:"calculator",value:function(y,x,b){return b.map(function(z){return z.value})}}])}(),CB=function(){function E(){(0,Ar.Z)(this,E),this.mixer=_C}return(0,$n.Z)(E,[{key:"calculator",value:function(y,x,b){return b.map(function(z){return z.value})}}])}(),PB=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"calculator",value:function(y,x,b,z){var te;b instanceof rd&&(b=null);var re=(te=b)===null||te===void 0?void 0:te.cloneNode(!0);return re&&(re.style.isMarker=!0),re}}])}(),wB=function(){function E(){(0,Ar.Z)(this,E),this.mixer=xE}return(0,$n.Z)(E,[{key:"calculator",value:function(y,x,b){return b.value}}])}(),MB=function(){function E(){(0,Ar.Z)(this,E),this.mixer=SE(0,1)}return(0,$n.Z)(E,[{key:"calculator",value:function(y,x,b){return b.value}},{key:"postProcessor",value:function(y){var x=y.parsedStyle,b=x.offsetPath,z=x.offsetDistance;if(b){var te=b.nodeName;if(te===la.LINE||te===la.PATH||te===la.POLYLINE){var re=b.getPoint(z);re&&y.setLocalPosition(re.x,re.y)}}}}])}(),DB=function(){function E(){(0,Ar.Z)(this,E),this.mixer=SE(0,1)}return(0,$n.Z)(E,[{key:"calculator",value:function(y,x,b){return b.value}}])}(),IB=function(){function E(){(0,Ar.Z)(this,E),this.parser=VC,this.mixer=nB}return(0,$n.Z)(E,[{key:"calculator",value:function(y,x,b){return b instanceof rd&&b.value==="unset"?{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new qg(0,0,0,0)}:b}}])}(),LB=(0,$n.Z)(function E(){(0,Ar.Z)(this,E),this.mixer=aB}),OB=function(E){function a(){var y;(0,Ar.Z)(this,a);for(var x=arguments.length,b=new Array(x),z=0;z<x;z++)b[z]=arguments[z];return y=Tr(this,a,[].concat(b)),y.mixer=SE(0,1/0),y}return(0,da.Z)(a,E),(0,$n.Z)(a)}(IE),TB=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"calculator",value:function(y,x,b,z){return b instanceof rd?b.value==="unset"?"":b.value:"".concat(b)}},{key:"postProcessor",value:function(y){y.nodeValue="".concat(y.parsedStyle.text)||""}}])}(),BB=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"calculator",value:function(y,x,b,z){var te=z.getAttribute("text");if(te){var re=te;b.value==="capitalize"?re=te.charAt(0).toUpperCase()+te.slice(1):b.value==="lowercase"?re=te.toLowerCase():b.value==="uppercase"&&(re=te.toUpperCase()),z.parsedStyle.text=re}return b.value}}])}(),LY=function(a){return Object.fromEntries(Object.entries(a).filter(function(y){var x=_slicedToArray(y,2),b=x[1];return b!==void 0}))},LE=new WeakMap;function NB(E,a,y){if(E){var x=typeof E=="string"?document.getElementById(E):E;LE.has(x)&&LE.get(x).destroy(y),LE.set(x,a)}}var OE=typeof window!="undefined"&&typeof window.document!="undefined";function RB(E){return!!E.getAttribute}function _B(E,a){for(var y=0,x=E.length;y<x;){var b=y+x>>>1;qC(E[b],a)<0?y=b+1:x=b}return y}function qC(E,a){var y=Number(E.parsedStyle.zIndex||0),x=Number(a.parsedStyle.zIndex||0);if(y===x){var b=E.parentNode;if(b){var z=b.childNodes||[];return z.indexOf(E)-z.indexOf(a)}}return y-x}function $C(E){var a=E;do{var y,x=(y=a.parsedStyle)===null||y===void 0?void 0:y.clipPath;if(x)return a;a=a.parentElement}while(a!==null);return null}var eP="px";function FB(E,a,y){OE&&E.style&&(E.style.width=a+eP,E.style.height=y+eP)}function tP(E,a){if(OE)return document.defaultView.getComputedStyle(E,null).getPropertyValue(a)}function kB(E){var a=tP(E,"width");return a==="auto"?E.offsetWidth:parseFloat(a)}function zB(E){var a=tP(E,"height");return a==="auto"?E.offsetHeight:parseFloat(a)}var UB=1,WB={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},TE=typeof performance=="object"&&performance.now?performance:Date;function Om(E){return E.nodeName===la.FRAGMENT?!0:E.getRootNode().nodeName===la.FRAGMENT}function ig(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"auto",a=arguments.length>1?arguments[1]:void 0,y=arguments.length>2?arguments[2]:void 0,x=!1,b=!1,z=!!a&&!a.isNone,te=!!y&&!y.isNone;return E==="visiblepainted"||E==="painted"||E==="auto"?(x=z,b=te):E==="visiblefill"||E==="fill"?x=!0:E==="visiblestroke"||E==="stroke"?b=!0:(E==="visible"||E==="all")&&(x=!0,b=!0),[x,b]}var jB=1,GB=function(){return jB++},ef=typeof self=="object"&&self.self===self?self:typeof Oe.g=="object"&&Oe.g.global===Oe.g?Oe.g:{},VB=Date.now(),HB=function(){return ef.performance&&typeof ef.performance.now=="function"?ef.performance.now():Date.now()-VB},J0={},nP=Date.now(),KB=function(a){if(typeof a!="function")throw new TypeError("".concat(a," is not a function"));var y=Date.now(),x=y-nP,b=x>16?0:16-x,z=GB();return J0[z]=a,Object.keys(J0).length>1||setTimeout(function(){nP=y;var te=J0;J0={},Object.keys(te).forEach(function(re){return te[re](HB())})},b),z},ZB=function(a){delete J0[a]},QB=["","webkit","moz","ms","o"],rP=function(a){return typeof a!="string"?KB:a===""?ef.requestAnimationFrame:ef["".concat(a,"RequestAnimationFrame")]},YB=function(a){return typeof a!="string"?ZB:a===""?ef.cancelAnimationFrame:ef["".concat(a,"CancelAnimationFrame")]||ef["".concat(a,"CancelRequestAnimationFrame")]},XB=function(a,y){for(var x=0;a[x]!==void 0;){if(y(a[x]))return a[x];x+=1}},aP=XB(QB,function(E){return!!rP(E)}),BE=rP(aP),iP=YB(aP);ef.requestAnimationFrame=BE,ef.cancelAnimationFrame=iP;var JB=function(){function E(){(0,Ar.Z)(this,E),this.callbacks=[]}return(0,$n.Z)(E,[{key:"getCallbacksNum",value:function(){return this.callbacks.length}},{key:"tapPromise",value:function(y,x){this.callbacks.push(x)}},{key:"promise",value:function(){for(var y=arguments.length,x=new Array(y),b=0;b<y;b++)x[b]=arguments[b];return Promise.all(this.callbacks.map(function(z){return z.apply(void 0,x)}))}}])}(),qB=function(){function E(){(0,Ar.Z)(this,E),this.callbacks=[]}return(0,$n.Z)(E,[{key:"tapPromise",value:function(y,x){this.callbacks.push(x)}},{key:"promise",value:function(){var a=(0,eh.Z)((0,ju.Z)().mark(function x(){var b,z,te,re,ae=arguments;return(0,ju.Z)().wrap(function(fe){for(;;)switch(fe.prev=fe.next){case 0:if(!this.callbacks.length){fe.next=14;break}return fe.next=3,(b=this.callbacks)[0].apply(b,ae);case 3:z=fe.sent,te=0;case 5:if(!(te<this.callbacks.length-1)){fe.next=13;break}return re=this.callbacks[te],fe.next=9,re(z);case 9:z=fe.sent;case 10:te++,fe.next=5;break;case 13:return fe.abrupt("return",z);case 14:return fe.abrupt("return",null);case 15:case"end":return fe.stop()}},x,this)}));function y(){return a.apply(this,arguments)}return y}()}])}(),ec=function(){function E(){(0,Ar.Z)(this,E),this.callbacks=[]}return(0,$n.Z)(E,[{key:"tap",value:function(y,x){this.callbacks.push(x)}},{key:"call",value:function(){for(var y=arguments.length,x=new Array(y),b=0;b<y;b++)x[b]=arguments[b];var z=arguments;this.callbacks.forEach(function(te){te.apply(void 0,z)})}}])}(),NE=function(){function E(){(0,Ar.Z)(this,E),this.callbacks=[]}return(0,$n.Z)(E,[{key:"tap",value:function(y,x){this.callbacks.push(x)}},{key:"call",value:function(){for(var y=arguments.length,x=new Array(y),b=0;b<y;b++)x[b]=arguments[b];if(this.callbacks.length){for(var z=arguments,te=this.callbacks[0].apply(void 0,z),re=0;re<this.callbacks.length-1;re++){var ae=this.callbacks[re];te=ae(te)}return te}return null}}])}(),$B=["serif","sans-serif","monospace","cursive","fantasy","system-ui"],e6=/([\"\'])[^\'\"]+\1/;function t6(E){for(var a=E.fontSize,y=a===void 0?16:a,x=E.fontFamily,b=x===void 0?"sans-serif":x,z=E.fontStyle,te=z===void 0?"normal":z,re=E.fontVariant,ae=re===void 0?"normal":re,se=E.fontWeight,fe=se===void 0?"normal":se,me=Oi(y)&&"".concat(y,"px")||"16px",Se=b.split(","),Te=Se.length-1;Te>=0;Te--){var ke=Se[Te].trim();!e6.test(ke)&&$B.indexOf(ke)<0&&(ke='"'.concat(ke,'"')),Se[Te]=ke}return"".concat(te," ").concat(ae," ").concat(fe," ").concat(me," ").concat(Se.join(","))}function RE(E,a,y){return Pu(E),E[4]=Math.tan(a),E[1]=Math.tan(y),E}var Gl=Pi(),n6=Pi(),r6={scale:function(a){Xh(Gl,[a[0].value,a[1].value,1])},scaleX:function(a){Xh(Gl,[a[0].value,1,1])},scaleY:function(a){Xh(Gl,[1,a[0].value,1])},scaleZ:function(a){Xh(Gl,[1,1,a[0].value])},scale3d:function(a){Xh(Gl,[a[0].value,a[1].value,a[2].value])},translate:function(a){Xf(Gl,[a[0].value,a[1].value,0])},translateX:function(a){Xf(Gl,[a[0].value,0,0])},translateY:function(a){Xf(Gl,[0,a[0].value,0])},translateZ:function(a){Xf(Gl,[0,0,a[0].value])},translate3d:function(a){Xf(Gl,[a[0].value,a[1].value,a[2].value])},rotate:function(a){Y1(Gl,Ys(mc(a[0])))},rotateX:function(a){kS(Gl,Ys(mc(a[0])))},rotateY:function(a){zS(Gl,Ys(mc(a[0])))},rotateZ:function(a){Y1(Gl,Ys(mc(a[0])))},rotate3d:function(a){FS(Gl,Ys(mc(a[3])),[a[0].value,a[1].value,a[2].value])},skew:function(a){RE(Gl,Ys(a[0].value),Ys(a[1].value))},skewX:function(a){RE(Gl,Ys(a[0].value),0)},skewY:function(a){RE(Gl,0,Ys(a[0].value))},matrix:function(a){qu(Gl,a[0].value,a[1].value,0,0,a[2].value,a[3].value,0,0,0,0,1,0,a[4].value,a[5].value,0,1)},matrix3d:function(a){qu.apply(_e,[Gl].concat((0,va.Z)(a.map(function(y){return y.value}))))}},a6=qi(1,1,1),i6=ni(),oP={translate:function(a,y){Ga.sceneGraphService.setLocalScale(a,a6,!1),Ga.sceneGraphService.setLocalEulerAngles(a,i6,void 0,void 0,!1),Ga.sceneGraphService.setLocalPosition(a,[y[0].value,y[1].value,0],!1),Ga.sceneGraphService.dirtifyLocal(a,a.transformable)}};function sP(E,a){if(E.length){if(E.length===1&&oP[E[0].t]){oP[E[0].t](a,E[0].d);return}for(var y=Pu(n6),x=0;x<E.length;x++){var b=E[x],z=b.t,te=b.d,re=r6[z];re&&(re(te),ZS(y,y,Gl))}a.setLocalTransform(y)}else a.resetLocalTransform();return a.getLocalTransform()}var o6=function(){function E(){(0,Ar.Z)(this,E),this.parser=iB,this.mixer=gB}return(0,$n.Z)(E,[{key:"calculator",value:function(y,x,b,z){return b instanceof rd?[]:b}},{key:"postProcessor",value:function(y){sP(y.parsedStyle.transform,y)}}])}(),s6=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"postProcessor",value:function(y){var x=y.parsedStyle.transformOrigin;x[0].unit===yi.kPixels&&x[1].unit===yi.kPixels?y.setOrigin(x[0].value,x[1].value):y.getGeometryBounds()}}])}(),l6=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"calculator",value:function(y,x,b,z){return b.value}},{key:"postProcessor",value:function(y){if(y.parentNode){var x=y.parentNode,b=x.renderable,z=x.sortable;b&&(b.dirty=!0),z&&(z.dirty=!0,z.dirtyReason=Em.Z_INDEX_CHANGED)}}}])}(),u6=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"update",value:function(y,x){var b=y.cx,z=b===void 0?0:b,te=y.cy,re=te===void 0?0:te,ae=y.r,se=ae===void 0?0:ae;return{cx:z,cy:re,hwidth:se,hheight:se}}}])}(),c6=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"update",value:function(y,x){var b=y.cx,z=b===void 0?0:b,te=y.cy,re=te===void 0?0:te,ae=y.rx,se=ae===void 0?0:ae,fe=y.ry,me=fe===void 0?0:fe;return{cx:z,cy:re,hwidth:se,hheight:me}}}])}(),d6=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"update",value:function(y){var x=y.x1,b=y.y1,z=y.x2,te=y.y2,re=Math.min(x,z),ae=Math.max(x,z),se=Math.min(b,te),fe=Math.max(b,te),me=ae-re,Se=fe-se,Te=me/2,ke=Se/2;return{cx:re+Te,cy:se+ke,hwidth:Te,hheight:ke}}}])}(),f6=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"update",value:function(y){var x=y.d,b=x.rect,z=b.x,te=b.y,re=b.width,ae=b.height,se=re/2,fe=ae/2;return{cx:z+se,cy:te+fe,hwidth:se,hheight:fe}}}])}(),h6=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"update",value:function(y){if(y.points&&Tc(y.points.points)){var x=y.points.points,b=Math.min.apply(Math,(0,va.Z)(x.map(function(Se){return Se[0]}))),z=Math.max.apply(Math,(0,va.Z)(x.map(function(Se){return Se[0]}))),te=Math.min.apply(Math,(0,va.Z)(x.map(function(Se){return Se[1]}))),re=Math.max.apply(Math,(0,va.Z)(x.map(function(Se){return Se[1]}))),ae=z-b,se=re-te,fe=ae/2,me=se/2;return{cx:b+fe,cy:te+me,hwidth:fe,hheight:me}}return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),g6=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"update",value:function(y,x){var b=y.x,z=b===void 0?0:b,te=y.y,re=te===void 0?0:te,ae=y.src,se=y.width,fe=se===void 0?0:se,me=y.height,Se=me===void 0?0:me,Te=fe,ke=Se;return ae&&!Is(ae)&&(Te||(Te=ae.width,y.width=Te),ke||(ke=ae.height,y.height=ke)),{cx:z+Te/2,cy:re+ke/2,hwidth:Te/2,hheight:ke/2}}}])}(),v6=function(){function E(a){(0,Ar.Z)(this,E),this.globalRuntime=a}return(0,$n.Z)(E,[{key:"isReadyToMeasure",value:function(y,x){var b=y.text;return b}},{key:"update",value:function(y,x){var b,z=y.text,te=y.textAlign,re=te===void 0?"start":te,ae=y.lineWidth,se=ae===void 0?1:ae,fe=y.textBaseline,me=fe===void 0?"alphabetic":fe,Se=y.dx,Te=Se===void 0?0:Se,ke=y.dy,We=ke===void 0?0:ke,je=y.x,Ke=je===void 0?0:je,Qe=y.y,Je=Qe===void 0?0:Qe;if(!this.isReadyToMeasure(y,x))return y.metrics={font:"",width:0,height:0,lines:[],lineWidths:[],lineHeight:0,maxLineWidth:0,fontProperties:{ascent:0,descent:0,fontSize:0},lineMetrics:[]},{hwidth:0,hheight:0,cx:0,cy:0};var at=(x==null||(b=x.ownerDocument)===null||b===void 0||(b=b.defaultView)===null||b===void 0?void 0:b.getConfig())||{},ot=at.offscreenCanvas,ut=this.globalRuntime.textService.measureText(z,y,ot);y.metrics=ut;var ft=ut.width,lt=ut.height,Dt=ft/2,Bt=lt/2,Vt=Ke+Dt;re==="center"||re==="middle"?Vt+=se/2-Dt:(re==="right"||re==="end")&&(Vt+=se-Dt*2);var Xt=Je-Bt;return me==="middle"?Xt+=Bt:me==="top"||me==="hanging"?Xt+=Bt*2:me==="alphabetic"||(me==="bottom"||me==="ideographic")&&(Xt+=0),Te&&(Vt+=Te),We&&(Xt+=We),{cx:Vt,cy:Xt,hwidth:Dt,hheight:Bt}}}])}(),m6=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"update",value:function(y,x){return{cx:0,cy:0,hwidth:0,hheight:0}}}])}(),p6=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"update",value:function(y,x){var b=y.x,z=b===void 0?0:b,te=y.y,re=te===void 0?0:te,ae=y.width,se=ae===void 0?0:ae,fe=y.height,me=fe===void 0?0:fe;return{cx:z+se/2,cy:re+me/2,hwidth:se/2,hheight:me/2}}}])}();function OY(E){return!!E.type}var Tm=function(){function E(a){(0,Ar.Z)(this,E),this.eventPhase=E.prototype.NONE,this.bubbles=!0,this.cancelBubble=!0,this.cancelable=!1,this.defaultPrevented=!1,this.propagationStopped=!1,this.propagationImmediatelyStopped=!1,this.layer=new wu,this.page=new wu,this.canvas=new wu,this.viewport=new wu,this.composed=!1,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=a}return(0,$n.Z)(E,[{key:"name",get:function(){return this.type}},{key:"layerX",get:function(){return this.layer.x}},{key:"layerY",get:function(){return this.layer.y}},{key:"pageX",get:function(){return this.page.x}},{key:"pageY",get:function(){return this.page.y}},{key:"x",get:function(){return this.canvas.x}},{key:"y",get:function(){return this.canvas.y}},{key:"canvasX",get:function(){return this.canvas.x}},{key:"canvasY",get:function(){return this.canvas.y}},{key:"viewportX",get:function(){return this.viewport.x}},{key:"viewportY",get:function(){return this.viewport.y}},{key:"composedPath",value:function(){return this.manager&&(!this.path||this.path[0]!==this.target)&&(this.path=this.target?this.manager.propagationPath(this.target):[]),this.path}},{key:"propagationPath",get:function(){return this.composedPath()}},{key:"preventDefault",value:function(){this.nativeEvent instanceof Event&&this.nativeEvent.cancelable&&this.nativeEvent.preventDefault(),this.defaultPrevented=!0}},{key:"stopImmediatePropagation",value:function(){this.propagationImmediatelyStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}},{key:"initEvent",value:function(){}},{key:"initUIEvent",value:function(){}},{key:"clone",value:function(){throw new Error(Qs)}}])}(),lP=function(E){function a(){var y;(0,Ar.Z)(this,a);for(var x=arguments.length,b=new Array(x),z=0;z<x;z++)b[z]=arguments[z];return y=Tr(this,a,[].concat(b)),y.client=new wu,y.movement=new wu,y.offset=new wu,y.global=new wu,y.screen=new wu,y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"clientX",get:function(){return this.client.x}},{key:"clientY",get:function(){return this.client.y}},{key:"movementX",get:function(){return this.movement.x}},{key:"movementY",get:function(){return this.movement.y}},{key:"offsetX",get:function(){return this.offset.x}},{key:"offsetY",get:function(){return this.offset.y}},{key:"globalX",get:function(){return this.global.x}},{key:"globalY",get:function(){return this.global.y}},{key:"screenX",get:function(){return this.screen.x}},{key:"screenY",get:function(){return this.screen.y}},{key:"getModifierState",value:function(x){return"getModifierState"in this.nativeEvent&&this.nativeEvent.getModifierState(x)}},{key:"initMouseEvent",value:function(){throw new Error(Qs)}}])}(Tm),Bm=function(E){function a(){var y;(0,Ar.Z)(this,a);for(var x=arguments.length,b=new Array(x),z=0;z<x;z++)b[z]=arguments[z];return y=Tr(this,a,[].concat(b)),y.width=0,y.height=0,y.isPrimary=!1,y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"getCoalescedEvents",value:function(){return this.type==="pointermove"||this.type==="mousemove"||this.type==="touchmove"?[this]:[]}},{key:"getPredictedEvents",value:function(){throw new Error("getPredictedEvents is not supported!")}},{key:"clone",value:function(){return this.manager.clonePointerEvent(this)}}])}(lP),_E=function(E){function a(){return(0,Ar.Z)(this,a),Tr(this,a,arguments)}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"clone",value:function(){return this.manager.cloneWheelEvent(this)}}])}(lP),ql=function(E){function a(y,x){var b;return(0,Ar.Z)(this,a),b=Tr(this,a,[null]),b.type=y,b.detail=x,Object.assign(b,x),b}return(0,da.Z)(a,E),(0,$n.Z)(a)}(Tm),uP=new WeakMap,cP=function(){function E(){(0,Ar.Z)(this,E),this.emitter=new ra}return(0,$n.Z)(E,[{key:"on",value:function(y,x,b){return this.addEventListener(y,x,b),this}},{key:"addEventListener",value:function(y,x,b){var z=!1,te=!1;if(gm(b))z=b;else if(b){var re=b.capture;z=re===void 0?!1:re;var ae=b.once;te=ae===void 0?!1:ae}z&&(y+="capture"),x=Gi(x)?x:x.handleEvent;var se=Gi(x)?void 0:x;return te?this.emitter.once(y,x,se):this.emitter.on(y,x,se),this}},{key:"off",value:function(y,x,b){return y?this.removeEventListener(y,x,b):this.removeAllEventListeners(),this}},{key:"removeAllEventListeners",value:function(){var y;(y=this.emitter)===null||y===void 0||y.removeAllListeners()}},{key:"removeEventListener",value:function(y,x,b){var z;if(!this.emitter)return this;var te=gm(b)?b:b==null?void 0:b.capture;te&&(y+="capture"),x=Gi(x)?x:(z=x)===null||z===void 0?void 0:z.handleEvent;var re=Gi(x)?void 0:x;return this.emitter.off(y,x,re),this}},{key:"emit",value:function(y,x){this.dispatchEvent(new ql(y,x))}},{key:"dispatchEvent",value:function(y){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,b=uP.get(this);if(!b){var z;this.document?b=this:this.defaultView?b=this.defaultView:b=(z=this.ownerDocument)===null||z===void 0?void 0:z.defaultView,b&&uP.set(this,b)}if(b){if(y.manager=b.getEventService(),!y.manager)return!1;y.defaultPrevented=!1,y.path?y.path.length=0:y.page=[],x||(y.target=this),y.manager.dispatchEvent(y,y.type,x)}else this.emitter.emit(y.type,y);return!y.defaultPrevented}}])}(),yl=function(E){function a(){var y;(0,Ar.Z)(this,a);for(var x=arguments.length,b=new Array(x),z=0;z<x;z++)b[z]=arguments[z];return y=Tr(this,a,[].concat(b)),y.shadow=!1,y.ownerDocument=null,y.isConnected=!1,y.baseURI="",y.childNodes=[],y.nodeType=0,y.nodeName="",y.nodeValue=null,y.parentNode=null,y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"textContent",get:function(){var x="";this.nodeName===la.TEXT&&(x+=this.style.text);var b=qh(this.childNodes),z;try{for(b.s();!(z=b.n()).done;){var te=z.value;te.nodeName===la.TEXT?x+=te.nodeValue:x+=te.textContent}}catch(re){b.e(re)}finally{b.f()}return x},set:function(x){var b=this;this.childNodes.slice().forEach(function(z){b.removeChild(z)}),this.nodeName===la.TEXT&&(this.style.text="".concat(x))}},{key:"getRootNode",value:function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.parentNode?this.parentNode.getRootNode(x):x.composed&&this.host?this.host.getRootNode(x):this}},{key:"hasChildNodes",value:function(){return this.childNodes.length>0}},{key:"isDefaultNamespace",value:function(x){throw new Error(Qs)}},{key:"lookupNamespaceURI",value:function(x){throw new Error(Qs)}},{key:"lookupPrefix",value:function(x){throw new Error(Qs)}},{key:"normalize",value:function(){throw new Error(Qs)}},{key:"isEqualNode",value:function(x){return this===x}},{key:"isSameNode",value:function(x){return this.isEqualNode(x)}},{key:"parent",get:function(){return this.parentNode}},{key:"parentElement",get:function(){return null}},{key:"nextSibling",get:function(){return null}},{key:"previousSibling",get:function(){return null}},{key:"firstChild",get:function(){return this.childNodes.length>0?this.childNodes[0]:null}},{key:"lastChild",get:function(){return this.childNodes.length>0?this.childNodes[this.childNodes.length-1]:null}},{key:"compareDocumentPosition",value:function(x){if(x===this)return 0;for(var b=x,z=this,te=[b],re=[z];(ae=b.parentNode)!==null&&ae!==void 0?ae:z.parentNode;){var ae;b=b.parentNode?(te.push(b.parentNode),b.parentNode):b,z=z.parentNode?(re.push(z.parentNode),z.parentNode):z}if(b!==z)return a.DOCUMENT_POSITION_DISCONNECTED|a.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|a.DOCUMENT_POSITION_PRECEDING;var se=te.length>re.length?te:re,fe=se===te?re:te;if(se[se.length-fe.length]===fe[0])return se===te?a.DOCUMENT_POSITION_CONTAINED_BY|a.DOCUMENT_POSITION_FOLLOWING:a.DOCUMENT_POSITION_CONTAINS|a.DOCUMENT_POSITION_PRECEDING;for(var me=se.length-fe.length,Se=fe.length-1;Se>=0;Se--){var Te=fe[Se],ke=se[me+Se];if(ke!==Te){var We=Te.parentNode.childNodes;return We.indexOf(Te)<We.indexOf(ke)?fe===te?a.DOCUMENT_POSITION_PRECEDING:a.DOCUMENT_POSITION_FOLLOWING:se===te?a.DOCUMENT_POSITION_PRECEDING:a.DOCUMENT_POSITION_FOLLOWING}}return a.DOCUMENT_POSITION_FOLLOWING}},{key:"contain",value:function(x){return this.contains(x)}},{key:"contains",value:function(x){for(var b=x;b&&this!==b;)b=b.parentNode;return!!b}},{key:"getAncestor",value:function(x){for(var b=this;x>0&&b;)b=b.parentNode,x--;return b}},{key:"forEach",value:function(x){for(var b=[this];b.length>0;){var z=b.pop(),te=x(z);if(te===!1)break;for(var re=z.childNodes.length-1;re>=0;re--)b.push(z.childNodes[re])}}}],[{key:"isNode",value:function(x){return!!x.childNodes}}])}(cP);yl.DOCUMENT_POSITION_DISCONNECTED=1,yl.DOCUMENT_POSITION_PRECEDING=2,yl.DOCUMENT_POSITION_FOLLOWING=4,yl.DOCUMENT_POSITION_CONTAINS=8,yl.DOCUMENT_POSITION_CONTAINED_BY=16,yl.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32;var y6=2048,E6=function(){function E(a,y){var x=this;(0,Ar.Z)(this,E),this.nativeHTMLMap=new WeakMap,this.cursor="default",this.mappingTable={},this.mappingState={trackingData:{}},this.eventPool=new Map,this.tmpMatrix=Pi(),this.tmpVec3=ni(),this.onPointerDown=function(b){var z=x.createPointerEvent(b);if(x.dispatchEvent(z,"pointerdown"),z.pointerType==="touch")x.dispatchEvent(z,"touchstart");else if(z.pointerType==="mouse"||z.pointerType==="pen"){var te=z.button===2;x.dispatchEvent(z,te?"rightdown":"mousedown")}var re=x.trackingData(b.pointerId);re.pressTargetsByButton[b.button]=z.composedPath(),x.freeEvent(z)},this.onPointerUp=function(b){var z=TE.now(),te=x.createPointerEvent(b,void 0,void 0,x.context.config.alwaysTriggerPointerEventOnCanvas?x.rootTarget:void 0);if(x.dispatchEvent(te,"pointerup"),te.pointerType==="touch")x.dispatchEvent(te,"touchend");else if(te.pointerType==="mouse"||te.pointerType==="pen"){var re=te.button===2;x.dispatchEvent(te,re?"rightup":"mouseup")}var ae=x.trackingData(b.pointerId),se=x.findMountedTarget(ae.pressTargetsByButton[b.button]),fe=se;if(se&&!te.composedPath().includes(se)){for(var me=se;me&&!te.composedPath().includes(me);){if(te.currentTarget=me,x.notifyTarget(te,"pointerupoutside"),te.pointerType==="touch")x.notifyTarget(te,"touchendoutside");else if(te.pointerType==="mouse"||te.pointerType==="pen"){var Se=te.button===2;x.notifyTarget(te,Se?"rightupoutside":"mouseupoutside")}yl.isNode(me)&&(me=me.parentNode)}delete ae.pressTargetsByButton[b.button],fe=me}if(fe){var Te,ke=x.clonePointerEvent(te,"click");ke.target=fe,ke.path=[],ae.clicksByButton[b.button]||(ae.clicksByButton[b.button]={clickCount:0,target:ke.target,timeStamp:z});var We=x.context.renderingContext.root.ownerDocument.defaultView,je=ae.clicksByButton[b.button];je.target===ke.target&&z-je.timeStamp<We.getConfig().dblClickSpeed?++je.clickCount:je.clickCount=1,je.target=ke.target,je.timeStamp=z,ke.detail=je.clickCount,(Te=te.detail)!==null&&Te!==void 0&&Te.preventClick||(!x.context.config.useNativeClickEvent&&(ke.pointerType==="mouse"||ke.pointerType==="touch")&&x.dispatchEvent(ke,"click"),x.dispatchEvent(ke,"pointertap")),x.freeEvent(ke)}x.freeEvent(te)},this.onPointerMove=function(b){var z=x.createPointerEvent(b,void 0,void 0,x.context.config.alwaysTriggerPointerEventOnCanvas?x.rootTarget:void 0),te=z.pointerType==="mouse"||z.pointerType==="pen",re=x.trackingData(b.pointerId),ae=x.findMountedTarget(re.overTargets);if(re.overTargets&&ae!==z.target){var se=b.type==="mousemove"?"mouseout":"pointerout",fe=x.createPointerEvent(b,se,ae||void 0);if(x.dispatchEvent(fe,"pointerout"),te&&x.dispatchEvent(fe,"mouseout"),!z.composedPath().includes(ae)){var me=x.createPointerEvent(b,"pointerleave",ae||void 0);for(me.eventPhase=me.AT_TARGET;me.target&&!z.composedPath().includes(me.target);)me.currentTarget=me.target,x.notifyTarget(me),te&&x.notifyTarget(me,"mouseleave"),yl.isNode(me.target)&&(me.target=me.target.parentNode);x.freeEvent(me)}x.freeEvent(fe)}if(ae!==z.target){var Se=b.type==="mousemove"?"mouseover":"pointerover",Te=x.clonePointerEvent(z,Se);x.dispatchEvent(Te,"pointerover"),te&&x.dispatchEvent(Te,"mouseover");for(var ke=ae&&yl.isNode(ae)&&ae.parentNode;ke&&ke!==(yl.isNode(x.rootTarget)&&x.rootTarget.parentNode)&&ke!==z.target;)ke=ke.parentNode;var We=!ke||ke===(yl.isNode(x.rootTarget)&&x.rootTarget.parentNode);if(We){var je=x.clonePointerEvent(z,"pointerenter");for(je.eventPhase=je.AT_TARGET;je.target&&je.target!==ae&&je.target!==(yl.isNode(x.rootTarget)&&x.rootTarget.parentNode);)je.currentTarget=je.target,x.notifyTarget(je),te&&x.notifyTarget(je,"mouseenter"),yl.isNode(je.target)&&(je.target=je.target.parentNode);x.freeEvent(je)}x.freeEvent(Te)}x.dispatchEvent(z,"pointermove"),z.pointerType==="touch"&&x.dispatchEvent(z,"touchmove"),te&&(x.dispatchEvent(z,"mousemove"),x.cursor=x.getCursor(z.target)),re.overTargets=z.composedPath(),x.freeEvent(z)},this.onPointerOut=function(b){var z=x.trackingData(b.pointerId);if(z.overTargets){var te=b.pointerType==="mouse"||b.pointerType==="pen",re=x.findMountedTarget(z.overTargets),ae=x.createPointerEvent(b,"pointerout",re||void 0);x.dispatchEvent(ae),te&&x.dispatchEvent(ae,"mouseout");var se=x.createPointerEvent(b,"pointerleave",re||void 0);for(se.eventPhase=se.AT_TARGET;se.target&&se.target!==(yl.isNode(x.rootTarget)&&x.rootTarget.parentNode);)se.currentTarget=se.target,x.notifyTarget(se),te&&x.notifyTarget(se,"mouseleave"),yl.isNode(se.target)&&(se.target=se.target.parentNode);z.overTargets=null,x.freeEvent(ae),x.freeEvent(se)}x.cursor=null},this.onPointerOver=function(b){var z=x.trackingData(b.pointerId),te=x.createPointerEvent(b),re=te.pointerType==="mouse"||te.pointerType==="pen";x.dispatchEvent(te,"pointerover"),re&&x.dispatchEvent(te,"mouseover"),te.pointerType==="mouse"&&(x.cursor=x.getCursor(te.target));var ae=x.clonePointerEvent(te,"pointerenter");for(ae.eventPhase=ae.AT_TARGET;ae.target&&ae.target!==(yl.isNode(x.rootTarget)&&x.rootTarget.parentNode);)ae.currentTarget=ae.target,x.notifyTarget(ae),re&&x.notifyTarget(ae,"mouseenter"),yl.isNode(ae.target)&&(ae.target=ae.target.parentNode);z.overTargets=te.composedPath(),x.freeEvent(te),x.freeEvent(ae)},this.onPointerUpOutside=function(b){var z=x.trackingData(b.pointerId),te=x.findMountedTarget(z.pressTargetsByButton[b.button]),re=x.createPointerEvent(b);if(te){for(var ae=te;ae;)re.currentTarget=ae,x.notifyTarget(re,"pointerupoutside"),re.pointerType==="touch"||(re.pointerType==="mouse"||re.pointerType==="pen")&&x.notifyTarget(re,re.button===2?"rightupoutside":"mouseupoutside"),yl.isNode(ae)&&(ae=ae.parentNode);delete z.pressTargetsByButton[b.button]}x.freeEvent(re)},this.onWheel=function(b){var z=x.createWheelEvent(b);x.dispatchEvent(z),x.freeEvent(z)},this.onClick=function(b){if(x.context.config.useNativeClickEvent){var z=x.createPointerEvent(b);x.dispatchEvent(z),x.freeEvent(z)}},this.onPointerCancel=function(b){var z=x.createPointerEvent(b,void 0,void 0,x.context.config.alwaysTriggerPointerEventOnCanvas?x.rootTarget:void 0);x.dispatchEvent(z),x.freeEvent(z)},this.globalRuntime=a,this.context=y}return(0,$n.Z)(E,[{key:"init",value:function(){this.rootTarget=this.context.renderingContext.root.parentNode,this.addEventMapping("pointerdown",this.onPointerDown),this.addEventMapping("pointerup",this.onPointerUp),this.addEventMapping("pointermove",this.onPointerMove),this.addEventMapping("pointerout",this.onPointerOut),this.addEventMapping("pointerleave",this.onPointerOut),this.addEventMapping("pointercancel",this.onPointerCancel),this.addEventMapping("pointerover",this.onPointerOver),this.addEventMapping("pointerupoutside",this.onPointerUpOutside),this.addEventMapping("wheel",this.onWheel),this.addEventMapping("click",this.onClick)}},{key:"destroy",value:function(){this.mappingTable={},this.mappingState={},this.eventPool.clear()}},{key:"getScale",value:function(){var y=this.context.contextService.getBoundingClientRect(),x=1,b=1,z=this.context.contextService.getDomElement();if(z&&y){var te=z.offsetWidth,re=z.offsetHeight;te&&re&&(x=y.width/te,b=y.height/re)}return{scaleX:x,scaleY:b,bbox:y}}},{key:"client2Viewport",value:function(y){var x=this.getScale(),b=x.scaleX,z=x.scaleY,te=x.bbox;return new wu((y.x-((te==null?void 0:te.left)||0))/b,(y.y-((te==null?void 0:te.top)||0))/z)}},{key:"viewport2Client",value:function(y){var x=this.getScale(),b=x.scaleX,z=x.scaleY,te=x.bbox;return new wu((y.x+((te==null?void 0:te.left)||0))*b,(y.y+((te==null?void 0:te.top)||0))*z)}},{key:"viewport2Canvas",value:function(y){var x=y.x,b=y.y,z=this.rootTarget.defaultView,te=z.getCamera(),re=this.context.config,ae=re.width,se=re.height,fe=te.getPerspectiveInverse(),me=te.getWorldTransform(),Se=Uu(this.tmpMatrix,me,fe),Te=Yo(this.tmpVec3,x/ae*2-1,(1-b/se)*2-1,0);return ll(Te,Te,Se),new wu(Te[0],Te[1])}},{key:"canvas2Viewport",value:function(y){var x=this.rootTarget.defaultView,b=x.getCamera(),z=b.getPerspective(),te=b.getViewTransform(),re=Uu(this.tmpMatrix,z,te),ae=Yo(this.tmpVec3,y.x,y.y,0);ll(this.tmpVec3,this.tmpVec3,re);var se=this.context.config,fe=se.width,me=se.height;return new wu((ae[0]+1)/2*fe,(1-(ae[1]+1)/2)*me)}},{key:"setPickHandler",value:function(y){this.pickHandler=y}},{key:"addEventMapping",value:function(y,x){this.mappingTable[y]||(this.mappingTable[y]=[]),this.mappingTable[y].push({fn:x,priority:0}),this.mappingTable[y].sort(function(b,z){return b.priority-z.priority})}},{key:"mapEvent",value:function(y){if(this.rootTarget){var x=this.mappingTable[y.type];if(x)for(var b=0,z=x.length;b<z;b++)x[b].fn(y);else console.warn("[EventService]: Event mapping not defined for ".concat(y.type))}}},{key:"dispatchEvent",value:function(y,x,b){if(!b)y.propagationStopped=!1,y.propagationImmediatelyStopped=!1,this.propagate(y,x);else{y.eventPhase=y.AT_TARGET;var z=this.rootTarget.defaultView||null;y.currentTarget=z,this.notifyListeners(y,x)}}},{key:"propagate",value:function(y,x){if(y.target){var b=y.composedPath();y.eventPhase=y.CAPTURING_PHASE;for(var z=b.length-1;z>=1;z--)if(y.currentTarget=b[z],this.notifyTarget(y,x),y.propagationStopped||y.propagationImmediatelyStopped)return;if(y.eventPhase=y.AT_TARGET,y.currentTarget=y.target,this.notifyTarget(y,x),!(y.propagationStopped||y.propagationImmediatelyStopped)){var te=b.indexOf(y.currentTarget);y.eventPhase=y.BUBBLING_PHASE;for(var re=te+1;re<b.length;re++)if(y.currentTarget=b[re],this.notifyTarget(y,x),y.propagationStopped||y.propagationImmediatelyStopped)return}}}},{key:"propagationPath",value:function(y){var x=[y],b=this.rootTarget.defaultView||null;if(b&&b===y)return x.unshift(b.document),x;for(var z=0;z<y6&&y!==this.rootTarget;z++)yl.isNode(y)&&y.parentNode&&(x.push(y.parentNode),y=y.parentNode);return b&&x.push(b),x}},{key:"hitTest",value:function(y){var x=y.viewportX,b=y.viewportY,z=this.context.config,te=z.width,re=z.height,ae=z.disableHitTesting;return x<0||b<0||x>te||b>re?null:!ae&&this.pickHandler(y)||this.rootTarget||null}},{key:"isNativeEventFromCanvas",value:function(y,x){var b,z=x==null?void 0:x.target;if((b=z)!==null&&b!==void 0&&b.shadowRoot&&(z=x.composedPath()[0]),z){if(z===y)return!0;if(y&&y.contains)return y.contains(z)}return x!=null&&x.composedPath?x.composedPath().indexOf(y)>-1:!1}},{key:"getExistedHTML",value:function(y){if(y.nativeEvent.composedPath)for(var x=0,b=y.nativeEvent.composedPath();x<b.length;x++){var z=b[x],te=this.nativeHTMLMap.get(z);if(te)return te}return null}},{key:"pickTarget",value:function(y){return this.hitTest({clientX:y.clientX,clientY:y.clientY,viewportX:y.viewportX,viewportY:y.viewportY,x:y.canvasX,y:y.canvasY})}},{key:"createPointerEvent",value:function(y,x,b,z){var te=this.allocateEvent(Bm);this.copyPointerData(y,te),this.copyMouseData(y,te),this.copyData(y,te),te.nativeEvent=y.nativeEvent,te.originalEvent=y;var re=this.getExistedHTML(te),ae=this.context.contextService.getDomElement();return te.target=b!=null?b:re||this.isNativeEventFromCanvas(ae,te.nativeEvent)&&this.pickTarget(te)||z,typeof x=="string"&&(te.type=x),te}},{key:"createWheelEvent",value:function(y){var x=this.allocateEvent(_E);this.copyWheelData(y,x),this.copyMouseData(y,x),this.copyData(y,x),x.nativeEvent=y.nativeEvent,x.originalEvent=y;var b=this.getExistedHTML(x),z=this.context.contextService.getDomElement();return x.target=b||this.isNativeEventFromCanvas(z,x.nativeEvent)&&this.pickTarget(x),x}},{key:"trackingData",value:function(y){return this.mappingState.trackingData[y]||(this.mappingState.trackingData[y]={pressTargetsByButton:{},clicksByButton:{},overTarget:null}),this.mappingState.trackingData[y]}},{key:"cloneWheelEvent",value:function(y){var x=this.allocateEvent(_E);return x.nativeEvent=y.nativeEvent,x.originalEvent=y.originalEvent,this.copyWheelData(y,x),this.copyMouseData(y,x),this.copyData(y,x),x.target=y.target,x.path=y.composedPath().slice(),x.type=y.type,x}},{key:"clonePointerEvent",value:function(y,x){var b=this.allocateEvent(Bm);return b.nativeEvent=y.nativeEvent,b.originalEvent=y.originalEvent,this.copyPointerData(y,b),this.copyMouseData(y,b),this.copyData(y,b),b.target=y.target,b.path=y.composedPath().slice(),b.type=x!=null?x:b.type,b}},{key:"copyPointerData",value:function(y,x){x.pointerId=y.pointerId,x.width=y.width,x.height=y.height,x.isPrimary=y.isPrimary,x.pointerType=y.pointerType,x.pressure=y.pressure,x.tangentialPressure=y.tangentialPressure,x.tiltX=y.tiltX,x.tiltY=y.tiltY,x.twist=y.twist}},{key:"copyMouseData",value:function(y,x){x.altKey=y.altKey,x.button=y.button,x.buttons=y.buttons,x.ctrlKey=y.ctrlKey,x.metaKey=y.metaKey,x.shiftKey=y.shiftKey,x.client.copyFrom(y.client),x.movement.copyFrom(y.movement),x.canvas.copyFrom(y.canvas),x.screen.copyFrom(y.screen),x.global.copyFrom(y.global),x.offset.copyFrom(y.offset)}},{key:"copyWheelData",value:function(y,x){x.deltaMode=y.deltaMode,x.deltaX=y.deltaX,x.deltaY=y.deltaY,x.deltaZ=y.deltaZ}},{key:"copyData",value:function(y,x){x.isTrusted=y.isTrusted,x.timeStamp=TE.now(),x.type=y.type,x.detail=y.detail,x.view=y.view,x.page.copyFrom(y.page),x.viewport.copyFrom(y.viewport)}},{key:"allocateEvent",value:function(y){this.eventPool.has(y)||this.eventPool.set(y,[]);var x=this.eventPool.get(y).pop()||new y(this);return x.eventPhase=x.NONE,x.currentTarget=null,x.path=[],x.target=null,x}},{key:"freeEvent",value:function(y){if(y.manager!==this)throw new Error("It is illegal to free an event not managed by this EventBoundary!");var x=y.constructor;this.eventPool.has(x)||this.eventPool.set(x,[]),this.eventPool.get(x).push(y)}},{key:"notifyTarget",value:function(y,x){x=x!=null?x:y.type;var b=y.eventPhase===y.CAPTURING_PHASE||y.eventPhase===y.AT_TARGET?"".concat(x,"capture"):x;this.notifyListeners(y,b),y.eventPhase===y.AT_TARGET&&this.notifyListeners(y,x)}},{key:"notifyListeners",value:function(y,x){var b=y.currentTarget.emitter,z=b._events[x];if(z)if("fn"in z)z.once&&b.removeListener(x,z.fn,void 0,!0),z.fn.call(y.currentTarget||z.context,y);else for(var te=0;te<z.length&&!y.propagationImmediatelyStopped;te++)z[te].once&&b.removeListener(x,z[te].fn,void 0,!0),z[te].fn.call(y.currentTarget||z[te].context,y)}},{key:"findMountedTarget",value:function(y){if(!y)return null;for(var x=y[y.length-1],b=y.length-2;b>=0;b--){var z=y[b];if(z===this.rootTarget||yl.isNode(z)&&z.parentNode===x)x=y[b];else break}return x}},{key:"getCursor",value:function(y){for(var x=y;x;){var b=RB(x)&&x.getAttribute("cursor");if(b)return b;x=yl.isNode(x)&&x.parentNode}}}])}(),FE=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"getOrCreateCanvas",value:function(y,x){if(this.canvas)return this.canvas;if(y||Ga.offscreenCanvas)this.canvas=y||Ga.offscreenCanvas,this.context=this.canvas.getContext("2d",(0,Cr.Z)({willReadFrequently:!0},x));else try{this.canvas=new window.OffscreenCanvas(0,0),this.context=this.canvas.getContext("2d",(0,Cr.Z)({willReadFrequently:!0},x)),(!this.context||!this.context.measureText)&&(this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"))}catch(b){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d",(0,Cr.Z)({willReadFrequently:!0},x))}return this.canvas.width=10,this.canvas.height=10,this.canvas}},{key:"getOrCreateContext",value:function(y,x){return this.context?this.context:(this.getOrCreateCanvas(y,x),this.context)}}],[{key:"createCanvas",value:function(){try{return new window.OffscreenCanvas(0,0)}catch(y){}try{return document.createElement("canvas")}catch(y){}return null}}])}(),a0=function(E){return E[E.CAMERA_CHANGED=0]="CAMERA_CHANGED",E[E.DISPLAY_OBJECT_CHANGED=1]="DISPLAY_OBJECT_CHANGED",E[E.NONE=2]="NONE",E}({}),A6=function(){function E(a,y){(0,Ar.Z)(this,E),this.inited=!1,this.stats={total:0,rendered:0},this.zIndexCounter=0,this.hooks={init:new ec,initAsync:new JB,dirtycheck:new NE,cull:new NE,beginFrame:new ec,beforeRender:new ec,render:new ec,afterRender:new ec,endFrame:new ec,destroy:new ec,pick:new qB,pickSync:new NE,pointerDown:new ec,pointerUp:new ec,pointerMove:new ec,pointerOut:new ec,pointerOver:new ec,pointerWheel:new ec,pointerCancel:new ec,click:new ec},this.globalRuntime=a,this.context=y}return(0,$n.Z)(E,[{key:"init",value:function(y){var x=this,b=(0,Cr.Z)((0,Cr.Z)({},this.globalRuntime),this.context);this.context.renderingPlugins.forEach(function(z){z.apply(b,x.globalRuntime)}),this.hooks.init.call(),this.hooks.initAsync.getCallbacksNum()===0?(this.inited=!0,y()):this.hooks.initAsync.promise().then(function(){x.inited=!0,y()}).catch(function(z){})}},{key:"getStats",value:function(){return this.stats}},{key:"disableDirtyRectangleRendering",value:function(){var y=this.context.config.renderer,x=y.getConfig(),b=x.enableDirtyRectangleRendering;return!b||this.context.renderingContext.renderReasons.has(a0.CAMERA_CHANGED)}},{key:"render",value:function(y,x,b){var z=this;this.stats.total=0,this.stats.rendered=0,this.zIndexCounter=0;var te=this.context.renderingContext;if(this.globalRuntime.sceneGraphService.syncHierarchy(te.root),this.globalRuntime.sceneGraphService.triggerPendingEvents(),te.renderReasons.size&&this.inited){te.dirtyRectangleRenderingDisabled=this.disableDirtyRectangleRendering();var re=te.renderReasons.size===1&&te.renderReasons.has(a0.CAMERA_CHANGED),ae=!y.disableRenderHooks||!(y.disableRenderHooks&&re);ae&&this.renderDisplayObject(te.root,y,te),this.hooks.beginFrame.call(x),ae&&te.renderListCurrentFrame.forEach(function(se){z.hooks.beforeRender.call(se),z.hooks.render.call(se),z.hooks.afterRender.call(se)}),this.hooks.endFrame.call(x),te.renderListCurrentFrame=[],te.renderReasons.clear(),b()}}},{key:"renderDisplayObject",value:function(y,x,b){var z=this,te=x.renderer.getConfig(),re=te.enableDirtyCheck,ae=te.enableCulling;function se(ke){var We=ke.renderable,je=ke.sortable,Ke=re?We.dirty||b.dirtyRectangleRenderingDisabled?ke:null:ke;if(Ke){var Qe=ae?z.hooks.cull.call(Ke,z.context.camera):Ke;Qe&&(z.stats.rendered+=1,b.renderListCurrentFrame.push(Qe))}We.dirty=!1,je.renderOrder=z.zIndexCounter,z.zIndexCounter+=1,z.stats.total+=1,je.dirty&&(z.sort(ke,je),je.dirty=!1,je.dirtyChildren=[],je.dirtyReason=void 0)}for(var fe=[y];fe.length>0;){var me=fe.pop();se(me);for(var Se=me.sortable.sorted||me.childNodes,Te=Se.length-1;Te>=0;Te--)fe.push(Se[Te])}}},{key:"sort",value:function(y,x){x.sorted&&x.dirtyReason!==Em.Z_INDEX_CHANGED?x.dirtyChildren.forEach(function(b){var z=y.childNodes.indexOf(b);if(z===-1){var te=x.sorted.indexOf(b);te>=0&&x.sorted.splice(te,1)}else if(x.sorted.length===0)x.sorted.push(b);else{var re=_B(x.sorted,b);x.sorted.splice(re,0,b)}}):x.sorted=y.childNodes.slice().sort(qC)}},{key:"destroy",value:function(){this.inited=!1,this.hooks.destroy.call(),this.globalRuntime.sceneGraphService.clearPendingEvents()}},{key:"dirtify",value:function(){this.context.renderingContext.renderReasons.add(a0.DISPLAY_OBJECT_CHANGED)}}])}(),x6=/\[\s*(.*)=(.*)\s*\]/,S6=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"selectOne",value:function(y,x){var b=this;if(y.startsWith("."))return x.find(function(ae){return((ae==null?void 0:ae.classList)||[]).indexOf(b.getIdOrClassname(y))>-1});if(y.startsWith("#"))return x.find(function(ae){return ae.id===b.getIdOrClassname(y)});if(y.startsWith("[")){var z=this.getAttribute(y),te=z.name,re=z.value;return te?x.find(function(ae){return x!==ae&&(te==="name"?ae.name===re:b.attributeToString(ae,te)===re)}):null}return x.find(function(ae){return x!==ae&&ae.nodeName===y})}},{key:"selectAll",value:function(y,x){var b=this;if(y.startsWith("."))return x.findAll(function(ae){return x!==ae&&((ae==null?void 0:ae.classList)||[]).indexOf(b.getIdOrClassname(y))>-1});if(y.startsWith("#"))return x.findAll(function(ae){return x!==ae&&ae.id===b.getIdOrClassname(y)});if(y.startsWith("[")){var z=this.getAttribute(y),te=z.name,re=z.value;return te?x.findAll(function(ae){return x!==ae&&(te==="name"?ae.name===re:b.attributeToString(ae,te)===re)}):[]}return x.findAll(function(ae){return x!==ae&&ae.nodeName===y})}},{key:"is",value:function(y,x){if(y.startsWith("."))return x.className===this.getIdOrClassname(y);if(y.startsWith("#"))return x.id===this.getIdOrClassname(y);if(y.startsWith("[")){var b=this.getAttribute(y),z=b.name,te=b.value;return z==="name"?x.name===te:this.attributeToString(x,z)===te}return x.nodeName===y}},{key:"getIdOrClassname",value:function(y){return y.substring(1)}},{key:"getAttribute",value:function(y){var x=y.match(x6),b="",z="";return x&&x.length>2&&(b=x[1].replace(/"/g,""),z=x[2].replace(/"/g,"")),{name:b,value:z}}},{key:"attributeToString",value:function(y,x){if(!y.getAttribute)return"";var b=y.getAttribute(x);return fo(b)?"":b.toString?b.toString():""}}])}(),is=function(E){return E.ATTR_MODIFIED="DOMAttrModified",E.INSERTED="DOMNodeInserted",E.MOUNTED="DOMNodeInsertedIntoDocument",E.REMOVED="removed",E.UNMOUNTED="DOMNodeRemovedFromDocument",E.REPARENT="reparent",E.DESTROY="destroy",E.BOUNDS_CHANGED="bounds-changed",E.CULLED="culled",E}({}),tf=function(E){function a(y,x,b,z,te,re,ae,se){var fe;return(0,Ar.Z)(this,a),fe=Tr(this,a,[null]),fe.relatedNode=x,fe.prevValue=b,fe.newValue=z,fe.attrName=te,fe.attrChange=re,fe.prevParsedValue=ae,fe.newParsedValue=se,fe.type=y,fe}return(0,da.Z)(a,E),(0,$n.Z)(a)}(Tm);tf.ADDITION=2,tf.MODIFICATION=1,tf.REMOVAL=3;function dP(E){var a=E.renderable;a&&(a.renderBoundsDirty=!0,a.boundsDirty=!0)}var b6=new tf(is.REPARENT,null,"","","",0,"",""),C6=eE(),Nm=ni(),P6=qi(1,1,1),w6=Pi(),M6=eE(),rh=ni(),i0=Pi(),ah=ou(),D6=ni(),I6=ou(),L6=ni(),q0=ni(),og=ni(),Rm=Pi(),fP=ou(),hP=ou(),_m=ou(),kE={affectChildren:!0},O6=function(){function E(a){(0,Ar.Z)(this,E),this.pendingEvents=new Map,this.boundsChangedEvent=new ql(is.BOUNDS_CHANGED),this.displayObjectDependencyMap=new WeakMap,this.runtime=a}return(0,$n.Z)(E,[{key:"matches",value:function(y,x){return this.runtime.sceneGraphSelector.is(y,x)}},{key:"querySelector",value:function(y,x){return this.runtime.sceneGraphSelector.selectOne(y,x)}},{key:"querySelectorAll",value:function(y,x){return this.runtime.sceneGraphSelector.selectAll(y,x)}},{key:"attach",value:function(y,x,b){var z,te=!1;y.parentNode&&(te=y.parentNode!==x,this.detach(y));var re=y.nodeName===la.FRAGMENT,ae=Om(x);y.parentNode=x;var se=re?y.childNodes:[y];Oi(b)?se.forEach(function(Te){x.childNodes.splice(b,0,Te),Te.parentNode=x}):se.forEach(function(Te){x.childNodes.push(Te),Te.parentNode=x});var fe=x,me=fe.sortable;if((me!=null&&(z=me.sorted)!==null&&z!==void 0&&z.length||y.parsedStyle.zIndex)&&(me.dirtyChildren.indexOf(y)===-1&&me.dirtyChildren.push(y),me.dirty=!0,me.dirtyReason=Em.ADDED),!ae){if(re)this.dirtifyFragment(y);else{var Se=y.transformable;Se&&this.dirtifyWorld(y,Se)}te&&y.dispatchEvent(b6)}}},{key:"detach",value:function(y){if(y.parentNode){var x,b,z=y.transformable,te=y.parentNode,re=te.sortable;(re!=null&&(x=re.sorted)!==null&&x!==void 0&&x.length||(b=y.style)!==null&&b!==void 0&&b.zIndex)&&(re.dirtyChildren.indexOf(y)===-1&&re.dirtyChildren.push(y),re.dirty=!0,re.dirtyReason=Em.REMOVED);var ae=y.parentNode.childNodes.indexOf(y);ae>-1&&y.parentNode.childNodes.splice(ae,1),z&&this.dirtifyWorld(y,z),y.parentNode=null}}},{key:"getOrigin",value:function(y){return y.getGeometryBounds(),y.transformable.origin}},{key:"setOrigin",value:function(y,x){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof x=="number"&&(x=[x,b,z]);var te=y.transformable;if(!(x[0]===te.origin[0]&&x[1]===te.origin[1]&&x[2]===te.origin[2])){var re=te.origin;re[0]=x[0],re[1]=x[1],re[2]=x[2]||0,this.dirtifyLocal(y,te)}}},{key:"rotate",value:function(y,x){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof x=="number"&&(x=qi(x,b,z));var te=y.transformable;if(y.parentNode===null||!y.parentNode.transformable)this.rotateLocal(y,x);else{var re=ah;om(re,x[0],x[1],x[2]);var ae=this.getRotation(y),se=this.getRotation(y.parentNode);sm(_m,se),$1(_m,_m),qf(re,_m,re),qf(te.localRotation,re,ae),lm(te.localRotation,te.localRotation),this.dirtifyLocal(y,te)}}},{key:"rotateLocal",value:function(y,x){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof x=="number"&&(x=qi(x,b,z));var te=y.transformable;om(hP,x[0],x[1],x[2]),XS(te.localRotation,te.localRotation,hP),this.dirtifyLocal(y,te)}},{key:"setEulerAngles",value:function(y,x){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof x=="number"&&(x=qi(x,b,z));var te=y.transformable;if(y.parentNode===null||!y.parentNode.transformable)this.setLocalEulerAngles(y,x);else{om(te.localRotation,x[0],x[1],x[2]);var re=this.getRotation(y.parentNode);sm(fP,$1(ah,re)),XS(te.localRotation,te.localRotation,fP),this.dirtifyLocal(y,te)}}},{key:"setLocalEulerAngles",value:function(y,x){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,te=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;typeof x=="number"&&(x=qi(x,b,z));var re=y.transformable;om(re.localRotation,x[0],x[1],x[2]),te&&this.dirtifyLocal(y,re)}},{key:"translateLocal",value:function(y,x){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof x=="number"&&(x=qi(x,b,z));var te=y.transformable;yf(x,Nm)||(kg(x,x,te.localRotation),fs(te.localPosition,te.localPosition,x),this.dirtifyLocal(y,te))}},{key:"setPosition",value:function(y,x){var b,z=y.transformable;if(og[0]=x[0],og[1]=x[1],og[2]=(b=x[2])!==null&&b!==void 0?b:0,!yf(this.getPosition(y),og)){if(Fo(z.position,og),y.parentNode===null||!y.parentNode.transformable)Fo(z.localPosition,og);else{var te=y.parentNode.transformable;Fs(Rm,te.worldTransform),zu(Rm,Rm),ll(z.localPosition,og,Rm)}this.dirtifyLocal(y,z)}}},{key:"setLocalPosition",value:function(y,x){var b,z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,te=y.transformable;q0[0]=x[0],q0[1]=x[1],q0[2]=(b=x[2])!==null&&b!==void 0?b:0,!yf(te.localPosition,q0)&&(Fo(te.localPosition,q0),z&&this.dirtifyLocal(y,te))}},{key:"scaleLocal",value:function(y,x){var b,z=y.transformable;cc(z.localScale,z.localScale,Yo(rh,x[0],x[1],(b=x[2])!==null&&b!==void 0?b:1)),this.dirtifyLocal(y,z)}},{key:"setLocalScale",value:function(y,x){var b,z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,te=y.transformable;Yo(rh,x[0],x[1],(b=x[2])!==null&&b!==void 0?b:te.localScale[2]),!yf(rh,te.localScale)&&(Fo(te.localScale,rh),z&&this.dirtifyLocal(y,te))}},{key:"translate",value:function(y,x){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof x=="number"&&(x=Yo(rh,x,b,z)),!yf(x,Nm)&&(fs(rh,this.getPosition(y),x),this.setPosition(y,rh))}},{key:"setRotation",value:function(y,x,b,z,te){var re=y.transformable;if(typeof x=="number"&&(x=pL(x,b,z,te)),y.parentNode===null||!y.parentNode.transformable)this.setLocalRotation(y,x);else{var ae=this.getRotation(y.parentNode);sm(ah,ae),$1(ah,ah),qf(re.localRotation,ah,x),lm(re.localRotation,re.localRotation),this.dirtifyLocal(y,re)}}},{key:"setLocalRotation",value:function(y,x,b,z,te){var re=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;typeof x=="number"&&(x=YS(ah,x,b,z,te));var ae=y.transformable;sm(ae.localRotation,x),re&&this.dirtifyLocal(y,ae)}},{key:"setLocalSkew",value:function(y,x,b){var z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;typeof x=="number"&&(x=xL(M6,x,b));var te=y.transformable;AL(te.localSkew,x),z&&this.dirtifyLocal(y,te)}},{key:"dirtifyLocal",value:function(y,x){Om(y)||x.localDirtyFlag||(x.localDirtyFlag=!0,x.dirtyFlag||this.dirtifyWorld(y,x))}},{key:"dirtifyWorld",value:function(y,x){x.dirtyFlag||this.unfreezeParentToRoot(y),this.dirtifyWorldInternal(y,x),this.dirtifyToRoot(y,!0)}},{key:"dirtifyFragment",value:function(y){var x=y.transformable;x&&(x.frozen=!1,x.dirtyFlag=!0,x.localDirtyFlag=!0);var b=y.renderable;b&&(b.renderBoundsDirty=!0,b.boundsDirty=!0,b.dirty=!0);for(var z=y.childNodes.length,te=0;te<z;te++)this.dirtifyFragment(y.childNodes[te]);y.nodeName===la.FRAGMENT&&this.pendingEvents.set(y,!1)}},{key:"triggerPendingEvents",value:function(){var y=this,x=new Set,b=function(te,re){!te.isConnected||x.has(te)||te.nodeName===la.FRAGMENT||(y.boundsChangedEvent.detail=re,y.boundsChangedEvent.target=te,te.isMutationObserved?te.dispatchEvent(y.boundsChangedEvent):te.ownerDocument.defaultView.dispatchEvent(y.boundsChangedEvent,!0),x.add(te))};this.pendingEvents.forEach(function(z,te){te.nodeName!==la.FRAGMENT&&(kE.affectChildren=z,z?te.forEach(function(re){b(re,kE)}):b(te,kE))}),x.clear(),this.clearPendingEvents()}},{key:"clearPendingEvents",value:function(){this.pendingEvents.clear()}},{key:"dirtifyToRoot",value:function(y){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,b=y;for(b.renderable&&(b.renderable.dirty=!0);b;)dP(b),b=b.parentNode;x&&y.forEach(function(z){dP(z)}),this.informDependentDisplayObjects(y),this.pendingEvents.set(y,x)}},{key:"updateDisplayObjectDependency",value:function(y,x,b,z){if(x&&x!==b){var te=this.displayObjectDependencyMap.get(x);if(te&&te[y]){var re=te[y].indexOf(z);te[y].splice(re,1)}}if(b){var ae=this.displayObjectDependencyMap.get(b);ae||(this.displayObjectDependencyMap.set(b,{}),ae=this.displayObjectDependencyMap.get(b)),ae[y]||(ae[y]=[]),ae[y].push(z)}}},{key:"informDependentDisplayObjects",value:function(y){var x=this,b=this.displayObjectDependencyMap.get(y);b&&Object.keys(b).forEach(function(z){b[z].forEach(function(te){x.dirtifyToRoot(te,!0),te.dispatchEvent(new tf(is.ATTR_MODIFIED,te,x,x,z,tf.MODIFICATION,x,x)),te.isCustomElement&&te.isConnected&&te.attributeChangedCallback&&te.attributeChangedCallback(z,x,x)})})}},{key:"getPosition",value:function(y){var x=y.transformable;return am(x.position,this.getWorldTransform(y,x))}},{key:"getRotation",value:function(y){var x=y.transformable;return im(x.rotation,this.getWorldTransform(y,x))}},{key:"getScale",value:function(y){var x=y.transformable;return Qg(x.scaling,this.getWorldTransform(y,x))}},{key:"getWorldTransform",value:function(y){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:y.transformable;return!x.localDirtyFlag&&!x.dirtyFlag||(y.parentNode&&y.parentNode.transformable&&this.getWorldTransform(y.parentNode),this.sync(y,x)),x.worldTransform}},{key:"getLocalPosition",value:function(y){return y.transformable.localPosition}},{key:"getLocalRotation",value:function(y){return y.transformable.localRotation}},{key:"getLocalScale",value:function(y){return y.transformable.localScale}},{key:"getLocalSkew",value:function(y){return y.transformable.localSkew}},{key:"calcLocalTransform",value:function(y){var x=y.localSkew[0]!==0||y.localSkew[1]!==0;if(x){U0(y.localTransform,y.localRotation,y.localPosition,qi(1,1,1),y.origin),(y.localSkew[0]!==0||y.localSkew[1]!==0)&&(Pu(i0),i0[4]=Math.tan(y.localSkew[0]),i0[1]=Math.tan(y.localSkew[1]),Uu(y.localTransform,y.localTransform,i0));var b=U0(i0,YS(ah,0,0,0,1),Yo(rh,1,1,1),y.localScale,y.origin);Uu(y.localTransform,y.localTransform,b)}else{var z=y.localTransform,te=y.localPosition,re=y.localRotation,ae=y.localScale,se=y.origin,fe=te[0]!==0||te[1]!==0||te[2]!==0,me=re[3]!==1||re[0]!==0||re[1]!==0||re[2]!==0,Se=ae[0]!==1||ae[1]!==1||ae[2]!==1,Te=se[0]!==0||se[1]!==0||se[2]!==0;!me&&!Se&&!Te?fe?Xf(z,te):Pu(z):U0(z,re,te,ae,se)}}},{key:"getLocalTransform",value:function(y){var x=y.transformable;return x.localDirtyFlag&&(this.calcLocalTransform(x),x.localDirtyFlag=!1),x.localTransform}},{key:"setLocalTransform",value:function(y,x){var b=am(D6,x),z=im(I6,x),te=Qg(L6,x);this.setLocalScale(y,te,!1),this.setLocalPosition(y,b,!1),this.setLocalRotation(y,z,void 0,void 0,void 0,!1),this.dirtifyLocal(y,y.transformable)}},{key:"resetLocalTransform",value:function(y){this.setLocalScale(y,P6,!1),this.setLocalPosition(y,Nm,!1),this.setLocalEulerAngles(y,Nm,void 0,void 0,!1),this.setLocalSkew(y,C6,void 0,!1),this.dirtifyLocal(y,y.transformable)}},{key:"getTransformedGeometryBounds",value:function(y){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,b=arguments.length>2?arguments[2]:void 0,z=this.getGeometryBounds(y,x);if(!il.isEmpty(z)){var te=b||new il;return te.setFromTransformedAABB(z,this.getWorldTransform(y)),te}return null}},{key:"getGeometryBounds",value:function(y){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,b=y,z=b.geometry;z.dirty&&Ga.styleValueRegistry.updateGeometry(y);var te=x?z.renderBounds:z.contentBounds||null;return te||new il}},{key:"getBounds",value:function(y){var x=this,b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,z=y,te=z.renderable;if(!te.boundsDirty&&!b&&te.bounds)return te.bounds;if(!te.renderBoundsDirty&&b&&te.renderBounds)return te.renderBounds;var re=b?te.renderBounds:te.bounds,ae=this.getTransformedGeometryBounds(y,b,re),se=y.childNodes;if(se.forEach(function(Se){var Te=x.getBounds(Se,b);Te&&(ae?ae.add(Te):(ae=re||new il,ae.update(Te.center,Te.halfExtents)))}),ae||(ae=new il),b){var fe=$C(y);if(fe){var me=fe.parsedStyle.clipPath.getBounds(b);ae?me&&(ae=me.intersection(ae)):ae.update(me.center,me.halfExtents)}}return b?(te.renderBounds=ae,te.renderBoundsDirty=!1):(te.bounds=ae,te.boundsDirty=!1),ae}},{key:"getLocalBounds",value:function(y){if(y.parentNode){var x=w6;y.parentNode.transformable&&(x=zu(i0,this.getWorldTransform(y.parentNode)));var b=this.getBounds(y);if(!il.isEmpty(b)){var z=new il;return z.setFromTransformedAABB(b,x),z}}return this.getBounds(y)}},{key:"getBoundingClientRect",value:function(y){var x,b,z=this.getGeometryBounds(y);il.isEmpty(z)||(b=new il,b.setFromTransformedAABB(z,this.getWorldTransform(y)));var te=(x=y.ownerDocument)===null||x===void 0||(x=x.defaultView)===null||x===void 0?void 0:x.getContextService().getBoundingClientRect();if(b){var re=b.getMin(),ae=(0,Wn.Z)(re,2),se=ae[0],fe=ae[1],me=b.getMax(),Se=(0,Wn.Z)(me,2),Te=Se[0],ke=Se[1];return new qg(se+((te==null?void 0:te.left)||0),fe+((te==null?void 0:te.top)||0),Te-se,ke-fe)}return new qg((te==null?void 0:te.left)||0,(te==null?void 0:te.top)||0,0,0)}},{key:"dirtifyWorldInternal",value:function(y,x){var b=this;if(!x.dirtyFlag){x.dirtyFlag=!0,x.frozen=!1,y.childNodes.forEach(function(re){var ae=re.transformable;ae.dirtyFlag||b.dirtifyWorldInternal(re,ae)});var z=y,te=z.renderable;te&&(te.renderBoundsDirty=!0,te.boundsDirty=!0,te.dirty=!0)}}},{key:"syncHierarchy",value:function(y){var x=y.transformable;if(!x.frozen){x.frozen=!0,(x.localDirtyFlag||x.dirtyFlag)&&this.sync(y,x);for(var b=y.childNodes,z=0;z<b.length;z++)this.syncHierarchy(b[z])}}},{key:"sync",value:function(y,x){if(x.localDirtyFlag&&(this.calcLocalTransform(x),x.localDirtyFlag=!1),x.dirtyFlag){var b=y.parentNode,z=b&&b.transformable;b===null||!z?Fs(x.worldTransform,x.localTransform):Uu(x.worldTransform,z.worldTransform,x.localTransform),x.dirtyFlag=!1}}},{key:"unfreezeParentToRoot",value:function(y){for(var x=y.parentNode;x;){var b=x.transformable;b&&(b.frozen=!1),x=x.parentNode}}}])}(),sg={MetricsString:"|\xC9q\xC5",BaselineSymbol:"M",BaselineMultiplier:1.4,HeightMultiplier:2,Newlines:[10,13],BreakingSpaces:[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288]},gP=/[a-zA-Z0-9\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff!"#$%&'()*+,-./:;]/,T6=/[!%),.:;?\]}¢°·'""†‡›℃∶、。〃〆〕〗〞﹚﹜!"%'),.:;?!]}~]/,B6=/[$(£¥·'"〈《「『【〔〖〝﹙﹛$(.[{£¥]/,N6=/[!),.:;?\]}¢·–—'"•"、。〆〞〕〉》」︰︱︲︳﹐﹑﹒﹔﹕﹖﹘﹚﹜!),.:;?︶︸︺︼︾﹀﹂﹗]|}、]/,R6=/[([{£¥'"‵〈《「『〔〝︴﹙﹛({︵︷︹︻︽︿﹁﹃﹏]/,_6=/[)\]}〕〉》」』】〙〗〟'"⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、:;,。.]/,F6=/[([{〔〈《「『【〘〖〝'"⦅«—...‥〳〴〵]/,k6=/[!%),.:;?\]}¢°'"†‡℃〆〈《「『〕!%),.:;?]}]/,z6=/[$([{£¥'"々〇〉》」〔$([{⦆¥₩#]/,U6=new RegExp("".concat(T6.source,"|").concat(N6.source,"|").concat(_6.source,"|").concat(k6.source)),W6=new RegExp("".concat(B6.source,"|").concat(R6.source,"|").concat(F6.source,"|").concat(z6.source)),j6=function(){function E(a){var y=this;(0,Ar.Z)(this,E),this.fontMetricsCache={},this.shouldBreakByKinsokuShorui=function(x,b){return y.isBreakingSpace(b)?!1:!!(x&&(W6.exec(b)||U6.exec(x)))},this.trimByKinsokuShorui=function(x){var b=(0,va.Z)(x),z=b[b.length-2];if(!z)return x;var te=z[z.length-1];return b[b.length-2]=z.slice(0,-1),b[b.length-1]=te+b[b.length-1],b},this.runtime=a}return(0,$n.Z)(E,[{key:"measureFont",value:function(y,x){if(this.fontMetricsCache[y])return this.fontMetricsCache[y];var b={ascent:0,descent:0,fontSize:0},z=this.runtime.offscreenCanvasCreator.getOrCreateCanvas(x),te=this.runtime.offscreenCanvasCreator.getOrCreateContext(x,{willReadFrequently:!0});te.font=y;var re=sg.MetricsString+sg.BaselineSymbol,ae=Math.ceil(te.measureText(re).width),se=Math.ceil(te.measureText(sg.BaselineSymbol).width),fe=sg.HeightMultiplier*se;se=se*sg.BaselineMultiplier|0,z.width=ae,z.height=fe,te.fillStyle="#f00",te.fillRect(0,0,ae,fe),te.font=y,te.textBaseline="alphabetic",te.fillStyle="#000",te.fillText(re,0,se);var me=te.getImageData(0,0,ae||1,fe||1).data,Se=me.length,Te=ae*4,ke=0,We=0,je=!1;for(ke=0;ke<se;++ke){for(var Ke=0;Ke<Te;Ke+=4)if(me[We+Ke]!==255){je=!0;break}if(!je)We+=Te;else break}for(b.ascent=se-ke,We=Se-Te,je=!1,ke=fe;ke>se;--ke){for(var Qe=0;Qe<Te;Qe+=4)if(me[We+Qe]!==255){je=!0;break}if(!je)We-=Te;else break}return b.descent=ke-se,b.fontSize=b.ascent+b.descent,this.fontMetricsCache[y]=b,b}},{key:"measureText",value:function(y,x,b){var z=x.fontSize,te=z===void 0?16:z,re=x.wordWrap,ae=re===void 0?!1:re,se=x.lineHeight,fe=x.lineWidth,me=fe===void 0?1:fe,Se=x.textBaseline,Te=Se===void 0?"alphabetic":Se,ke=x.textAlign,We=ke===void 0?"start":ke,je=x.letterSpacing,Ke=je===void 0?0:je,Qe=x.textPath;x.textPathSide,x.textPathStartOffset;var Je=x.leading,at=Je===void 0?0:Je,ot=t6(x),ut=this.measureFont(ot,b);ut.fontSize===0&&(ut.fontSize=te,ut.ascent=te);var ft=this.runtime.offscreenCanvasCreator.getOrCreateContext(b);ft.font=ot,x.isOverflowing=!1;var lt=ae?this.wordWrap(y,x,b):y,Dt=lt.split(/(?:\r\n|\r|\n)/),Bt=new Array(Dt.length),Vt=0;if(Qe){Qe.getTotalLength();for(var Xt=0;Xt<Dt.length;Xt++)ft.measureText(Dt[Xt]).width+(Dt[Xt].length-1)*Ke}else{for(var vn=0;vn<Dt.length;vn++){var on=ft.measureText(Dt[vn]).width+(Dt[vn].length-1)*Ke;Bt[vn]=on,Vt=Math.max(Vt,on)}var wn=Vt+me,qn=se||ut.fontSize+me,yn=Math.max(qn,ut.fontSize+me)+(Dt.length-1)*(qn+at);qn+=at;var En=0;return Te==="middle"?En=-yn/2:Te==="bottom"||Te==="alphabetic"||Te==="ideographic"?En=-yn:(Te==="top"||Te==="hanging")&&(En=0),{font:ot,width:wn,height:yn,lines:Dt,lineWidths:Bt,lineHeight:qn,maxLineWidth:Vt,fontProperties:ut,lineMetrics:Bt.map(function(Pn,or){var xn=0;return We==="center"||We==="middle"?xn-=Pn/2:(We==="right"||We==="end")&&(xn-=Pn),new qg(xn-me/2,En+or*qn,Pn+me,qn)})}}}},{key:"wordWrap",value:function(y,x,b){var z=this,te=this,re=x.wordWrapWidth,ae=re===void 0?0:re,se=x.letterSpacing,fe=se===void 0?0:se,me=x.maxLines,Se=me===void 0?1/0:me,Te=x.textOverflow,ke=this.runtime.offscreenCanvasCreator.getOrCreateContext(b),We=ae+fe,je="";Te==="ellipsis"?je="...":Te&&Te!=="clip"&&(je=Te);var Ke=Array.from(y),Qe=[],Je=0,at=0,ot=0,ut={},ft=function(En){return z.getFromCache(En,fe,ut,ke)},lt=ft(je);function Dt(yn,En,Pn,or){for(;ft(yn)<or&&En<Ke.length-1&&!te.isNewline(Ke[En+1]);)En+=1,yn+=Ke[En];for(;ft(yn)>or&&En>Pn;)En-=1,yn=yn.slice(0,-1);return{lineTxt:yn,txtLastCharIndex:En}}function Bt(yn,En){if(!(lt<=0||lt>We)){if(!Qe[yn]){Qe[yn]=je;return}var Pn=Dt(Qe[yn],En,ot+1,We-lt);Qe[yn]=Pn.lineTxt+je}}for(var Vt=0;Vt<Ke.length;Vt++){var Xt=Ke[Vt],vn=Ke[Vt-1],on=Ke[Vt+1],wn=ft(Xt);if(this.isNewline(Xt)){if(Je+1>=Se){x.isOverflowing=!0,Vt<Ke.length-1&&Bt(Je,Vt-1);break}ot=Vt-1,Je+=1,at=0,Qe[Je]="";continue}if(at>0&&at+wn>We){var qn=Dt(Qe[Je],Vt-1,ot+1,We);if(qn.txtLastCharIndex!==Vt-1){if(Qe[Je]=qn.lineTxt,qn.txtLastCharIndex===Ke.length-1)break;Vt=qn.txtLastCharIndex+1,Xt=Ke[Vt],vn=Ke[Vt-1],on=Ke[Vt+1],wn=ft(Xt)}if(Je+1>=Se){x.isOverflowing=!0,Bt(Je,Vt-1);break}if(ot=Vt-1,Je+=1,at=0,Qe[Je]="",this.isBreakingSpace(Xt))continue;this.canBreakInLastChar(Xt)||(Qe=this.trimToBreakable(Qe),at=this.sumTextWidthByCache(Qe[Je]||"",ft)),this.shouldBreakByKinsokuShorui(Xt,on)&&(Qe=this.trimByKinsokuShorui(Qe),at+=ft(vn||""))}at+=wn,Qe[Je]=(Qe[Je]||"")+Xt}return Qe.join(`
|
|
|
`)}},{key:"isBreakingSpace",value:function(y){return typeof y!="string"?!1:sg.BreakingSpaces.indexOf(y.charCodeAt(0))>=0}},{key:"isNewline",value:function(y){return typeof y!="string"?!1:sg.Newlines.indexOf(y.charCodeAt(0))>=0}},{key:"trimToBreakable",value:function(y){var x=(0,va.Z)(y),b=x[x.length-2],z=this.findBreakableIndex(b);if(z===-1||!b)return x;var te=b.slice(z,z+1),re=this.isBreakingSpace(te),ae=z+1,se=z+(re?0:1);return x[x.length-1]+=b.slice(ae,b.length),x[x.length-2]=b.slice(0,se),x}},{key:"canBreakInLastChar",value:function(y){return!(y&&gP.test(y))}},{key:"sumTextWidthByCache",value:function(y,x){return y.split("").reduce(function(b,z){return b+x(z)},0)}},{key:"findBreakableIndex",value:function(y){for(var x=y.length-1;x>=0;x--)if(!gP.test(y[x]))return x;return-1}},{key:"getFromCache",value:function(y,x,b,z){var te=b[y];if(typeof te!="number"){var re=y.length*x,ae=z.measureText(y);te=ae.width+re,b[y]=te}return te}}])}(),Ga={},G6=function(E){var a=new g6,y=new h6;return E={},(0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)(E,la.FRAGMENT,null),la.CIRCLE,new u6),la.ELLIPSE,new c6),la.RECT,a),la.IMAGE,a),la.GROUP,new m6),la.LINE,new d6),la.TEXT,new v6(Ga)),la.POLYLINE,y),la.POLYGON,y),(0,_i.Z)((0,_i.Z)((0,_i.Z)(E,la.PATH,new f6),la.HTML,new p6),la.MESH,null)}(),V6=function(E){var a=new xB,y=new IE;return E={},(0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)(E,mi.PERCENTAGE,null),mi.NUMBER,new wB),mi.ANGLE,new EB),mi.DEFINED_PATH,new AB),mi.PAINT,a),mi.COLOR,a),mi.FILTER,new SB),mi.LENGTH,y),mi.LENGTH_PERCENTAGE,y),mi.LENGTH_PERCENTAGE_12,new bB),(0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)(E,mi.LENGTH_PERCENTAGE_14,new CB),mi.COORDINATE,new IE),mi.OFFSET_DISTANCE,new MB),mi.OPACITY_VALUE,new DB),mi.PATH,new IB),mi.LIST_OF_POINTS,new LB),mi.SHADOW_BLUR,new OB),mi.TEXT,new TB),mi.TEXT_TRANSFORM,new BB),mi.TRANSFORM,new o6),(0,_i.Z)((0,_i.Z)((0,_i.Z)(E,mi.TRANSFORM_ORIGIN,new s6),mi.Z_INDEX,new l6),mi.MARKER,new PB)}(),H6=function(){return typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof Oe.g!="undefined"?Oe.g:{}};Ga.CameraContribution=hC,Ga.AnimationTimeline=null,Ga.EasingFunction=null,Ga.offscreenCanvasCreator=new FE,Ga.sceneGraphSelector=new S6,Ga.sceneGraphService=new O6(Ga),Ga.textService=new j6(Ga),Ga.geometryUpdaterFactory=G6,Ga.CSSPropertySyntaxFactory=V6,Ga.styleValueRegistry=new pB(Ga),Ga.layoutRegistry=null,Ga.globalThis=H6(),Ga.enableStyleSyntax=!0,Ga.enableSizeAttenuation=!1;var vP=0;function TY(){vP=0}var zE=new tf(is.INSERTED,null,"","","",0,"",""),UE=new tf(is.REMOVED,null,"","","",0,"",""),mP=new ql(is.DESTROY),K6=function(E){function a(){var y;(0,Ar.Z)(this,a);for(var x=arguments.length,b=new Array(x),z=0;z<x;z++)b[z]=arguments[z];return y=Tr(this,a,[].concat(b)),y.entity=vP++,y.renderable={bounds:void 0,boundsDirty:!0,renderBounds:void 0,renderBoundsDirty:!0,dirtyRenderBounds:void 0,dirty:!1},y.cullable={strategy:YO.Standard,visibilityPlaneMask:-1,visible:!0,enable:!0},y.transformable={dirtyFlag:!1,localDirtyFlag:!1,frozen:!1,localPosition:[0,0,0],localRotation:[0,0,0,1],localScale:[1,1,1],localTransform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],localSkew:[0,0],position:[0,0,0],rotation:[0,0,0,1],scaling:[1,1,1],worldTransform:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],origin:[0,0,0]},y.sortable={dirty:!1,sorted:void 0,renderOrder:0,dirtyChildren:[],dirtyReason:void 0},y.geometry={contentBounds:void 0,renderBounds:void 0,dirty:!0},y.rBushNode={aabb:void 0},y.namespaceURI="g",y.scrollLeft=0,y.scrollTop=0,y.clientTop=0,y.clientLeft=0,y.destroyed=!1,y.style={},y.computedStyle={},y.parsedStyle={},y.attributes={},y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"className",get:function(){return this.getAttribute("class")||""},set:function(x){this.setAttribute("class",x)}},{key:"classList",get:function(){return this.className.split(" ").filter(function(x){return x!==""})}},{key:"tagName",get:function(){return this.nodeName}},{key:"children",get:function(){return this.childNodes}},{key:"childElementCount",get:function(){return this.childNodes.length}},{key:"firstElementChild",get:function(){return this.firstChild}},{key:"lastElementChild",get:function(){return this.lastChild}},{key:"parentElement",get:function(){return this.parentNode}},{key:"nextSibling",get:function(){if(this.parentNode){var x=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[x+1]||null}return null}},{key:"previousSibling",get:function(){if(this.parentNode){var x=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[x-1]||null}return null}},{key:"cloneNode",value:function(x){throw new Error(Qs)}},{key:"appendChild",value:function(x,b){var z;if(x.destroyed)throw new Error(FO);return Ga.sceneGraphService.attach(x,this,b),(z=this.ownerDocument)!==null&&z!==void 0&&z.defaultView&&(!Om(this)&&x.nodeName===la.FRAGMENT?this.ownerDocument.defaultView.mountFragment(x):this.ownerDocument.defaultView.mountChildren(x)),this.isMutationObserved&&(zE.relatedNode=this,x.dispatchEvent(zE)),x}},{key:"insertBefore",value:function(x,b){if(!b)this.appendChild(x);else{x.parentElement&&x.parentElement.removeChild(x);var z=this.childNodes.indexOf(b);z===-1?this.appendChild(x):this.appendChild(x,z)}return x}},{key:"replaceChild",value:function(x,b){var z=this.childNodes.indexOf(b);return this.removeChild(b),this.appendChild(x,z),b}},{key:"removeChild",value:function(x){var b;return UE.relatedNode=this,x.dispatchEvent(UE),(b=x.ownerDocument)!==null&&b!==void 0&&b.defaultView&&x.ownerDocument.defaultView.unmountChildren(x),Ga.sceneGraphService.detach(x),x}},{key:"removeChildren",value:function(){for(var x=this.childNodes.length-1;x>=0;x--){var b=this.childNodes[x];this.removeChild(b)}}},{key:"destroyChildren",value:function(){for(var x=this.childNodes.length-1;x>=0;x--){var b=this.childNodes[x];b.childNodes.length>0&&b.destroyChildren(),b.destroy()}}},{key:"matches",value:function(x){return Ga.sceneGraphService.matches(x,this)}},{key:"getElementById",value:function(x){return Ga.sceneGraphService.querySelector("#".concat(x),this)}},{key:"getElementsByName",value:function(x){return Ga.sceneGraphService.querySelectorAll('[name="'.concat(x,'"]'),this)}},{key:"getElementsByClassName",value:function(x){return Ga.sceneGraphService.querySelectorAll(".".concat(x),this)}},{key:"getElementsByTagName",value:function(x){return Ga.sceneGraphService.querySelectorAll(x,this)}},{key:"querySelector",value:function(x){return Ga.sceneGraphService.querySelector(x,this)}},{key:"querySelectorAll",value:function(x){return Ga.sceneGraphService.querySelectorAll(x,this)}},{key:"closest",value:function(x){var b=this;do{if(Ga.sceneGraphService.matches(x,b))return b;b=b.parentElement}while(b!==null);return null}},{key:"find",value:function(x){var b=this,z=null;return this.forEach(function(te){return te!==b&&x(te)?(z=te,!1):!0}),z}},{key:"findAll",value:function(x){var b=this,z=[];return this.forEach(function(te){te!==b&&x(te)&&z.push(te)}),z}},{key:"after",value:function(){var x=this;if(this.parentNode){for(var b=this.parentNode.childNodes.indexOf(this),z=arguments.length,te=new Array(z),re=0;re<z;re++)te[re]=arguments[re];te.forEach(function(ae,se){var fe;return(fe=x.parentNode)===null||fe===void 0?void 0:fe.appendChild(ae,b+se+1)})}}},{key:"before",value:function(){if(this.parentNode){for(var x,b=this.parentNode.childNodes.indexOf(this),z=arguments.length,te=new Array(z),re=0;re<z;re++)te[re]=arguments[re];var ae=te[0],se=te.slice(1);this.parentNode.appendChild(ae,b),(x=ae).after.apply(x,(0,va.Z)(se))}}},{key:"replaceWith",value:function(){this.after.apply(this,arguments),this.remove()}},{key:"append",value:function(){for(var x=this,b=arguments.length,z=new Array(b),te=0;te<b;te++)z[te]=arguments[te];z.forEach(function(re){return x.appendChild(re)})}},{key:"prepend",value:function(){for(var x=this,b=arguments.length,z=new Array(b),te=0;te<b;te++)z[te]=arguments[te];z.forEach(function(re,ae){return x.appendChild(re,ae)})}},{key:"replaceChildren",value:function(){for(;this.childNodes.length&&this.firstChild;)this.removeChild(this.firstChild);this.append.apply(this,arguments)}},{key:"remove",value:function(){return this.parentNode?this.parentNode.removeChild(this):this}},{key:"destroy",value:function(){this.destroyChildren(),this.dispatchEvent(mP),this.remove(),this.emitter.removeAllListeners(),this.destroyed=!0}},{key:"getGeometryBounds",value:function(){return Ga.sceneGraphService.getGeometryBounds(this)}},{key:"getRenderBounds",value:function(){return Ga.sceneGraphService.getBounds(this,!0)}},{key:"getBounds",value:function(){return Ga.sceneGraphService.getBounds(this)}},{key:"getLocalBounds",value:function(){return Ga.sceneGraphService.getLocalBounds(this)}},{key:"getBoundingClientRect",value:function(){return Ga.sceneGraphService.getBoundingClientRect(this)}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"computedStyleMap",value:function(){return new Map(Object.entries(this.computedStyle))}},{key:"getAttributeNames",value:function(){return Object.keys(this.attributes)}},{key:"getAttribute",value:function(x){if(typeof x!="symbol"){var b=this.attributes[x];return b}}},{key:"hasAttribute",value:function(x){return this.getAttributeNames().includes(x)}},{key:"hasAttributes",value:function(){return!!this.getAttributeNames().length}},{key:"removeAttribute",value:function(x){this.setAttribute(x,null),delete this.attributes[x]}},{key:"setAttribute",value:function(x,b,z,te){this.attributes[x]=b}},{key:"getAttributeNS",value:function(x,b){throw new Error(Qs)}},{key:"getAttributeNode",value:function(x){throw new Error(Qs)}},{key:"getAttributeNodeNS",value:function(x,b){throw new Error(Qs)}},{key:"hasAttributeNS",value:function(x,b){throw new Error(Qs)}},{key:"removeAttributeNS",value:function(x,b){throw new Error(Qs)}},{key:"removeAttributeNode",value:function(x){throw new Error(Qs)}},{key:"setAttributeNS",value:function(x,b,z){throw new Error(Qs)}},{key:"setAttributeNode",value:function(x){throw new Error(Qs)}},{key:"setAttributeNodeNS",value:function(x){throw new Error(Qs)}},{key:"toggleAttribute",value:function(x,b){throw new Error(Qs)}}])}(yl);function Ls(E){return!!(E!=null&&E.nodeName)}var Z6=Ga.globalThis.Proxy?Ga.globalThis.Proxy:function(){},nf=new tf(is.ATTR_MODIFIED,null,null,null,null,tf.MODIFICATION,null,null),$0=ni(),Q6=ou(),ul=function(E){function a(y){var x;return(0,Ar.Z)(this,a),x=Tr(this,a),x.isCustomElement=!1,x.isMutationObserved=!1,x.activeAnimations=[],x.config=y,x.id=y.id||"",x.name=y.name||"",(y.className||y.class)&&(x.className=y.className||y.class),x.nodeName=y.type||la.GROUP,y.initialParsedStyle&&Object.assign(x.parsedStyle,y.initialParsedStyle),x.initAttributes(y.style),Ga.enableStyleSyntax&&(x.style=new Z6({setProperty:function(z,te){x.setAttribute(z,te)},getPropertyValue:function(z){return x.getAttribute(z)},removeProperty:function(z){x.removeAttribute(z)},item:function(){return""}},{get:function(z,te){return z[te]!==void 0?z[te]:x.getAttribute(te)},set:function(z,te,re){return x.setAttribute(te,re),!0}})),x}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"destroy",value:function(){Wb(a,"destroy",this,3)([]),this.getAnimations().forEach(function(x){x.cancel()})}},{key:"cloneNode",value:function(x,b){var z=(0,Cr.Z)({},this.attributes);for(var te in z){var re=z[te];Ls(re)&&te!=="clipPath"&&te!=="offsetPath"&&te!=="textPath"&&(z[te]=re.cloneNode(x)),b&&(z[te]=b(te,re))}var ae=new this.constructor((0,Cr.Z)((0,Cr.Z)({},this.config),{},{style:z}));return ae.setLocalTransform(this.getLocalTransform()),x&&this.children.forEach(function(se){if(!se.style.isMarker){var fe=se.cloneNode(x);ae.appendChild(fe)}}),ae}},{key:"initAttributes",value:function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},b={forceUpdateGeometry:!0};Ga.styleValueRegistry.processProperties(this,x,b),this.renderable.dirty=!0}},{key:"setAttribute",value:function(x,b){var z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,te=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;Lo(b)||(z||b!==this.attributes[x])&&(this.internalSetAttribute(x,b,{memoize:te}),Wb(a,"setAttribute",this,3)([x,b]))}},{key:"internalSetAttribute",value:function(x,b){var z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},te=this.renderable,re=this.attributes[x],ae=this.parsedStyle[x];Ga.styleValueRegistry.processProperties(this,(0,_i.Z)({},x,b),z),te.dirty=!0;var se=this.parsedStyle[x];if(this.isConnected&&(nf.relatedNode=this,nf.prevValue=re,nf.newValue=b,nf.attrName=x,nf.prevParsedValue=ae,nf.newParsedValue=se,this.isMutationObserved?this.dispatchEvent(nf):(nf.target=this,this.ownerDocument.defaultView.dispatchEvent(nf,!0))),this.isCustomElement&&this.isConnected||!this.isCustomElement){var fe,me;(fe=(me=this).attributeChangedCallback)===null||fe===void 0||fe.call(me,x,re,b,ae,se)}}},{key:"getBBox",value:function(){var x=this.getBounds(),b=x.getMin(),z=(0,Wn.Z)(b,2),te=z[0],re=z[1],ae=x.getMax(),se=(0,Wn.Z)(ae,2),fe=se[0],me=se[1];return new qg(te,re,fe-te,me-re)}},{key:"setOrigin",value:function(x){var b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ga.sceneGraphService.setOrigin(this,$u(x,b,z,!1)),this}},{key:"getOrigin",value:function(){return Ga.sceneGraphService.getOrigin(this)}},{key:"setPosition",value:function(x){var b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ga.sceneGraphService.setPosition(this,$u(x,b,z,!1)),this}},{key:"setLocalPosition",value:function(x){var b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ga.sceneGraphService.setLocalPosition(this,$u(x,b,z,!1)),this}},{key:"translate",value:function(x){var b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ga.sceneGraphService.translate(this,$u(x,b,z,!1)),this}},{key:"translateLocal",value:function(x){var b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ga.sceneGraphService.translateLocal(this,$u(x,b,z,!1)),this}},{key:"getPosition",value:function(){return Ga.sceneGraphService.getPosition(this)}},{key:"getLocalPosition",value:function(){return Ga.sceneGraphService.getLocalPosition(this)}},{key:"scale",value:function(x,b,z){return this.scaleLocal(x,b,z)}},{key:"scaleLocal",value:function(x,b,z){return typeof x=="number"&&(b=b||x,z=z||x,x=$u(x,b,z,!1)),Ga.sceneGraphService.scaleLocal(this,x),this}},{key:"setLocalScale",value:function(x,b,z){return typeof x=="number"&&(b=b||x,z=z||x,x=$u(x,b,z,!1)),Ga.sceneGraphService.setLocalScale(this,x),this}},{key:"getLocalScale",value:function(){return Ga.sceneGraphService.getLocalScale(this)}},{key:"getScale",value:function(){return Ga.sceneGraphService.getScale(this)}},{key:"getEulerAngles",value:function(){var x=cE($0,Ga.sceneGraphService.getWorldTransform(this)),b=(0,Wn.Z)(x,3),z=b[2];return gc(z)}},{key:"getLocalEulerAngles",value:function(){var x=cE($0,Ga.sceneGraphService.getLocalRotation(this)),b=(0,Wn.Z)(x,3),z=b[2];return gc(z)}},{key:"setEulerAngles",value:function(x){return Ga.sceneGraphService.setEulerAngles(this,0,0,x),this}},{key:"setLocalEulerAngles",value:function(x){return Ga.sceneGraphService.setLocalEulerAngles(this,0,0,x),this}},{key:"rotateLocal",value:function(x,b,z){return fo(b)&&fo(z)?Ga.sceneGraphService.rotateLocal(this,0,0,x):Ga.sceneGraphService.rotateLocal(this,x,b,z),this}},{key:"rotate",value:function(x,b,z){return fo(b)&&fo(z)?Ga.sceneGraphService.rotate(this,0,0,x):Ga.sceneGraphService.rotate(this,x,b,z),this}},{key:"setRotation",value:function(x,b,z,te){return Ga.sceneGraphService.setRotation(this,x,b,z,te),this}},{key:"setLocalRotation",value:function(x,b,z,te){return Ga.sceneGraphService.setLocalRotation(this,x,b,z,te),this}},{key:"setLocalSkew",value:function(x,b){return Ga.sceneGraphService.setLocalSkew(this,x,b),this}},{key:"getRotation",value:function(){return Ga.sceneGraphService.getRotation(this)}},{key:"getLocalRotation",value:function(){return Ga.sceneGraphService.getLocalRotation(this)}},{key:"getLocalSkew",value:function(){return Ga.sceneGraphService.getLocalSkew(this)}},{key:"getLocalTransform",value:function(){return Ga.sceneGraphService.getLocalTransform(this)}},{key:"getWorldTransform",value:function(){return Ga.sceneGraphService.getWorldTransform(this)}},{key:"setLocalTransform",value:function(x){return Ga.sceneGraphService.setLocalTransform(this,x),this}},{key:"resetLocalTransform",value:function(){Ga.sceneGraphService.resetLocalTransform(this)}},{key:"getAnimations",value:function(){return this.activeAnimations}},{key:"animate",value:function(x,b){var z,te=(z=this.ownerDocument)===null||z===void 0?void 0:z.timeline;return te?te.play(this,x,b):null}},{key:"isVisible",value:function(){var x;return((x=this.parsedStyle)===null||x===void 0?void 0:x.visibility)!=="hidden"}},{key:"interactive",get:function(){return this.isInteractive()},set:function(x){this.style.pointerEvents=x?"auto":"none"}},{key:"isInteractive",value:function(){var x;return((x=this.parsedStyle)===null||x===void 0?void 0:x.pointerEvents)!=="none"}},{key:"isCulled",value:function(){return!!(this.cullable&&this.cullable.enable&&!this.cullable.visible)}},{key:"toFront",value:function(){return this.parentNode&&(this.style.zIndex=Math.max.apply(Math,(0,va.Z)(this.parentNode.children.map(function(x){return Number(x.style.zIndex)})))+1),this}},{key:"toBack",value:function(){return this.parentNode&&(this.style.zIndex=Math.min.apply(Math,(0,va.Z)(this.parentNode.children.map(function(x){return Number(x.style.zIndex)})))-1),this}},{key:"getConfig",value:function(){return this.config}},{key:"attr",value:function(){for(var x=this,b=arguments.length,z=new Array(b),te=0;te<b;te++)z[te]=arguments[te];var re=z[0],ae=z[1];return re?jl(re)?(Object.keys(re).forEach(function(se){x.setAttribute(se,re[se])}),this):z.length===2?(this.setAttribute(re,ae),this):this.attributes[re]:this.attributes}},{key:"getMatrix",value:function(x){var b=x||this.getWorldTransform(),z=am($0,b),te=(0,Wn.Z)(z,2),re=te[0],ae=te[1],se=Qg($0,b),fe=(0,Wn.Z)(se,2),me=fe[0],Se=fe[1],Te=im(Q6,b),ke=cE($0,Te),We=(0,Wn.Z)(ke,3),je=We[0],Ke=We[2];return VO(je||Ke,re,ae,me,Se)}},{key:"getLocalMatrix",value:function(){return this.getMatrix(this.getLocalTransform())}},{key:"setMatrix",value:function(x){var b=uC(x),z=(0,Wn.Z)(b,5),te=z[0],re=z[1],ae=z[2],se=z[3],fe=z[4];this.setEulerAngles(fe).setPosition(te,re).setLocalScale(ae,se)}},{key:"setLocalMatrix",value:function(x){var b=uC(x),z=(0,Wn.Z)(b,5),te=z[0],re=z[1],ae=z[2],se=z[3],fe=z[4];this.setLocalEulerAngles(fe).setLocalPosition(te,re).setLocalScale(ae,se)}},{key:"show",value:function(){this.forEach(function(x){x.style.visibility="visible"})}},{key:"hide",value:function(){this.forEach(function(x){x.style.visibility="hidden"})}},{key:"getCount",value:function(){return this.childElementCount}},{key:"getParent",value:function(){return this.parentElement}},{key:"getChildren",value:function(){return this.children}},{key:"getFirst",value:function(){return this.firstElementChild}},{key:"getLast",value:function(){return this.lastElementChild}},{key:"getChildByIndex",value:function(x){return this.children[x]||null}},{key:"add",value:function(x,b){return this.appendChild(x,b)}},{key:"set",value:function(x,b){this.config[x]=b}},{key:"get",value:function(x){return this.config[x]}},{key:"moveTo",value:function(x){var b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(x,b,z),this}},{key:"move",value:function(x){var b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(x,b,z),this}},{key:"setZIndex",value:function(x){return this.style.zIndex=x,this}}])}(K6);ul.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","display","draggable","droppable","fill","fillOpacity","fillRule","filter","increasedLineWidthForHitTesting","lineCap","lineDash","lineDashOffset","lineJoin","lineWidth","miterLimit","hitArea","offsetDistance","offsetPath","offsetX","offsetY","opacity","pointerEvents","shadowColor","shadowType","shadowBlur","shadowOffsetX","shadowOffsetY","stroke","strokeOpacity","strokeWidth","strokeLinecap","strokeLineJoin","strokeDasharray","strokeDashoffset","transform","transformOrigin","textTransform","visibility","zIndex"]);var Cf=function(E){function a(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,Ar.Z)(this,a),Tr(this,a,[(0,Cr.Z)({type:la.CIRCLE},y)])}return(0,da.Z)(a,E),(0,$n.Z)(a)}(ul);Cf.PARSED_STYLE_LIST=new Set([].concat((0,va.Z)(ul.PARSED_STYLE_LIST),["cx","cy","cz","r","isBillboard","isSizeAttenuation"]));var Y6=["style"],WE=function(E){function a(){var y,x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},b=x.style,z=(0,$h.Z)(x,Y6);return(0,Ar.Z)(this,a),y=Tr(this,a,[(0,Cr.Z)({style:b},z)]),y.isCustomElement=!0,y}return(0,da.Z)(a,E),(0,$n.Z)(a)}(ul);WE.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var ev=function(E){function a(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,Ar.Z)(this,a),Tr(this,a,[(0,Cr.Z)({type:la.ELLIPSE},y)])}return(0,da.Z)(a,E),(0,$n.Z)(a)}(ul);ev.PARSED_STYLE_LIST=new Set([].concat((0,va.Z)(ul.PARSED_STYLE_LIST),["cx","cy","cz","rx","ry","isBillboard","isSizeAttenuation"]));var X6=function(E){function a(){return(0,Ar.Z)(this,a),Tr(this,a,[{type:la.FRAGMENT}])}return(0,da.Z)(a,E),(0,$n.Z)(a)}(ul);X6.PARSED_STYLE_LIST=new Set(["class","className"]);var su=function(E){function a(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,Ar.Z)(this,a),Tr(this,a,[(0,Cr.Z)({type:la.GROUP},y)])}return(0,da.Z)(a,E),(0,$n.Z)(a)}(ul);su.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var J6=["style"],tv=function(E){function a(){var y,x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},b=x.style,z=(0,$h.Z)(x,J6);return(0,Ar.Z)(this,a),y=Tr(this,a,[(0,Cr.Z)({type:la.HTML,style:b},z)]),y.cullable.enable=!1,y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"getDomElement",value:function(){return this.parsedStyle.$el}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"getLocalBounds",value:function(){if(this.parentNode){var x=zu(Pi(),this.parentNode.getWorldTransform()),b=this.getBounds();if(!il.isEmpty(b)){var z=new il;return z.setFromTransformedAABB(b,x),z}}return this.getBounds()}}])}(ul);tv.PARSED_STYLE_LIST=new Set([].concat((0,va.Z)(ul.PARSED_STYLE_LIST),["x","y","$el","innerHTML","width","height"]));var nv=function(E){function a(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,Ar.Z)(this,a),Tr(this,a,[(0,Cr.Z)({type:la.IMAGE},y)])}return(0,da.Z)(a,E),(0,$n.Z)(a)}(ul);nv.PARSED_STYLE_LIST=new Set([].concat((0,va.Z)(ul.PARSED_STYLE_LIST),["x","y","z","src","width","height","isBillboard","billboardRotation","isSizeAttenuation","keepAspectRatio"]));var q6=["style"],lg=function(E){function a(){var y,x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},b=x.style,z=(0,$h.Z)(x,q6);(0,Ar.Z)(this,a),y=Tr(this,a,[(0,Cr.Z)({type:la.LINE,style:(0,Cr.Z)({x1:0,y1:0,x2:0,y2:0,z1:0,z2:0},b)},z)]),y.markerStartAngle=0,y.markerEndAngle=0;var te=y.parsedStyle,re=te.markerStart,ae=te.markerEnd;return re&&Ls(re)&&(y.markerStartAngle=re.getLocalEulerAngles(),y.appendChild(re)),ae&&Ls(ae)&&(y.markerEndAngle=ae.getLocalEulerAngles(),y.appendChild(ae)),y.transformMarker(!0),y.transformMarker(!1),y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"attributeChangedCallback",value:function(x,b,z,te,re){x==="x1"||x==="y1"||x==="x2"||x==="y2"||x==="markerStartOffset"||x==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):x==="markerStart"?(te&&Ls(te)&&(this.markerStartAngle=0,te.remove()),re&&Ls(re)&&(this.markerStartAngle=re.getLocalEulerAngles(),this.appendChild(re),this.transformMarker(!0))):x==="markerEnd"&&(te&&Ls(te)&&(this.markerEndAngle=0,te.remove()),re&&Ls(re)&&(this.markerEndAngle=re.getLocalEulerAngles(),this.appendChild(re),this.transformMarker(!1)))}},{key:"transformMarker",value:function(x){var b=this.parsedStyle,z=b.markerStart,te=b.markerEnd,re=b.markerStartOffset,ae=b.markerEndOffset,se=b.x1,fe=b.x2,me=b.y1,Se=b.y2,Te=x?z:te;if(!(!Te||!Ls(Te))){var ke=0,We,je,Ke,Qe,Je,at;x?(Ke=se,Qe=me,We=fe-se,je=Se-me,Je=re||0,at=this.markerStartAngle):(Ke=fe,Qe=Se,We=se-fe,je=me-Se,Je=ae||0,at=this.markerEndAngle),ke=Math.atan2(je,We),Te.setLocalEulerAngles(ke*180/Math.PI+at),Te.setLocalPosition(Ke+Math.cos(ke)*Je,Qe+Math.sin(ke)*Je)}}},{key:"getPoint",value:function(x){var b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,z=this.parsedStyle,te=z.x1,re=z.y1,ae=z.x2,se=z.y2,fe=Jd(te,re,ae,se,x),me=fe.x,Se=fe.y,Te=ll(ni(),qi(me,Se,0),b?this.getWorldTransform():this.getLocalTransform());return new wu(Te[0],Te[1])}},{key:"getPointAtLength",value:function(x){var b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(x/this.getTotalLength(),b)}},{key:"getTotalLength",value:function(){var x=this.parsedStyle,b=x.x1,z=x.y1,te=x.x2,re=x.y2;return Yb(b,z,te,re)}}])}(ul);lg.PARSED_STYLE_LIST=new Set([].concat((0,va.Z)(ul.PARSED_STYLE_LIST),["x1","y1","x2","y2","z1","z2","isBillboard","isSizeAttenuation","markerStart","markerEnd","markerStartOffset","markerEndOffset"]));var $6=["style"],Nc=function(E){function a(){var y,x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},b=x.style,z=(0,$h.Z)(x,$6);(0,Ar.Z)(this,a),y=Tr(this,a,[(0,Cr.Z)({type:la.PATH,style:b,initialParsedStyle:{miterLimit:4,d:(0,Cr.Z)({},gC)}},z)]),y.markerStartAngle=0,y.markerEndAngle=0,y.markerMidList=[];var te=y.parsedStyle,re=te.markerStart,ae=te.markerEnd,se=te.markerMid;return re&&Ls(re)&&(y.markerStartAngle=re.getLocalEulerAngles(),y.appendChild(re)),se&&Ls(se)&&y.placeMarkerMid(se),ae&&Ls(ae)&&(y.markerEndAngle=ae.getLocalEulerAngles(),y.appendChild(ae)),y.transformMarker(!0),y.transformMarker(!1),y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"attributeChangedCallback",value:function(x,b,z,te,re){x==="d"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):x==="markerStartOffset"||x==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):x==="markerStart"?(te&&Ls(te)&&(this.markerStartAngle=0,te.remove()),re&&Ls(re)&&(this.markerStartAngle=re.getLocalEulerAngles(),this.appendChild(re),this.transformMarker(!0))):x==="markerEnd"?(te&&Ls(te)&&(this.markerEndAngle=0,te.remove()),re&&Ls(re)&&(this.markerEndAngle=re.getLocalEulerAngles(),this.appendChild(re),this.transformMarker(!1))):x==="markerMid"&&this.placeMarkerMid(re)}},{key:"transformMarker",value:function(x){var b=this.parsedStyle,z=b.markerStart,te=b.markerEnd,re=b.markerStartOffset,ae=b.markerEndOffset,se=x?z:te;if(!(!se||!Ls(se))){var fe=0,me,Se,Te,ke,We,je;if(x){var Ke=this.getStartTangent(),Qe=(0,Wn.Z)(Ke,2),Je=Qe[0],at=Qe[1];Te=at[0],ke=at[1],me=Je[0]-at[0],Se=Je[1]-at[1],We=re||0,je=this.markerStartAngle}else{var ot=this.getEndTangent(),ut=(0,Wn.Z)(ot,2),ft=ut[0],lt=ut[1];Te=lt[0],ke=lt[1],me=ft[0]-lt[0],Se=ft[1]-lt[1],We=ae||0,je=this.markerEndAngle}fe=Math.atan2(Se,me),se.setLocalEulerAngles(fe*180/Math.PI+je),se.setLocalPosition(Te+Math.cos(fe)*We,ke+Math.sin(fe)*We)}}},{key:"placeMarkerMid",value:function(x){var b=this.parsedStyle.d.segments;if(this.markerMidList.forEach(function(fe){fe.remove()}),x&&Ls(x))for(var z=1;z<b.length-1;z++){var te=(0,Wn.Z)(b[z].currentPoint,2),re=te[0],ae=te[1],se=z===1?x:x.cloneNode(!0);this.markerMidList.push(se),this.appendChild(se),se.setLocalPosition(re,ae)}}},{key:"getTotalLength",value:function(){return bE(this)}},{key:"getPointAtLength",value:function(x){var b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,z=this.parsedStyle.d.absolutePath,te=oO(z,x),re=te.x,ae=te.y,se=ll(ni(),qi(re,ae,0),b?this.getWorldTransform():this.getLocalTransform());return new wu(se[0],se[1])}},{key:"getPoint",value:function(x){var b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPointAtLength(x*bE(this),b)}},{key:"getStartTangent",value:function(){var x=this.parsedStyle.d.segments,b=[];if(x.length>1){var z=x[0].currentPoint,te=x[1].currentPoint,re=x[1].startTangent;b=[],re?(b.push([z[0]-re[0],z[1]-re[1]]),b.push([z[0],z[1]])):(b.push([te[0],te[1]]),b.push([z[0],z[1]]))}return b}},{key:"getEndTangent",value:function(){var x=this.parsedStyle.d.segments,b=x.length,z=[];if(b>1){var te=x[b-2].currentPoint,re=x[b-1].currentPoint,ae=x[b-1].endTangent;z=[],ae?(z.push([re[0]-ae[0],re[1]-ae[1]]),z.push([re[0],re[1]])):(z.push([te[0],te[1]]),z.push([re[0],re[1]]))}return z}}])}(ul);Nc.PARSED_STYLE_LIST=new Set([].concat((0,va.Z)(ul.PARSED_STYLE_LIST),["d","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard","isSizeAttenuation"]));var eN=["style"],ug=function(E){function a(){var y,x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},b=x.style,z=(0,$h.Z)(x,eN);(0,Ar.Z)(this,a),y=Tr(this,a,[(0,Cr.Z)({type:la.POLYGON,style:b,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!0}},z)]),y.markerStartAngle=0,y.markerEndAngle=0,y.markerMidList=[];var te=y.parsedStyle,re=te.markerStart,ae=te.markerEnd,se=te.markerMid;return re&&Ls(re)&&(y.markerStartAngle=re.getLocalEulerAngles(),y.appendChild(re)),se&&Ls(se)&&y.placeMarkerMid(se),ae&&Ls(ae)&&(y.markerEndAngle=ae.getLocalEulerAngles(),y.appendChild(ae)),y.transformMarker(!0),y.transformMarker(!1),y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"attributeChangedCallback",value:function(x,b,z,te,re){x==="points"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):x==="markerStartOffset"||x==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):x==="markerStart"?(te&&Ls(te)&&(this.markerStartAngle=0,te.remove()),re&&Ls(re)&&(this.markerStartAngle=re.getLocalEulerAngles(),this.appendChild(re),this.transformMarker(!0))):x==="markerEnd"?(te&&Ls(te)&&(this.markerEndAngle=0,te.remove()),re&&Ls(re)&&(this.markerEndAngle=re.getLocalEulerAngles(),this.appendChild(re),this.transformMarker(!1))):x==="markerMid"&&this.placeMarkerMid(re)}},{key:"transformMarker",value:function(x){var b=this.parsedStyle,z=b.markerStart,te=b.markerEnd,re=b.markerStartOffset,ae=b.markerEndOffset,se=b.points,fe=se||{},me=fe.points,Se=x?z:te;if(!(!Se||!Ls(Se)||!me)){var Te=0,ke,We,je,Ke,Qe,Je;if(je=me[0][0],Ke=me[0][1],x)ke=me[1][0]-me[0][0],We=me[1][1]-me[0][1],Qe=re||0,Je=this.markerStartAngle;else{var at=me.length;this.parsedStyle.isClosed?(ke=me[at-1][0]-me[0][0],We=me[at-1][1]-me[0][1]):(je=me[at-1][0],Ke=me[at-1][1],ke=me[at-2][0]-me[at-1][0],We=me[at-2][1]-me[at-1][1]),Qe=ae||0,Je=this.markerEndAngle}Te=Math.atan2(We,ke),Se.setLocalEulerAngles(Te*180/Math.PI+Je),Se.setLocalPosition(je+Math.cos(Te)*Qe,Ke+Math.sin(Te)*Qe)}}},{key:"placeMarkerMid",value:function(x){var b=this.parsedStyle.points,z=b||{},te=z.points;if(this.markerMidList.forEach(function(me){me.remove()}),this.markerMidList=[],x&&Ls(x)&&te)for(var re=1;re<(this.parsedStyle.isClosed?te.length:te.length-1);re++){var ae=te[re][0],se=te[re][1],fe=re===1?x:x.cloneNode(!0);this.markerMidList.push(fe),this.appendChild(fe),fe.setLocalPosition(ae,se)}}}])}(ul);ug.PARSED_STYLE_LIST=new Set([].concat((0,va.Z)(ul.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isClosed","isBillboard","isSizeAttenuation"]));var tN=["style"],Fm=function(E){function a(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},x=y.style,b=(0,$h.Z)(y,tN);return(0,Ar.Z)(this,a),Tr(this,a,[(0,Cr.Z)({type:la.POLYLINE,style:x,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!1}},b)])}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"getTotalLength",value:function(){return VT(this)}},{key:"getPointAtLength",value:function(x){var b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(x/this.getTotalLength(),b)}},{key:"getPoint",value:function(x){var b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,z=this.parsedStyle.points.points;if(this.parsedStyle.points.segments.length===0){var te=[],re=0,ae,se,fe=this.getTotalLength();z.forEach(function(Ke,Qe){z[Qe+1]&&(ae=[0,0],ae[0]=re/fe,se=Yb(Ke[0],Ke[1],z[Qe+1][0],z[Qe+1][1]),re+=se,ae[1]=re/fe,te.push(ae))}),this.parsedStyle.points.segments=te}var me=0,Se=0;this.parsedStyle.points.segments.forEach(function(Ke,Qe){x>=Ke[0]&&x<=Ke[1]&&(me=(x-Ke[0])/(Ke[1]-Ke[0]),Se=Qe)});var Te=Jd(z[Se][0],z[Se][1],z[Se+1][0],z[Se+1][1],me),ke=Te.x,We=Te.y,je=ll(ni(),qi(ke,We,0),b?this.getWorldTransform():this.getLocalTransform());return new wu(je[0],je[1])}},{key:"getStartTangent",value:function(){var x=this.parsedStyle.points.points,b=[];return b.push([x[1][0],x[1][1]]),b.push([x[0][0],x[0][1]]),b}},{key:"getEndTangent",value:function(){var x=this.parsedStyle.points.points,b=x.length-1,z=[];return z.push([x[b-1][0],x[b-1][1]]),z.push([x[b][0],x[b][1]]),z}}])}(ug);Fm.PARSED_STYLE_LIST=new Set([].concat((0,va.Z)(ug.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard"]));var Mu=function(E){function a(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,Ar.Z)(this,a),Tr(this,a,[(0,Cr.Z)({type:la.RECT},y)])}return(0,da.Z)(a,E),(0,$n.Z)(a)}(ul);Mu.PARSED_STYLE_LIST=new Set([].concat((0,va.Z)(ul.PARSED_STYLE_LIST),["x","y","z","width","height","isBillboard","isSizeAttenuation","radius"]));var nN=["style"],cg=function(E){function a(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},x=y.style,b=(0,$h.Z)(y,nN);return(0,Ar.Z)(this,a),Tr(this,a,[(0,Cr.Z)({type:la.TEXT,style:(0,Cr.Z)({fill:"black"},x)},b)])}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"getComputedTextLength",value:function(){var x;return this.getGeometryBounds(),((x=this.parsedStyle.metrics)===null||x===void 0?void 0:x.maxLineWidth)||0}},{key:"getLineBoundingRects",value:function(){var x;return this.getGeometryBounds(),((x=this.parsedStyle.metrics)===null||x===void 0?void 0:x.lineMetrics)||[]}},{key:"isOverflowing",value:function(){return this.getGeometryBounds(),!!this.parsedStyle.isOverflowing}}])}(ul);cg.PARSED_STYLE_LIST=new Set([].concat((0,va.Z)(ul.PARSED_STYLE_LIST),["x","y","z","isBillboard","billboardRotation","isSizeAttenuation","text","textAlign","textBaseline","fontStyle","fontSize","fontFamily","fontWeight","fontVariant","lineHeight","letterSpacing","leading","wordWrap","wordWrapWidth","maxLines","textOverflow","isOverflowing","textPath","textDecorationLine","textDecorationColor","textDecorationStyle","textPathSide","textPathStartOffset","metrics","dx","dy"]));var rN=function(){function E(){(0,Ar.Z)(this,E),this.registry={},this.define(la.CIRCLE,Cf),this.define(la.ELLIPSE,ev),this.define(la.RECT,Mu),this.define(la.IMAGE,nv),this.define(la.LINE,lg),this.define(la.GROUP,su),this.define(la.PATH,Nc),this.define(la.POLYGON,ug),this.define(la.POLYLINE,Fm),this.define(la.TEXT,cg),this.define(la.HTML,tv)}return(0,$n.Z)(E,[{key:"define",value:function(y,x){this.registry[y]=x}},{key:"get",value:function(y){return this.registry[y]}}])}(),BY={number:function(a){return new Js(a)},percent:function(a){return new Js(a,"%")},px:function(a){return new Js(a,"px")},em:function(a){return new Js(a,"em")},rem:function(a){return new Js(a,"rem")},deg:function(a){return new Js(a,"deg")},grad:function(a){return new Js(a,"grad")},rad:function(a){return new Js(a,"rad")},turn:function(a){return new Js(a,"turn")},s:function(a){return new Js(a,"s")},ms:function(a){return new Js(a,"ms")},registerProperty:function(a){var y=a.name,x=a.inherits,b=a.interpolable,z=a.initialValue,te=a.syntax;Ga.styleValueRegistry.registerMetadata({n:y,inh:x,int:b,d:z,syntax:te})},registerLayout:function(a,y){Ga.layoutRegistry.registerLayout(a,y)}},pP=function(E){function a(){var y;(0,Ar.Z)(this,a),y=Tr(this,a),y.defaultView=null,y.ownerDocument=null,y.nodeName="document";try{y.timeline=new Ga.AnimationTimeline(y)}catch(b){}var x={};return DE.forEach(function(b){var z=b.n,te=b.inh,re=b.d;te&&re&&(x[z]=Gi(re)?re(la.GROUP):re)}),y.documentElement=new su({id:"g-root",style:x}),y.documentElement.ownerDocument=y,y.documentElement.parentNode=y,y.childNodes=[y.documentElement],y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"children",get:function(){return this.childNodes}},{key:"childElementCount",get:function(){return this.childNodes.length}},{key:"firstElementChild",get:function(){return this.firstChild}},{key:"lastElementChild",get:function(){return this.lastChild}},{key:"createElement",value:function(x,b){if(x==="svg")return this.documentElement;var z=this.defaultView.customElements.get(x);z||(console.warn("Unsupported tagName: ",x),z=x==="tspan"?cg:su);var te=new z(b);return te.ownerDocument=this,te}},{key:"createElementNS",value:function(x,b,z){return this.createElement(b,z)}},{key:"cloneNode",value:function(x){throw new Error(Qs)}},{key:"destroy",value:function(){try{this.documentElement.destroyChildren(),this.timeline.destroy()}catch(x){}}},{key:"elementsFromBBox",value:function(x,b,z,te){var re=this.defaultView.context.rBushRoot,ae=re.search({minX:x,minY:b,maxX:z,maxY:te}),se=[];return ae.forEach(function(fe){var me=fe.displayObject,Se=me.parsedStyle.pointerEvents,Te=Se===void 0?"auto":Se,ke=["auto","visiblepainted","visiblefill","visiblestroke","visible"].includes(Te);(!ke||ke&&me.isVisible())&&!me.isCulled()&&me.isInteractive()&&se.push(me)}),se.sort(function(fe,me){return me.sortable.renderOrder-fe.sortable.renderOrder}),se}},{key:"elementFromPointSync",value:function(x,b){var z=this.defaultView.canvas2Viewport({x,y:b}),te=z.x,re=z.y,ae=this.defaultView.getConfig(),se=ae.width,fe=ae.height;if(te<0||re<0||te>se||re>fe)return null;var me=this.defaultView.viewport2Client({x:te,y:re}),Se=me.x,Te=me.y,ke=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!0,position:{x,y:b,viewportX:te,viewportY:re,clientX:Se,clientY:Te},picked:[]}),We=ke.picked;return We&&We[0]||this.documentElement}},{key:"elementFromPoint",value:function(){var y=(0,eh.Z)((0,ju.Z)().mark(function b(z,te){var re,ae,se,fe,me,Se,Te,ke,We,je,Ke;return(0,ju.Z)().wrap(function(Je){for(;;)switch(Je.prev=Je.next){case 0:if(re=this.defaultView.canvas2Viewport({x:z,y:te}),ae=re.x,se=re.y,fe=this.defaultView.getConfig(),me=fe.width,Se=fe.height,!(ae<0||se<0||ae>me||se>Se)){Je.next=4;break}return Je.abrupt("return",null);case 4:return Te=this.defaultView.viewport2Client({x:ae,y:se}),ke=Te.x,We=Te.y,Je.next=7,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!0,position:{x:z,y:te,viewportX:ae,viewportY:se,clientX:ke,clientY:We},picked:[]});case 7:return je=Je.sent,Ke=je.picked,Je.abrupt("return",Ke&&Ke[0]||this.documentElement);case 10:case"end":return Je.stop()}},b,this)}));function x(b,z){return y.apply(this,arguments)}return x}()},{key:"elementsFromPointSync",value:function(x,b){var z=this.defaultView.canvas2Viewport({x,y:b}),te=z.x,re=z.y,ae=this.defaultView.getConfig(),se=ae.width,fe=ae.height;if(te<0||re<0||te>se||re>fe)return[];var me=this.defaultView.viewport2Client({x:te,y:re}),Se=me.x,Te=me.y,ke=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!1,position:{x,y:b,viewportX:te,viewportY:re,clientX:Se,clientY:Te},picked:[]}),We=ke.picked;return We[We.length-1]!==this.documentElement&&We.push(this.documentElement),We}},{key:"elementsFromPoint",value:function(){var y=(0,eh.Z)((0,ju.Z)().mark(function b(z,te){var re,ae,se,fe,me,Se,Te,ke,We,je,Ke;return(0,ju.Z)().wrap(function(Je){for(;;)switch(Je.prev=Je.next){case 0:if(re=this.defaultView.canvas2Viewport({x:z,y:te}),ae=re.x,se=re.y,fe=this.defaultView.getConfig(),me=fe.width,Se=fe.height,!(ae<0||se<0||ae>me||se>Se)){Je.next=4;break}return Je.abrupt("return",[]);case 4:return Te=this.defaultView.viewport2Client({x:ae,y:se}),ke=Te.x,We=Te.y,Je.next=7,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!1,position:{x:z,y:te,viewportX:ae,viewportY:se,clientX:ke,clientY:We},picked:[]});case 7:return je=Je.sent,Ke=je.picked,Ke[Ke.length-1]!==this.documentElement&&Ke.push(this.documentElement),Je.abrupt("return",Ke);case 11:case"end":return Je.stop()}},b,this)}));function x(b,z){return y.apply(this,arguments)}return x}()},{key:"appendChild",value:function(x,b){throw new Error($g)}},{key:"insertBefore",value:function(x,b){throw new Error($g)}},{key:"removeChild",value:function(x,b){throw new Error($g)}},{key:"replaceChild",value:function(x,b,z){throw new Error($g)}},{key:"append",value:function(){throw new Error($g)}},{key:"prepend",value:function(){throw new Error($g)}},{key:"getElementById",value:function(x){return this.documentElement.getElementById(x)}},{key:"getElementsByName",value:function(x){return this.documentElement.getElementsByName(x)}},{key:"getElementsByTagName",value:function(x){return this.documentElement.getElementsByTagName(x)}},{key:"getElementsByClassName",value:function(x){return this.documentElement.getElementsByClassName(x)}},{key:"querySelector",value:function(x){return this.documentElement.querySelector(x)}},{key:"querySelectorAll",value:function(x){return this.documentElement.querySelectorAll(x)}},{key:"find",value:function(x){return this.documentElement.find(x)}},{key:"findAll",value:function(x){return this.documentElement.findAll(x)}}])}(yl),yP=function(){function E(a){(0,Ar.Z)(this,E),this.strategies=a}return(0,$n.Z)(E,[{key:"apply",value:function(y){var x=y.camera,b=y.renderingService,z=y.renderingContext,te=this.strategies;b.hooks.cull.tap(E.tag,function(re){if(re){var ae=re.cullable;return te.length===0?ae.visible=z.unculledEntities.indexOf(re.entity)>-1:ae.visible=te.every(function(se){return se.isVisible(x,re)}),!re.isCulled()&&re.isVisible()?re:(re.dispatchEvent(new ql(is.CULLED)),null)}return re}),b.hooks.afterRender.tap(E.tag,function(re){re.cullable.visibilityPlaneMask=-1})}}])}();yP.tag="Culling";var EP=function(){function E(){var a=this;(0,Ar.Z)(this,E),this.autoPreventDefault=!1,this.rootPointerEvent=new Bm(null),this.rootWheelEvent=new _E(null),this.onPointerMove=function(y){var x,b=(x=a.context.renderingContext.root)===null||x===void 0||(x=x.ownerDocument)===null||x===void 0?void 0:x.defaultView;if(!(b.supportsTouchEvents&&y.pointerType==="touch")){var z=a.normalizeToPointerEvent(y,b),te=qh(z),re;try{for(te.s();!(re=te.n()).done;){var ae=re.value,se=a.bootstrapEvent(a.rootPointerEvent,ae,b,y);a.context.eventService.mapEvent(se)}}catch(fe){te.e(fe)}finally{te.f()}a.setCursor(a.context.eventService.cursor)}},this.onClick=function(y){var x,b=(x=a.context.renderingContext.root)===null||x===void 0||(x=x.ownerDocument)===null||x===void 0?void 0:x.defaultView,z=a.normalizeToPointerEvent(y,b),te=qh(z),re;try{for(te.s();!(re=te.n()).done;){var ae=re.value,se=a.bootstrapEvent(a.rootPointerEvent,ae,b,y);a.context.eventService.mapEvent(se)}}catch(fe){te.e(fe)}finally{te.f()}a.setCursor(a.context.eventService.cursor)}}return(0,$n.Z)(E,[{key:"apply",value:function(y){var x=this;this.context=y;var b=y.renderingService,z=this.context.renderingContext.root.ownerDocument.defaultView;this.context.eventService.setPickHandler(function(te){var re=x.context.renderingService.hooks.pickSync.call({position:te,picked:[],topmost:!0}),ae=re.picked;return ae[0]||null}),b.hooks.pointerWheel.tap(E.tag,function(te){var re=x.normalizeWheelEvent(te);x.context.eventService.mapEvent(re)}),b.hooks.pointerDown.tap(E.tag,function(te){if(!(z.supportsTouchEvents&&te.pointerType==="touch")){var re=x.normalizeToPointerEvent(te,z);if(x.autoPreventDefault&&re[0].isNormalized){var ae=te.cancelable||!("cancelable"in te);ae&&te.preventDefault()}var se=qh(re),fe;try{for(se.s();!(fe=se.n()).done;){var me=fe.value,Se=x.bootstrapEvent(x.rootPointerEvent,me,z,te);x.context.eventService.mapEvent(Se)}}catch(Te){se.e(Te)}finally{se.f()}x.setCursor(x.context.eventService.cursor)}}),b.hooks.pointerUp.tap(E.tag,function(te){if(!(z.supportsTouchEvents&&te.pointerType==="touch")){var re=x.context.contextService.getDomElement(),ae=x.context.eventService.isNativeEventFromCanvas(re,te),se=ae?"":"outside",fe=x.normalizeToPointerEvent(te,z),me=qh(fe),Se;try{for(me.s();!(Se=me.n()).done;){var Te=Se.value,ke=x.bootstrapEvent(x.rootPointerEvent,Te,z,te);ke.type+=se,x.context.eventService.mapEvent(ke)}}catch(We){me.e(We)}finally{me.f()}x.setCursor(x.context.eventService.cursor)}}),b.hooks.pointerMove.tap(E.tag,this.onPointerMove),b.hooks.pointerOver.tap(E.tag,this.onPointerMove),b.hooks.pointerOut.tap(E.tag,this.onPointerMove),b.hooks.click.tap(E.tag,this.onClick),b.hooks.pointerCancel.tap(E.tag,function(te){var re=x.normalizeToPointerEvent(te,z),ae=qh(re),se;try{for(ae.s();!(se=ae.n()).done;){var fe=se.value,me=x.bootstrapEvent(x.rootPointerEvent,fe,z,te);x.context.eventService.mapEvent(me)}}catch(Se){ae.e(Se)}finally{ae.f()}x.setCursor(x.context.eventService.cursor)})}},{key:"bootstrapEvent",value:function(y,x,b,z){y.view=b,y.originalEvent=null,y.nativeEvent=z,y.pointerId=x.pointerId,y.width=x.width,y.height=x.height,y.isPrimary=x.isPrimary,y.pointerType=x.pointerType,y.pressure=x.pressure,y.tangentialPressure=x.tangentialPressure,y.tiltX=x.tiltX,y.tiltY=x.tiltY,y.twist=x.twist,this.transferMouseData(y,x);var te=this.context.eventService.client2Viewport({x:x.clientX,y:x.clientY}),re=te.x,ae=te.y;y.viewport.x=re,y.viewport.y=ae;var se=this.context.eventService.viewport2Canvas(y.viewport),fe=se.x,me=se.y;return y.canvas.x=fe,y.canvas.y=me,y.global.copyFrom(y.canvas),y.offset.copyFrom(y.canvas),y.isTrusted=z.isTrusted,y.type==="pointerleave"&&(y.type="pointerout"),y.type.startsWith("mouse")&&(y.type=y.type.replace("mouse","pointer")),y.type.startsWith("touch")&&(y.type=WB[y.type]||y.type),y}},{key:"normalizeWheelEvent",value:function(y){var x=this.rootWheelEvent;this.transferMouseData(x,y),x.deltaMode=y.deltaMode,x.deltaX=y.deltaX,x.deltaY=y.deltaY,x.deltaZ=y.deltaZ;var b=this.context.eventService.client2Viewport({x:y.clientX,y:y.clientY}),z=b.x,te=b.y;x.viewport.x=z,x.viewport.y=te;var re=this.context.eventService.viewport2Canvas(x.viewport),ae=re.x,se=re.y;return x.canvas.x=ae,x.canvas.y=se,x.global.copyFrom(x.canvas),x.offset.copyFrom(x.canvas),x.nativeEvent=y,x.type=y.type,x}},{key:"transferMouseData",value:function(y,x){y.isTrusted=x.isTrusted,y.srcElement=x.srcElement,y.timeStamp=TE.now(),y.type=x.type,y.altKey=x.altKey,y.metaKey=x.metaKey,y.shiftKey=x.shiftKey,y.ctrlKey=x.ctrlKey,y.button=x.button,y.buttons=x.buttons,y.client.x=x.clientX,y.client.y=x.clientY,y.movement.x=x.movementX,y.movement.y=x.movementY,y.page.x=x.pageX,y.page.y=x.pageY,y.screen.x=x.screenX,y.screen.y=x.screenY,y.relatedTarget=null}},{key:"setCursor",value:function(y){this.context.contextService.applyCursorStyle(y||this.context.config.cursor||"default")}},{key:"normalizeToPointerEvent",value:function(y,x){var b=[];if(x.isTouchEvent(y))for(var z=0;z<y.changedTouches.length;z++){var te=y.changedTouches[z];Lo(te.button)&&(te.button=0),Lo(te.buttons)&&(te.buttons=1),Lo(te.isPrimary)&&(te.isPrimary=y.touches.length===1&&y.type==="touchstart"),Lo(te.width)&&(te.width=te.radiusX||1),Lo(te.height)&&(te.height=te.radiusY||1),Lo(te.tiltX)&&(te.tiltX=0),Lo(te.tiltY)&&(te.tiltY=0),Lo(te.pointerType)&&(te.pointerType="touch"),Lo(te.pointerId)&&(te.pointerId=te.identifier||0),Lo(te.pressure)&&(te.pressure=te.force||.5),Lo(te.twist)&&(te.twist=0),Lo(te.tangentialPressure)&&(te.tangentialPressure=0),te.isNormalized=!0,te.type=y.type,b.push(te)}else if(x.isMouseEvent(y)){var re=y;Lo(re.isPrimary)&&(re.isPrimary=!0),Lo(re.width)&&(re.width=1),Lo(re.height)&&(re.height=1),Lo(re.tiltX)&&(re.tiltX=0),Lo(re.tiltY)&&(re.tiltY=0),Lo(re.pointerType)&&(re.pointerType="mouse"),Lo(re.pointerId)&&(re.pointerId=UB),Lo(re.pressure)&&(re.pressure=.5),Lo(re.twist)&&(re.twist=0),Lo(re.tangentialPressure)&&(re.tangentialPressure=0),re.isNormalized=!0,b.push(re)}else b.push(y);return b}}])}();EP.tag="Event";var aN=[la.CIRCLE,la.ELLIPSE,la.IMAGE,la.RECT,la.LINE,la.POLYLINE,la.POLYGON,la.TEXT,la.PATH,la.HTML],iN=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"isVisible",value:function(y,x){var b,z=x.cullable;if(!z.enable)return!0;var te=x.getRenderBounds();if(il.isEmpty(te))return!1;var re=y.getFrustum(),ae=(b=x.parentNode)===null||b===void 0||(b=b.cullable)===null||b===void 0?void 0:b.visibilityPlaneMask;return z.visibilityPlaneMask=this.computeVisibilityWithPlaneMask(x,te,ae||Jg.INDETERMINATE,re.planes),z.visible=z.visibilityPlaneMask!==Jg.OUTSIDE,z.visible}},{key:"computeVisibilityWithPlaneMask",value:function(y,x,b,z){if(b===Jg.OUTSIDE||b===Jg.INSIDE)return b;for(var te=Jg.INSIDE,re=aN.indexOf(y.nodeName)>-1,ae=0,se=z.length;ae<se;++ae){var fe=1<<ae;if(b&fe&&!(re&&(ae===4||ae===5))){var me=z[ae],Se=me.normal,Te=me.distance;if(Ju(Se,x.getPositiveFarPoint(z[ae]))+Te<0)return Jg.OUTSIDE;Ju(Se,x.getNegativeFarPoint(z[ae]))+Te<0&&(te|=fe)}}return te}}])}(),AP=function(){function E(){(0,Ar.Z)(this,E),this.syncTasks=new Map,this.isFirstTimeRendering=!0,this.syncing=!1,this.isFirstTimeRenderingFinished=!1}return(0,$n.Z)(E,[{key:"apply",value:function(y){var x=this,b,z=y.renderingService,te=y.renderingContext,re=y.rBushRoot,ae=te.root.ownerDocument.defaultView;this.rBush=re;var se=function(We){var je=We.target;je.renderable.dirty=!0,z.dirtify()},fe=function(We){x.syncTasks.set(We.target,We.detail.affectChildren),z.dirtify()},me=function(We){var je=We.target;Ga.enableSizeAttenuation&&Ga.styleValueRegistry.updateSizeAttenuation(je,ae.getCamera().getZoom())},Se=function(We){var je=We.target,Ke=je.rBushNode;Ke.aabb&&x.rBush.remove(Ke.aabb),x.syncTasks.delete(je),Ga.sceneGraphService.dirtifyToRoot(je),z.dirtify()};z.hooks.init.tap(E.tag,function(){ae.addEventListener(is.MOUNTED,me),ae.addEventListener(is.UNMOUNTED,Se),ae.addEventListener(is.ATTR_MODIFIED,se),ae.addEventListener(is.BOUNDS_CHANGED,fe)}),z.hooks.destroy.tap(E.tag,function(){ae.removeEventListener(is.MOUNTED,me),ae.removeEventListener(is.UNMOUNTED,Se),ae.removeEventListener(is.ATTR_MODIFIED,se),ae.removeEventListener(is.BOUNDS_CHANGED,fe),x.syncTasks.clear()});var Te=(b=Ga.globalThis.requestIdleCallback)!==null&&b!==void 0?b:BE.bind(Ga.globalThis);z.hooks.endFrame.tap(E.tag,function(){x.isFirstTimeRendering?(x.isFirstTimeRendering=!1,x.syncing=!0,Te(function(){x.syncRTree(!0),x.isFirstTimeRenderingFinished=!0})):x.syncRTree()})}},{key:"syncNode",value:function(y){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(y.isConnected){var b=y.rBushNode;b.aabb&&this.rBush.remove(b.aabb);var z=y.getRenderBounds();if(z){var te=y.renderable;x&&(te.dirtyRenderBounds||(te.dirtyRenderBounds=new il),te.dirtyRenderBounds.update(z.center,z.halfExtents));var re=z.getMin(),ae=(0,Wn.Z)(re,2),se=ae[0],fe=ae[1],me=z.getMax(),Se=(0,Wn.Z)(me,2),Te=Se[0],ke=Se[1];b.aabb||(b.aabb={}),b.aabb.displayObject=y,b.aabb.minX=se,b.aabb.minY=fe,b.aabb.maxX=Te,b.aabb.maxY=ke}if(b.aabb&&!isNaN(b.aabb.maxX)&&!isNaN(b.aabb.maxX)&&!isNaN(b.aabb.minX)&&!isNaN(b.aabb.minY))return b.aabb}}},{key:"syncRTree",value:function(){var y=this,x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(!(!x&&(this.syncing||this.syncTasks.size===0))){this.syncing=!0;var b=[],z=new Set,te=function(ae){if(!z.has(ae)&&ae.renderable){var se=y.syncNode(ae,x);se&&(b.push(se),z.add(ae))}};this.syncTasks.forEach(function(re,ae){re&&ae.forEach(te);for(var se=ae;se;)te(se),se=se.parentElement}),this.rBush.load(b),b.length=0,this.syncing=!1}}}])}();AP.tag="Prepare";function NY(E){return!!E.document}var Rc=function(E){return E.READY="ready",E.BEFORE_RENDER="beforerender",E.RERENDER="rerender",E.AFTER_RENDER="afterrender",E.BEFORE_DESTROY="beforedestroy",E.AFTER_DESTROY="afterdestroy",E.RESIZE="resize",E.DIRTY_RECTANGLE="dirtyrectangle",E.RENDERER_CHANGED="rendererchanged",E}({}),xP=500,oN=.1,sN=1e3,km=new ql(is.MOUNTED),zm=new ql(is.UNMOUNTED),jE=new ql(Rc.BEFORE_RENDER),SP=new ql(Rc.RERENDER),GE=new ql(Rc.AFTER_RENDER),VE=function(E){function a(y){var x;(0,Ar.Z)(this,a),x=Tr(this,a),x.Element=ul,x.inited=!1,x.context={};var b=y.container,z=y.canvas,te=y.renderer,re=y.width,ae=y.height,se=y.background,fe=y.cursor,me=y.supportsMutipleCanvasesInOneContainer,Se=y.cleanUpOnDestroy,Te=Se===void 0?!0:Se,ke=y.offscreenCanvas,We=y.devicePixelRatio,je=y.requestAnimationFrame,Ke=y.cancelAnimationFrame,Qe=y.createImage,Je=y.supportsTouchEvents,at=y.supportsPointerEvents,ot=y.isTouchEvent,ut=y.isMouseEvent,ft=y.dblClickSpeed,lt=re,Dt=ae,Bt=We||OE&&window.devicePixelRatio||1;return Bt=Bt>=1?Math.ceil(Bt):1,z&&(lt=re||kB(z)||z.width/Bt,Dt=ae||zB(z)||z.height/Bt),x.customElements=new rN,x.devicePixelRatio=Bt,x.requestAnimationFrame=je!=null?je:BE.bind(Ga.globalThis),x.cancelAnimationFrame=Ke!=null?Ke:iP.bind(Ga.globalThis),x.supportsTouchEvents=Je!=null?Je:"ontouchstart"in Ga.globalThis,x.supportsPointerEvents=at!=null?at:!!Ga.globalThis.PointerEvent,x.isTouchEvent=ot!=null?ot:function(Vt){return x.supportsTouchEvents&&Vt instanceof Ga.globalThis.TouchEvent},x.isMouseEvent=ut!=null?ut:function(Vt){return!Ga.globalThis.MouseEvent||Vt instanceof Ga.globalThis.MouseEvent&&(!x.supportsPointerEvents||!(Vt instanceof Ga.globalThis.PointerEvent))},ke&&(Ga.offscreenCanvas=ke),x.document=new pP,x.document.defaultView=x,me||NB(b,x,Te),x.initRenderingContext((0,Cr.Z)((0,Cr.Z)({},y),{},{width:lt,height:Dt,background:se!=null?se:"transparent",cursor:fe!=null?fe:"default",cleanUpOnDestroy:Te,devicePixelRatio:Bt,requestAnimationFrame:x.requestAnimationFrame,cancelAnimationFrame:x.cancelAnimationFrame,supportsTouchEvents:x.supportsTouchEvents,supportsPointerEvents:x.supportsPointerEvents,isTouchEvent:x.isTouchEvent,isMouseEvent:x.isMouseEvent,dblClickSpeed:ft!=null?ft:200,createImage:Qe!=null?Qe:function(){return new window.Image}})),x.initDefaultCamera(lt,Dt,te.clipSpaceNearZ),x.initRenderer(te,!0),x}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"initRenderingContext",value:function(x){this.context.config=x,this.context.renderingContext={root:this.document.documentElement,renderListCurrentFrame:[],unculledEntities:[],renderReasons:new Set,force:!1,dirty:!1}}},{key:"initDefaultCamera",value:function(x,b,z){var te=this,re=new Ga.CameraContribution;re.clipSpaceNearZ=z,re.setType(Xs.EXPLORING,fE.DEFAULT).setPosition(x/2,b/2,xP).setFocalPoint(x/2,b/2,0).setOrthographic(x/-2,x/2,b/2,b/-2,oN,sN),re.canvas=this,re.eventEmitter.on(dC.UPDATED,function(){te.context.renderingContext.renderReasons.add(a0.CAMERA_CHANGED),Ga.enableSizeAttenuation&&te.getConfig().renderer.getConfig().enableSizeAttenuation&&te.updateSizeAttenuation()}),this.context.camera=re}},{key:"updateSizeAttenuation",value:function(){var x=this.getCamera().getZoom();this.document.documentElement.forEach(function(b){Ga.styleValueRegistry.updateSizeAttenuation(b,x)})}},{key:"getConfig",value:function(){return this.context.config}},{key:"getRoot",value:function(){return this.document.documentElement}},{key:"getCamera",value:function(){return this.context.camera}},{key:"getContextService",value:function(){return this.context.contextService}},{key:"getEventService",value:function(){return this.context.eventService}},{key:"getRenderingService",value:function(){return this.context.renderingService}},{key:"getRenderingContext",value:function(){return this.context.renderingContext}},{key:"getStats",value:function(){return this.getRenderingService().getStats()}},{key:"ready",get:function(){var x=this;return this.readyPromise||(this.readyPromise=new Promise(function(b){x.resolveReadyPromise=function(){b(x)}}),this.inited&&this.resolveReadyPromise()),this.readyPromise}},{key:"destroy",value:function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,b=arguments.length>1?arguments[1]:void 0;Jl.clearCache(),b||this.dispatchEvent(new ql(Rc.BEFORE_DESTROY)),this.frameId&&this.cancelAnimationFrame(this.frameId);var z=this.getRoot();x&&(this.unmountChildren(z),this.document.destroy(),this.getEventService().destroy()),this.getRenderingService().destroy(),this.getContextService().destroy(),this.context.rBushRoot&&this.context.rBushRoot.clear(),b||this.dispatchEvent(new ql(Rc.AFTER_DESTROY));var te=function(ae){ae.currentTarget=null,ae.manager=null,ae.target=null,ae.relatedNode=null};te(km),te(zm),te(jE),te(SP),te(GE),te(nf),te(zE),te(UE),te(mP)}},{key:"changeSize",value:function(x,b){this.resize(x,b)}},{key:"resize",value:function(x,b){var z=this.context.config;z.width=x,z.height=b,this.getContextService().resize(x,b);var te=this.context.camera,re=te.getProjectionMode();te.setPosition(x/2,b/2,xP).setFocalPoint(x/2,b/2,0),re===nd.ORTHOGRAPHIC?te.setOrthographic(x/-2,x/2,b/2,b/-2,te.getNear(),te.getFar()):te.setAspect(x/b),this.dispatchEvent(new ql(Rc.RESIZE,{width:x,height:b}))}},{key:"appendChild",value:function(x,b){return this.document.documentElement.appendChild(x,b)}},{key:"insertBefore",value:function(x,b){return this.document.documentElement.insertBefore(x,b)}},{key:"removeChild",value:function(x){return this.document.documentElement.removeChild(x)}},{key:"removeChildren",value:function(){this.document.documentElement.removeChildren()}},{key:"destroyChildren",value:function(){this.document.documentElement.destroyChildren()}},{key:"render",value:function(x){var b=this;x&&(jE.detail=x,GE.detail=x),this.dispatchEvent(jE);var z=this.getRenderingService();z.render(this.getConfig(),x,function(){b.dispatchEvent(SP)}),this.dispatchEvent(GE)}},{key:"run",value:function(){var x=this,b=function(te,re){x.render(re),x.frameId=x.requestAnimationFrame(b)};b()}},{key:"initRenderer",value:function(x){var b=this,z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!x)throw new Error("Renderer is required.");this.inited=!1,this.readyPromise=void 0,this.context.rBushRoot=new OO,this.context.renderingPlugins=[],this.context.renderingPlugins.push(new EP,new AP,new yP([new iN])),this.loadRendererContainerModule(x),this.context.contextService=new this.context.ContextService((0,Cr.Z)((0,Cr.Z)({},Ga),this.context)),this.context.renderingService=new A6(Ga,this.context),this.context.eventService=new E6(Ga,this.context),this.context.eventService.init(),this.context.contextService.init?(this.context.contextService.init(),this.initRenderingService(x,z,!0)):this.context.contextService.initAsync().then(function(){b.initRenderingService(x,z)}).catch(function(te){console.error(te)})}},{key:"initRenderingService",value:function(x){var b=this,z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.context.renderingService.init(function(){b.inited=!0,z?te?b.requestAnimationFrame(function(){b.dispatchEvent(new ql(Rc.READY))}):b.dispatchEvent(new ql(Rc.READY)):b.dispatchEvent(new ql(Rc.RENDERER_CHANGED)),b.readyPromise&&b.resolveReadyPromise(),z||b.getRoot().forEach(function(re){var ae=re,se=ae.renderable;se&&(se.renderBoundsDirty=!0,se.boundsDirty=!0,se.dirty=!0)}),b.mountChildren(b.getRoot()),x.getConfig().enableAutoRendering&&b.run()})}},{key:"loadRendererContainerModule",value:function(x){var b=this,z=x.getPlugins();z.forEach(function(te){te.context=b.context,te.init(Ga)})}},{key:"setRenderer",value:function(x){var b=this.getConfig();if(b.renderer!==x){var z=b.renderer;b.renderer=x,this.destroy(!1,!0),(0,va.Z)((z==null?void 0:z.getPlugins())||[]).reverse().forEach(function(te){te.destroy(Ga)}),this.initRenderer(x)}}},{key:"setCursor",value:function(x){var b=this.getConfig();b.cursor=x,this.getContextService().applyCursorStyle(x)}},{key:"unmountChildren",value:function(x){var b=this;x.childNodes.forEach(function(z){b.unmountChildren(z)}),this.inited&&(x.isMutationObserved?x.dispatchEvent(zm):(zm.target=x,this.dispatchEvent(zm,!0)),x!==this.document.documentElement&&(x.ownerDocument=null),x.isConnected=!1),x.isCustomElement&&x.disconnectedCallback&&x.disconnectedCallback()}},{key:"mountChildren",value:function(x){var b=this,z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Om(x);this.inited?x.isConnected||(x.ownerDocument=this.document,x.isConnected=!0,z||(x.isMutationObserved?x.dispatchEvent(km):(km.target=x,this.dispatchEvent(km,!0)))):console.warn("[g]: You are trying to call `canvas.appendChild` before canvas' initialization finished. You can either await `canvas.ready` or listen to `CanvasEvent.READY` manually.","appended child: ",x.nodeName),x.childNodes.forEach(function(te){b.mountChildren(te,z)}),x.isCustomElement&&x.connectedCallback&&x.connectedCallback()}},{key:"mountFragment",value:function(x){this.mountChildren(x,!1)}},{key:"client2Viewport",value:function(x){return this.getEventService().client2Viewport(x)}},{key:"viewport2Client",value:function(x){return this.getEventService().viewport2Client(x)}},{key:"viewport2Canvas",value:function(x){return this.getEventService().viewport2Canvas(x)}},{key:"canvas2Viewport",value:function(x){return this.getEventService().canvas2Viewport(x)}},{key:"getPointByClient",value:function(x,b){return this.client2Viewport({x,y:b})}},{key:"getClientByPoint",value:function(x,b){return this.viewport2Client({x,y:b})}}])}(cP);var lN=function(E){function a(){var y;(0,Ar.Z)(this,a);for(var x=arguments.length,b=new Array(x),z=0;z<x;z++)b[z]=arguments[z];return y=Tr(this,a,[].concat(b)),y.landmarks=[],y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"rotate",value:function(x,b,z){if(this.relElevation=e0(b),this.relAzimuth=e0(x),this.relRoll=e0(z),this.elevation+=this.relElevation,this.azimuth+=this.relAzimuth,this.roll+=this.relRoll,this.type===Xs.EXPLORING){var te=Jf(ou(),[1,0,0],Ys((this.rotateWorld?1:-1)*this.relElevation)),re=Jf(ou(),[0,1,0],Ys((this.rotateWorld?1:-1)*this.relAzimuth)),ae=Jf(ou(),[0,0,1],Ys(this.relRoll)),se=qf(ou(),re,te);se=qf(ou(),se,ae);var fe=X1(Pi(),se);Zg(this.matrix,this.matrix,[0,0,-this.distance]),Uu(this.matrix,this.matrix,fe),Zg(this.matrix,this.matrix,[0,0,this.distance])}else{if(Math.abs(this.elevation)>90)return this;this.computeMatrix()}return this._getAxes(),this.type===Xs.ORBITING||this.type===Xs.EXPLORING?this._getPosition():this.type===Xs.TRACKING&&this._getFocalPoint(),this._update(),this}},{key:"pan",value:function(x,b){var z=$u(x,b,0),te=ao(this.position);return fs(te,te,us(ni(),this.right,z[0])),fs(te,te,us(ni(),this.up,z[1])),this._setPosition(te),this.triggerUpdate(),this}},{key:"dolly",value:function(x){var b=this.forward,z=ao(this.position),te=x*this.dollyingStep,re=this.distance+x*this.dollyingStep;return te=Math.max(Math.min(re,this.maxDistance),this.minDistance)-this.distance,z[0]+=te*b[0],z[1]+=te*b[1],z[2]+=te*b[2],this._setPosition(z),this.type===Xs.ORBITING||this.type===Xs.EXPLORING?this._getDistance():this.type===Xs.TRACKING&&fs(this.focalPoint,z,this.distanceVector),this.triggerUpdate(),this}},{key:"cancelLandmarkAnimation",value:function(){this.landmarkAnimationID!==void 0&&this.canvas.cancelAnimationFrame(this.landmarkAnimationID)}},{key:"createLandmark",value:function(x){var b,z,te,re,ae=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},se=ae.position,fe=se===void 0?this.position:se,me=ae.focalPoint,Se=me===void 0?this.focalPoint:me,Te=ae.roll,ke=ae.zoom,We=new Ga.CameraContribution;We.setType(this.type,void 0),We.setPosition(fe[0],(b=fe[1])!==null&&b!==void 0?b:this.position[1],(z=fe[2])!==null&&z!==void 0?z:this.position[2]),We.setFocalPoint(Se[0],(te=Se[1])!==null&&te!==void 0?te:this.focalPoint[1],(re=Se[2])!==null&&re!==void 0?re:this.focalPoint[2]),We.setRoll(Te!=null?Te:this.roll),We.setZoom(ke!=null?ke:this.zoom);var je={name:x,matrix:ys(We.getWorldTransform()),right:ao(We.right),up:ao(We.up),forward:ao(We.forward),position:ao(We.getPosition()),focalPoint:ao(We.getFocalPoint()),distanceVector:ao(We.getDistanceVector()),distance:We.getDistance(),dollyingStep:We.getDollyingStep(),azimuth:We.getAzimuth(),elevation:We.getElevation(),roll:We.getRoll(),relAzimuth:We.relAzimuth,relElevation:We.relElevation,relRoll:We.relRoll,zoom:We.getZoom()};return this.landmarks.push(je),je}},{key:"gotoLandmark",value:function(x){var b=this,z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},te=Is(x)?this.landmarks.find(function(Vt){return Vt.name===x}):x;if(te){var re=Oi(z)?{duration:z}:z,ae=re.easing,se=ae===void 0?"linear":ae,fe=re.duration,me=fe===void 0?100:fe,Se=re.easingFunction,Te=Se===void 0?void 0:Se,ke=re.onfinish,We=ke===void 0?void 0:ke,je=re.onframe,Ke=je===void 0?void 0:je,Qe=.01;this.cancelLandmarkAnimation();var Je=te.position,at=te.focalPoint,ot=te.zoom,ut=te.roll,ft=Te||Ga.EasingFunction(se),lt,Dt=function(){b.setFocalPoint(at),b.setPosition(Je),b.setRoll(ut),b.setZoom(ot),b.computeMatrix(),b.triggerUpdate(),We==null||We()};if(me===0)return Dt();var Bt=function(Xt){lt===void 0&&(lt=Xt);var vn=Xt-lt;if(vn>=me){Dt();return}var on=ft(vn/me),wn=ni(),qn=ni(),yn=1,En=0;kh(wn,b.focalPoint,at,on),kh(qn,b.position,Je,on),En=b.roll*(1-on)+ut*on,yn=b.zoom*(1-on)+ot*on,b.setFocalPoint(wn),b.setPosition(qn),b.setRoll(En),b.setZoom(yn);var Pn=Ef(wn,at)+Ef(qn,Je);if(Pn<=Qe&&ot===void 0&&ut===void 0)return Dt();b.computeMatrix(),b.triggerUpdate(),vn<me&&(Ke==null||Ke(on),b.landmarkAnimationID=b.canvas.requestAnimationFrame(Bt))};this.canvas.requestAnimationFrame(Bt)}}}])}(hC);Ga.CameraContribution=lN;var bP=null,RY=0,CP=new WeakMap,_Y=null,FY=null,Um,Pf;function kY(E,a){return Um=new bP(E,a)}function zY(E){return Pf||(Pf=bP.copy(Um),Pf.oldValue=E,Pf)}function UY(){Um=Pf=void 0}function uN(E){return E===Pf||E===Um}function WY(E,a){return E===a?E:Pf&&uN(E)?Pf:null}function cN(E){E.nodes.forEach(function(a){var y=CP.get(a);y&&y.forEach(function(x){x.observer===E&&x.removeTransientObservers()})})}function jY(E,a){for(var y=E;y;y=y.parentNode){var x=CP.get(y);if(x)for(var b=0;b<x.length;b++){var z=x[b],te=z.options;if(!(y!==E&&!te.subtree)){var re=a(te);re&&z.enqueue(re)}}}}var HE=!1,KE=null;function GY(E){KE.push(E),HE||(HE=!0,typeof runtime.globalThis!="undefined"?runtime.globalThis.setTimeout(ZE):ZE())}function ZE(){HE=!1;var E=KE;KE=[],E.sort(function(y,x){return y.uid-x.uid});var a=!1;E.forEach(function(y){var x=y.takeRecords();cN(y),x.length&&(y.callback(x,y),a=!0)}),a&&ZE()}var QE=function(E){function a(y,x,b,z){var te;return(0,Ar.Z)(this,a),te=Tr(this,a,[y]),te.currentTime=b,te.timelineTime=z,te.target=x,te.type="finish",te.bubbles=!1,te.currentTarget=x,te.defaultPrevented=!1,te.eventPhase=te.AT_TARGET,te.timeStamp=Date.now(),te.currentTime=b,te.timelineTime=z,te}return(0,da.Z)(a,E),(0,$n.Z)(a)}(Tm),dN=0,fN=function(){function E(a,y){var x;(0,Ar.Z)(this,E),this.currentTimePending=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._playbackRate=1,this._inTimeline=!0,this.effect=a,a.animation=this,this.timeline=y,this.id="".concat(dN++),this._inEffect=!!this.effect.update(0),this._totalDuration=Number((x=this.effect)===null||x===void 0?void 0:x.getComputedTiming().endTime),this._holdTime=0,this._paused=!1,this.oldPlayState="idle",this.updatePromises()}return(0,$n.Z)(E,[{key:"pending",get:function(){return this._startTime===null&&!this._paused&&this.playbackRate!==0||this.currentTimePending}},{key:"playState",get:function(){return this._idle?"idle":this._isFinished?"finished":this._paused?"paused":"running"}},{key:"ready",get:function(){var y=this;return this.readyPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.readyPromise=new Promise(function(x,b){y.resolveReadyPromise=function(){x(y)},y.rejectReadyPromise=function(){b(new Error)}}),this.pending||this.resolveReadyPromise()),this.readyPromise}},{key:"finished",get:function(){var y=this;return this.finishedPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.finishedPromise=new Promise(function(x,b){y.resolveFinishedPromise=function(){x(y)},y.rejectFinishedPromise=function(){b(new Error)}}),this.playState==="finished"&&this.resolveFinishedPromise()),this.finishedPromise}},{key:"currentTime",get:function(){return this.updatePromises(),this._idle||this.currentTimePending?null:this._currentTime},set:function(y){if(y=Number(y),!isNaN(y)){if(this.timeline.restart(),!this._paused&&this._startTime!==null){var x;this._startTime=Number((x=this.timeline)===null||x===void 0?void 0:x.currentTime)-y/this.playbackRate}this.currentTimePending=!1,this._currentTime!==y&&(this._idle&&(this._idle=!1,this._paused=!0),this.tickCurrentTime(y,!0),this.timeline.applyDirtiedAnimation(this))}}},{key:"startTime",get:function(){return this._startTime},set:function(y){if(y!==null){if(this.updatePromises(),y=Number(y),isNaN(y)||this._paused||this._idle)return;this._startTime=y,this.tickCurrentTime((Number(this.timeline.currentTime)-this._startTime)*this.playbackRate),this.timeline.applyDirtiedAnimation(this),this.updatePromises()}}},{key:"playbackRate",get:function(){return this._playbackRate},set:function(y){if(y!==this._playbackRate){this.updatePromises();var x=this.currentTime;this._playbackRate=y,this.startTime=null,this.playState!=="paused"&&this.playState!=="idle"&&(this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this)),x!==null&&(this.currentTime=x),this.updatePromises()}}},{key:"_isFinished",get:function(){return!this._idle&&(this._playbackRate>0&&Number(this._currentTime)>=this._totalDuration||this._playbackRate<0&&Number(this._currentTime)<=0)}},{key:"totalDuration",get:function(){return this._totalDuration}},{key:"_needsTick",get:function(){return this.pending||this.playState==="running"||!this._finishedFlag}},{key:"updatePromises",value:function(){var y=this.oldPlayState,x=this.pending?"pending":this.playState;return this.readyPromise&&x!==y&&(x==="idle"?(this.rejectReadyPromise(),this.readyPromise=void 0):y==="pending"?this.resolveReadyPromise():x==="pending"&&(this.readyPromise=void 0)),this.finishedPromise&&x!==y&&(x==="idle"?(this.rejectFinishedPromise(),this.finishedPromise=void 0):x==="finished"?this.resolveFinishedPromise():y==="finished"&&(this.finishedPromise=void 0)),this.oldPlayState=x,this.readyPromise||this.finishedPromise}},{key:"play",value:function(){this.updatePromises(),this._paused=!1,(this._isFinished||this._idle)&&(this.rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this),this.timeline.animations.indexOf(this)===-1&&this.timeline.animations.push(this),this.updatePromises()}},{key:"pause",value:function(){this.updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),!this._isFinished&&!this._paused&&!this._idle?this.currentTimePending=!0:this._idle&&(this.rewind(),this._idle=!1),this._startTime=null,this._paused=!0,this.updatePromises()}},{key:"finish",value:function(){this.updatePromises(),!this._idle&&(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this.currentTimePending=!1,this.timeline.applyDirtiedAnimation(this),this.updatePromises())}},{key:"cancel",value:function(){var y=this;if(this.updatePromises(),!!this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this.effect.update(null),this.timeline.applyDirtiedAnimation(this),this.updatePromises(),this.oncancel)){var x=new QE(null,this,this.currentTime,null);setTimeout(function(){y.oncancel(x)})}}},{key:"reverse",value:function(){this.updatePromises();var y=this.currentTime;this.playbackRate*=-1,this.play(),y!==null&&(this.currentTime=y),this.updatePromises()}},{key:"updatePlaybackRate",value:function(y){this.playbackRate=y}},{key:"targetAnimations",value:function(){var y,x=(y=this.effect)===null||y===void 0?void 0:y.target;return x.getAnimations()}},{key:"markTarget",value:function(){var y=this.targetAnimations();y.indexOf(this)===-1&&y.push(this)}},{key:"unmarkTarget",value:function(){var y=this.targetAnimations(),x=y.indexOf(this);x!==-1&&y.splice(x,1)}},{key:"tick",value:function(y,x){!this._idle&&!this._paused&&(this._startTime===null?x&&(this.startTime=y-this._currentTime/this.playbackRate):this._isFinished||this.tickCurrentTime((y-this._startTime)*this.playbackRate)),x&&(this.currentTimePending=!1,this.fireEvents(y))}},{key:"rewind",value:function(){if(this.playbackRate>=0)this.currentTime=0;else if(this._totalDuration<1/0)this.currentTime=this._totalDuration;else throw new Error("Unable to rewind negative playback rate animation with infinite duration")}},{key:"persist",value:function(){throw new Error(Qs)}},{key:"addEventListener",value:function(y,x,b){throw new Error(Qs)}},{key:"removeEventListener",value:function(y,x,b){throw new Error(Qs)}},{key:"dispatchEvent",value:function(y){throw new Error(Qs)}},{key:"commitStyles",value:function(){throw new Error(Qs)}},{key:"ensureAlive",value:function(){if(this.playbackRate<0&&this.currentTime===0){var y;this._inEffect=!!((y=this.effect)!==null&&y!==void 0&&y.update(-1))}else{var x;this._inEffect=!!((x=this.effect)!==null&&x!==void 0&&x.update(this.currentTime))}!this._inTimeline&&(this._inEffect||!this._finishedFlag)&&(this._inTimeline=!0,this.timeline.animations.push(this))}},{key:"tickCurrentTime",value:function(y,x){y!==this._currentTime&&(this._currentTime=y,this._isFinished&&!x&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this.ensureAlive())}},{key:"fireEvents",value:function(y){var x=this;if(this._isFinished){if(!this._finishedFlag){if(this.onfinish){var b=new QE(null,this,this.currentTime,y);setTimeout(function(){x.onfinish&&x.onfinish(b)})}this._finishedFlag=!0}}else{if(this.onframe&&this.playState==="running"){var z=new QE(null,this,this.currentTime,y);this.onframe(z)}this._finishedFlag=!1}}}])}(),hN=4,gN=.001,vN=1e-7,mN=10,rv=11,Wm=1/(rv-1),pN=typeof Float32Array=="function",PP=function(a,y){return 1-3*y+3*a},wP=function(a,y){return 3*y-6*a},MP=function(a){return 3*a},jm=function(a,y,x){return((PP(y,x)*a+wP(y,x))*a+MP(y))*a},DP=function(a,y,x){return 3*PP(y,x)*a*a+2*wP(y,x)*a+MP(y)},yN=function(a,y,x,b,z){var te,re,ae=0;do re=y+(x-y)/2,te=jm(re,b,z)-a,te>0?x=re:y=re;while(Math.abs(te)>vN&&++ae<mN);return re},EN=function(a,y,x,b){for(var z=0;z<hN;++z){var te=DP(y,x,b);if(te===0)return y;var re=jm(y,x,b)-a;y-=re/te}return y},YE=function(a,y,x,b){if(!(a>=0&&a<=1&&x>=0&&x<=1))throw new Error("bezier x values must be in [0, 1] range");if(a===y&&x===b)return function(ae){return ae};for(var z=pN?new Float32Array(rv):new Array(rv),te=0;te<rv;++te)z[te]=jm(te*Wm,a,x);var re=function(se){for(var fe=0,me=1,Se=rv-1;me!==Se&&z[me]<=se;++me)fe+=Wm;--me;var Te=(se-z[me])/(z[me+1]-z[me]),ke=fe+Te*Wm,We=DP(ke,a,x);return We>=gN?EN(se,ke,a,x):We===0?ke:yN(se,fe,fe+Wm,a,x)};return function(ae){return ae===0||ae===1?ae:jm(re(ae),y,b)}},AN=function(a){return a=a.replace(/([A-Z])/g,function(y){return"-".concat(y.toLowerCase())}),a.charAt(0)==="-"?a.substring(1):a},Gm=function(a){return Math.pow(a,2)},Vm=function(a){return Math.pow(a,3)},Hm=function(a){return Math.pow(a,4)},Km=function(a){return Math.pow(a,5)},Zm=function(a){return Math.pow(a,6)},Qm=function(a){return 1-Math.cos(a*Math.PI/2)},Ym=function(a){return 1-Math.sqrt(1-a*a)},Xm=function(a){return a*a*(3*a-2)},Jm=function(a){for(var y,x=4;a<((y=Math.pow(2,--x))-1)/11;);return 1/Math.pow(4,3-x)-7.5625*Math.pow((y*3-2)/22-a,2)},qm=function(a){var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],x=(0,Wn.Z)(y,2),b=x[0],z=b===void 0?1:b,te=x[1],re=te===void 0?.5:te,ae=bl(Number(z),1,10),se=bl(Number(re),.1,2);return a===0||a===1?a:-ae*Math.pow(2,10*(a-1))*Math.sin((a-1-se/(Math.PI*2)*Math.asin(1/ae))*(Math.PI*2)/se)},av=function(a){var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],x=arguments.length>2?arguments[2]:void 0,b=(0,Wn.Z)(y,4),z=b[0],te=z===void 0?1:z,re=b[1],ae=re===void 0?100:re,se=b[2],fe=se===void 0?10:se,me=b[3],Se=me===void 0?0:me;te=bl(te,.1,1e3),ae=bl(ae,.1,1e3),fe=bl(fe,.1,1e3),Se=bl(Se,.1,1e3);var Te=Math.sqrt(ae/te),ke=fe/(2*Math.sqrt(ae*te)),We=ke<1?Te*Math.sqrt(1-ke*ke):0,je=1,Ke=ke<1?(ke*Te+-Se)/We:-Se+Te,Qe=x?x*a/1e3:a;return ke<1?Qe=Math.exp(-Qe*ke*Te)*(je*Math.cos(We*Qe)+Ke*Math.sin(We*Qe)):Qe=(je+Ke*Qe)*Math.exp(-Qe*Te),a===0||a===1?a:1-Qe},XE=function(a){var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],x=y,b=(0,Wn.Z)(x,2),z=b[0],te=z===void 0?10:z,re=b[1],ae=re==="start"?Math.ceil:Math.floor;return ae(bl(a,0,1)*te)/te},IP=function(a){var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],x=(0,Wn.Z)(y,4),b=x[0],z=x[1],te=x[2],re=x[3];return YE(b,z,te,re)(a)},$m=YE(.42,0,1,1),ad=function(a){return function(y){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],b=arguments.length>2?arguments[2]:void 0;return 1-a(1-y,x,b)}},id=function(a){return function(y){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],b=arguments.length>2?arguments[2]:void 0;return y<.5?a(y*2,x,b)/2:1-a(y*-2+2,x,b)/2}},od=function(a){return function(y){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],b=arguments.length>2?arguments[2]:void 0;return y<.5?(1-a(1-y*2,x,b))/2:(a(y*2-1,x,b)+1)/2}},LP={steps:XE,"step-start":function(a){return XE(a,[1,"start"])},"step-end":function(a){return XE(a,[1,"end"])},linear:function(a){return a},"cubic-bezier":IP,ease:function(a){return IP(a,[.25,.1,.25,1])},in:$m,out:ad($m),"in-out":id($m),"out-in":od($m),"in-quad":Gm,"out-quad":ad(Gm),"in-out-quad":id(Gm),"out-in-quad":od(Gm),"in-cubic":Vm,"out-cubic":ad(Vm),"in-out-cubic":id(Vm),"out-in-cubic":od(Vm),"in-quart":Hm,"out-quart":ad(Hm),"in-out-quart":id(Hm),"out-in-quart":od(Hm),"in-quint":Km,"out-quint":ad(Km),"in-out-quint":id(Km),"out-in-quint":od(Km),"in-expo":Zm,"out-expo":ad(Zm),"in-out-expo":id(Zm),"out-in-expo":od(Zm),"in-sine":Qm,"out-sine":ad(Qm),"in-out-sine":id(Qm),"out-in-sine":od(Qm),"in-circ":Ym,"out-circ":ad(Ym),"in-out-circ":id(Ym),"out-in-circ":od(Ym),"in-back":Xm,"out-back":ad(Xm),"in-out-back":id(Xm),"out-in-back":od(Xm),"in-bounce":Jm,"out-bounce":ad(Jm),"in-out-bounce":id(Jm),"out-in-bounce":od(Jm),"in-elastic":qm,"out-elastic":ad(qm),"in-out-elastic":id(qm),"out-in-elastic":od(qm),spring:av,"spring-in":av,"spring-out":ad(av),"spring-in-out":id(av),"spring-out-in":od(av)},xN=function(a){return AN(a).replace(/^ease-/,"").replace(/(\(|\s).+/,"").toLowerCase().trim()},SN=function(a){return LP[xN(a)]||LP.linear},bN=function(a){return a},CN=1,PN=.5,OP=0;function TP(E,a){return function(y){if(y>=1)return 1;var x=1/E;return y+=a*x,y-y%x}}var ep="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",wN=new RegExp("cubic-bezier\\(".concat(ep,",").concat(ep,",").concat(ep,",").concat(ep,"\\)")),MN=/steps\(\s*(\d+)\s*\)/,DN=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/;function JE(E){var a=wN.exec(E);if(a)return YE.apply(void 0,(0,va.Z)(a.slice(1).map(Number)));var y=MN.exec(E);if(y)return TP(Number(y[1]),OP);var x=DN.exec(E);return x?TP(Number(x[1]),{start:CN,middle:PN,end:OP}[x[2]]):SN(E)}function IN(E){return Math.abs(LN(E)/(E.playbackRate||1))}function LN(E){var a;return E.duration===0||E.iterations===0?0:(E.duration==="auto"?0:Number(E.duration))*((a=E.iterations)!==null&&a!==void 0?a:1)}var BP=0,qE=1,tp=2,NP=3;function ON(E,a,y){if(a===null)return BP;var x=y.endTime;return a<Math.min(y.delay,x)?qE:a>=Math.min(y.delay+E+y.endDelay,x)?tp:NP}function TN(E,a,y,x,b){switch(x){case qE:return a==="backwards"||a==="both"?0:null;case NP:return y-b;case tp:return a==="forwards"||a==="both"?E:null;case BP:return null}}function BN(E,a,y,x,b){var z=b;return E===0?a!==qE&&(z+=y):z+=x/E,z}function NN(E,a,y,x,b,z){var te=E===1/0?a%1:E%1;return te===0&&y===tp&&x!==0&&(b!==0||z===0)&&(te=1),te}function RN(E,a,y,x){return E===tp&&a===1/0?1/0:y===1?Math.floor(x)-1:Math.floor(x)}function _N(E,a,y){var x=E;if(E!=="normal"&&E!=="reverse"){var b=a;E==="alternate-reverse"&&(b+=1),x="normal",b!==1/0&&b%2!==0&&(x="reverse")}return x==="normal"?y:1-y}function FN(E,a,y){var x=ON(E,a,y),b=TN(E,y.fill,a,x,y.delay);if(b===null)return null;var z=y.duration==="auto"?0:y.duration,te=BN(z,x,y.iterations,b,y.iterationStart),re=NN(te,y.iterationStart,x,y.iterations,b,z),ae=RN(x,y.iterations,re,te),se=_N(y.direction,ae,re);return y.currentIteration=ae,y.progress=se,y.easingFunction(se)}function kN(E,a,y){var x=zN(E,a),b=UN(x,y);return function(z,te){if(te!==null)b.filter(function(ae){return te>=ae.applyFrom&&te<ae.applyTo}).forEach(function(ae){var se=te-ae.startOffset,fe=ae.endOffset-ae.startOffset,me=fe===0?0:se/fe;z.setAttribute(ae.property,ae.interpolation(me),!1,!1)});else for(var re in x)RP(re)&&z.setAttribute(re,null)}}function RP(E){return E!=="offset"&&E!=="easing"&&E!=="composite"&&E!=="computedOffset"}function zN(E,a){for(var y={},x=0;x<E.length;x++)for(var b in E[x])if(RP(b)){var z={offset:E[x].offset,computedOffset:E[x].computedOffset,easing:E[x].easing,easingFunction:JE(E[x].easing)||a.easingFunction,value:E[x][b]};y[b]=y[b]||[],y[b].push(z)}return y}function UN(E,a){var y=[];for(var x in E)for(var b=E[x],z=0;z<b.length-1;z++){var te=z,re=z+1,ae=b[te].computedOffset,se=b[re].computedOffset,fe=ae,me=se;z===0&&(fe=-1/0,se===0&&(re=te)),z===b.length-2&&(me=1/0,ae===1&&(te=re)),y.push({applyFrom:fe,applyTo:me,startOffset:b[te].computedOffset,endOffset:b[re].computedOffset,easingFunction:b[te].easingFunction,property:x,interpolation:WN(x,b[te].value,b[re].value,a)})}return y.sort(function(Se,Te){return Se.startOffset-Te.startOffset}),y}var _P=function(a,y,x){return function(b){var z=FP(a,y,b);return Oi(z)?z:x(z)}};function WN(E,a,y,x){var b=YC[E];if(b&&b.syntax&&b.int){var z=Ga.styleValueRegistry.getPropertySyntax(b.syntax);if(z){var te=z.parser,re=te?te(a,x):a,ae=te?te(y,x):y,se=z.mixer(re,ae,x);if(se){var fe=_P.apply(void 0,(0,va.Z)(se));return function(me){return me===0?a:me===1?y:fe(me)}}}}return _P(!1,!0,function(me){return me?y:a})}function FP(E,a,y){if(typeof E=="number"&&typeof a=="number")return E*(1-y)+a*y;if(typeof E=="boolean"&&typeof a=="boolean"||typeof E=="string"&&typeof a=="string")return y<.5?E:a;if(Array.isArray(E)&&Array.isArray(a)){for(var x=E.length,b=a.length,z=Math.max(x,b),te=[],re=0;re<z;re++)te.push(FP(E[re<x?re:x-1],a[re<b?re:b-1],y));return te}throw new Error("Mismatched interpolation arguments ".concat(E,":").concat(a))}var jN=function(){function E(){(0,Ar.Z)(this,E),this.delay=0,this.direction="normal",this.duration="auto",this._easing="linear",this.easingFunction=bN,this.endDelay=0,this.fill="auto",this.iterationStart=0,this.iterations=1,this.currentIteration=null,this.progress=null}return(0,$n.Z)(E,[{key:"easing",get:function(){return this._easing},set:function(y){this.easingFunction=JE(y),this._easing=y}}])}();function GN(E){var a=[];for(var y in E)if(!(y in["easing","offset","composite"])){var x=E[y];Array.isArray(x)||(x=[x]);for(var b=x.length,z=0;z<b;z++){if(!a[z]){var te={};"offset"in E&&(te.offset=Number(E.offset)),"easing"in E&&(te.easing=E.easing),"composite"in E&&(te.composite=E.composite),a[z]=te}x[z]!==void 0&&x[z]!==null&&(a[z][y]=x[z])}}return a.sort(function(re,ae){return(re.computedOffset||0)-(ae.computedOffset||0)}),a}function kP(E,a){if(E===null)return[];Array.isArray(E)||(E=GN(E));for(var y=E.map(function(ae){var se={};a!=null&&a.composite&&(se.composite="auto");for(var fe in ae){var me=ae[fe];if(fe==="offset"){if(me!==null){if(me=Number(me),!isFinite(me))throw new Error("Keyframe offsets must be numbers.");if(me<0||me>1)throw new Error("Keyframe offsets must be between 0 and 1.");se.computedOffset=me}}else if(fe==="composite"&&["replace","add","accumulate","auto"].indexOf(me)===-1)throw new Error("".concat(me," compositing is not supported"));se[fe]=me}return se.offset===void 0&&(se.offset=null),se.easing===void 0&&(se.easing=(a==null?void 0:a.easing)||"linear"),se.composite===void 0&&(se.composite="auto"),se}),x=!0,b=-1/0,z=0;z<y.length;z++){var te=y[z].offset;if(fo(te))x=!1;else{if(te<b)throw new TypeError("Keyframes are not loosely sorted by offset. Sort or specify offsets.");b=te}}y=y.filter(function(ae){return Number(ae.offset)>=0&&Number(ae.offset)<=1});function re(){var ae,se=y,fe=se.length;if(y[fe-1].computedOffset=Number((ae=y[fe-1].offset)!==null&&ae!==void 0?ae:1),fe>1){var me;y[0].computedOffset=Number((me=y[0].offset)!==null&&me!==void 0?me:0)}for(var Se=0,Te=Number(y[0].computedOffset),ke=1;ke<fe;ke++){var We=y[ke].computedOffset;if(!fo(We)&&!fo(Te)){for(var je=1;je<ke-Se;je++)y[Se+je].computedOffset=Te+(Number(We)-Te)*je/(ke-Se);Se=ke,Te=Number(We)}}}return x||re(),y}var VN="backwards|forwards|both|none".split("|"),HN="reverse|alternate|alternate-reverse".split("|");function KN(E,a){var y=new jN;return a&&(y.fill="both",y.duration="auto"),typeof E=="number"&&!isNaN(E)?y.duration=E:E!==void 0&&Object.keys(E).forEach(function(x){if(E[x]!==void 0&&E[x]!==null&&E[x]!=="auto"){if((typeof y[x]=="number"||x==="duration")&&(typeof E[x]!="number"||isNaN(E[x]))||x==="fill"&&VN.indexOf(E[x])===-1||x==="direction"&&HN.indexOf(E[x])===-1)return;y[x]=E[x]}}),y}function ZN(E,a){return E=QN(E!=null?E:{duration:"auto"}),KN(E,a)}function QN(E){return typeof E=="number"&&(isNaN(E)?E={duration:"auto"}:E={duration:E}),E}var YN=function(){function E(a,y,x){var b=this;(0,Ar.Z)(this,E),this.composite="replace",this.iterationComposite="replace",this.target=a,this.timing=ZN(x,!1),this.timing.effect=this,this.timing.activeDuration=IN(this.timing),this.timing.endTime=Math.max(0,this.timing.delay+this.timing.activeDuration+this.timing.endDelay),this.normalizedKeyframes=kP(y,this.timing),this.interpolations=kN(this.normalizedKeyframes,this.timing,this.target);var z=Ga.globalThis.Proxy;this.computedTiming=z?new z(this.timing,{get:function(re,ae){return ae==="duration"?re.duration==="auto"?0:re.duration:ae==="fill"?re.fill==="auto"?"none":re.fill:ae==="localTime"?b.animation&&b.animation.currentTime||null:ae==="currentIteration"?!b.animation||b.animation.playState!=="running"?null:re.currentIteration||0:ae==="progress"?!b.animation||b.animation.playState!=="running"?null:re.progress||0:re[ae]},set:function(){return!0}}):this.timing}return(0,$n.Z)(E,[{key:"applyInterpolations",value:function(){this.interpolations(this.target,Number(this.timeFraction))}},{key:"update",value:function(y){return y===null?!1:(this.timeFraction=FN(this.timing.activeDuration,y,this.timing),this.timeFraction!==null)}},{key:"getKeyframes",value:function(){return this.normalizedKeyframes}},{key:"setKeyframes",value:function(y){this.normalizedKeyframes=kP(y)}},{key:"getComputedTiming",value:function(){return this.computedTiming}},{key:"getTiming",value:function(){return this.timing}},{key:"updateTiming",value:function(y){var x=this;Object.keys(y||{}).forEach(function(b){x.timing[b]=y[b]})}}])}();function zP(E,a){return Number(E.id)-Number(a.id)}var XN=function(){function E(a){var y=this;(0,Ar.Z)(this,E),this.animations=[],this.ticking=!1,this.timelineTicking=!1,this.hasRestartedThisFrame=!1,this.animationsWithPromises=[],this.inTick=!1,this.pendingEffects=[],this.currentTime=null,this.rafId=0,this.rafCallbacks=[],this.webAnimationsNextTick=function(x){y.currentTime=x,y.discardAnimations(),y.animations.length===0?y.timelineTicking=!1:y.requestAnimationFrame(y.webAnimationsNextTick)},this.processRafCallbacks=function(x){var b=y.rafCallbacks;y.rafCallbacks=[],x<Number(y.currentTime)&&(x=Number(y.currentTime)),y.animations.sort(zP),y.animations=y.tick(x,!0,y.animations)[0],b.forEach(function(z){z[1](x)}),y.applyPendingEffects()},this.document=a}return(0,$n.Z)(E,[{key:"getAnimations",value:function(){return this.discardAnimations(),this.animations.slice()}},{key:"isTicking",value:function(){return this.inTick}},{key:"play",value:function(y,x,b){var z=new YN(y,x,b),te=new fN(z,this);return this.animations.push(te),this.restartWebAnimationsNextTick(),te.updatePromises(),te.play(),te.updatePromises(),te}},{key:"applyDirtiedAnimation",value:function(y){var x=this;if(!this.inTick){y.markTarget();var b=y.targetAnimations();b.sort(zP);var z=this.tick(Number(this.currentTime),!1,b.slice())[1];z.forEach(function(te){var re=x.animations.indexOf(te);re!==-1&&x.animations.splice(re,1)}),this.applyPendingEffects()}}},{key:"restart",value:function(){return this.ticking||(this.ticking=!0,this.requestAnimationFrame(function(){}),this.hasRestartedThisFrame=!0),this.hasRestartedThisFrame}},{key:"destroy",value:function(){this.document.defaultView.cancelAnimationFrame(this.frameId)}},{key:"applyPendingEffects",value:function(){this.pendingEffects.forEach(function(y){y==null||y.applyInterpolations()}),this.pendingEffects=[]}},{key:"updateAnimationsPromises",value:function(){this.animationsWithPromises=this.animationsWithPromises.filter(function(y){return y.updatePromises()})}},{key:"discardAnimations",value:function(){this.updateAnimationsPromises(),this.animations=this.animations.filter(function(y){return y.playState!=="finished"&&y.playState!=="idle"})}},{key:"restartWebAnimationsNextTick",value:function(){this.timelineTicking||(this.timelineTicking=!0,this.requestAnimationFrame(this.webAnimationsNextTick))}},{key:"rAF",value:function(y){var x=this.rafId++;return this.rafCallbacks.length===0&&(this.frameId=this.document.defaultView.requestAnimationFrame(this.processRafCallbacks)),this.rafCallbacks.push([x,y]),x}},{key:"requestAnimationFrame",value:function(y){var x=this;return this.rAF(function(b){x.updateAnimationsPromises(),y(b),x.updateAnimationsPromises()})}},{key:"tick",value:function(y,x,b){var z=this,te,re;this.inTick=!0,this.hasRestartedThisFrame=!1,this.currentTime=y,this.ticking=!1;var ae=[],se=[],fe=[],me=[];return b.forEach(function(Se){Se.tick(y,x),Se._inEffect?(se.push(Se.effect),Se.markTarget()):(ae.push(Se.effect),Se.unmarkTarget()),Se._needsTick&&(z.ticking=!0);var Te=Se._inEffect||Se._needsTick;Se._inTimeline=Te,Te?fe.push(Se):me.push(Se)}),(te=this.pendingEffects).push.apply(te,ae),(re=this.pendingEffects).push.apply(re,se),this.ticking&&this.requestAnimationFrame(function(){}),this.inTick=!1,[fe,me]}}])}();Ga.EasingFunction=JE,Ga.AnimationTimeline=XN;var UP=function(E){return fo(E)?"":E.toString()},JN=function(E){var a=UP(E);return a.charAt(0).toUpperCase()+a.substring(1)},np=JN,qN=function(E){return typeof E=="object"&&E!==null},$E=qN,$N=function(E){return E!==null&&typeof E!="function"&&isFinite(E.length)},iv=$N,eA=function(E,a){if(E===a)return!0;if(!E||!a||Is(E)||Is(a))return!1;if(iv(E)||iv(a)){if(E.length!==a.length)return!1;for(var y=!0,x=0;x<E.length&&(y=eA(E[x],a[x]),!!y);x++);return y}if($E(E)||$E(a)){var b=Object.keys(E),z=Object.keys(a);if(b.length!==z.length)return!1;for(var y=!0,x=0;x<b.length&&(y=eA(E[b[x]],a[b[x]]),!!y);x++);return y}return!1},Vl=eA;const eR={duration:500},tR={duration:1e3,easing:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",iterations:1,fill:"both"},VY={CHANGE:"change"};var gl;(function(E){E.NodeAdded="NodeAdded",E.NodeUpdated="NodeUpdated",E.NodeRemoved="NodeRemoved",E.EdgeAdded="EdgeAdded",E.EdgeUpdated="EdgeUpdated",E.EdgeRemoved="EdgeRemoved",E.ComboAdded="ComboAdded",E.ComboUpdated="ComboUpdated",E.ComboRemoved="ComboRemoved"})(gl||(gl={}));var yc;(function(E){E.DRAW="draw",E.COLLAPSE="collapse",E.EXPAND="expand",E.TRANSFORM="transform"})(yc||(yc={}));var wf;(function(E){E.CLICK="canvas:click",E.DBLCLICK="canvas:dblclick",E.POINTER_OVER="canvas:pointerover",E.POINTER_LEAVE="canvas:pointerleave",E.POINTER_ENTER="canvas:pointerenter",E.POINTER_MOVE="canvas:pointermove",E.POINTER_OUT="canvas:pointerout",E.POINTER_DOWN="canvas:pointerdown",E.POINTER_UP="canvas:pointerup",E.CONTEXT_MENU="canvas:contextmenu",E.DRAG_START="canvas:dragstart",E.DRAG="canvas:drag",E.DRAG_END="canvas:dragend",E.DRAG_ENTER="canvas:dragenter",E.DRAG_OVER="canvas:dragover",E.DRAG_LEAVE="canvas:dragleave",E.DROP="canvas:drop",E.WHEEL="canvas:wheel"})(wf||(wf={}));var dg;(function(E){E.CLICK="combo:click",E.DBLCLICK="combo:dblclick",E.POINTER_OVER="combo:pointerover",E.POINTER_LEAVE="combo:pointerleave",E.POINTER_ENTER="combo:pointerenter",E.POINTER_MOVE="combo:pointermove",E.POINTER_OUT="combo:pointerout",E.POINTER_DOWN="combo:pointerdown",E.POINTER_UP="combo:pointerup",E.CONTEXT_MENU="combo:contextmenu",E.DRAG_START="combo:dragstart",E.DRAG="combo:drag",E.DRAG_END="combo:dragend",E.DRAG_ENTER="combo:dragenter",E.DRAG_OVER="combo:dragover",E.DRAG_LEAVE="combo:dragleave",E.DROP="combo:drop"})(dg||(dg={}));var ga;(function(E){E.CLICK="click",E.DBLCLICK="dblclick",E.POINTER_OVER="pointerover",E.POINTER_LEAVE="pointerleave",E.POINTER_ENTER="pointerenter",E.POINTER_MOVE="pointermove",E.POINTER_OUT="pointerout",E.POINTER_DOWN="pointerdown",E.POINTER_UP="pointerup",E.CONTEXT_MENU="contextmenu",E.DRAG_START="dragstart",E.DRAG="drag",E.DRAG_END="dragend",E.DRAG_ENTER="dragenter",E.DRAG_OVER="dragover",E.DRAG_LEAVE="dragleave",E.DROP="drop",E.KEY_DOWN="keydown",E.KEY_UP="keyup",E.WHEEL="wheel",E.PINCH="pinch"})(ga||(ga={}));var o0;(function(E){E.KEY_DOWN="keydown",E.KEY_UP="keyup"})(o0||(o0={}));var rp;(function(E){E.CLICK="edge:click",E.DBLCLICK="edge:dblclick",E.POINTER_OVER="edge:pointerover",E.POINTER_LEAVE="edge:pointerleave",E.POINTER_ENTER="edge:pointerenter",E.POINTER_MOVE="edge:pointermove",E.POINTER_OUT="edge:pointerout",E.POINTER_DOWN="edge:pointerdown",E.POINTER_UP="edge:pointerup",E.CONTEXT_MENU="edge:contextmenu",E.DRAG_ENTER="edge:dragenter",E.DRAG_OVER="edge:dragover",E.DRAG_LEAVE="edge:dragleave",E.DROP="edge:drop"})(rp||(rp={}));var ci;(function(E){E.BEFORE_CANVAS_INIT="beforecanvasinit",E.AFTER_CANVAS_INIT="aftercanvasinit",E.BEFORE_SIZE_CHANGE="beforesizechange",E.AFTER_SIZE_CHANGE="aftersizechange",E.BEFORE_ELEMENT_CREATE="beforeelementcreate",E.AFTER_ELEMENT_CREATE="afterelementcreate",E.BEFORE_ELEMENT_UPDATE="beforeelementupdate",E.AFTER_ELEMENT_UPDATE="afterelementupdate",E.BEFORE_ELEMENT_DESTROY="beforeelementdestroy",E.AFTER_ELEMENT_DESTROY="afterelementdestroy",E.BEFORE_ELEMENT_TRANSLATE="beforeelementtranslate",E.AFTER_ELEMENT_TRANSLATE="afterelementtranslate",E.BEFORE_DRAW="beforedraw",E.AFTER_DRAW="afterdraw",E.BEFORE_RENDER="beforerender",E.AFTER_RENDER="afterrender",E.BEFORE_ANIMATE="beforeanimate",E.AFTER_ANIMATE="afteranimate",E.BEFORE_LAYOUT="beforelayout",E.AFTER_LAYOUT="afterlayout",E.BEFORE_STAGE_LAYOUT="beforestagelayout",E.AFTER_STAGE_LAYOUT="afterstagelayout",E.BEFORE_TRANSFORM="beforetransform",E.AFTER_TRANSFORM="aftertransform",E.BATCH_START="batchstart",E.BATCH_END="batchend",E.BEFORE_DESTROY="beforedestroy",E.AFTER_DESTROY="afterdestroy",E.BEFORE_RENDERER_CHANGE="beforerendererchange",E.AFTER_RENDERER_CHANGE="afterrendererchange"})(ci||(ci={}));var ih;(function(E){E.UNDO="undo",E.REDO="redo",E.CANCEL="cancel",E.ADD="add",E.CLEAR="clear",E.CHANGE="change"})(ih||(ih={}));var sd;(function(E){E.CLICK="node:click",E.DBLCLICK="node:dblclick",E.POINTER_OVER="node:pointerover",E.POINTER_LEAVE="node:pointerleave",E.POINTER_ENTER="node:pointerenter",E.POINTER_MOVE="node:pointermove",E.POINTER_OUT="node:pointerout",E.POINTER_DOWN="node:pointerdown",E.POINTER_UP="node:pointerup",E.CONTEXT_MENU="node:contextmenu",E.DRAG_START="node:dragstart",E.DRAG="node:drag",E.DRAG_END="node:dragend",E.DRAG_ENTER="node:dragenter",E.DRAG_OVER="node:dragover",E.DRAG_LEAVE="node:dragleave",E.DROP="node:drop"})(sd||(sd={}));const rl="combo",_c="tree";var ov;(function(E){E.NODE="node",E.EDGE="edge",E.COMBO="combo",E.THEME="theme",E.PALETTE="palette",E.LAYOUT="layout",E.BEHAVIOR="behavior",E.PLUGIN="plugin",E.ANIMATION="animation",E.TRANSFORM="transform",E.SHAPE="shape"})(ov||(ov={}));const tA={animation:{},behavior:{},combo:{},edge:{},layout:{},node:{},palette:{},theme:{},plugin:{},transform:{},shape:{}};function Mf(E,a){var y;const x=(y=tA[E])===null||y===void 0?void 0:y[a];if(x)return x}function HY(E){return EXTENSION_REGISTRY[E]}const nR="5.0.43",rR="G6";function Df(E){return`[${rR} v${nR}] ${E}`}const Ec={mute:!1,debug:E=>{!Ec.mute&&console.debug(Df(E))},info:E=>{!Ec.mute&&console.info(Df(E))},warn:E=>{!Ec.mute&&console.warn(Df(E))},error:E=>{!Ec.mute&&console.error(Df(E))}};function WP(E){const{theme:a}=E;if(!a)return{};const y=Mf(ov.THEME,a);return y||(Ec.warn(`The theme of ${a} is not registered.`),{})}function nA(E,a){if(Array.isArray(E)&&E.length===0)return null;const y=Array.isArray(E)?E[0]:E,x=Array.isArray(E)?E.slice(1):a||[];return new Proxy(y,{get(b,z){return typeof b[z]=="function"&&!["onframe","onfinish"].includes(z)?(...te)=>{b[z](...te),x.forEach(re=>{var ae;return(ae=re[z])===null||ae===void 0?void 0:ae.call(re,...te)})}:z==="finished"?Promise.all([y.finished,...x.map(te=>te.finished)]):Reflect.get(b,z)},set(b,z,te){return["onframe","onfinish"].includes(z)||x.forEach(re=>{re[z]=te}),Reflect.set(b,z,te)}})}function rA(E){const a=E.reduce((x,b)=>(Object.entries(b).forEach(([z,te])=>{x[z]===void 0?x[z]=[te]:x[z].push(te)}),x),{});Object.entries(a).forEach(([x,b])=>{(b.length!==E.length||b.some(z=>fo(z))||b.every(z=>!["sourceNode","targetNode","childrenNode"].includes(x)&&Vl(z,b[0])))&&delete a[x]});const y=Object.entries(a).reduce((x,[b,z])=>(z.forEach((te,re)=>{x[re]?x[re][b]=te:x[re]={[b]:te}}),x),[]);return E.length!==0&&y.length===0&&y.push({_:0},{_:0}),y}function sv(E){switch(E){case"opacity":return 1;case"x":case"y":case"z":case"zIndex":return 0;case"visibility":return"visible";case"collapsed":return!1;case"states":return[];default:return}}function jP(E,a){const{animation:y}=E;if(y===!1||a===!1)return!1;const x=Object.assign({},eR);return jl(y)&&Object.assign(x,y),jl(a)&&Object.assign(x,a),x}function aR(E){if(typeof E=="string"){const a=Mf(ov.ANIMATION,E);return a||(Ec.warn(`The animation of ${E} is not registered.`),[])}return E}function iR(E,a,y,x){var b,z;const{animation:te}=E;if(te===!1||x===!1)return[];const re=(b=E==null?void 0:E[a])===null||b===void 0?void 0:b.animation;if(re===!1)return[];const ae=re==null?void 0:re[y];if(ae===!1)return[];const se=(z=WP(E)[a])===null||z===void 0?void 0:z.animation,fe=(Se=[])=>aR(Se).map(Te=>Object.assign(Object.assign(Object.assign(Object.assign({},tR),jl(te)&&te),Te),jl(x)&&x));if(ae)return fe(ae);if(!se)return[];const me=se[y];return me===!1?[]:fe(me)}function GP(E,a,y,x=[]){if(!x&&E===0&&a===0&&y===0)return null;if(Array.isArray(x)){let z=-1;const te=[];for(let re=0;re<x.length;re++){const ae=x[re];if(ae[0]==="translate"){if(ae[1]===E&&ae[2]===a)return null;z=re,te.push(["translate",E,a])}else if(ae[0]==="translate3d"){if(ae[1]===E&&ae[2]===a&&ae[3]===y)return null;z=re,te.push(["translate3d",E,a,y!=null?y:0])}else te.push(ae)}return z===-1&&te.splice(0,0,Oi(y)?["translate3d",E,a,y!=null?y:0]:["translate",E,a]),te.length===0?null:te}const b=x?x.replace(/translate(3d)?\([^)]*\)/g,""):"";return y===0?`translate(${E}, ${a})${b}`:`translate3d(${E}, ${a}, ${y})${b}`}var oR=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};const sR=(E,a,y)=>{if(!y.length)return null;const[x,b]=a,z=se=>{var fe;if(se){const me=E.getShape(se);if(!me)return null;const Se=`get${np(se)}Style`,Te=((fe=E==null?void 0:E[Se])===null||fe===void 0?void 0:fe.bind(E))||(je=>je),ke=(Te==null?void 0:Te(x))||{},We=(Te==null?void 0:Te(b))||{};return{shape:me,fromStyle:ke,toStyle:We}}else return{shape:E,fromStyle:x,toStyle:b}};let te;const re=y.map(se=>{var{fields:fe,shape:me,states:Se}=se,Te=oR(se,["fields","shape","states"]);const ke=z(me);if(!ke)return null;const{shape:We,fromStyle:je,toStyle:Ke}=ke,Qe=[{},{}];if(fe.forEach(at=>{var ot,ut;Object.assign(Qe[0],{[at]:(ot=je[at])!==null&&ot!==void 0?ot:sv(at)}),Object.assign(Qe[1],{[at]:(ut=Ke[at])!==null&&ut!==void 0?ut:sv(at)})}),Qe.some(at=>Object.keys(at).some(ot=>["x","y","z"].includes(ot)))){const{x:at=0,y:ot=0,z:ut,transform:ft=""}=We.attributes||{};Qe.forEach(lt=>{var Dt,Bt,Vt;lt.transform=GP((Dt=lt.x)!==null&&Dt!==void 0?Dt:at,(Bt=lt.y)!==null&&Bt!==void 0?Bt:ot,(Vt=lt.z)!==null&&Vt!==void 0?Vt:ut,ft)})}const Je=We.animate(rA(Qe),Te);return me===void 0&&(te=Je),Je}).filter(Boolean),ae=te||(re==null?void 0:re[0]);return ae?nA(ae,re.filter(se=>se!==se)):null},lR=[{fields:["opacity"]}],uR=[{fields:["x","y"]}],VP=[{fields:["x","y"]}],cR=VP,HP=[{fields:["sourceNode","targetNode"]}],dR=HP,KP=[{fields:["childrenNode","x","y"]}],fR=KP,KY=[{fields:["childrenNode","x","y"]}];var hR=Object.prototype.hasOwnProperty;function gR(E,a){if(!a||!Tc(E))return{};for(var y={},x=Gi(a)?a:function(re){return re[a]},b,z=0;z<E.length;z++){var te=E[z];b=x(te),hR.call(y,b)?y[b].push(te):y[b]=[te]}return y}var ap=gR,ZP=function(E,a,y){var x,b,z,te,re=0;y||(y={});var ae=function(){re=y.leading===!1?0:Date.now(),x=null,te=E.apply(b,z),x||(b=z=null)},se=function(){var fe=Date.now();!re&&y.leading===!1&&(re=fe);var me=a-(fe-re);return b=this,z=arguments,me<=0||me>a?(x&&(clearTimeout(x),x=null),re=fe,te=E.apply(b,z),x||(b=z=null)):!x&&y.trailing!==!1&&(x=setTimeout(ae,me)),te};return se.cancel=function(){clearTimeout(x),re=0,x=b=z=null},se},aA=function(E){if(typeof E!="object"||E===null)return E;var a;if(Tc(E)){a=[];for(var y=0,x=E.length;y<x;y++)typeof E[y]=="object"&&E[y]!=null?a[y]=aA(E[y]):a[y]=E[y]}else{a={};for(var b in E)typeof E[b]=="object"&&E[b]!=null?a[b]=aA(E[b]):a[b]=E[b]}return a},s0=aA;function vR(E){return"source"in E&&"target"in E}function mR(E){return E.length===2}function ZY(E){return E.length===3}function l0(E){return E instanceof Float32Array?!0:Array.isArray(E)&&(E.length===2||E.length===3)?E.every(a=>typeof a=="number"):!1}function rf(E,a,y){return E>=a&&E<=y}function Id(E=0){if(Array.isArray(E)){const[a=0,y=a,x=a,b=y]=E;return[a,y,x,b]}return[E,E,E,E]}function pR(E=0){const a=Id(E);return a[0]+a[2]}function QY(E=0){const a=Id(E);return a[1]+a[3]}function af(E){return E.max[0]-E.min[0]}function of(E){return E.max[1]-E.min[1]}function oh(E){return[af(E),of(E)]}function sh(E,a){const y=l0(E)?iA(E):E.getShape("key").getBounds();return a?lh(y,a):y}function iA(E){const[a,y,x=0]=E,b=new il;return b.setMinMax([a,y,x],[a,y,x]),b}function lh(E,a){const[y,x,b,z]=Id(a),[te,re,ae]=E.min,[se,fe,me]=E.max,Se=new il;return Se.setMinMax([te-z,re-y,ae],[se+x,fe+b,me]),Se}function lv(E){if(E.length===0)return new il;if(E.length===1)return E[0];const a=new il;a.setMinMax(E[0].min,E[0].max);for(let y=1;y<E.length;y++){const x=E[y];a.setMinMax([Math.min(a.min[0],x.min[0]),Math.min(a.min[1],x.min[1]),Math.min(a.min[2],x.min[2])],[Math.max(a.max[0],x.max[0]),Math.max(a.max[1],x.max[1]),Math.max(a.max[2],x.max[2])])}return a}function yR(E,a){const[y,x]=E.min,[b,z]=E.max,[te,re]=a.min,[ae,se]=a.max;return y>=te&&b<=ae&&x>=re&&z<=se}function Ld(E,a){return rf(E[0],a.min[0],a.max[0])&&rf(E[1],a.min[1],a.max[1])}function QP(E,a,y=!1){const{min:[x,b],max:[z,te]}=a,re=(E[1]===b||E[1]===te)&&(y||rf(E[0],x,z)),ae=(E[0]===x||E[0]===z)&&(y||rf(E[1],b,te));return re||ae}function ER(E,a){return!Ld(E,a)}function ip(E,a){const{center:y}=a;return E[0]===y[0]&&E[1]===y[1]}function uv(E,a){const[y,x]=E,[b,z]=a.min,[te,re]=a.max,ae=y-b,se=te-y,fe=x-z,me=re-x,Se=Math.min(ae,se,fe,me);return Se===ae?"left":Se===se?"right":Se===fe?"top":Se===me?"bottom":"left"}function fg(E,a){const y=s0(E);if(Ld(E,a))switch(uv(E,a)){case"left":y[0]=a.min[0];break;case"right":y[0]=a.max[0];break;case"top":y[1]=a.min[1];break;case"bottom":y[1]=a.max[1];break}else{const[x,b]=E,[z,te]=a.min,[re,ae]=a.max;y[0]=rf(x,z,re)?x:x<z?z:re,y[1]=rf(b,te,ae)?b:b<te?te:ae}return y}function AR(E,a){const{center:y}=E,[x,b]=oh(E),z=a==="up"||a==="down"?y[0]:a==="right"?y[0]-x/6:y[0]+x/6,te=a==="left"||a==="right"?y[1]:a==="down"?y[1]-b/6:y[1]+b/6;return[z,te]}function xR(E,a){let[y,x]=oh(E);return[y,x]=a==="up"||a==="down"?[y,x]:[x,y],(Math.pow(x,2)-Math.pow(Math.sqrt(Math.pow(y/2,2)+Math.pow(x,2))-y/2,2))/(2*x)}function SR(E){const{min:[a,y],max:[x,b]}=E,z=[a,b],te=[x,b],re=[x,y],ae=[a,y];return[[z,te],[te,re],[re,ae],[ae,z]]}var bR=function(a,y){var x=a.nodes,b=a.edges,z=[],te={};if(!x)throw new Error("invalid nodes data!");return x&&x.forEach(function(re,ae){te[re.id]=ae;var se=[];z.push(se)}),b&&b.forEach(function(re){var ae=re.source,se=re.target,fe=te[ae],me=te[se];!fe&&fe!==0||!me&&me!==0||(z[fe][me]=1,y||(z[me][fe]=1))}),z},op=bR,CR=function(a,y){return a===y},YP=function(){function E(a,y){y===void 0&&(y=null),this.value=a,this.next=y}return E.prototype.toString=function(a){return a?a(this.value):"".concat(this.value)},E}(),PR=function(){function E(a){a===void 0&&(a=CR),this.head=null,this.tail=null,this.compare=a}return E.prototype.prepend=function(a){var y=new YP(a,this.head);return this.head=y,this.tail||(this.tail=y),this},E.prototype.append=function(a){var y=new YP(a);return this.head?(this.tail.next=y,this.tail=y,this):(this.head=y,this.tail=y,this)},E.prototype.delete=function(a){if(!this.head)return null;for(var y=null;this.head&&this.compare(this.head.value,a);)y=this.head,this.head=this.head.next;var x=this.head;if(x!==null)for(;x.next;)this.compare(x.next.value,a)?(y=x.next,x.next=x.next.next):x=x.next;return this.compare(this.tail.value,a)&&(this.tail=x),y},E.prototype.find=function(a){var y=a.value,x=y===void 0?void 0:y,b=a.callback,z=b===void 0?void 0:b;if(!this.head)return null;for(var te=this.head;te;){if(z&&z(te.value)||x!==void 0&&this.compare(te.value,x))return te;te=te.next}return null},E.prototype.deleteTail=function(){var a=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,a;for(var y=this.head;y.next;)y.next.next?y=y.next:y.next=null;return this.tail=y,a},E.prototype.deleteHead=function(){if(!this.head)return null;var a=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),a},E.prototype.fromArray=function(a){var y=this;return a.forEach(function(x){return y.append(x)}),this},E.prototype.toArray=function(){for(var a=[],y=this.head;y;)a.push(y),y=y.next;return a},E.prototype.reverse=function(){for(var a=this.head,y=null,x=null;a;)x=a.next,a.next=y,y=a,a=x;this.tail=this.head,this.head=y},E.prototype.toString=function(a){return a===void 0&&(a=void 0),this.toArray().map(function(y){return y.toString(a)}).toString()},E}(),XP=PR,wR=function(){function E(){this.linkedList=new XP}return E.prototype.isEmpty=function(){return!this.linkedList.head},E.prototype.peek=function(){return this.linkedList.head?this.linkedList.head.value:null},E.prototype.enqueue=function(a){this.linkedList.append(a)},E.prototype.dequeue=function(){var a=this.linkedList.deleteHead();return a?a.value:null},E.prototype.toString=function(a){return this.linkedList.toString(a)},E}(),MR=wR,ld=function(a,y,x){y===void 0&&(y=[]);var b=y.filter(function(ae){return ae.source===a||ae.target===a});if(x==="target"){var z=function(se){return se.source===a};return b.filter(z).map(function(ae){return ae.target})}if(x==="source"){var te=function(se){return se.target===a};return b.filter(te).map(function(ae){return ae.source})}var re=function(se){return se.source===a?se.target:se.source};return b.map(re)},DR=function(a,y){return y.filter(function(x){return x.source===a})},sp=function(a,y){return y.filter(function(x){return x.source===a||x.target===a})},JP=function(a){a===void 0&&(a=0);var y="".concat(Math.random()).split(".")[1].substr(0,5),x="".concat(Math.random()).split(".")[1].substr(0,5);return"".concat(a,"-").concat(y).concat(x)};function IR(E){E===void 0&&(E={});var a=E,y=function(){},x=function(){var b={};return function(z){var te=z.next,re=te;return b[re]?!1:(b[re]=!0,!0)}}();return a.allowTraversal=E.allowTraversal||x,a.enter=E.enter||y,a.leave=E.leave||y,a}var LR=function(a,y,x,b){b===void 0&&(b=!0);var z=IR(x),te=new MR,re=a.edges,ae=re===void 0?[]:re;te.enqueue(y);for(var se="",fe=function(){var Se=te.dequeue();z.enter({current:Se,previous:se}),ld(Se,ae,b?"target":void 0).forEach(function(Te){z.allowTraversal({previous:se,current:Se,next:Te})&&te.enqueue(Te)}),z.leave({current:Se,previous:se}),se=Se};!te.isEmpty();)fe()},OR=LR,TR=function(a){for(var y=a.nodes,x=y===void 0?[]:y,b=a.edges,z=b===void 0?[]:b,te=[],re={},ae=[],se=function Te(ke){ae.push(ke),re[ke.id]=!0;for(var We=ld(ke.id,z),je=function(Je){var at=We[Je];if(!re[at]){var ot=x.filter(function(ut){return ut.id===at});ot.length>0&&Te(ot[0])}},Ke=0;Ke<We.length;++Ke)je(Ke)},fe=0;fe<x.length;fe++){var me=x[fe];if(!re[me.id]){se(me);for(var Se=[];ae.length>0;)Se.push(ae.pop());te.push(Se)}}return te},qP=function(a){for(var y=a.nodes,x=y===void 0?[]:y,b=a.edges,z=b===void 0?[]:b,te=[],re={},ae={},se={},fe=[],me=0,Se=function je(Ke){ae[Ke.id]=me,se[Ke.id]=me,me+=1,te.push(Ke),re[Ke.id]=!0;for(var Qe=ld(Ke.id,z,"target").filter(function(ft){return x.map(function(lt){return lt.id}).indexOf(ft)>-1}),Je=function(lt){var Dt=Qe[lt];if(!ae[Dt]&&ae[Dt]!==0){var Bt=x.filter(function(Vt){return Vt.id===Dt});Bt.length>0&&je(Bt[0]),se[Ke.id]=Math.min(se[Ke.id],se[Dt])}else re[Dt]&&(se[Ke.id]=Math.min(se[Ke.id],ae[Dt]))},at=0;at<Qe.length;at++)Je(at);if(se[Ke.id]===ae[Ke.id]){for(var ot=[];te.length>0;){var ut=te.pop();if(re[ut.id]=!1,ot.push(ut),ut===Ke)break}ot.length>0&&fe.push(ot)}},Te=0,ke=x;Te<ke.length;Te++){var We=ke[Te];!ae[We.id]&&ae[We.id]!==0&&Se(We)}return fe};function $P(E,a){return a?qP(E):TR(E)}var cv=function(a){var y={},x=a.nodes,b=x===void 0?[]:x,z=a.edges,te=z===void 0?[]:z;return b.forEach(function(re){y[re.id]={degree:0,inDegree:0,outDegree:0}}),te.forEach(function(re){y[re.source].degree++,y[re.source].outDegree++,y[re.target].degree++,y[re.target].inDegree++}),y},oA=cv,BR=function(a,y){var x=cv(a);return x[y]?cv(a)[y].inDegree:0},NR=function(a,y){var x=cv(a);return x[y]?cv(a)[y].outDegree:0};function RR(E){E===void 0&&(E={});var a=E,y=function(){},x=function(){var b={};return function(z){var te=z.next;return b[te]?!1:(b[te]=!0,!0)}}();return a.allowTraversal=E.allowTraversal||x,a.enter=E.enter||y,a.leave=E.leave||y,a}function e2(E,a,y,x,b){b===void 0&&(b=!0),x.enter({current:a,previous:y});var z=E.edges,te=z===void 0?[]:z;ld(a,te,b?"target":void 0).forEach(function(re){x.allowTraversal({previous:y,current:a,next:re})&&e2(E,re,a,x,b)}),x.leave({current:a,previous:y})}function t2(E,a,y,x){x===void 0&&(x=!0),e2(E,a,"",RR(y),x)}var _R=function(a){var y=null,x=a.nodes,b=x===void 0?[]:x,z={},te={},re={},ae={};b.forEach(function(me){te[me.id]=me});for(var se={enter:function(Se){var Te=Se.current,ke=Se.previous;if(re[Te]){y={};for(var We=Te,je=ke;je!==Te;)y[We]=je,We=je,je=z[je];y[We]=je}else re[Te]=Te,delete te[Te],z[Te]=ke},leave:function(Se){var Te=Se.current;ae[Te]=Te,delete re[Te]},allowTraversal:function(Se){var Te=Se.next;return y?!1:!ae[Te]}};Object.keys(te).length;){var fe=Object.keys(te)[0];t2(a,fe,se)}return y},n2=function(a,y,x){var b,z;x===void 0&&(x=!0);for(var te=[],re=$P(a,!1),ae=0,se=re;ae<se.length;ae++){var fe=se[ae];if(fe.length)for(var me=fe[0],Se=me.id,Te=[me],ke=(b={},b[Se]=me,b),We=(z={},z[Se]=new Set,z);Te.length>0;)for(var je=Te.pop(),Ke=je.id,Qe=ld(Ke,a.edges),Je=function(ut){var ft,lt=Qe[ut],Dt=a.nodes.find(function(wn){return wn.id===lt});if(lt===Ke)te.push((ft={},ft[lt]=je,ft));else if(!(lt in We))ke[lt]=je,Te.push(Dt),We[lt]=new Set([je]);else if(!We[Ke].has(Dt)){for(var Bt=!0,Vt=[Dt,je],Xt=ke[Ke];We[lt].size&&!We[lt].has(Xt)&&(Vt.push(Xt),Xt!==ke[Xt.id]);)Xt=ke[Xt.id];if(Vt.push(Xt),y&&x?(Bt=!1,Vt.findIndex(function(wn){return y.indexOf(wn.id)>-1})>-1&&(Bt=!0)):y&&!x&&Vt.findIndex(function(wn){return y.indexOf(wn.id)>-1})>-1&&(Bt=!1),Bt){for(var vn={},on=1;on<Vt.length;on+=1)vn[Vt[on-1].id]=Vt[on];Vt.length&&(vn[Vt[Vt.length-1].id]=Vt[0]),te.push(vn)}We[lt].add(je)}},at=0;at<Qe.length;at+=1)Je(at)}return te},r2=function(a,y,x){x===void 0&&(x=!0);for(var b=[],z=new Set,te=[],re=[],ae={},se={},fe=function(Xt){for(var vn=[Xt];vn.length>0;){var on=vn.pop();z.has(on)&&(z.delete(on),te[on.id].forEach(function(wn){vn.push(wn)}),te[on.id].clear())}},me=function Vt(Xt,vn,on){var wn=!1;if(y&&x===!1&&y.indexOf(Xt.id)>-1)return wn;b.push(Xt),z.add(Xt);for(var qn=on[Xt.id],yn=0;yn<qn.length;yn+=1){var En=ae[qn[yn]];if(En===vn){for(var Pn={},or=1;or<b.length;or+=1)Pn[b[or-1].id]=b[or];b.length&&(Pn[b[b.length-1].id]=b[0]),re.push(Pn),wn=!0}else z.has(En)||Vt(En,vn,on)&&(wn=!0)}if(wn)fe(Xt);else for(var yn=0;yn<qn.length;yn+=1){var En=ae[qn[yn]];te[En.id].has(Xt)||te[En.id].add(Xt)}return b.pop(),wn},Se=a.nodes,Te=Se===void 0?[]:Se,ke=0;ke<Te.length;ke+=1){var We=Te[ke],je=We.id;se[je]=ke,ae[ke]=We}if(y&&x)for(var Ke=function(Xt){var vn=y[Xt];se[Te[Xt].id]=se[vn],se[vn]=0,ae[0]=Te.find(function(on){return on.id===vn}),ae[se[Te[Xt].id]]=Te[Xt]},ke=0;ke<y.length;ke++)Ke(ke);for(var Qe=function(Xt){for(var vn,on,wn=1/0,qn=0;qn<Xt.length;qn+=1)for(var yn=Xt[qn],En=0;En<yn.length;En++){var Pn=se[yn[En].id];Pn<wn&&(wn=Pn,on=qn)}for(var or=Xt[on],xn=[],qn=0;qn<or.length;qn+=1){var yr=or[qn];xn[yr.id]=[];for(var na=0,ea=ld(yr.id,a.edges,"target").filter(function(Yr){return or.map(function(fa){return fa.id}).indexOf(Yr)>-1});na<ea.length;na++){var jr=ea[na];jr===yr.id&&!(x===!1&&y.indexOf(yr.id)>-1)?re.push((vn={},vn[yr.id]=yr,vn)):xn[yr.id].push(se[jr])}}return{component:or,adjList:xn,minIdx:wn}},Je=0;Je<Te.length;){var at=Te.filter(function(Vt){return se[Vt.id]>=Je}),ot=qP({nodes:at,edges:a.edges}).filter(function(Vt){return Vt.length>1});if(ot.length===0)break;var ut=Qe(ot),ft=ut.minIdx,lt=ut.adjList,Dt=ut.component;if(Dt.length>1){Dt.forEach(function(Vt){te[Vt.id]=new Set});var Bt=ae[ft];if(y&&x&&y.indexOf(Bt.id)===-1)return re;me(Bt,Bt,lt),Je=ft+1}else break}return re},FR=function(a,y,x,b){return b===void 0&&(b=!0),y?r2(a,x,b):n2(a,x,b)},a2=_R,kR={}.toString,zR=function(E,a){return kR.call(E)==="[object "+a+"]"},lp=zR,sA=function(E){return lp(E,"Function")},lA=function(E){return Array.isArray?Array.isArray(E):lp(E,"Array")},UR=function(E){var a=typeof E;return E!==null&&a==="object"||a==="function"};function WR(E,a){if(E){var y;if(lA(E))for(var x=0,b=E.length;x<b&&(y=a(E[x],x),y!==!1);x++);else if(UR(E)){for(var z in E)if(E.hasOwnProperty(z)&&(y=a(E[z],z),y===!1))break}}}var i2=WR,YY=Object.keys?function(E){return Object.keys(E)}:function(E){var a=[];return i2(E,function(y,x){sA(E)&&x==="prototype"||a.push(x)}),a},XY=null;function JY(E,a){var y=keys(a),x=y.length;if(isNil(E))return!x;for(var b=0;b<x;b+=1){var z=y[b];if(a[z]!==E[z]||!(z in E))return!1}return!0}var qY=null,$Y=function(E){if(!isObjectLike(E)||!isType(E,"Object"))return!1;if(Object.getPrototypeOf(E)===null)return!0;for(var a=E;Object.getPrototypeOf(a)!==null;)a=Object.getPrototypeOf(a);return Object.getPrototypeOf(E)===a},eX=null;function tX(E,a){if(!isArray(E))return null;var y;if(isFunction(a)&&(y=a),isPlainObject(a)&&(y=function(b){return isMatch(b,a)}),y){for(var x=0;x<E.length;x+=1)if(y(E[x]))return E[x]}return null}var nX=null,rX=function(E,a){for(var y=null,x=0;x<E.length;x++){var b=E[x],z=b[a];if(!isNil(z)){isArray(z)?y=z[0]:y=z;break}}return y},aX=null,iX=function(E){if(!isArray(E))return[];for(var a=[],y=0;y<E.length;y++)a=a.concat(E[y]);return a},oX=null,jR=function(E,a){if(a===void 0&&(a=[]),!isArray(E))a.push(E);else for(var y=0;y<E.length;y+=1)jR(E[y],a);return a},sX=null,lX=function(E){if(isArray(E))return E.reduce(function(a,y){return Math.max(a,y)},E[0])},uX=function(E){if(isArray(E))return E.reduce(function(a,y){return Math.min(a,y)},E[0])},cX=function(E){var a=E.filter(function(te){return!isNaN(te)});if(!a.length)return{min:0,max:0};if(isArray(E[0])){for(var y=[],x=0;x<E.length;x++)y=y.concat(E[x]);a=y}var b=getMax(a),z=getMin(a);return{min:z,max:b}},dX=null,o2=Array.prototype,GR=o2.splice,VR=o2.indexOf,fX=function(E){for(var a=[],y=1;y<arguments.length;y++)a[y-1]=arguments[y];for(var x=0;x<a.length;x++)for(var b=a[x],z=-1;(z=VR.call(E,b))>-1;)GR.call(E,z,1);return E},hX=null,HR=Array.prototype.splice,gX=function(a,y){if(!isArrayLike(a))return[];for(var x=a?y.length:0,b=x-1;x--;){var z=void 0,te=y[x];(x===b||te!==z)&&(z=te,HR.call(a,te,1))}return a},vX=null,mX=function(E,a,y){if(!isArray(E)&&!isPlainObject(E))return E;var x=y;return each(E,function(b,z){x=a(x,b,z)}),x},pX=null,yX=function(E,a){var y=[];if(!isArrayLike(E))return y;for(var x=-1,b=[],z=E.length;++x<z;){var te=E[x];a(te,x,E)&&(y.push(te),b.push(x))}return pullAt(E,b),y},EX=null,uA=function(E){return lp(E,"String")};function AX(E,a){var y;if(isFunction(a))y=function(b,z){return a(b)-a(z)};else{var x=[];isString(a)?x.push(a):isArray(a)&&(x=a),y=function(b,z){for(var te=0;te<x.length;te+=1){var re=x[te];if(b[re]>z[re])return 1;if(b[re]<z[re])return-1}return 0}}return E.sort(y),E}var xX=null;function cA(E,a){a===void 0&&(a=new Map);var y=[];if(Array.isArray(E))for(var x=0,b=E.length;x<b;x++){var z=E[x];a.has(z)||(y.push(z),a.set(z,!0))}return y}var SX=function(E,a){for(var y=[],x={},b=0;b<E.length;b++){var z=E[b],te=z[a];if(!isNil(te)){isArray(te)||(te=[te]);for(var re=0;re<te.length;re++){var ae=te[re];x[ae]||(y.push(ae),x[ae]=!0)}}}return y};function bX(E,a){return isArray(E)||isString(E)?E[0]===a:!1}var CX=null;function PX(E,a){return isArray(E)||isString(E)?E[E.length-1]===a:!1}var wX=null,KR=Object.prototype.hasOwnProperty;function MX(E,a){if(!a||!isArray(E))return{};for(var y={},x=isFunction(a)?a:function(re){return re[a]},b,z=0;z<E.length;z++){var te=E[z];b=x(te),KR.call(y,b)?y[b].push(te):y[b]=[te]}return y}var DX=null;function IX(E,a){if(!a)return{0:E};if(!isFunction(a)){var y=isArray(a)?a:a.replace(/\s+/g,"").split("*");a=function(x){for(var b="_",z=0,te=y.length;z<te;z++)b+=x[y[z]]&&x[y[z]].toString();return b}}return groupBy(E,a)}var LX=function(E,a){if(!a)return[E];var y=groupToMap(E,a),x=[];for(var b in y)x.push(y[b]);return x},s2={};function OX(E){var a=s2[E];if(!a){for(var y=E.toString(16),x=y.length;x<6;x++)y="0"+y;a="#"+y,s2[E]=a}return a}var TX=null;function BX(E){var a=0,y=0,x=0,b=0;return isArray(E)?E.length===1?a=y=x=b=E[0]:E.length===2?(a=x=E[0],y=b=E[1]):E.length===3?(a=E[0],y=b=E[1],x=E[2]):(a=E[0],y=E[1],x=E[2],b=E[3]):a=y=x=b=E,{r1:a,r2:y,r3:x,r4:b}}var NX=null,ZR=function(E){return lp(E,"Number")},QR=ZR,RX=function(E){return isNumber(E)&&E%1!==0},_X=null,FX=function(E){return isNumber(E)&&E%2===0},kX=null,zX=Number.isInteger?Number.isInteger:function(E){return QR(E)&&E%1===0},UX=null,WX=function(E){return isNumber(E)&&E<0},jX=null,GX=function(E){return isNumber(E)&&E%2!==0},VX=null,HX=function(E){return isNumber(E)&&E>0},KX=null,ZX=function(E,a){if(isArray(E)){for(var y,x=-1/0,b=0;b<E.length;b++){var z=E[b],te=isFunction(a)?a(z):z[a];te>x&&(y=z,x=te)}return y}},QX=function(E,a){if(isArray(E)){for(var y,x=1/0,b=0;b<E.length;b++){var z=E[b],te=isFunction(a)?a(z):z[a];te<x&&(y=z,x=te)}return y}},YR=180/Math.PI,YX=function(E){return YR*E},XX=null,XR=Math.PI/180,JX=function(E){return XR*E},qX=null,$X=null,JR=Object.values?function(E){return Object.values(E)}:function(E){var a=[];return i2(E,function(y,x){sA(E)&&x==="prototype"||a.push(y)}),a},qR=JR,eJ=function(E,a){return contains(values(E),a)},$R={}.toString,tJ=function(E){return $R.call(E).replace(/^\[object /,"").replace(/]$/,"")},nJ=null,rJ=function(E){return isType(E,"Arguments")},aJ=null,iJ=function(E){return isType(E,"Boolean")},oJ=null,sJ=function(E){return isType(E,"Date")},lJ=null,uJ=function(E){return isType(E,"Error")},cJ=null;function dJ(E){return isNumber(E)&&isFinite(E)}var e4=Object.prototype,fJ=function(E){var a=E&&E.constructor,y=typeof a=="function"&&a.prototype||e4;return E===y},hJ=null,gJ=function(E){return isType(E,"RegExp")},vJ=null,mJ=function(){for(var E=[],a=0;a<arguments.length;a++)E[a]=arguments[a];for(var y=E[0],x=1;x<E.length;x++){var b=E[x];isFunction(b)&&(b=b.prototype),mix(y.prototype,b)}},pJ=null,dA=function(E){if(typeof E!="object"||E===null)return E;var a;if(lA(E)){a=[];for(var y=0,x=E.length;y<x;y++)typeof E[y]=="object"&&E[y]!=null?a[y]=dA(E[y]):a[y]=E[y]}else{a={};for(var b in E)typeof E[b]=="object"&&E[b]!=null?a[b]=dA(E[b]):a[b]=E[b]}return a},dv=dA,t4=function(E,a){if(!sA(E))throw new TypeError("Expected a function");var y=function(){for(var x=[],b=0;b<arguments.length;b++)x[b]=arguments[b];var z=a?a.apply(this,x):x[0],te=y.cache;if(te.has(z))return te.get(z);var re=E.apply(this,x);return te.set(z,re),re};return y.cache=new Map,y},n4=5;function l2(E,a,y,x){y=y||0,x=x||n4;for(var b in a)if(a.hasOwnProperty(b)){var z=a[b];z!==null&&isPlainObject(z)?(isPlainObject(E[b])||(E[b]={}),y<x?l2(E[b],z,y+1,x):E[b]=a[b]):isArray(z)?(E[b]=[],E[b]=E[b].concat(z)):z!==void 0&&(E[b]=z)}}var yJ=function(E){for(var a=[],y=1;y<arguments.length;y++)a[y-1]=arguments[y];for(var x=0;x<a.length;x+=1)l2(E,a[x]);return E},EJ=null,AJ=function(E,a,y,x){isFunction(a)||(y=a,a=E,E=function(){});var b=Object.create?function(te,re){return Object.create(te,{constructor:{value:re}})}:function(te,re){function ae(){}ae.prototype=te;var se=new ae;return se.constructor=re,se},z=b(a.prototype,E);return E.prototype=mix(z,E.prototype),E.superclass=b(a.prototype,a),mix(z,y),mix(E,x),E},xJ=null,r4=Object.prototype.hasOwnProperty;function SJ(E){if(isNil(E))return!0;if(isArrayLike(E))return!E.length;var a=getType(E);if(a==="Map"||a==="Set")return!E.size;if(isPrototype(E))return!Object.keys(E).length;for(var y in E)if(r4.call(E,y))return!1;return!0}var bJ=null,a4=function(E){return typeof E=="object"&&E!==null},u2=a4,i4=function(E){return E!==null&&typeof E!="function"&&isFinite(E.length)},c2=i4,fA=function(E,a){if(E===a)return!0;if(!E||!a||uA(E)||uA(a))return!1;if(c2(E)||c2(a)){if(E.length!==a.length)return!1;for(var y=!0,x=0;x<E.length&&(y=fA(E[x],a[x]),!!y);x++);return y}if(u2(E)||u2(a)){var b=Object.keys(E),z=Object.keys(a);if(b.length!==z.length)return!1;for(var y=!0,x=0;x<b.length&&(y=fA(E[b[x]],a[b[x]]),!!y);x++);return y}return!1},o4=fA,CJ=function(E,a,y){return isFunction(y)?!!y(E,a):isEqual(E,a)},PJ=function(E,a,y){for(var x=0,b=isString(a)?a.split("."):a;E&&x<b.length;)E=E[b[x++]];return E===void 0||x<b.length?y:E},wJ=function(E,a,y){var x=E,b=isString(a)?a.split("."):a;return b.forEach(function(z,te){te<b.length-1?(isObject(x[z])||(x[z]=isNumber(b[te+1])?[]:{}),x=x[z]):x[z]=y}),E},s4=Object.prototype.hasOwnProperty,MJ=function(E,a){if(E===null||!isPlainObject(E))return{};var y={};return each(a,function(x){s4.call(E,x)&&(y[x]=E[x])}),y},DJ=function(E,a){return reduce(E,function(y,x,b){return a.includes(b)||(y[b]=x),y},{})},up={},IJ=function(E){return E=E||"g",up[E]?up[E]+=1:up[E]=1,E+up[E]},cp,LJ=t4(function(E,a){a===void 0&&(a={});var y=a.fontSize,x=a.fontFamily,b=a.fontWeight,z=a.fontStyle,te=a.fontVariant;return cp||(cp=document.createElement("canvas").getContext("2d")),cp.font=[z,te,b,y+"px",x].join(" "),cp.measureText(uA(E)?E:"").width},function(E,a){return a===void 0&&(a={}),(0,Rt.pr)([E],qR(a)).join("")}),OJ=function(E,a,y,x){x===void 0&&(x="...");var b=16,z=measureTextWidth(x,y),te=isString(E)?E:toString(E),re=a,ae=[],se,fe;if(measureTextWidth(E,y)<=a)return E;for(;se=te.substr(0,b),fe=measureTextWidth(se,y),!(fe+z>re&&fe>re);)if(ae.push(se),re-=fe,te=te.substr(b),!te)return ae.join("");for(;se=te.substr(0,1),fe=measureTextWidth(se,y),!(fe+z>re);)if(ae.push(se),re-=fe,te=te.substr(1),!te)return ae.join("");return""+ae.join("")+x},TJ=function(){function E(){this.map={}}return E.prototype.has=function(a){return this.map[a]!==void 0},E.prototype.get=function(a,y){var x=this.map[a];return x===void 0?y:x},E.prototype.set=function(a,y){this.map[a]=y},E.prototype.clear=function(){this.map={}},E.prototype.delete=function(a){delete this.map[a]},E.prototype.size=function(){return Object.keys(this.map).length},E}(),BJ=null,l4=function(a,y,x){for(var b=1/0,z,te=0;te<y.length;te++){var re=y[te].id;!x[re]&&a[re]<=b&&(b=a[re],z=y[te])}return z},u4=function(a,y,x,b){var z=a.nodes,te=z===void 0?[]:z,re=a.edges,ae=re===void 0?[]:re,se=[],fe={},me={},Se={};te.forEach(function(Je,at){var ot=Je.id;se.push(ot),me[ot]=1/0,ot===y&&(me[ot]=0)});for(var Te=te.length,ke=function(at){var ot=l4(me,te,fe),ut=ot.id;if(fe[ut]=!0,me[ut]===1/0)return"continue";var ft=[];x?ft=DR(ut,ae):ft=sp(ut,ae),ft.forEach(function(lt){var Dt=lt.target,Bt=lt.source,Vt=Dt===ut?Bt:Dt,Xt=b&<[b]?lt[b]:1;me[Vt]>me[ot.id]+Xt?(me[Vt]=me[ot.id]+Xt,Se[Vt]=[ot.id]):me[Vt]===me[ot.id]+Xt&&Se[Vt].push(ot.id)})},We=0;We<Te;We++)ke(We);Se[y]=[y];var je={};for(var Ke in me)me[Ke]!==1/0&&d2(y,Ke,Se,je);var Qe={};for(var Ke in je)Qe[Ke]=je[Ke][0];return{length:me,path:Qe,allPath:je}},dp=u4;function d2(E,a,y,x){if(E===a)return[E];if(x[a])return x[a];for(var b=[],z=0,te=y[a];z<te.length;z++){var re=te[z],ae=d2(E,re,y,x);if(!ae)return;for(var se=0,fe=ae;se<fe.length;se++){var me=fe[se];lA(me)?b.push((0,Rt.ev)((0,Rt.ev)([],me,!0),[a],!1)):b.push([me,a])}}return x[a]=b,x[a]}var hA=function(a,y,x,b,z){var te=dp(a,y,b,z),re=te.length,ae=te.path,se=te.allPath;return{length:re[x],path:ae[x],allPath:se[x]}},c4=function(a,y,x,b){var z;if(y===x)return[[y]];var te=a.edges,re=te===void 0?[]:te,ae=[y],se=(z={},z[y]=!0,z),fe=[],me=[],Se=b?ld(y,re,"target"):ld(y,re);for(fe.push(Se);ae.length>0&&fe.length>0;){var Te=fe[fe.length-1];if(Te.length){var ke=Te.shift();ke&&(ae.push(ke),se[ke]=!0,Se=b?ld(ke,re,"target"):ld(ke,re),fe.push(Se.filter(function(Ke){return!se[Ke]})))}else{var We=ae.pop();se[We]=!1,fe.pop();continue}if(ae[ae.length-1]===x){var je=ae.map(function(Qe){return Qe});me.push(je);var We=ae.pop();se[We]=!1,fe.pop()}}return me},d4=function(a,y){for(var x=op(a,y),b=[],z=x.length,te=0;te<z;te+=1){b[te]=[];for(var re=0;re<z;re+=1)te===re?b[te][re]=0:x[te][re]===0||!x[te][re]?b[te][re]=1/0:b[te][re]=x[te][re]}for(var ae=0;ae<z;ae+=1)for(var te=0;te<z;te+=1)for(var re=0;re<z;re+=1)b[te][re]>b[te][ae]+b[ae][re]&&(b[te][re]=b[te][ae]+b[ae][re]);return b},gA=d4,f4=function(a,y,x,b){y===void 0&&(y=!1),x===void 0&&(x="weight"),b===void 0&&(b=1e3);var z=a.nodes,te=z===void 0?[]:z,re=a.edges,ae=re===void 0?[]:re,se={},fe={};te.forEach(function(at,ot){var ut=JP();at.clusterId=ut,se[ut]={id:ut,nodes:[at]},fe[at.id]={node:at,idx:ot}});var me=op(a,y),Se=[],Te={};me.forEach(function(at,ot){var ut=0,ft=te[ot].id;Te[ft]={},at.forEach(function(lt,Dt){if(lt){ut+=lt;var Bt=te[Dt].id;Te[ft][Bt]=lt}}),Se.push(ut)});for(var ke=0,We=function(){var ot=!1;if(te.forEach(function(ut){var ft={};Object.keys(Te[ut.id]).forEach(function(wn){var qn=Te[ut.id][wn],yn=fe[wn].node,En=yn.clusterId;ft[En]||(ft[En]=0),ft[En]+=qn});var lt=-1/0,Dt=[];if(Object.keys(ft).forEach(function(wn){lt<ft[wn]?(lt=ft[wn],Dt=[wn]):lt===ft[wn]&&Dt.push(wn)}),!(Dt.length===1&&Dt[0]===ut.clusterId)){var Bt=Dt.indexOf(ut.clusterId);if(Bt>=0&&Dt.splice(Bt,1),Dt&&Dt.length){ot=!0;var Vt=se[ut.clusterId],Xt=Vt.nodes.indexOf(ut);Vt.nodes.splice(Xt,1);var vn=Math.floor(Math.random()*Dt.length),on=se[Dt[vn]];on.nodes.push(ut),ut.clusterId=on.id}}}),!ot)return"break";ke++};ke<b;){var je=We();if(je==="break")break}Object.keys(se).forEach(function(at){var ot=se[at];(!ot.nodes||!ot.nodes.length)&&delete se[at]});var Ke=[],Qe={};ae.forEach(function(at){var ot=at.source,ut=at.target,ft=at[x]||1,lt=fe[ot].node.clusterId,Dt=fe[ut].node.clusterId,Bt="".concat(lt,"---").concat(Dt);if(Qe[Bt])Qe[Bt].weight+=ft,Qe[Bt].count++;else{var Vt={source:lt,target:Dt,weight:ft,count:1};Qe[Bt]=Vt,Ke.push(Vt)}});var Je=[];return Object.keys(se).forEach(function(at){Je.push(se[at])}),{clusters:Je,clusterEdges:Ke}},h4=f4,g4=function(){function E(a){this.arr=a}return E.prototype.getArr=function(){return this.arr||[]},E.prototype.add=function(a){var y,x=a.arr;if(!(!((y=this.arr)===null||y===void 0)&&y.length))return new E(x);if(!(x!=null&&x.length))return new E(this.arr);if(this.arr.length===x.length){var b=[];for(var z in this.arr)b[z]=this.arr[z]+x[z];return new E(b)}},E.prototype.subtract=function(a){var y,x=a.arr;if(!(!((y=this.arr)===null||y===void 0)&&y.length))return new E(x);if(!(x!=null&&x.length))return new E(this.arr);if(this.arr.length===x.length){var b=[];for(var z in this.arr)b[z]=this.arr[z]-x[z];return new E(b)}},E.prototype.avg=function(a){var y=[];if(a!==0)for(var x in this.arr)y[x]=this.arr[x]/a;return new E(y)},E.prototype.negate=function(){var a=[];for(var y in this.arr)a[y]=-this.arr[y];return new E(a)},E.prototype.squareEuclideanDistance=function(a){var y,x=a.arr;if(!(!((y=this.arr)===null||y===void 0)&&y.length)||!(x!=null&&x.length))return 0;if(this.arr.length===x.length){var b=0;for(var z in this.arr)b+=Math.pow(this.arr[z]-a.arr[z],2);return b}},E.prototype.euclideanDistance=function(a){var y,x=a.arr;if(!(!((y=this.arr)===null||y===void 0)&&y.length)||!(x!=null&&x.length))return 0;if(this.arr.length===x.length){var b=0;for(var z in this.arr)b+=Math.pow(this.arr[z]-a.arr[z],2);return Math.sqrt(b)}else console.error("The two vectors are unequal in length.")},E.prototype.normalize=function(){var a=[],y=dv(this.arr);y.sort(function(te,re){return te-re});var x=y[y.length-1],b=y[0];for(var z in this.arr)a[z]=(this.arr[z]-b)/(x-b);return new E(a)},E.prototype.norm2=function(){var a;if(!(!((a=this.arr)===null||a===void 0)&&a.length))return 0;var y=0;for(var x in this.arr)y+=Math.pow(this.arr[x],2);return Math.sqrt(y)},E.prototype.dot=function(a){var y,x=a.arr;if(!(!((y=this.arr)===null||y===void 0)&&y.length)||!(x!=null&&x.length))return 0;if(this.arr.length===x.length){var b=0;for(var z in this.arr)b+=this.arr[z]*a.arr[z];return b}else console.error("The two vectors are unequal in length.")},E.prototype.equal=function(a){var y,x=a.arr;if(((y=this.arr)===null||y===void 0?void 0:y.length)!==(x==null?void 0:x.length))return!1;for(var b in this.arr)if(this.arr[b]!==x[b])return!1;return!0},E}(),ud=g4,v4=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/,m4=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/,f2=function(a,y){a===void 0&&(a=[]),y===void 0&&(y=100);var x={};a.forEach(function(z){z.properties&&Object.keys(z.properties).forEach(function(te){if(te==="id"||!"".concat(z.properties[te]).match(v4)&&!"".concat(z.properties[te]).match(m4)&&isNaN(Number(z.properties[te]))){x.hasOwnProperty(te)&&delete x[te];return}x.hasOwnProperty(te)?x[te]+=1:x[te]=1})});var b=Object.keys(x).sort(function(z,te){return x[te]-x[z]});return b.length<y?b:b.slice(0,y)},p4=function(a,y){return y.map(function(x){return a.hasOwnProperty(x)?a[x]:0})},y4=function(a){for(var y=f2(a),x=[],b=0;b<a.length;b++)x[b]=p4(a[b].properties,y);return x},fp=function(a,y){y===void 0&&(y=void 0);var x=[];return a.forEach(function(b){y===void 0&&x.push(b),b[y]!==void 0&&x.push(b[y])}),x},NJ={getAllSortProperties:f2,getPropertyWeight:y4,getAllProperties:fp},Od;(function(E){E.EuclideanDistance="euclideanDistance"})(Od||(Od={}));var h2=function(a,y,x){var b=[];y!=null&&y.length?b=y:(a.forEach(function(te){b=b.concat(Object.keys(te))}),b=cA(b));var z={};return b.forEach(function(te){var re=[];a.forEach(function(ae){ae[te]!==void 0&&ae[te]!==""&&re.push(ae[te])}),re.length&&!(x!=null&&x.includes(te))&&(z[te]=cA(re))}),z},hp=function(a,y,x){var b=h2(a,y,x),z=[];if(!Object.keys(b).length)return z;var te=Object.values(b),re=te.every(function(ae){return ae.every(function(se){return typeof se=="number"})});return a.forEach(function(ae,se){var fe=[];Object.keys(b).forEach(function(me){var Se=ae[me],Te=b[me],ke=Te.findIndex(function(Ke){return Se===Ke}),We=[];if(re)We.push(Se);else for(var je=0;je<Te.length;je++)je===ke?We.push(1):We.push(0);fe=fe.concat(We)}),z[se]=fe}),z},vA=function(a,y,x,b){x===void 0&&(x=Od.EuclideanDistance);var z=0;switch(x){case Od.EuclideanDistance:z=new ud(a).euclideanDistance(new ud(y));break;default:break}return z},RJ={getAllKeyValueMap:h2,oneHot:hp,getDistance:vA},g2=function(a,y,x,b){for(var z=y.length,te=2*b,re=0,ae=0;ae<z;ae++)for(var se=a[ae].clusterId,fe=0;fe<z;fe++){var me=a[fe].clusterId;if(se===me){var Se=y[ae][fe]||0,Te=x[ae]||0,ke=x[fe]||0;re+=Se-Te*ke/te}}return re*=1/te,re},mA=function(a,y){a===void 0&&(a=[]);for(var x=a.length,b=new ud([]),z=0;z<x;z++)b=b.add(new ud(y[z]));var te=b.avg(x);te.normalize();for(var re=0,z=0;z<x;z++){var ae=new ud(y[z]),se=ae.squareEuclideanDistance(te);re+=se}var fe=[];a.forEach(function(){fe.push([])});for(var z=0;z<x;z++){var ae=new ud(y[z]);a[z].clusterInertial=0;for(var me=0;me<x;me++){if(z===me){fe[z][me]=0;continue}var Se=new ud(y[me]);fe[z][me]=ae.squareEuclideanDistance(Se),a[z].clusterInertial+=fe[z][me]}}for(var Te=0,ke=2*x*re,z=0;z<x;z++)for(var We=a[z].clusterId,me=0;me<x;me++){var je=a[me].clusterId;if(!(z===me||We!==je)){var Ke=a[z].clusterInertial*a[me].clusterInertial/Math.pow(ke,2)-fe[z][me]/ke;Te+=Ke}}return Number(Te.toFixed(4))},E4=function(a,y,x,b,z,te,re,ae,se){y===void 0&&(y=!1),x===void 0&&(x="weight"),b===void 0&&(b=1e-4),z===void 0&&(z=!1),te===void 0&&(te=void 0),re===void 0&&(re=[]),ae===void 0&&(ae=["id"]),se===void 0&&(se=1);var fe=a.nodes,me=fe===void 0?[]:fe,Se=a.edges,Te=Se===void 0?[]:Se,ke=[];if(z){me.forEach(function(Pn,or){Pn.properties=Pn.properties||{},Pn.originIndex=or});var We=[];me.every(function(Pn){return Pn.hasOwnProperty("nodeType")})&&(We=Array.from(new Set(me.map(function(Pn){return Pn.nodeType}))),me.forEach(function(Pn){Pn.properties.nodeType=We.findIndex(function(or){return or===Pn.nodeType})}));var je=fp(me,te);ke=hp(je,re,ae)}var Ke=1,Qe={},Je={};me.forEach(function(Pn,or){var xn=String(Ke++);Pn.clusterId=xn,Qe[xn]={id:xn,nodes:[Pn]},Je[Pn.id]={node:Pn,idx:or}});var at=op(a,y),ot=[],ut={},ft=0;at.forEach(function(Pn,or){var xn=0,yr=me[or].id;ut[yr]={},Pn.forEach(function(na,ea){if(na){xn+=na;var jr=me[ea].id;ut[yr][jr]=na,ft+=na}}),ot.push(xn)}),ft/=2;for(var lt=1/0,Dt=1/0,Bt=0,Vt=[],Xt={};;){z&&me.every(function(Pn){return Pn.hasOwnProperty("properties")})?lt=g2(me,at,ot,ft)+mA(me,ke)*se:lt=g2(me,at,ot,ft),Bt===0&&(Dt=lt,Vt=me,Xt=Qe);var vn=lt>0&<>Dt&<-Dt<b;if(lt>Dt&&(Vt=me.map(function(Pn){return{node:Pn,clusterId:Pn.clusterId}}),Xt=dv(Qe),Dt=lt),vn||Bt>100)break;Bt++,Object.keys(Qe).forEach(function(Pn){var or=0;Te.forEach(function(xn){var yr=xn.source,na=xn.target,ea=Je[yr].node.clusterId,jr=Je[na].node.clusterId;(ea===Pn&&jr!==Pn||jr===Pn&&ea!==Pn)&&(or=or+(xn[x]||1))}),Qe[Pn].sumTot=or}),me.forEach(function(Pn,or){var xn=Qe[Pn.clusterId],yr=0,na,ea=ot[or]/(2*ft),jr=0,Or=xn.nodes;Or.forEach(function(Ji){var lo=Je[Ji.id].idx;jr+=at[or][lo]||0});var Yr=jr-xn.sumTot*ea,fa=Or.filter(function(Ji){return Ji.id!==Pn.id}),Ia=[];fa.forEach(function(Ji,lo){Ia[lo]=ke[Ji.originIndex]});var oi=mA(fa,ke)*se,Eo=ut[Pn.id];if(Object.keys(Eo).forEach(function(Ji){var lo=Je[Ji].node,Xo=lo.clusterId;if(Xo!==Pn.clusterId){var Oo=Qe[Xo],si=Oo.nodes;if(!(!si||!si.length)){var Di=0;si.forEach(function(oo){var Ui=Je[oo.id].idx;Di+=at[or][Ui]||0});var ya=Di-Oo.sumTot*ea,La=si.concat([Pn]),Ya=[];La.forEach(function(oo,Ui){Ya[Ui]=ke[oo.originIndex]});var zi=mA(La,ke)*se,Ca=ya-Yr;z&&(Ca=ya+zi-(Yr+oi)),Ca>yr&&(yr=Ca,na=Oo)}}}),yr>0){na.nodes.push(Pn);var to=Pn.clusterId;Pn.clusterId=na.id;var ri=xn.nodes.indexOf(Pn);xn.nodes.splice(ri,1);var Qi=0,Ri=0;Te.forEach(function(Ji){var lo=Ji.source,Xo=Ji.target,Oo=Je[lo].node.clusterId,si=Je[Xo].node.clusterId;(Oo===na.id&&si!==na.id||si===na.id&&Oo!==na.id)&&(Qi=Qi+(Ji[x]||1)),(Oo===to&&si!==to||si===to&&Oo!==to)&&(Ri=Ri+(Ji[x]||1))}),na.sumTot=Qi,xn.sumTot=Ri}})}var on={},wn=0;Object.keys(Xt).forEach(function(Pn){var or=Xt[Pn];if(!or.nodes||!or.nodes.length){delete Xt[Pn];return}var xn=String(wn+1);xn!==Pn&&(or.id=xn,or.nodes=or.nodes.map(function(yr){return{id:yr.id,clusterId:xn}}),Xt[xn]=or,on[Pn]=xn,delete Xt[Pn],wn++)}),Vt.forEach(function(Pn){var or=Pn.node,xn=Pn.clusterId;or&&(or.clusterId=xn,or.clusterId&&on[or.clusterId]&&(or.clusterId=on[or.clusterId]))});var qn=[],yn={};Te.forEach(function(Pn){var or=Pn.source,xn=Pn.target,yr=Pn[x]||1,na=Je[or].node.clusterId,ea=Je[xn].node.clusterId;if(!(!na||!ea)){var jr="".concat(na,"---").concat(ea);if(yn[jr])yn[jr].weight+=yr,yn[jr].count++;else{var Or={source:na,target:ea,weight:yr,count:1};yn[jr]=Or,qn.push(Or)}}});var En=[];return Object.keys(Xt).forEach(function(Pn){En.push(Xt[Pn])}),{clusters:En,clusterEdges:qn}},v2=E4,A4=function(a,y,x,b,z,te,re,ae){return y===void 0&&(y=!1),x===void 0&&(x="weight"),b===void 0&&(b=1e-4),z===void 0&&(z=void 0),te===void 0&&(te=[]),re===void 0&&(re=["id"]),ae===void 0&&(ae=1),v2(a,y,x,b,!0,z,te,re,ae)},x4=A4,S4=function(a,y){var x;y===void 0&&(y=1);for(var b=dv(a),z=b.nodes,te=z===void 0?[]:z,re=b.edges,ae=re===void 0?[]:re,se=function(){var Se=oA({nodes:te,edges:ae}),Te=Object.keys(Se);Te.sort(function(je,Ke){var Qe,Je;return((Qe=Se[je])===null||Qe===void 0?void 0:Qe.degree)-((Je=Se[Ke])===null||Je===void 0?void 0:Je.degree)});var ke=Te[0];if(!te.length||((x=Se[ke])===null||x===void 0?void 0:x.degree)>=y)return"break";var We=te.findIndex(function(je){return je.id===ke});te.splice(We,1),ae=ae.filter(function(je){return!(je.source===ke||je.target===ke)})};;){var fe=se();if(fe==="break")break}return{nodes:te,edges:ae}},b4=S4,m2=function(a,y,x){var b=[];switch(a){case Od.EuclideanDistance:b=y[x];break;default:b=[];break}return b},C4=function(a,y,x,b,z,te){y===void 0&&(y=3),x===void 0&&(x=void 0),b===void 0&&(b=[]),z===void 0&&(z=["id"]),te===void 0&&(te=Od.EuclideanDistance);var re=a.nodes,ae=re===void 0?[]:re,se=a.edges,fe=se===void 0?[]:se,me={clusters:[{id:"0",nodes:ae}],clusterEdges:[]};if(te===Od.EuclideanDistance&&!ae.every(function(xn){return xn.hasOwnProperty(x)}))return me;var Se=[],Te=[];if(te===Od.EuclideanDistance&&(Se=fp(ae,x),Te=hp(Se,b,z)),!Te.length)return me;for(var ke=cA(Te.map(function(xn){return xn.join("")})),We=Math.min(y,ae.length,ke.length),je=0;je<ae.length;je++)ae[je].originIndex=je;for(var Ke=[],Qe=[],Je=[],je=0;je<We;je++)if(je===0){var at=Math.floor(Math.random()*ae.length);switch(te){case Od.EuclideanDistance:Ke[je]=Te[at];break;default:Ke[je]=[];break}Qe.push(at),Je[je]=[ae[at]],ae[at].clusterId=String(je)}else{for(var ot=-1/0,ut=0,ft=function(na){if(!Qe.includes(na)){for(var ea=0,jr=0;jr<Ke.length;jr++){var Or=0;switch(te){case Od.EuclideanDistance:Or=vA(Te[ae[na].originIndex],Ke[jr],te);break;default:break}ea+=Or}var Yr=ea/Ke.length;Yr>ot&&!Ke.find(function(fa){return o4(fa,m2(te,Te,ae[na].originIndex))})&&(ot=Yr,ut=na)}},lt=0;lt<ae.length;lt++)ft(lt);Ke[je]=m2(te,Te,ut),Qe.push(ut),Je[je]=[ae[ut]],ae[ut].clusterId=String(je)}for(var Dt=0;;){for(var je=0;je<ae.length;je++){var Bt=0,Vt=1/0;if(!(Dt===0&&Qe.includes(je))){for(var Xt=0;Xt<Ke.length;Xt++){var vn=0;switch(te){case Od.EuclideanDistance:vn=vA(Te[je],Ke[Xt],te);break;default:break}vn<Vt&&(Vt=vn,Bt=Xt)}if(ae[je].clusterId!==void 0)for(var on=Je[Number(ae[je].clusterId)].length-1;on>=0;on--)Je[Number(ae[je].clusterId)][on].id===ae[je].id&&Je[Number(ae[je].clusterId)].splice(on,1);ae[je].clusterId=String(Bt),Je[Bt].push(ae[je])}}for(var wn=!1,je=0;je<Je.length;je++){for(var qn=Je[je],yn=new ud([]),Xt=0;Xt<qn.length;Xt++)yn=yn.add(new ud(Te[qn[Xt].originIndex]));var En=yn.avg(qn.length);En.equal(new ud(Ke[je]))||(wn=!0,Ke[je]=En.getArr())}if(Dt++,ae.every(function(xn){return xn.clusterId!==void 0})&&wn||Dt>=1e3)break}var Pn=[],or={};return fe.forEach(function(xn){var yr,na,ea=xn.source,jr=xn.target,Or=(yr=ae.find(function(oi){return oi.id===ea}))===null||yr===void 0?void 0:yr.clusterId,Yr=(na=ae.find(function(oi){return oi.id===jr}))===null||na===void 0?void 0:na.clusterId,fa="".concat(Or,"---").concat(Yr);if(or[fa])or[fa].count++;else{var Ia={source:Or,target:Yr,count:1};or[fa]=Ia,Pn.push(Ia)}}),{clusters:Je,clusterEdges:Pn}},P4=C4,w4=function(a,y){var x=new ud(y),b=x.norm2(),z=new ud(a),te=z.norm2(),re=x.dot(z),ae=b*te,se=ae?re/ae:0;return se},p2=w4,M4=function(a,y,x,b,z){a===void 0&&(a=[]),x===void 0&&(x=void 0),b===void 0&&(b=[]),z===void 0&&(z=[]);var te=dv(a.filter(function(Se){return Se.id!==y.id})),re=a.findIndex(function(Se){return Se.id===y.id}),ae=fp(a,x),se=hp(ae,b,z),fe=se[re],me=[];return te.forEach(function(Se,Te){if(Se.id!==y.id){var ke=se[Te],We=p2(ke,fe);me.push(We),Se.cosineSimilarity=We}}),te.sort(function(Se,Te){return Te.cosineSimilarity-Se.cosineSimilarity}),{allCosineSimilarity:me,similarNodes:te}},D4=M4,I4=function(){function E(a){this.count=a.length,this.parent={};for(var y=0,x=a;y<x.length;y++){var b=x[y];this.parent[b]=b}}return E.prototype.find=function(a){for(;this.parent[a]!==a;)a=this.parent[a];return a},E.prototype.union=function(a,y){var x=this.find(a),b=this.find(y);x!==b&&(x<b?(this.parent[y]!==y&&this.union(this.parent[y],a),this.parent[y]=this.parent[a]):(this.parent[a]!==a&&this.union(this.parent[a],y),this.parent[a]=this.parent[y]))},E.prototype.connected=function(a,y){return this.find(a)===this.find(y)},E}(),L4=I4,O4=function(a,y){return a-y},T4=function(){function E(a){a===void 0&&(a=O4),this.compareFn=a,this.list=[]}return E.prototype.getLeft=function(a){return 2*a+1},E.prototype.getRight=function(a){return 2*a+2},E.prototype.getParent=function(a){return a===0?null:Math.floor((a-1)/2)},E.prototype.isEmpty=function(){return this.list.length<=0},E.prototype.top=function(){return this.isEmpty()?void 0:this.list[0]},E.prototype.delMin=function(){var a=this.top(),y=this.list.pop();return this.list.length>0&&(this.list[0]=y,this.moveDown(0)),a},E.prototype.insert=function(a){if(a!==null){this.list.push(a);var y=this.list.length-1;return this.moveUp(y),!0}return!1},E.prototype.moveUp=function(a){for(var y=this.getParent(a);a&&a>0&&this.compareFn(this.list[y],this.list[a])>0;){var x=this.list[y];this.list[y]=this.list[a],this.list[a]=x,a=y,y=this.getParent(a)}},E.prototype.moveDown=function(a){var y,x=a,b=this.getLeft(a),z=this.getRight(a),te=this.list.length;b!==null&&b<te&&this.compareFn(this.list[x],this.list[b])>0?x=b:z!==null&&z<te&&this.compareFn(this.list[x],this.list[z])>0&&(x=z),a!==x&&(y=[this.list[x],this.list[a]],this.list[a]=y[0],this.list[x]=y[1],this.moveDown(x))},E}(),B4=T4,N4=function(a,y){var x=[],b=a.nodes,z=b===void 0?[]:b,te=a.edges,re=te===void 0?[]:te;if(z.length===0)return x;var ae=z[0],se=new Set;se.add(ae);var fe=function(je,Ke){return y?je.weight-Ke.weight:0},me=new B4(fe);for(sp(ae.id,re).forEach(function(We){me.insert(We)});!me.isEmpty();){var Se=me.delMin(),Te=Se.source,ke=Se.target;se.has(Te)&&se.has(ke)||(x.push(Se),se.has(Te)||(se.add(Te),sp(Te,re).forEach(function(We){me.insert(We)})),se.has(ke)||(se.add(ke),sp(ke,re).forEach(function(We){me.insert(We)})))}return x},y2=function(a,y){var x=[],b=a.nodes,z=b===void 0?[]:b,te=a.edges,re=te===void 0?[]:te;if(z.length===0)return x;var ae=re.map(function(Te){return Te});y&&ae.sort(function(Te,ke){return Te.weight-ke.weight});for(var se=new L4(z.map(function(Te){return Te.id}));ae.length>0;){var fe=ae.shift(),me=fe.source,Se=fe.target;se.connected(me,Se)||(x.push(fe),se.union(me,Se))}return x},R4=function(a,y,x){var b={prim:N4,kruskal:y2};return x?b[x](a,y):y2(a,y)},_4=R4,F4=function(a,y,x){typeof y!="number"&&(y=1e-6),typeof x!="number"&&(x=.85);for(var b=1,z=0,te=1e3,re=a.nodes,ae=re===void 0?[]:re,se=a.edges,fe=se===void 0?[]:se,me=ae.length,Se,Te={},ke={},We=0;We<me;++We){var je=ae[We],Ke=je.id;Te[Ke]=1/me,ke[Ke]=1/me}for(var Qe=oA(a);te>0&&b>y;){z=0;for(var We=0;We<me;++We){var je=ae[We],Ke=je.id;if(Se=0,Qe[je.id].inDegree===0)Te[Ke]=0;else{for(var Je=ld(Ke,fe,"source"),at=0;at<Je.length;++at){var ot=Je[at],ut=Qe[ot].outDegree;ut>0&&(Se+=ke[ot]/ut)}Te[Ke]=x*Se,z+=Te[Ke]}}z=(1-z)/me,b=0;for(var We=0;We<me;++We){var je=ae[We],Ke=je.id;Se=Te[Ke]+z,b+=Math.abs(Se-ke[Ke]),ke[Ke]=Se}te-=1}return ke},E2=F4,k4=-1,gp=-1,A2="-1",sf="-1",x2=-1,_J="-1",S2=function(){function E(a,y,x,b){a===void 0&&(a=k4),y===void 0&&(y=gp),x===void 0&&(x=gp),b===void 0&&(b=A2),this.id=a,this.from=y,this.to=x,this.label=b}return E}(),z4=function(){function E(a,y){a===void 0&&(a=gp),y===void 0&&(y=sf),this.id=a,this.label=y,this.edges=[],this.edgeMap={}}return E.prototype.addEdge=function(a){this.edges.push(a),this.edgeMap[a.id]=a},E}(),b2=function(){function E(a,y,x){a===void 0&&(a=gp),y===void 0&&(y=!0),x===void 0&&(x=!1),this.id=a,this.edgeIdAutoIncrease=y,this.edges=[],this.nodes=[],this.nodeMap={},this.edgeMap={},this.nodeLabelMap={},this.edgeLabelMap={},this.counter=0,this.directed=x}return E.prototype.getNodeNum=function(){return this.nodes.length},E.prototype.addNode=function(a,y){if(!this.nodeMap[a]){var x=new z4(a,y);this.nodes.push(x),this.nodeMap[a]=x,this.nodeLabelMap[y]||(this.nodeLabelMap[y]=[]),this.nodeLabelMap[y].push(a)}},E.prototype.addEdge=function(a,y,x,b){if((this.edgeIdAutoIncrease||a===void 0)&&(a=this.counter++),!(this.nodeMap[y]&&this.nodeMap[x]&&this.nodeMap[x].edgeMap[a])){var z=new S2(a,y,x,b);if(this.edges.push(z),this.edgeMap[a]=z,this.nodeMap[y].addEdge(z),this.edgeLabelMap[b]||(this.edgeLabelMap[b]=[]),this.edgeLabelMap[b].push(z),!this.directed){var te=new S2(a,x,y,b);this.nodeMap[x].addEdge(te),this.edgeLabelMap[b].push(te)}}},E}(),hg=function(){function E(a,y,x,b,z){this.fromNode=a,this.toNode=y,this.nodeEdgeNodeLabel={nodeLabel1:x||sf,edgeLabel:b||A2,nodeLabel2:z||sf}}return E.prototype.equalTo=function(a){return this.fromNode===a.formNode&&this.toNode===a.toNode&&this.nodeEdgeNodeLabel===a.nodeEdgeNodeLabel},E.prototype.notEqualTo=function(a){return!this.equalTo(a)},E}(),C2=function(){function E(){this.rmpath=[],this.dfsEdgeList=[]}return E.prototype.equalTo=function(a){var y=this.dfsEdgeList.length,x=a.length;if(y!==x)return!1;for(var b=0;b<y;b++)if(this.dfsEdgeList[b]!==a[b])return!1;return!0},E.prototype.notEqualTo=function(a){return!this.equalTo(a)},E.prototype.pushBack=function(a,y,x,b,z){return this.dfsEdgeList.push(new hg(a,y,x,b,z)),this.dfsEdgeList},E.prototype.toGraph=function(a,y){a===void 0&&(a=x2),y===void 0&&(y=!1);var x=new b2(a,!0,y);return this.dfsEdgeList.forEach(function(b){var z=b.fromNode,te=b.toNode,re=b.nodeEdgeNodeLabel,ae=re.nodeLabel1,se=re.edgeLabel,fe=re.nodeLabel2;ae!==sf&&x.addNode(z,ae),fe!==sf&&x.addNode(te,fe),ae!==sf&&fe!==ae&&x.addEdge(void 0,z,te,se)}),x},E.prototype.buildRmpath=function(){this.rmpath=[];for(var a=void 0,y=this.dfsEdgeList.length,x=y-1;x>=0;x--){var b=this.dfsEdgeList[x],z=b.fromNode,te=b.toNode;z<te&&(a===void 0||te===a)&&(this.rmpath.push(x),a=z)}return this.rmpath},E.prototype.getNodeNum=function(){var a={};return this.dfsEdgeList.forEach(function(y){a[y.fromNode]||(a[y.fromNode]=!0),a[y.toNode]||(a[y.toNode]=!0)}),Object.keys(a).length},E}(),vp=function(){function E(a){if(this.his={},this.nodesUsed={},this.edgesUsed={},this.edges=[],!!a){for(;a;){var y=a.edge;this.edges.push(y),this.nodesUsed[y.from]=1,this.nodesUsed[y.to]=1,this.edgesUsed[y.id]=1,a=a.preNode}this.edges=this.edges.reverse()}}return E.prototype.hasNode=function(a){return this.nodesUsed[a.id]===1},E.prototype.hasEdge=function(a){return this.edgesUsed[a.id]===1},E}(),U4=function(){function E(a){var y=a.graphs,x=a.minSupport,b=x===void 0?2:x,z=a.minNodeNum,te=z===void 0?1:z,re=a.maxNodeNum,ae=re===void 0?4:re,se=a.top,fe=se===void 0?10:se,me=a.directed,Se=me===void 0?!1:me,Te=a.verbose,ke=Te===void 0?!1:Te;this.graphs=y,this.dfsCode=new C2,this.support=0,this.frequentSize1Subgraphs=[],this.frequentSubgraphs=[],this.minSupport=b,this.top=fe,this.directed=Se,this.counter=0,this.maxNodeNum=ae,this.minNodeNum=te,this.verbose=ke,this.maxNodeNum<this.minNodeNum&&(this.maxNodeNum=this.minNodeNum),this.reportDF=[]}return E.prototype.findForwardRootEdges=function(a,y){var x=this,b=[],z=a.nodeMap;return y.edges.forEach(function(te){(x.directed||y.label<=z[te.to].label)&&b.push(te)}),b},E.prototype.findBackwardEdge=function(a,y,x,b){if(!this.directed&&y===x)return null;for(var z=a.nodeMap,te=z[x.to],re=te.edges,ae=re.length,se=0;se<ae;se++){var fe=re[se];if(!(b.hasEdge(fe)||fe.to!==y.from)){if(this.directed){if(z[y.from].label<z[x.to].label||z[y.from].label===z[x.to].label&&y.label<=fe.label)return fe}else if(y.label<fe.label||y.label===fe.label&&z[y.to].label<=z[x.to].label)return fe}}return null},E.prototype.findForwardPureEdges=function(a,y,x,b){for(var z=[],te=y.to,re=a.nodeMap[te].edges,ae=re.length,se=0;se<ae;se++){var fe=re[se],me=a.nodeMap[fe.to];x<=me.label&&!b.hasNode(me)&&z.push(fe)}return z},E.prototype.findForwardRmpathEdges=function(a,y,x,b){for(var z=[],te=a.nodeMap,re=te[y.to].label,ae=te[y.from],se=ae.edges,fe=se.length,me=0;me<fe;me++){var Se=se[me],Te=te[Se.to].label;y.to===Se.to||x>Te||b.hasNode(te[Se.to])||(y.label<Se.label||y.label===Se.label&&re<=Te)&&z.push(Se)}return z},E.prototype.getSupport=function(a){var y={};return a.forEach(function(x){y[x.graphId]||(y[x.graphId]=!0)}),Object.keys(y).length},E.prototype.findMinLabel=function(a){var y=void 0;return Object.keys(a).forEach(function(x){var b=a[x],z=b.nodeLabel1,te=b.edgeLabel,re=b.nodeLabel2;if(!y){y={nodeLabel1:z,edgeLabel:te,nodeLabel2:re};return}(z<y.nodeLabel1||z===y.nodeLabel1&&te<y.edgeLabel||z===y.nodeLabel1&&te===y.edgeLabel&&re<y.nodeLabel2)&&(y={nodeLabel1:z,edgeLabel:te,nodeLabel2:re})}),y},E.prototype.isMin=function(){var a=this,y=this.dfsCode;if(this.verbose&&console.log("isMin checking",y),y.dfsEdgeList.length===1)return!0;var x=this.directed,b=y.toGraph(x2,x),z=b.nodeMap,te=new C2,re={};b.nodes.forEach(function(me){var Se=a.findForwardRootEdges(b,me);Se.forEach(function(Te){var ke=z[Te.to],We="".concat(me.label,"-").concat(Te.label,"-").concat(ke.label);re[We]||(re[We]={projected:[],nodeLabel1:me.label,edgeLabel:Te.label,nodeLabel2:ke.label});var je={graphId:b.id,edge:Te,preNode:null};re[We].projected.push(je)})});var ae=this.findMinLabel(re);if(ae){te.dfsEdgeList.push(new hg(0,1,ae.nodeLabel1,ae.edgeLabel,ae.nodeLabel2));var se=function me(Se){for(var Te=te.buildRmpath(),ke=te.dfsEdgeList[0].nodeEdgeNodeLabel.nodeLabel1,We=te.dfsEdgeList[Te[0]].toNode,je={},Ke=!1,Qe=0,Je=x?-1:0,at=function(yn){if(Ke)return"break";Se.forEach(function(En){var Pn=new vp(En),or=a.findBackwardEdge(b,Pn.edges[Te[yn]],Pn.edges[Te[0]],Pn);or&&(je[or.label]||(je[or.label]={projected:[],edgeLabel:or.label}),je[or.label].projected.push({graphId:b.id,edge:je,preNode:En}),Qe=te.dfsEdgeList[Te[yn]].fromNode,Ke=!0)})},ot=Te.length-1;ot>Je;ot--){var ut=at(ot);if(ut==="break")break}if(Ke){var ft=a.findMinLabel(je);te.dfsEdgeList.push(new hg(We,Qe,sf,ft.edgeLabel,sf));var lt=te.dfsEdgeList.length-1;return a.dfsCode.dfsEdgeList[lt]!==te.dfsEdgeList[lt]?!1:me(je[ft.edgeLabel].projected)}var Dt={};Ke=!1;var Bt=0;Se.forEach(function(qn){var yn=new vp(qn),En=a.findForwardPureEdges(b,yn.edges[Te[0]],ke,yn);En.length>0&&(Ke=!0,Bt=We,En.forEach(function(Pn){var or="".concat(Pn.label,"-").concat(z[Pn.to].label);Dt[or]||(Dt[or]={projected:[],edgeLabel:Pn.label,nodeLabel2:z[Pn.to].label}),Dt[or].projected.push({graphId:b.id,edge:Pn,preNode:qn})}))});for(var Vt=Te.length,Xt=function(yn){if(Ke)return"break";var En=Te[yn];Se.forEach(function(Pn){var or=new vp(Pn),xn=a.findForwardRmpathEdges(b,or.edges[En],ke,or);xn.length>0&&(Ke=!0,Bt=te.dfsEdgeList[En].fromNode,xn.forEach(function(yr){var na="".concat(yr.label,"-").concat(z[yr.to].label);Dt[na]||(Dt[na]={projected:[],edgeLabel:yr.label,nodeLabel2:z[yr.to].label}),Dt[na].projected.push({graphId:b.id,edge:yr,preNode:Pn})}))})},ot=0;ot<Vt;ot++){var vn=Xt(ot);if(vn==="break")break}if(!Ke)return!0;var on=a.findMinLabel(Dt);te.dfsEdgeList.push(new hg(Bt,We+1,sf,on.edgeLabel,on.nodeLabel2));var wn=te.dfsEdgeList.length-1;return y.dfsEdgeList[wn]!==te.dfsEdgeList[wn]?!1:me(Dt["".concat(on.edgeLabel,"-").concat(on.nodeLabel2)].projected)},fe="".concat(ae.nodeLabel1,"-").concat(ae.edgeLabel,"-").concat(ae.nodeLabel2);return se(re[fe].projected)}},E.prototype.report=function(){if(!(this.dfsCode.getNodeNum()<this.minNodeNum)){this.counter++;var a=this.dfsCode.toGraph(this.counter,this.directed);this.frequentSubgraphs.push(dv(a))}},E.prototype.subGraphMining=function(a){var y=this,x=this.getSupport(a);if(!(x<this.minSupport)&&this.isMin()){this.report();var b=this.dfsCode.getNodeNum(),z=this.dfsCode.buildRmpath(),te=this.dfsCode.dfsEdgeList[z[0]].toNode,re=this.dfsCode.dfsEdgeList[0].nodeEdgeNodeLabel.nodeLabel1,ae={},se={};a.forEach(function(fe){for(var me=y.graphs[fe.graphId],Se=me.nodeMap,Te=new vp(fe),ke=z.length-1;ke>=0;ke--){var We=y.findBackwardEdge(me,Te.edges[z[ke]],Te.edges[z[0]],Te);if(We){var je="".concat(y.dfsCode.dfsEdgeList[z[ke]].fromNode,"-").concat(We.label);se[je]||(se[je]={projected:[],toNodeId:y.dfsCode.dfsEdgeList[z[ke]].fromNode,edgeLabel:We.label}),se[je].projected.push({graphId:fe.graphId,edge:We,preNode:fe})}}if(!(b>=y.maxNodeNum)){var Ke=y.findForwardPureEdges(me,Te.edges[z[0]],re,Te);Ke.forEach(function(Je){var at="".concat(te,"-").concat(Je.label,"-").concat(Se[Je.to].label);ae[at]||(ae[at]={projected:[],fromNodeId:te,edgeLabel:Je.label,nodeLabel2:Se[Je.to].label}),ae[at].projected.push({graphId:fe.graphId,edge:Je,preNode:fe})});for(var Qe=function(at){var ot=y.findForwardRmpathEdges(me,Te.edges[z[at]],re,Te);ot.forEach(function(ut){var ft="".concat(y.dfsCode.dfsEdgeList[z[at]].fromNode,"-").concat(ut.label,"-").concat(Se[ut.to].label);ae[ft]||(ae[ft]={projected:[],fromNodeId:y.dfsCode.dfsEdgeList[z[at]].fromNode,edgeLabel:ut.label,nodeLabel2:Se[ut.to].label}),ae[ft].projected.push({graphId:fe.graphId,edge:ut,preNode:fe})})},ke=0;ke<z.length;ke++)Qe(ke)}}),Object.keys(se).forEach(function(fe){var me=se[fe],Se=me.toNodeId,Te=me.edgeLabel;y.dfsCode.dfsEdgeList.push(new hg(te,Se,"-1",Te,"-1")),y.subGraphMining(se[fe].projected),y.dfsCode.dfsEdgeList.pop()}),Object.keys(ae).forEach(function(fe){var me=ae[fe],Se=me.fromNodeId,Te=me.edgeLabel,ke=me.nodeLabel2;y.dfsCode.dfsEdgeList.push(new hg(Se,te+1,sf,Te,ke)),y.subGraphMining(ae[fe].projected),y.dfsCode.dfsEdgeList.pop()})}},E.prototype.generate1EdgeFrequentSubGraphs=function(){var a=this.graphs,y=this.directed,x=this.minSupport,b=this.frequentSize1Subgraphs,z={},te={},re={},ae={};return Object.keys(a).forEach(function(se){var fe=a[se],me=fe.nodeMap;fe.nodes.forEach(function(Se,Te){var ke=Se.label,We="".concat(se,"-").concat(ke);if(!re[We]){var je=z[ke]||0;je++,z[ke]=je}re[We]={graphKey:se,label:ke},Se.edges.forEach(function(Ke){var Qe=ke,Je=me[Ke.to].label;if(!y&&Qe>Je){var at=Je;Je=Qe,Qe=at}var ot=Ke.label,ut="".concat(se,"-").concat(Qe,"-").concat(ot,"-").concat(Je),ft="".concat(Qe,"-").concat(ot,"-").concat(Je);if(!te[ft]){var lt=te[ft]||0;lt++,te[ft]=lt}ae[ut]={graphId:se,nodeLabel1:Qe,edgeLabel:ot,nodeLabel2:Je}})})}),Object.keys(z).forEach(function(se){var fe=z[se];if(!(fe<x)){var me={nodes:[],edges:[]};me.nodes.push({id:"0",label:se}),b.push(me)}}),b},E.prototype.run=function(){var a=this;if(this.frequentSize1Subgraphs=this.generate1EdgeFrequentSubGraphs(),!(this.maxNodeNum<2)){var y=this.graphs,x=this.directed,b={};Object.keys(y).forEach(function(z){var te=y[z],re=te.nodeMap;te.nodes.forEach(function(ae){var se=a.findForwardRootEdges(te,ae);se.forEach(function(fe){var me=re[fe.to],Se="".concat(ae.label,"-").concat(fe.label,"-").concat(me.label);b[Se]||(b[Se]={projected:[],nodeLabel1:ae.label,edgeLabel:fe.label,nodeLabel2:me.label});var Te={graphId:z,edge:fe,preNode:null};b[Se].projected.push(Te)})})}),Object.keys(b).forEach(function(z){var te=b[z],re=te.projected,ae=te.nodeLabel1,se=te.edgeLabel,fe=te.nodeLabel2;a.dfsCode.dfsEdgeList.push(new hg(0,1,ae,se,fe)),a.subGraphMining(re),a.dfsCode.dfsEdgeList.pop()})}},E}(),W4=function(a,y,x,b){var z={};return Object.keys(a).forEach(function(te,re){var ae=a[te],se=new b2(re,!0,y),fe={};ae.nodes.forEach(function(me,Se){se.addNode(Se,me[x]),fe[me.id]=Se}),ae.edges.forEach(function(me,Se){var Te=fe[me.source],ke=fe[me.target];se.addEdge(-1,Te,ke,me[b])}),se&&se.getNodeNum()&&(z[se.id]=se)}),z},j4=function(a,y,x){var b=[];return a.forEach(function(z){var te={nodes:[],edges:[]};z.nodes.forEach(function(re){var ae;te.nodes.push((ae={id:"".concat(re.id)},ae[y]=re.label,ae))}),z.edges.forEach(function(re){var ae;te.edges.push((ae={source:"".concat(re.from),target:"".concat(re.to)},ae[x]=re.label,ae))}),b.push(te)}),b},P2="cluster",G4=function(a){var y=a.graphs,x=a.directed,b=x===void 0?!1:x,z=a.nodeLabelProp,te=z===void 0?P2:z,re=a.edgeLabelProp,ae=re===void 0?P2:re,se=W4(y,b,te,ae),fe=a.minSupport,me=a.maxNodeNum,Se=a.minNodeNum,Te=a.verbose,ke=a.top,We={graphs:se,minSupport:fe,maxNodeNum:me,minNodeNum:Se,top:ke,verbose:Te,directed:b},je=new U4(We);je.run();var Ke=j4(je.frequentSubgraphs,te,ae);return Ke},V4=G4,w2=function(a,y,x,b){x===void 0&&(x="cluster"),b===void 0&&(b=2);var z=[],te=a.nodes;return y.forEach(function(re,ae){z.push(M2(te,re,ae,x,b))}),z},M2=function(a,y,x,b,z){var te=[x],re=[],ae={};return y.forEach(function(se,fe){if(se<=z&&x!==fe){te.push(fe),re.push(a[fe]);var me=a[fe][b];ae[me]?(ae[me].count++,ae[me].dists.push(se)):ae[me]={count:1,dists:[se]}}}),Object.keys(ae).forEach(function(se){ae[se].dists=ae[se].dists.sort(function(fe,me){return fe-me})}),{nodeIdx:x,nodeId:a[x].id,nodeIdxs:te,neighbors:re,neighborNum:te.length-1,nodeLabelCountMap:ae}},H4=function(a,y,x,b,z){var te=Math.ceil(x/y),re={},ae=0;return b.forEach(function(se,fe){for(var me=0,Se=0,Te=se.nodeIdxs,ke=se.neighborNum-1;me<te;){for(var We=Te[1+Math.floor(Math.random()*ke)],je=0;(re["".concat(fe,"-").concat(We)]||re["".concat(We,"-").concat(fe)])&&(We=Math.floor(Math.random()*y),je++,!(je>2*y)););if(je<2*y&&(re["".concat(fe,"-").concat(We)]={start:fe,end:We,distance:z[fe][We]},me++,ae++,ae>=x))return re;if(Se++,Se>2*y)break}if(me<te){var Ke=te-me;te=(te+Ke)/(y-fe-1)}}),re},mp=function(a,y,x,b){var z=x.nodes;return b||(b={}),Object.keys(a).forEach(function(te){var re,ae;if(!(b&&b[te])){b[te]={nodes:[],edges:[]};var se=a[te],fe=(re=y[se.start])===null||re===void 0?void 0:re.nodeIdxs,me=(ae=y[se.end])===null||ae===void 0?void 0:ae.nodeIdxs;if(!(!fe||!me)){var Se=new Set(me),Te=fe.filter(function(Qe){return Se.has(Qe)});if(!(!Te||!Te.length)){for(var ke={},We=Te.length,je=0;je<We;je++){var Ke=z[Te[je]];b[te].nodes.push(Ke),ke[Ke.id]=!0}x.edges.forEach(function(Qe){ke[Qe.source]&&ke[Qe.target]&&b[te].edges.push(Qe)})}}}}),b},pp=function(a,y,x,b){var z,te,re={};a.nodes.forEach(function(se){re[se.id]=se});var ae=0;return!(!((z=y==null?void 0:y.edges)===null||z===void 0)&&z.length)||((te=y==null?void 0:y.nodes)===null||te===void 0?void 0:te.length)<2?0:(a.edges.forEach(function(se){var fe=re[se.source][x],me=re[se.target][x],Se=y==null?void 0:y.nodes[0][x],Te=y==null?void 0:y.nodes[1][x],ke=y==null?void 0:y.edges[0][b];se[b]===ke&&(fe===Se&&me===Te||fe===Te&&me===Se)&&ae++}),ae)},K4=function(a,y,x){for(var b=1/0,z=0,te=function(se){var fe=a[se],me=Object.keys(fe).sort(function(Qe,Je){return fe[Qe]-fe[Je]}),Se=10,Te=[];me.forEach(function(Qe,Je){Te[Je%Se]||(Te[Je%Se]={graphs:[],totalCount:0,aveCount:0}),Te[Je%Se].graphs.push(Qe),Te[Je%Se].totalCount+=fe[Qe]});var ke=0,We=[];Te.forEach(function(Qe){var Je=Qe.totalCount/Qe.graphs.length;Qe.aveCount=Je,We.push(Je);var at=0,ot=Qe.length;Qe.graphs.forEach(function(ut,ft){var lt=fe[ut];Qe.graphs.forEach(function(Dt,Bt){ft!==Bt&&(at+=Math.abs(lt-fe[Dt]))})}),at/=ot*(ot-1)/2,ke+=at}),ke/=Te.length;var je=0;We.forEach(function(Qe,Je){We.forEach(function(at,ot){Je!==ot&&(je+=Math.abs(Qe-at))}),je/=We.length*(We.length-1)/2});var Ke=je-ke;b<Ke&&(b=Ke,z=se)},re=0;re<y;re++)te(re);return{structure:x[z],structureCountMap:a[z]}},D2=function(a,y){var x={},b={};return a.forEach(function(z,te){x[z.id]={idx:te,node:z,degree:0,inDegree:0,outDegree:0};var re=z[y];b[re]||(b[re]=[]),b[re].push(z)}),{nodeMap:x,nodeLabelMap:b}},I2=function(a,y,x){var b={},z={};return a.forEach(function(te,re){b["".concat(JP)]={idx:re,edge:te};var ae=te[y];z[ae]||(z[ae]=[]),z[ae].push(te);var se=x[te.source];se&&(se.degree++,se.outDegree++);var fe=x[te.target];fe&&(fe.degree++,fe.inDegree++)}),{edgeMap:b,edgeLabelMap:z}},L2=function(a,y,x){var b=y.length,z={};return y.forEach(function(te,re){for(var ae=x?0:re+1,se=a[re].id,fe=ae;fe<b;fe++)if(re!==fe){var me=a[fe].id,Se=te[fe];z["".concat(se,"-").concat(me)]=Se,x||(z["".concat(me,"-").concat(se)]=Se)}}),z},Z4=function(a,y,x,b,z,te,re,ae,se,fe,me){var Se,Te="".concat(y.id,"-").concat(x.id);if(fe&&fe[Te])return fe[Te];var ke=me?me[Te]:void 0;if(!ke){var We=(Se={},Se[Te]={start:b[y.id].idx,end:b[x.id].idx,distance:z},Se);me=mp(We,te,a,me),ke=me[Te]}return pp(ke,re,ae,se)},O2=function(a,y,x,b){var z,te,re,ae=(z=a[y])===null||z===void 0?void 0:z.degree,se=(te=a[y])===null||te===void 0?void 0:te.inDegree,fe=(re=a[y])===null||re===void 0?void 0:re.outDegree;return a[y]===void 0&&(ae=1/0,se=1/0,fe=1/0,b[y].forEach(function(me){var Se=x[me.id].degree;ae>Se&&(ae=Se);var Te=x[me.id].inDegree;se>Te&&(se=Te);var ke=x[me.id].outDegree;fe>ke&&(fe=ke)}),a[y]={degree:ae,inDegree:se,outDegree:fe}),{minPatternNodeLabelDegree:ae,minPatternNodeLabelInDegree:se,minPatternNodeLabelOutDegree:fe}},Q4=function(a,y,x,b,z,te,re){var ae;if(x===void 0&&(x=!1),te===void 0&&(te="cluster"),re===void 0&&(re="cluster"),!(!a||!a.nodes)){var se=a.nodes.length;if(se){var fe=gA(a,x),me=gA(y,x),Se=L2(a.nodes,fe,x),Te=L2(y.nodes,me,x),ke=D2(a.nodes,te),We=ke.nodeMap,je=ke.nodeLabelMap,Ke=D2(y.nodes,te),Qe=Ke.nodeMap,Je=Ke.nodeLabelMap;I2(a.edges,re,We);var at=I2(y.edges,re,Qe).edgeLabelMap,ot=[];me==null||me.forEach(function(Di){ot=ot.concat(Di)}),z||(z=Math.max.apply(Math,(0,Rt.ev)((0,Rt.ev)([],ot,!1),[2],!1))),b||(b=z);var ut=w2(a,fe,te,b),ft=w2(y,me,te,b),lt=Math.min(100,se*(se-1)/2),Dt=H4(b,se,lt,ut,fe),Bt=mp(Dt,ut,a),Vt=10,Xt=1,vn=1,on=4,wn={graphs:Bt,nodeLabelProp:te,edgeLabelProp:re,minSupport:Xt,minNodeNum:vn,maxNodeNum:on,directed:x},qn=V4(wn).slice(0,Vt),yn=qn.length,En=[];qn.forEach(function(Di,ya){En[ya]={},Object.keys(Bt).forEach(function(La){var Ya=Bt[La],zi=pp(Ya,Di,te,re);En[ya][La]=zi})});var Pn=K4(En,yn,qn),or=Pn.structure,xn=Pn.structureCountMap,yr=y.nodes[0],na=[],ea=(ae=y.nodes[0])===null||ae===void 0?void 0:ae[te],jr=-1/0;y.nodes.forEach(function(Di){var ya=Di[te],La=je[ya];(La==null?void 0:La.length)>jr&&(jr=La.length,na=La,ea=ya,yr=Di)});var Or={},Yr={},fa={},Ia={},oi={},Eo={};Object.keys(Je).forEach(function(Di,ya){oi[Di]=[],x&&(Eo[Di]=[]);var La=-1/0,Ya=Je[Di],zi={};Ya.forEach(function(Ko){var rs=Te["".concat(yr.id,"-").concat(Ko.id)];if(rs&&oi[Di].push(rs),La<rs&&(La=rs),zi["".concat(yr.id,"-").concat(Ko.id)]={start:0,end:Qe[Ko.id].idx,distance:rs},x){var as=Te["".concat(Ko.id,"-").concat(yr.id)];as&&Eo[Di].push(as)}}),oi[Di]=oi[Di].sort(function(Ko,rs){return Ko-rs}),x&&(Eo[Di]=Eo[Di].sort(function(Ko,rs){return Ko-rs})),Yr=mp(zi,ft,y,Yr);var Ca=[];if(Object.keys(zi).forEach(function(Ko){if(fa[Ko]){Ca.push(fa[Ko]);return}var rs=Yr[Ko];fa[Ko]=pp(rs,or,te,re),Ca.push(fa[Ko])}),Ca=Ca.sort(function(Ko,rs){return rs-Ko}),Ia["".concat(yr.id,"-").concat(Di)]=Ca,Di!==ea)for(var oo=(na==null?void 0:na.length)||0,Ui=function(rs){var as=na[rs],Jo=ut[We[as.id].idx],mo=Jo.nodeLabelCountMap[Di],xc=Je[Di].length;if(!mo||mo.count<xc)return na.splice(rs,1),"continue";for(var Sc=!1,wl=0;wl<xc;wl++)if(mo.dists[wl]>oi[Di][wl]){Sc=!0;break}if(Sc)return na.splice(rs,1),"continue";var Ss={};Jo.neighbors.forEach(function(qa){var Yi=Se["".concat(as.id,"-").concat(qa.id)];Ss["".concat(as.id,"-").concat(qa.id)]={start:We[as.id].idx,end:We[qa.id].idx,distance:Yi}}),Bt=mp(Ss,ut,a,Bt);var Bu=[];Object.keys(Ss).forEach(function(qa){if(xn[qa]){Bu.push(xn[qa]);return}var Yi=Bt[qa];xn[qa]=pp(Yi,or,te,re),Bu.push(xn[qa])}),Bu=Bu.sort(function(qa,Yi){return Yi-qa});for(var bs=!1,wl=0;wl<xc;wl++)if(Bu[wl]<Ca[wl]){bs=!0;break}if(bs)return na.splice(rs,1),"continue"},gs=oo-1;gs>=0;gs--)Ui(gs)});var to=[];na==null||na.forEach(function(Di){for(var ya=We[Di.id].idx,La=M2(a.nodes,fe[ya],ya,te,z),Ya=La.neighbors,zi=Ya.length,Ca=!1,oo=zi-1;oo>=0;oo--){if(Ya.length+1<y.nodes.length){Ca=!0;return}var Ui=Ya[oo],gs=Ui[te];if(!Je[gs]||!Je[gs].length){Ya.splice(oo,1);continue}if(!oi[gs]||!oi[gs].length){Ya.splice(oo,1);continue}var Ko="".concat(Di.id,"-").concat(Ui.id),rs=Se[Ko],as=oi[gs].length-1,Jo=oi[gs][as];if(rs>Jo){Ya.splice(oo,1);continue}if(x){var mo="".concat(Ui.id,"-").concat(Di.id),xc=Se[mo];as=Eo[gs].length-1;var Sc=Eo[gs][as];if(xc>Sc){Ya.splice(oo,1);continue}}var wl=xn[Ko]?xn[Ko]:Z4(a,Di,Ui,We,rs,ut,or,te,re,xn,Bt),Ss="".concat(yr.id,"-").concat(gs),Bu=Ia[Ss][Ia[Ss].length-1];if(wl<Bu){Ya.splice(oo,1);continue}var bs=O2(Or,gs,Qe,Je),qa=bs.minPatternNodeLabelDegree,Yi=bs.minPatternNodeLabelInDegree,Po=bs.minPatternNodeLabelOutDegree;if(We[Ui.id].degree<qa){Ya.splice(oo,1);continue}}Ca||to.push({nodes:[Di].concat(Ya)})});var ri=dp(y,yr.id,!1).length,Qi={};x?(Object.keys(ri).forEach(function(Di){var ya=Qe[Di].node[te];Qi[ya]?Qi[ya].push(ri[Di]):Qi[ya]=[ri[Di]]}),Object.keys(Qi).forEach(function(Di){Qi[Di].sort(function(ya,La){return ya-La})})):Qi=oi;for(var Ri=to.length,Ji=function(ya){var La=to[ya],Ya=La.nodes[0],zi={},Ca={};La.nodes.forEach(function(Bs,ks){Ca[Bs.id]={idx:ks,node:Bs,degree:0,inDegree:0,outDegree:0};var cs=Bs[te];zi[cs]?zi[cs]++:zi[cs]=1});var oo=[],Ui={};a.edges.forEach(function(Bs){Ca[Bs.source]&&Ca[Bs.target]&&(oo.push(Bs),Ui[Bs[re]]?Ui[Bs[re]]++:Ui[Bs[re]]=1,Ca[Bs.source].degree++,Ca[Bs.target].degree++,Ca[Bs.source].outDegree++,Ca[Bs.target].inDegree++)});for(var gs=Object.keys(at).length,Ko=!1,rs=0;rs<gs;rs++){var as=Object.keys(at)[rs];if(!Ui[as]||Ui[as]<at[as].length){Ko=!0;break}}if(Ko)return to.splice(ya,1),"continue";var Jo=oo.length;if(Jo<y.edges.length)return to.splice(ya,1),"break";for(var mo=!1,xc=function(ks){var cs=oo[ks],El=cs[re],vd=at[El];if(!vd||!vd.length)return Ui[El]--,vd&&Ui[El]<vd.length?(mo=!0,"break"):(oo.splice(ks,1),Ca[cs.source].degree--,Ca[cs.target].degree--,Ca[cs.source].outDegree--,Ca[cs.target].inDegree--,"continue");var Si=Ca[cs.source].node[te],Nu=Ca[cs.target].node[te],fu=!1;if(vd.forEach(function(Ru){var Ud=Qe[Ru.source].node,Ng=Qe[Ru.target].node;Ud[te]===Si&&Ng[te]===Nu&&(fu=!0),!x&&Ud[te]===Nu&&Ng[te]===Si&&(fu=!0)}),!fu)return Ui[El]--,vd&&Ui[El]<vd.length?(mo=!0,"break"):(oo.splice(ks,1),Ca[cs.source].degree--,Ca[cs.target].degree--,Ca[cs.source].outDegree--,Ca[cs.target].inDegree--,"continue")},rs=Jo-1;rs>=0;rs--){var Sc=xc(rs);if(Sc==="break")break}if(mo)return to.splice(ya,1),"continue";La.edges=oo;var wl=dp(La,La.nodes[0].id,!1).length;if(Object.keys(wl).reverse().forEach(function(Bs){if(!(Bs===La.nodes[0].id||mo)){if(wl[Bs]===1/0){var ks=Ca[Bs].node[te];if(zi[ks]--,zi[ks]<Je[ks].length){mo=!0;return}var cs=La.nodes.indexOf(Ca[Bs].node);La.nodes.splice(cs,1),Ca[Bs]=void 0;return}var El=We[Bs].node[te];if(!Qi[El]||!Qi[El].length||wl[Bs]>Qi[El][Qi[El].length-1]){var ks=Ca[Bs].node[te];if(zi[ks]--,zi[ks]<Je[ks].length){mo=!0;return}var cs=La.nodes.indexOf(Ca[Bs].node);La.nodes.splice(cs,1),Ca[Bs]=void 0}}}),mo)return to.splice(ya,1),"continue";for(var Ss=!0,Bu=0;Ss&&!mo;){Ss=!1;var bs=x?Ca[Ya.id].degree<Qe[yr.id].degree||Ca[Ya.id].inDegree<Qe[yr.id].inDegree||Ca[Ya.id].outDegree<Qe[yr.id].outDegree:Ca[Ya.id].degree<Qe[yr.id].degree;if(bs){mo=!0;break}if(zi[Ya[te]]<Je[Ya[te]].length){mo=!0;break}for(var qa=La.nodes.length,Yi=qa-1;Yi>=0;Yi--){var Po=La.nodes[Yi],To=Ca[Po.id].degree,vo=Ca[Po.id].inDegree,Rl=Ca[Po.id].outDegree,Vc=Po[te],gd=O2(Or,Vc,Qe,Je),Bg=gd.minPatternNodeLabelDegree,Dh=gd.minPatternNodeLabelInDegree,B0=gd.minPatternNodeLabelOutDegree,Ih=x?To<Bg||vo<Dh||Rl<B0:To<Bg;if(Ih){if(zi[Po[te]]--,zi[Po[te]]<Je[Po[te]].length){mo=!0;break}La.nodes.splice(Yi,1),Ca[Po.id]=void 0,Ss=!0}}if(mo||!Ss&&Bu!==0)break;Jo=oo.length;for(var sc=Jo-1;sc>=0;sc--){var bc=oo[sc];if(!Ca[bc.source]||!Ca[bc.target]){oo.splice(sc,1);var lc=bc[re];if(Ui[lc]--,Ca[bc.source]&&(Ca[bc.source].degree--,Ca[bc.source].outDegree--),Ca[bc.target]&&(Ca[bc.target].degree--,Ca[bc.target].inDegree--),at[lc]&&Ui[lc]<at[lc].length){mo=!0;break}Ss=!0}}Bu++}if(mo||mo||La.nodes.length<y.nodes.length||oo.length<y.edges.length)return to.splice(ya,1),"continue"},lo=Ri-1;lo>=0;lo--){var Xo=Ji(lo);if(Xo==="break")break}for(var Oo=to.length,si=function(ya){var La=to[ya],Ya={};La.edges.forEach(function(oo){var Ui="".concat(oo.source,"-").concat(oo.target,"-").concat(oo.label);Ya[Ui]?Ya[Ui]++:Ya[Ui]=1});for(var zi=function(Ui){var gs=to[Ui],Ko={};gs.edges.forEach(function(as){var Jo="".concat(as.source,"-").concat(as.target,"-").concat(as.label);Ko[Jo]?Ko[Jo]++:Ko[Jo]=1});var rs=!0;Object.keys(Ko).length!==Object.keys(Ya).length?rs=!1:Object.keys(Ya).forEach(function(as){Ko[as]!==Ya[as]&&(rs=!1)}),rs&&to.splice(Ui,1)},Ca=Oo-1;Ca>ya;Ca--)zi(Ca);Oo=to.length},lo=0;lo<=Oo-1;lo++)si(lo);return to}}},Y4=Q4,X4=function(){function E(a){a===void 0&&(a=10),this.linkedList=new XP,this.maxStep=a}return Object.defineProperty(E.prototype,"length",{get:function(){return this.linkedList.toArray().length},enumerable:!1,configurable:!0}),E.prototype.isEmpty=function(){return!this.linkedList.head},E.prototype.isMaxStack=function(){return this.toArray().length>=this.maxStep},E.prototype.peek=function(){return this.isEmpty()?null:this.linkedList.head.value},E.prototype.push=function(a){this.linkedList.prepend(a),this.length>this.maxStep&&this.linkedList.deleteTail()},E.prototype.pop=function(){var a=this.linkedList.deleteHead();return a?a.value:null},E.prototype.toArray=function(){return this.linkedList.toArray().map(function(a){return a.value})},E.prototype.clear=function(){for(;!this.isEmpty();)this.pop()},E}(),J4=X4,q4=a2,FJ={getAdjMatrix:op,breadthFirstSearch:OR,connectedComponent:$P,getDegree:oA,getInDegree:BR,getOutDegree:NR,detectCycle:a2,detectDirectedCycle:q4,detectAllCycles:FR,detectAllDirectedCycle:r2,detectAllUndirectedCycle:n2,depthFirstSearch:t2,dijkstra:dp,findAllPath:c4,findShortestPath:hA,floydWarshall:gA,labelPropagation:h4,louvain:v2,iLouvain:x4,kCore:b4,kMeans:P4,cosineSimilarity:p2,nodesCosineSimilarity:D4,minimumSpanningTree:_4,pageRank:E2,getNeighbors:ld,Stack:J4,GADDI:Y4};function _r(E){if(E.id!==void 0)return E.id;if(E.source!==void 0&&E.target!==void 0)return`${E.source}-${E.target}`;throw new Error(Df("The datum does not have available id."))}function yp(E){return E.combo}function T2(E,a){const y={nodes:(E.nodes||[]).map(_r),edges:(E.edges||[]).map(_r),combos:(E.combos||[]).map(_r)};return a?Object.values(y).flat():y}const B2=(E,a,y)=>{var x;switch(y.type){case"degree":{const b=new Map;return(x=E.nodes)===null||x===void 0||x.forEach(z=>{const te=a(_r(z),y.direction).length;b.set(_r(z),te)}),b}case"betweenness":return $4(E,y.directed,y.weightPropertyName);case"closeness":return e_(E,y.directed,y.weightPropertyName);case"eigenvector":return n_(E,y.directed);case"pagerank":return t_(E,y.epsilon,y.linkProb);default:return N2(E)}},N2=E=>{var a;const y=new Map;return(a=E.nodes)===null||a===void 0||a.forEach(x=>{y.set(_r(x),0)}),y},$4=(E,a,y)=>{const x=N2(E),{nodes:b=[]}=E;return b.forEach(z=>{b.forEach(te=>{if(z!==te){const{allPath:re}=hA(E,_r(z),_r(te),a,y),ae=re.length;re.flat().forEach(se=>{se!==_r(z)&&se!==_r(te)&&x.set(se,x.get(se)+1/ae)})}})}),x},e_=(E,a,y)=>{const x=new Map,{nodes:b=[]}=E;return b.forEach(z=>{const te=b.reduce((re,ae)=>{if(z!==ae){const{length:se}=hA(E,_r(z),_r(ae),a,y);re+=se}return re},0);x.set(_r(z),1/te)}),x},t_=(E,a,y)=>{var x;const b=new Map,z=E2(E,a,y);return(x=E.nodes)===null||x===void 0||x.forEach(te=>{b.set(_r(te),z[_r(te)])}),b},n_=(E,a)=>{const{nodes:y=[]}=E,x=r_(E,a),b=a_(x,y.length),z=new Map;return y.forEach((te,re)=>{z.set(_r(te),b[re])}),z},r_=(E,a)=>{const{nodes:y=[],edges:x=[]}=E,b=Array(y.length).fill(null).map(()=>Array(y.length).fill(0));return x.forEach(({source:z,target:te})=>{const re=y.findIndex(se=>_r(se)===z),ae=y.findIndex(se=>_r(se)===te);a?b[re][ae]=1:(b[re][ae]=1,b[ae][re]=1)}),b},a_=(E,a,y=100,x=1e-6)=>{let b=Array(a).fill(1),z=1/0;for(let te=0;te<y&&z>x;te++){const re=Array(a).fill(0);for(let se=0;se<a;se++)for(let fe=0;fe<a;fe++)re[se]+=E[se][fe]*b[fe];const ae=Math.sqrt(re.reduce((se,fe)=>se+fe*fe,0));for(let se=0;se<a;se++)re[se]/=ae;z=Math.sqrt(re.reduce((se,fe,me)=>se+(fe-b[me])*fe,0)),b=re}return b};function uh(E,a,y,x=Vl){const b=new Map(E.map(Se=>[y(Se),Se])),z=new Map(a.map(Se=>[y(Se),Se])),te=new Set(b.keys()),re=new Set(z.keys()),ae=[],se=[],fe=[],me=[];return re.forEach(Se=>{te.has(Se)?x(b.get(Se),z.get(Se))?me.push(z.get(Se)):se.push(z.get(Se)):ae.push(z.get(Se))}),te.forEach(Se=>{re.has(Se)||fe.push(b.get(Se))}),{enter:ae,exit:fe,keep:me,update:se}}function gg(E,a,y){const x=b=>{y&&!y(b)||(b.style.visibility=a)};E.forEach(b=>{x(b)})}function i_(E,a,y){const x={},b=z=>(z in x||(x[z]=0),`${a}-${z}-${x[z]++}`);return y.map(z=>typeof z=="string"?{type:z,key:b(z)}:typeof z=="function"?z.call(E):z.key?z:Object.assign(Object.assign({},z),{key:b(z.type)}))}class pA{constructor(a){this.extensions=[],this.extensionMap={},this.context=a}setExtensions(a){const y=i_(this.context.graph,this.category,a),{enter:x,update:b,exit:z,keep:te}=uh(this.extensions,y,re=>re.key);this.createExtensions(x),this.updateExtensions([...b,...te]),this.destroyExtensions(z),this.extensions=y}createExtension(a){const{category:y}=this,{key:x,type:b}=a,z=Mf(y,b);if(!z)return Ec.warn(`The extension ${b} of ${y} is not registered.`);const te=new z(this.context,a);this.extensionMap[x]=te}createExtensions(a){a.forEach(y=>this.createExtension(y))}updateExtension(a){const{key:y}=a,x=this.extensionMap[y];x&&x.update(a)}updateExtensions(a){a.forEach(y=>this.updateExtension(y))}destroyExtension(a){const y=this.extensionMap[a];y&&(y.destroy(),delete this.extensionMap[a])}destroyExtensions(a){a.forEach(({key:y})=>this.destroyExtension(y))}destroy(){Object.values(this.extensionMap).forEach(a=>a.destroy()),this.context={},this.extensions=[],this.extensionMap={}}}class yA{constructor(a,y){this.events=[],this.destroyed=!1,this.context=a,this.options=y}update(a){this.options=Object.assign(this.options,a)}destroy(){this.context={},this.options={},this.destroyed=!0}}class Fc extends yA{}class Ep extends Fc{constructor(a,y){super(a,Object.assign({},Ep.defaultOptions,y)),this.isOverlapping=(x,b)=>b.some(z=>x.intersects(z)),this.occupiedBounds=[],this.detectLabelCollision=x=>{const b=this.context.viewport,z={show:[],hide:[]};return this.occupiedBounds=[],x.forEach(te=>{const re=te.getShape("label").getRenderBounds();b.isInViewport(re,!0)&&!this.isOverlapping(re,this.occupiedBounds)?(z.show.push(te),this.occupiedBounds.push(lh(re,this.options.padding))):z.hide.push(te)}),z},this.hideLabelIfExceedViewport=(x,b)=>{const{exit:z}=uh(x,b,te=>te.id);z==null||z.forEach(this.hideLabel)},this.nodeCentralities=new Map,this.sortNodesByCentrality=(x,b)=>{const{model:z}=this.context,te=z.getData(),re=z.getRelatedEdgesData.bind(z);return x.map(se=>(this.nodeCentralities.has(se.id)||(this.nodeCentralities=B2(te,re,b)),{node:se,centrality:this.nodeCentralities.get(se.id)})).sort((se,fe)=>fe.centrality-se.centrality).map(se=>se.node)},this.sortLabelElementsInView=x=>{const{sort:b,sortNode:z,sortCombo:te,sortEdge:re}=this.options,{model:ae}=this.context;if(Gi(b))return x.sort((We,je)=>b(ae.getElementDataById(We.id),ae.getElementDataById(je.id)));const{node:se=[],edge:fe=[],combo:me=[]}=ap(x,We=>We.type),Se=Gi(te)?me.sort((We,je)=>te(...ae.getComboData([We.id,je.id]))):me,Te=Gi(z)?se.sort((We,je)=>z(...ae.getNodeData([We.id,je.id]))):this.sortNodesByCentrality(se,z),ke=Gi(re)?fe.sort((We,je)=>re(...ae.getEdgeData([We.id,je.id]))):fe;return[...Se,...Te,...ke]},this.labelElementsInView=[],this.isFirstRender=!0,this.onToggleVisibility=x=>{var b;if(((b=x.data)===null||b===void 0?void 0:b.stage)==="zIndex")return;if(!this.validate(x)){this.hiddenElements.size>0&&(this.hiddenElements.forEach(this.showLabel),this.hiddenElements.clear());return}const z=this.isFirstRender?this.getLabelElements():this.getLabelElementsInView();this.hideLabelIfExceedViewport(this.labelElementsInView,z),this.labelElementsInView=z;const te=this.sortLabelElementsInView(this.labelElementsInView),{show:re,hide:ae}=this.detectLabelCollision(te);for(let se=re.length-1;se>=0;se--)this.showLabel(re[se]);ae.forEach(this.hideLabel)},this.hiddenElements=new Map,this.hideLabel=x=>{const b=x.getShape("label");b&&gg(b,"hidden"),this.hiddenElements.set(x.id,x)},this.showLabel=x=>{const b=x.getShape("label");b&&gg(b,"visible"),x.toFront(),this.hiddenElements.delete(x.id)},this.onTransform=ZP(this.onToggleVisibility,this.options.throttle,{leading:!0}),this.enableToggle=!0,this.toggle=x=>{this.enableToggle&&this.onToggleVisibility(x)},this.onBeforeRender=()=>{this.enableToggle=!1},this.onAfterRender=x=>{this.onToggleVisibility(x),this.enableToggle=!0},this.bindEvents()}update(a){this.unbindEvents(),super.update(a),this.bindEvents(),this.onToggleVisibility({})}getLabelElements(){const{elementMap:a}=this.context.element,y=[];for(const x in a){const b=a[x];b.isVisible()&&b.getShape("label")&&y.push(b)}return y}getLabelElementsInView(){const a=this.context.viewport;return this.getLabelElements().filter(y=>a.isInViewport(y.getShape("key").getRenderBounds()))}bindEvents(){const{graph:a}=this.context;a.on(ci.BEFORE_RENDER,this.onBeforeRender),a.on(ci.AFTER_RENDER,this.onAfterRender),a.on(ci.AFTER_DRAW,this.toggle),a.on(ci.AFTER_LAYOUT,this.toggle),a.on(ci.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:a}=this.context;a.off(ci.BEFORE_RENDER,this.onBeforeRender),a.off(ci.AFTER_RENDER,this.onAfterRender),a.off(ci.AFTER_DRAW,this.toggle),a.off(ci.AFTER_LAYOUT,this.toggle),a.off(ci.AFTER_TRANSFORM,this.onTransform)}validate(a){if(this.destroyed)return!1;const{enable:y}=this.options;return Gi(y)?y(a):!!y}destroy(){this.unbindEvents(),super.destroy()}}Ep.defaultOptions={enable:!0,throttle:100,padding:0,sortNode:{type:"degree"}};var o_=function(E){if(!$E(E)||!Ub(E,"Object"))return!1;if(Object.getPrototypeOf(E)===null)return!0;for(var a=E;Object.getPrototypeOf(a)!==null;)a=Object.getPrototypeOf(a);return Object.getPrototypeOf(E)===a},u0=o_,s_=5;function l_(E,a){if(Object.hasOwn)return Object.hasOwn(E,a);if(E==null)throw new TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(E),a)}function R2(E,a,y,x){y=y||0,x=x||s_;for(var b in a)if(l_(a,b)){var z=a[b];z!==null&&u0(z)?(u0(E[b])||(E[b]={}),y<x?R2(E[b],z,y+1,x):E[b]=a[b]):Tc(z)?(E[b]=[],E[b]=E[b].concat(z)):z!==void 0&&(E[b]=z)}}var u_=function(E){for(var a=[],y=1;y<arguments.length;y++)a[y-1]=arguments[y];for(var x=0;x<a.length;x+=1)R2(E,a[x]);return E},tc=u_;const _2=[0,0,0];function Ho(E,a){return E.map((y,x)=>y+a[x])}function qs(E,a){return E.map((y,x)=>y-a[x])}function If(E,a){return typeof a=="number"?E.map(y=>y*a):E.map((y,x)=>y*a[x])}function Td(E,a){return typeof a=="number"?E.map(y=>y/a):E.map((y,x)=>y/a[x])}function c_(E,a){return E.reduce((y,x,b)=>y+x*a[b],0)}function d_(E,a){const y=fv(E),x=fv(a);return[y[1]*x[2]-y[2]*x[1],y[2]*x[0]-y[0]*x[2],y[0]*x[1]-y[1]*x[0]]}function ch(E,a){return E.map(y=>y*a)}function cl(E,a){return Math.sqrt(E.reduce((y,x,b)=>y+Math.pow(x-a[b]||0,2),0))}function Ap(E,a){return E.reduce((y,x,b)=>y+Math.abs(x-a[b]),0)}function Lf(E){const a=E.reduce((y,x)=>y+Math.pow(x,2),0);return E.map(y=>y/Math.sqrt(a))}function EA(E,a,y=!1){const x=E[0]*a[1]-E[1]*a[0];let b=Math.acos(If(E,a).reduce((z,te)=>z+te,0)/(cl(E,_2)*cl(a,_2)));return y&&x<0&&(b=2*Math.PI-b),b}function kJ(E,a){return E.every((y,x)=>y===a[x])}function xp(E,a=!0){return a?[-E[1],E[0]]:[E[1],-E[0]]}function f_(E,a){return E.map(y=>y%a)}function vg(E){return[E[0],E[1]]}function fv(E){return mR(E)?[E[0],E[1],0]:E}function F2(E){const[a,y]=E;return!a&&!y?0:Math.atan2(y,a)}function k2(E,a){const[y,x]=E,[b,z]=a,te=qs(y,x),re=qs(b,z);return d_(te,re).every(ae=>ae===0)}function AA(E,a,y=!1){if(k2(E,a))return;const[x,b]=E,[z,te]=a,re=((x[0]-z[0])*(z[1]-te[1])-(x[1]-z[1])*(z[0]-te[0]))/((x[0]-b[0])*(z[1]-te[1])-(x[1]-b[1])*(z[0]-te[0])),ae=te[0]-z[0]?(x[0]-z[0]+re*(b[0]-x[0]))/(te[0]-z[0]):(x[1]-z[1]+re*(b[1]-x[1]))/(te[1]-z[1]);if(!(!y&&(!rf(re,0,1)||!rf(ae,0,1))))return[x[0]+re*(b[0]-x[0]),x[1]+re*(b[1]-x[1])]}function z2(E){if(Array.isArray(E))return rf(E[0],0,1)&&rf(E[1],0,1)?E:[.5,.5];const a=E.split("-"),y=a.includes("left")?0:a.includes("right")?1:.5,x=a.includes("top")?0:a.includes("bottom")?1:.5;return[y,x]}function lu(E){const{x:a=0,y=0,z:x=0}=E.style||{};return[+a,+y,+x]}function h_(E){const{x:a,y,z:x}=E.style||{};return a!==void 0||y!==void 0||x!==void 0}function U2(E,a){const[y,x]=a,{min:b,max:z}=E;return[b[0]+y*(z[0]-b[0]),b[1]+x*(z[1]-b[1])]}function Of(E,a="center"){const y=z2(a);return U2(E,y)}function zJ(E,a){const y=parseAnchor(a);return U2(E,y)}const UJ=E=>{const[a,y]=E;return{left:Math.min(a[0],y[0]),right:Math.max(a[0],y[0]),top:Math.min(a[1],y[1]),bottom:Math.max(a[1],y[1])}};function Du(E){var a;return[E.x,E.y,(a=E.z)!==null&&a!==void 0?a:0]}function Bd(E){var a;return{x:E[0],y:E[1],z:(a=E[2])!==null&&a!==void 0?a:0}}function WJ(E){return E.sort((a,y)=>a[0]-y[0]||a[1]-y[1])}function jJ(E){const a=new Set;return E.filter(y=>{const x=y.join(",");return a.has(x)?!1:(a.add(x),!0)})}function hv(E,a=0){return E.map(y=>parseFloat(y.toFixed(a)))}function dh(E,a,y,x=!1){if(Vl(E,a))return E;const b=x?qs(E,a):qs(a,E),z=Lf(b),te=[z[0]*y,z[1]*y];return Ho(vg(E),te)}function W2(E,a){return E[1]===a[1]}function g_(E,a){return E[0]===a[0]}function v_(E,a){return W2(E,a)||g_(E,a)}function j2(E,a,y){return k2([E,a],[a,y])}function G2(E,a){return[2*a[0]-E[0],2*a[1]-E[1]]}function V2(E,a,y,x=!0,b=!1){for(let z=0;z<y.length;z++){let te=y[z],re=y[(z+1)%y.length];x&&(te=Ho(a,te),re=Ho(a,re));const ae=b?G2(E,a):E,se=AA([a,ae],[te,re]);if(se)return{point:se,line:[te,re]}}return{point:a,line:void 0}}function m_(E,a,y,x){const b=E[0],z=E[1];let te=!1;y===void 0&&(y=0),x===void 0&&(x=a.length);const re=x-y;for(let ae=0,se=re-1;ae<re;se=ae++){const fe=a[ae+y][0],me=a[ae+y][1],Se=a[se+y][0],Te=a[se+y][1];me>z!=Te>z&&b<(Se-fe)*(z-me)/(Te-me)+fe&&(te=!te)}return te}function p_(E,a,y=!1){const x=Of(a,"center"),b=[Of(a,"left-top"),Of(a,"right-top"),Of(a,"right-bottom"),Of(a,"left-bottom")];return V2(E,x,b,!1,y).point}function Sp(E,a,y=!1){const x=a.center,b=y?G2(E,x):E,z=qs(b,a.center),te=Math.atan2(z[1],z[0]);if(isNaN(te))return x;const re=af(a)/2,ae=of(a)/2,se=x[0]+re*Math.cos(te),fe=x[1]+ae*Math.sin(te);return[se,fe]}function y_(E,a){let y=1/0,x=[E[0],a[0]];return E.forEach(b=>{a.forEach(z=>{const te=cl(b,z);te<y&&(y=te,x=[b,z])})}),x}function E_(E,a){let y=1/0,x=[[0,0],[0,0]];return a.forEach(b=>{const z=A_(E,b);z<y&&(y=z,x=b)}),x}function A_(E,a){const y=H2(E,a);return cl(E,y)}function H2(E,a){const[y,x]=a[0],[b,z]=a[1],[te,re]=E,ae=b-y,se=z-x;if(ae===0&&se===0)return[y,x];let fe=((te-y)*ae+(re-x)*se)/(ae*ae+se*se);fe>1?fe=1:fe<0&&(fe=0);const me=y+fe*ae,Se=x+fe*se;return[me,Se]}function x_(E){const a=E.reduce((y,x)=>Ho(y,x),[0,0]);return Td(a,E.length)}function xA(E,a=!0){const y=x_(E);return E.sort(([x,b],[z,te])=>{const re=Math.atan2(b-y[1],x-y[0]),ae=Math.atan2(te-y[1],z-y[0]);return a?ae-re:re-ae})}function K2(E,a){return[E,[E[0],a[1]],a,[a[0],E[1]]]}class S_{constructor(a,y){this.callback=y,this.pointerByTouch=[],this.initialDistance=null,this.emitter=a,this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.bindEvents()}bindEvents(){const{emitter:a}=this;a.on(ga.POINTER_DOWN,this.onPointerDown),a.on(ga.POINTER_MOVE,this.onPointerMove),a.on(ga.POINTER_UP,this.onPointerUp)}updatePointerPosition(a,y,x){const b=this.pointerByTouch.findIndex(z=>z.pointerId===a);b>=0&&(this.pointerByTouch[b]={x:y,y:x,pointerId:a})}onPointerDown(a){const{x:y,y:x}=a.client;if(!(y===void 0||x===void 0)&&(this.pointerByTouch.push({x:y,y:x,pointerId:a.pointerId}),a.pointerType==="touch"&&this.pointerByTouch.length===2)){const b=this.pointerByTouch[0].x-this.pointerByTouch[1].x,z=this.pointerByTouch[0].y-this.pointerByTouch[1].y;this.initialDistance=Math.sqrt(b*b+z*z)}}onPointerMove(a){if(this.pointerByTouch.length!==2||this.initialDistance===null)return;const{x:y,y:x}=a.client;if(y===void 0||x===void 0)return;this.updatePointerPosition(a.pointerId,y,x);const b=this.pointerByTouch[0].x-this.pointerByTouch[1].x,z=this.pointerByTouch[0].y-this.pointerByTouch[1].y,re=Math.sqrt(b*b+z*z)/this.initialDistance;this.callback(a,{scale:(re-1)*5})}onPointerUp(){this.initialDistance=null,this.pointerByTouch=[]}destroy(){this.emitter.off(ga.POINTER_DOWN,this.onPointerDown),this.emitter.off(ga.POINTER_MOVE,this.onPointerMove),this.emitter.off(ga.POINTER_UP,this.onPointerUp)}}const Z2=E=>E.map(a=>Is(a)?a.toLocaleLowerCase():a);class c0{constructor(a){this.map=new Map,this.recordKey=new Set,this.onKeyDown=y=>{y!=null&&y.key&&(this.recordKey.add(y.key),this.trigger(y))},this.onKeyUp=y=>{y!=null&&y.key&&this.recordKey.delete(y.key)},this.onWheel=y=>{this.triggerExtendKey(ga.WHEEL,y)},this.onDrag=y=>{this.triggerExtendKey(ga.DRAG,y)},this.handlePinch=(y,x)=>{this.triggerExtendKey(ga.PINCH,Object.assign(Object.assign({},y),x))},this.onFocus=()=>{this.recordKey.clear()},this.emitter=a,this.bindEvents()}bind(a,y){a.length!==0&&(a.includes(ga.PINCH)&&!this.pinchHandler&&(this.pinchHandler=new S_(this.emitter,this.handlePinch.bind(this))),this.map.set(a,y))}unbind(a,y){this.map.forEach((x,b)=>{Vl(b,a)&&(!y||y===x)&&this.map.delete(b)})}unbindAll(){this.map.clear()}match(a){const y=Z2(Array.from(this.recordKey)).sort(),x=Z2(a).sort();return Vl(y,x)}bindEvents(){var a;const{emitter:y}=this;y.on(ga.KEY_DOWN,this.onKeyDown),y.on(ga.KEY_UP,this.onKeyUp),y.on(ga.WHEEL,this.onWheel),y.on(ga.DRAG,this.onDrag),(a=globalThis.addEventListener)===null||a===void 0||a.call(globalThis,"focus",this.onFocus)}trigger(a){this.map.forEach((y,x)=>{this.match(x)&&y(a)})}triggerExtendKey(a,y){this.map.forEach((x,b)=>{b.includes(a)&&Vl(Array.from(this.recordKey),b.filter(z=>z!==a))&&x(y)})}destroy(){var a,y;this.unbindAll(),this.emitter.off(ga.KEY_DOWN,this.onKeyDown),this.emitter.off(ga.KEY_UP,this.onKeyUp),this.emitter.off(ga.WHEEL,this.onWheel),this.emitter.off(ga.DRAG,this.onDrag),(a=this.pinchHandler)===null||a===void 0||a.destroy(),(y=globalThis.removeEventListener)===null||y===void 0||y.call(globalThis,"blur",this.onFocus)}}class gv extends Fc{constructor(a,y){super(a,tc({},gv.defaultOptions,y)),this.shortcut=new c0(a.graph),this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.clearStates=this.clearStates.bind(this),this.bindEvents()}onPointerDown(a){if(!this.validate(a)||!this.isKeydown()||this.startPoint)return;const{canvas:y,graph:x}=this.context,b=Object.assign({},this.options.style);this.options.style.lineWidth&&(b.lineWidth=+this.options.style.lineWidth/x.getZoom()),this.rectShape=new Mu({id:"g6-brush-select",style:b}),y.appendChild(this.rectShape),this.startPoint=[a.canvas.x,a.canvas.y]}onPointerMove(a){var y;if(!this.startPoint)return;const{immediately:x,mode:b}=this.options;this.endPoint=bp(a),(y=this.rectShape)===null||y===void 0||y.attr({x:Math.min(this.endPoint[0],this.startPoint[0]),y:Math.min(this.endPoint[1],this.startPoint[1]),width:Math.abs(this.endPoint[0]-this.startPoint[0]),height:Math.abs(this.endPoint[1]-this.startPoint[1])}),x&&b==="default"&&this.updateElementsStates(K2(this.startPoint,this.endPoint))}onPointerUp(a){if(this.startPoint){if(!this.endPoint){this.clearBrush();return}this.endPoint=bp(a),this.updateElementsStates(K2(this.startPoint,this.endPoint)),this.clearBrush()}}clearStates(){this.endPoint||this.clearElementsStates()}clearElementsStates(){const{graph:a}=this.context,y=Object.values(a.getData()).reduce((x,b)=>Object.assign({},x,b.reduce((z,te)=>(z[_r(te)]=[],z),{})),{});a.setElementState(y,this.options.animation)}updateElementsStates(a){const{graph:y}=this.context,{enableElements:x,state:b,mode:z,onSelect:te}=this.options,re=this.selector(y,a,x);let ae={};switch(z){case"union":re.forEach(se=>{ae[se]=[...y.getElementState(se),b]});break;case"diff":re.forEach(se=>{const fe=y.getElementState(se);ae[se]=fe.includes(b)?fe.filter(me=>me!==b):[...fe,b]});break;case"intersect":re.forEach(se=>{const fe=y.getElementState(se);ae[se]=fe.includes(b)?[b]:[]});break;case"default":default:re.forEach(se=>{ae[se]=[b]});break}Gi(te)&&(ae=te(ae)),y.setElementState(ae,this.options.animation)}selector(a,y,x){if(!x||x.length===0)return[];const b=[],z=a.getData();if(x.forEach(te=>{z[`${te}s`].forEach(re=>{const ae=_r(re);a.getElementVisibility(ae)!=="hidden"&&m_(a.getElementPosition(ae),y)&&b.push(ae)})}),x.includes("edge")){const te=z.edges;te==null||te.forEach(re=>{const{source:ae,target:se}=re;b.includes(ae)&&b.includes(se)&&b.push(_r(re))})}return b}clearBrush(){var a;(a=this.rectShape)===null||a===void 0||a.remove(),this.rectShape=void 0,this.startPoint=void 0,this.endPoint=void 0}isKeydown(){const{trigger:a}=this.options,y=Array.isArray(a)?a:[a];return this.shortcut.match(y.filter(x=>x!=="drag"))}validate(a){if(this.destroyed)return!1;const{enable:y}=this.options;return Gi(y)?y(a):!!y}bindEvents(){const{graph:a}=this.context;a.on(ga.POINTER_DOWN,this.onPointerDown),a.on(ga.POINTER_MOVE,this.onPointerMove),a.on(ga.POINTER_UP,this.onPointerUp),a.on(wf.CLICK,this.clearStates)}unbindEvents(){const{graph:a}=this.context;a.off(ga.POINTER_DOWN,this.onPointerDown),a.off(ga.POINTER_MOVE,this.onPointerMove),a.off(ga.POINTER_UP,this.onPointerUp),a.off(wf.CLICK,this.clearStates)}update(a){this.unbindEvents(),this.options=tc(this.options,a),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}gv.defaultOptions={animation:!1,enable:!0,enableElements:["node","combo","edge"],immediately:!1,mode:"default",state:"selected",trigger:["shift"],style:{width:0,height:0,lineWidth:1,fill:"#1677FF",stroke:"#1677FF",fillOpacity:.1,zIndex:2,pointerEvents:"none"}};const bp=E=>[E.canvas.x,E.canvas.y],Tf=.8,mg=["node","edge","combo"];function pg(E,a,y,x,b=0){x==="TB"&&a(E,b);const z=y(E);if(z)for(const te of z)pg(te,a,y,x,b+1);x==="BT"&&a(E,b)}function b_(E,a,y){const x=[[E,0]];for(;x.length;){const[b,z]=x.shift();a(b,z);const te=y(b);if(te)for(const re of te)x.push([re,z+1])}}function Q2(E,a,y,x,b="both"){if(a==="combo"||a==="node")return SA(E,y,x,b);const z=E.getEdgeData(y);if(!z)return[];const te=SA(E,z.source,x-1,b),re=SA(E,z.target,x-1,b);return Array.from(new Set([...te,...re,y]))}function SA(E,a,y,x="both"){const b=new Set,z=new Set,te=new Set;return b_(a,(re,ae)=>{ae>y||(te.add(re),E.getRelatedEdgesData(re,x).forEach(se=>{const fe=_r(se);!z.has(fe)&&ae<y&&(te.add(fe),z.add(fe))}))},re=>E.getRelatedEdgesData(re,x).map(ae=>ae.source===re?ae.target:ae.source).filter(ae=>b.has(ae)?!1:(b.add(ae),!0))),Array.from(te)}function bA(E){return E.states||[]}var Cp=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class Pp extends Fc{constructor(a,y){super(a,Object.assign({},Pp.defaultOptions,y)),this.onClickSelect=x=>Cp(this,void 0,void 0,function*(){var b,z;this.validate(x)&&(yield this.updateState(x),(z=(b=this.options).onClick)===null||z===void 0||z.call(b,x))}),this.onClickCanvas=x=>Cp(this,void 0,void 0,function*(){var b,z;this.validate(x)&&(yield this.clearState(),(z=(b=this.options).onClick)===null||z===void 0||z.call(b,x))}),this.shortcut=new c0(a.graph),this.bindEvents()}bindEvents(){const{graph:a}=this.context;this.unbindEvents(),mg.forEach(y=>{a.on(`${y}:${ga.CLICK}`,this.onClickSelect)}),a.on(wf.CLICK,this.onClickCanvas)}get isMultipleSelect(){const{multiple:a,trigger:y}=this.options;return a&&this.shortcut.match(y)}getNeighborIds(a){const{target:y,targetType:x}=a,{graph:b}=this.context,{degree:z}=this.options;return Q2(b,x,y.id,typeof z=="function"?z(a):z).filter(te=>te!==y.id)}updateState(a){return Cp(this,void 0,void 0,function*(){const{state:y,unselectedState:x,neighborState:b,animation:z}=this.options;if(!y&&!b&&!x)return;const{target:te}=a,{graph:re}=this.context,ae=re.getElementData(te.id),se=bA(ae).includes(y)?"unselect":"select",fe={},me=this.isMultipleSelect,Se=[te.id],Te=this.getNeighborIds(a);if(me)if(Object.assign(fe,this.getDataStates()),se==="select"){const ke=(We,je)=>{We.forEach(Ke=>{const Qe=new Set(re.getElementState(Ke));Qe.add(je),Qe.delete(x),fe[Ke]=Array.from(Qe)})};ke(Se,y),ke(Te,b),x&&Object.keys(fe).forEach(We=>{const je=fe[We];!je.includes(y)&&!je.includes(b)&&!je.includes(x)&&fe[We].push(x)})}else{const ke=fe[te.id];fe[te.id]=ke.filter(We=>We!==y&&We!==b),ke.includes(x)||fe[te.id].push(x),Te.forEach(We=>{fe[We]=fe[We].filter(je=>je!==b),fe[We].includes(y)||fe[We].push(x)})}else if(se==="select"){Object.assign(fe,this.getClearStates(!!x));const ke=(We,je)=>{We.forEach(Ke=>{fe[Ke]||(fe[Ke]=re.getElementState(Ke)),fe[Ke].push(je)})};ke(Se,y),ke(Te,b),x&&Object.keys(fe).forEach(We=>{!Se.includes(We)&&!Te.includes(We)&&fe[We].push(x)})}else Object.assign(fe,this.getClearStates());yield re.setElementState(fe,z)})}getDataStates(){const{graph:a}=this.context,{nodes:y,edges:x,combos:b}=a.getData(),z={};return[...y,...x,...b].forEach(te=>{z[_r(te)]=bA(te)}),z}getClearStates(a=!1){const{graph:y}=this.context,{state:x,unselectedState:b,neighborState:z}=this.options,te=new Set([x,b,z]),{nodes:re,edges:ae,combos:se}=y.getData(),fe={};return[...re,...ae,...se].forEach(me=>{const Se=bA(me),Te=Se.filter(ke=>!te.has(ke));(a||Te.length!==Se.length)&&(fe[_r(me)]=Te)}),fe}clearState(){return Cp(this,void 0,void 0,function*(){const{graph:a}=this.context;yield a.setElementState(this.getClearStates(),this.options.animation)})}validate(a){if(this.destroyed)return!1;const{enable:y}=this.options;return Gi(y)?y(a):!!y}unbindEvents(){const{graph:a}=this.context;mg.forEach(y=>{a.off(`${y}:${ga.CLICK}`,this.onClickSelect)}),a.off(wf.CLICK,this.onClickCanvas)}destroy(){this.unbindEvents(),super.destroy()}}Pp.defaultOptions={animation:!0,enable:!0,multiple:!1,trigger:["shift"],state:"selected",neighborState:"selected",unselectedState:void 0,degree:0};function Ac(E){var a;return!!(!((a=E.style)===null||a===void 0)&&a.collapsed)}var nc=function(E,a,y){for(var x=0,b=Is(a)?a.split("."):a;E&&x<b.length;)E=E[b[x++]];return E===void 0||x<b.length?y:E},vv=function(E,a,y){var x=E,b=Is(a)?a.split("."):a;return b.forEach(function(z,te){te<b.length-1?(jl(x[z])||(x[z]=Oi(b[te+1])?[]:{}),x=x[z]):x[z]=y}),E},C_=function(E){var a=UP(E);return a.charAt(0).toLowerCase()+a.substring(1)},P_=C_;function mv(E,a){if(!E.startsWith(a))return!1;const y=E[a.length];return y>="A"&&y<="Z"}function Y2(E,a){return`${a}${np(E)}`}function X2(E,a,y=!0){if(!a||!mv(E,a))return E;const x=E.slice(a.length);return y?P_(x):x}function $l(E,a){const y=Object.entries(E).reduce((x,[b,z])=>(b==="className"||b==="class"||mv(b,a)&&Object.assign(x,{[X2(b,a)]:z}),x),{});if("opacity"in E){const x=Y2("opacity",a),b=E.opacity;if(x in E){const z=E[x];Object.assign(y,{opacity:b*z})}else Object.assign(y,{opacity:b})}return y}function CA(E,a){const y=a.length;return Object.keys(E).reduce((x,b)=>{if(b.startsWith(a)){const z=b.slice(y);x[z]=E[b]}return x},{})}function J2(E,a){const y=typeof a=="string"?[a]:a,x={};return Object.keys(E).forEach(b=>{y.find(z=>b.startsWith(z))||(x[b]=E[b])}),x}function GJ(E,a,y){return Object.entries(E).reduce((x,[b,z])=>(mv(b,a)?x[Y2(X2(b,a,!1),y)]=z:x[b]=z,x),{})}function kc(E=0){if(typeof E=="number")return[E,E,E];const[a,y=a,x=a]=E;return[a,y,x]}var w_=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};function q2(E,a){const{datum:y,graph:x}=a;return typeof E=="function"?E.call(x,y):Object.fromEntries(Object.entries(E).map(([b,z])=>typeof z=="function"?[b,z.call(x,y)]:[b,z]))}function yu(E,a){const y=(E==null?void 0:E.style)||{},x=(a==null?void 0:a.style)||{};for(const b in y)b in x||(x[b]=y[b]);return Object.assign({},E,a,{style:x})}function M_(E){const{x:a,y,z:x,class:b,className:z,transform:te,transformOrigin:re,zIndex:ae,visibility:se}=E;return w_(E,["x","y","z","class","className","transform","transformOrigin","zIndex","visibility"])}function D_(E,a){const y=kc(E);let x={};return a.text&&!a.fontSize&&(x={fontSize:Math.min(...y)*.5}),a.src&&(!a.width||!a.height)&&(x={width:y[0]*.5,height:y[1]*.5}),x}function $2(E){if(E)return typeof E=="string"||typeof E=="function"||Array.isArray(E)?{type:"group",field:a=>a.id,color:E,invert:!1}:E}function I_(E,a){if(!a)return{};const{type:y,color:x,field:b,invert:z}=a,te=ae=>{const se=typeof x=="string"?Mf("palette",x):x;if(typeof se=="function"){const fe={};return ae.forEach(([me,Se])=>{fe[me]=se(z?1-Se:Se)}),fe}else if(Array.isArray(se)){const fe=z?[...se].reverse():se,me={};return ae.forEach(([Se,Te])=>{me[Se]=fe[Te%se.length]}),me}return{}},re=(ae,se)=>{var fe;return typeof ae=="string"?(fe=se.data)===null||fe===void 0?void 0:fe[ae]:ae==null?void 0:ae(se)};if(y==="group"){const ae=ap(E,Se=>{if(!b)return"default";const Te=re(b,Se);return Te?String(Te):"default"}),se=Object.keys(ae),fe=te(se.map((Se,Te)=>[Se,Te])),me={};return Object.entries(ae).forEach(([Se,Te])=>{Te.forEach(ke=>{me[_r(ke)]=fe[Se]})}),me}else if(y==="value"){const[ae,se]=E.reduce(([me,Se],Te)=>{const ke=re(b,Te);if(typeof ke!="number")throw new Error(Df(`Palette field ${b} is not a number`));return[Math.min(me,ke),Math.max(Se,ke)]},[1/0,-1/0]),fe=se-ae;return te(E.map(me=>[me.id,(re(b,me)-ae)/fe]))}}function ew(E){const a=typeof E=="string"?Mf("palette",E):E;if(typeof a!="function")return a}function tw(E,a){let y=2*E;return typeof a=="string"?y=E*Number(a.replace("%",""))/100:typeof a=="number"&&(y=a),isNaN(y)&&(y=2*E),y}function nw(E,a,y=1,x=!1){const b=x?y:1,z=(E.max[0]-E.min[0])*b;return tw(z,a)}function L_(E,a,y=1){const x=cl(E[0],E[1])*y;return tw(x,a)}var O_={}.toString,T_=function(E){return O_.call(E).replace(/^\[object /,"").replace(/]$/,"")},B_=T_,N_=Object.prototype,R_=function(E){var a=E&&E.constructor,y=typeof a=="function"&&a.prototype||N_;return E===y},__=R_,F_=Object.prototype.hasOwnProperty;function k_(E){if(fo(E))return!0;if(iv(E))return!E.length;var a=B_(E);if(a==="Map"||a==="Set")return!E.size;if(__(E))return!Object.keys(E).length;for(var y in E)if(F_.call(E,y))return!1;return!0}var lf=k_;class pv extends WE{constructor(a){rw(a.style),super(a),this.shapeMap={},this.animateMap={},this.render(this.attributes,this),this.setVisibility(),this.bindEvents()}get parsedAttributes(){return this.attributes}upsert(a,y,x,b,z){var te,re,ae,se,fe,me,Se,Te;const ke=this.shapeMap[a];if(x===!1){ke&&((te=z==null?void 0:z.beforeDestroy)===null||te===void 0||te.call(z,ke),b.removeChild(ke),delete this.shapeMap[a],(re=z==null?void 0:z.afterDestroy)===null||re===void 0||re.call(z,ke));return}const We=typeof y=="string"?Mf(ov.SHAPE,y):y;if(!We)throw new Error(Df(`Shape ${y} not found`));if(!ke||ke.destroyed||!(ke instanceof We)){ke&&((ae=z==null?void 0:z.beforeDestroy)===null||ae===void 0||ae.call(z,ke),ke==null||ke.destroy(),(se=z==null?void 0:z.afterDestroy)===null||se===void 0||se.call(z,ke)),(fe=z==null?void 0:z.beforeCreate)===null||fe===void 0||fe.call(z);const je=new We({className:a,style:x});return b.appendChild(je),this.shapeMap[a]=je,(me=z==null?void 0:z.afterCreate)===null||me===void 0||me.call(z,je),je}return(Se=z==null?void 0:z.beforeUpdate)===null||Se===void 0||Se.call(z,ke),KA(ke,x),(Te=z==null?void 0:z.afterUpdate)===null||Te===void 0||Te.call(z,ke),ke}update(a={}){const y=Object.assign({},this.attributes,a);rw(y),U8(this,y),this.render(y,this),this.setVisibility()}bindEvents(){}getGraphicStyle(a){return M_(a)}get compositeShapes(){return[["badges","badge-"],["ports","port-"]]}animate(a,y){if(a.length===0)return null;const x=[];if(a[0].x!==void 0||a[0].y!==void 0||a[0].z!==void 0){const{x:z=0,y:te=0,z:re=0}=this.attributes;a.forEach(ae=>{const{x:se=z,y:fe=te,z:me=re}=ae;Object.assign(ae,{transform:me?[["translate3d",se,fe,me]]:[["translate",se,fe]]})})}const b=super.animate(a,y);if(b&&(PA(this,b),x.push(b)),Array.isArray(a)&&a.length>0){const z=["transform","transformOrigin","x","y","z","zIndex"];if(Object.keys(a[0]).some(te=>!z.includes(te))){Object.entries(this.shapeMap).forEach(([re,ae])=>{const se=`get${np(re)}Style`,fe=this[se];if(Gi(fe)){const me=a.map(Te=>fe.call(this,Object.assign(Object.assign({},this.attributes),Te))),Se=ae.animate(rA(me),y);Se&&(PA(ae,Se),x.push(Se))}});const te=(re,ae)=>{if(!lf(re)){const se=`get${np(ae)}Style`,fe=this[se];if(Gi(fe)){const me=a.map(Se=>fe.call(this,Object.assign(Object.assign({},this.attributes),Se)));Object.entries(me[0]).map(([Se])=>{const Te=me.map(We=>We[Se]),ke=re[Se];if(ke){const We=ke.animate(rA(Te),y);We&&(PA(ke,We),x.push(We))}})}}};this.compositeShapes.forEach(([re,ae])=>{const se=CA(this.shapeMap,ae);te(se,re)})}}return nA(x)}getShape(a){return this.shapeMap[a]}setVisibility(){const{visibility:a}=this.attributes;gg(this,a)}destroy(){this.shapeMap={},this.animateMap={},super.destroy()}}function PA(E,a){a==null||a.finished.then(()=>{const y=E.activeAnimations.findIndex(x=>x===a);y>-1&&E.activeAnimations.splice(y,1)})}function rw(E){if(!E)return{};if("x"in E||"y"in E||"z"in E){const{x:a=0,y=0,z:x,transform:b}=E,z=GP(a,y,x,b);z&&(E.transform=z)}return E}var z_=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};class fh extends pv{constructor(a){super(yu({style:fh.defaultStyleProps},a))}isTextStyle(a){return mv(a,"label")}isBackgroundStyle(a){return mv(a,"background")}getTextStyle(a){const y=this.getGraphicStyle(a),{padding:x}=y,b=z_(y,["padding"]);return J2(b,"background")}getBackgroundStyle(a){if(a.background===!1)return!1;const y=this.getGraphicStyle(a),{wordWrap:x,wordWrapWidth:b,padding:z}=y,te=$l(y,"background"),{min:[re,ae],center:[se,fe],halfExtents:[me,Se]}=this.shapeMap.text.getGeometryBounds(),[Te,ke,We,je]=Id(z),Ke=me*2+je+ke,{width:Qe,height:Je}=te;Qe&&Je?Object.assign(te,{x:se-Number(Qe)/2,y:fe-Number(Je)/2}):Object.assign(te,{x:re-je,y:ae-Te,width:x?Math.min(Ke,b+je+ke):Ke,height:Se*2+Te+We});const{radius:at}=te;if(typeof at=="string"&&at.endsWith("%")){const ot=Number(at.replace("%",""))/100;te.radius=Math.min(+te.width,+te.height)*ot}return te}render(a=this.parsedAttributes,y=this){this.upsert("text",cg,this.getTextStyle(a),y),this.upsert("background",Mu,this.getBackgroundStyle(a),y)}getGeometryBounds(){return(this.getShape("background")||this.getShape("text")).getGeometryBounds()}}fh.defaultStyleProps={padding:0,fontSize:12,fontFamily:"system-ui, sans-serif",wordWrap:!0,maxLines:1,wordWrapWidth:128,textOverflow:"...",textBaseline:"middle",backgroundOpacity:.75,backgroundZIndex:-1,backgroundLineWidth:0};class d0 extends pv{constructor(a){super(yu({style:d0.defaultStyleProps},a))}getBadgeStyle(a){return this.getGraphicStyle(a)}render(a=this.parsedAttributes,y=this){this.upsert("label",fh,this.getBadgeStyle(a),y)}getGeometryBounds(){const a=this.getShape("label");return(a.getShape("background")||a.getShape("text")).getGeometryBounds()}}d0.defaultStyleProps={padding:[2,4,2,4],fontSize:10,wordWrap:!1,backgroundRadius:"50%",backgroundOpacity:1};function U_(E,a=!0){const y=[];return E.forEach((x,b)=>{y.push([b===0?"M":"L",...x])}),a&&y.push(["Z"]),y}const aw={M:["x","y"],m:["dx","dy"],H:["x"],h:["dx"],V:["y"],v:["dy"],L:["x","y"],l:["dx","dy"],Z:[],z:[],C:["x1","y1","x2","y2","x","y"],c:["dx1","dy1","dx2","dy2","dx","dy"],S:["x2","y2","x","y"],s:["dx2","dy2","dx","dy"],Q:["x1","y1","x","y"],q:["dx1","dy1","dx","dy"],T:["x","y"],t:["dx","dy"],A:["rx","ry","rotation","large-arc","sweep","x","y"],a:["rx","ry","rotation","large-arc","sweep","dx","dy"]};function W_(E){const a=E.replace(/[\n\r]/g,"").replace(/-/g," -").replace(/(\d*\.)(\d+)(?=\.)/g,"$1$2 ").trim().split(/\s*,|\s+/),y=[];let x="",b={};for(;a.length>0;){let z=a.shift();z in aw?x=z:a.unshift(z),b={type:x},aw[x].forEach(ae=>{z=a.shift(),b[ae]=z}),x==="M"?x="L":x==="m"&&(x="l");const[te,...re]=Object.values(b);y.push([te,...re.map(Number)])}return y}function j_(E){const a=[];return(typeof E=="string"?W_(E):E).forEach(x=>{const b=x[0];if(b==="Z"){a.push(a[0]);return}if(b!=="A")for(let z=1;z<x.length;z=z+2)a.push([x[z],x[z+1],0]);else{const z=x.length;a.push([x[z-2],x[z-1],0])}}),a}const iw=E=>{if(E.length<2)return[["M",0,0],["L",0,0]];const a=E[0],y=E[1],x=E[E.length-1],b=E[E.length-2];E.unshift(b,x),E.push(a,y);const z=[["M",x[0],x[1]]];for(let te=1;te<E.length-2;te+=1){const[re,ae]=E[te-1],[se,fe]=E[te],[me,Se]=E[te+1],[Te,ke]=te!==E.length-2?E[te+2]:[me,Se],We=se+(me-re)/6,je=fe+(Se-ae)/6,Ke=me-(Te-se)/6,Qe=Se-(ke-fe)/6;z.push(["C",We,je,Ke,Qe,me,Se])}return z};function G_(E,a,y,x,b,z,te){const[re,ae]=Of(E,a),se={textAlign:a==="left"?"right":a==="right"?"left":"center",textBaseline:a==="top"?"bottom":a==="bottom"?"top":"middle",transform:[["translate",re+y,ae+x]]};if(a==="center"||!b)return se;const fe=j_(z);if(!fe||fe.length<=3)return se;const me=fe.map((ke,We)=>{const je=ke,Ke=fe[(We+1)%fe.length];return Vl(je,Ke)?null:[je,Ke]}).filter(Boolean),Se=E_([re,ae],me),Te=H2([re,ae],Se);if(Te&&Se&&(se.transform=[["translate",Te[0]+y,Te[1]+x]],te)){const ke=Math.atan((Se[0][1]-Se[1][1])/(Se[0][0]-Se[1][0]));se.transform.push(["rotate",ke/Math.PI*180]),se.textAlign="center",(a==="right"||a==="left")&&(ke>0?se.textBaseline=a==="right"?"bottom":"top":se.textBaseline=a==="right"?"top":"bottom")}return se}var V_=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};class yv extends pv{constructor(a){super(yu({style:yv.defaultStyleProps},a))}getLabelStyle(a){if(!a.label||!a.d||a.d.length===0)return!1;const y=$l(this.getGraphicStyle(a),"label"),{maxWidth:x,offsetX:b,offsetY:z,autoRotate:te,placement:re,closeToPath:ae}=y,se=V_(y,["maxWidth","offsetX","offsetY","autoRotate","placement","closeToPath"]),fe=this.shapeMap.key,me=fe==null?void 0:fe.getRenderBounds();return Object.assign(G_(me,re,b,z,ae,a.d,te),{wordWrapWidth:nw(me,x)},se)}getKeyStyle(a){return this.getGraphicStyle(a)}render(a,y){this.upsert("key",Nc,this.getKeyStyle(a),y),this.upsert("label",fh,this.getLabelStyle(a),y)}}yv.defaultStyleProps={label:!0,labelPlacement:"bottom",labelCloseToPath:!0,labelAutoRotate:!0,labelOffsetX:0,labelOffsetY:0};function H_(E){const a=[],y=x=>{x!=null&&x.children.length&&x.children.forEach(b=>{a.push(b),y(b)})};return y(E),a}function K_(E){const a=[];let y=E.parentNode;for(;y;)a.push(y),y=y.parentNode;return a}class wA extends nv{constructor(a){super(a),this.onMounted=()=>{this.handleRadius()},this.onAttrModified=()=>{this.handleRadius()},f0=this,this.isMutationObserved=!0,this.addEventListener(is.MOUNTED,this.onMounted),this.addEventListener(is.ATTR_MODIFIED,this.onAttrModified)}handleRadius(){const{radius:a,clipPath:y,width:x=0,height:b=0}=this.attributes;if(a&&x&&b){const[z,te]=this.getBounds().min,re={x:z,y:te,radius:a,width:x,height:b};if(y)Object.assign(this.parsedStyle.clipPath.style,re);else{const ae=new Mu({style:re});this.style.clipPath=ae}}else y&&(this.style.clipPath=null)}}const MA=new WeakMap;let f0=null;const DA=E=>{if(f0&&K_(f0).includes(E)){const a=MA.get(E);a?a.includes(f0)||a.push(f0):MA.set(E,[f0])}},IA=E=>{const a=MA.get(E);a&&a.forEach(y=>y.handleRadius())};class ow extends pv{constructor(a){super(a)}isImage(){const{src:a}=this.attributes;return!!a}getIconStyle(a=this.attributes){const{width:y=0,height:x=0}=a,b=this.getGraphicStyle(a);return this.isImage()?Object.assign({x:-y/2,y:-x/2},b):Object.assign({textBaseline:"middle",textAlign:"center"},b)}render(a=this.attributes,y=this){this.upsert("icon",this.isImage()?wA:cg,this.getIconStyle(a),y)}}class sw extends pv{get context(){return this.config.context}get parsedAttributes(){return this.attributes}onframe(){}animate(a,y){const x=super.animate(a,y);return x&&(x.onframe=()=>this.onframe(),x.finished.then(()=>this.onframe())),x}}var wp=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};class Nd extends sw{constructor(a){super(yu({style:Nd.defaultStyleProps},a)),this.type="node"}getSize(a=this.attributes){const{size:y}=a;return kc(y)}getKeyStyle(a){const y=this.getGraphicStyle(a);return Object.assign(J2(y,["label","halo","icon","badge","port"]))}getLabelStyle(a){if(a.label===!1||!a.labelText)return!1;const y=$l(this.getGraphicStyle(a),"label"),{placement:x,maxWidth:b,offsetX:z,offsetY:te}=y,re=wp(y,["placement","maxWidth","offsetX","offsetY"]),ae=this.getShape("key").getLocalBounds();return Object.assign(Uw(ae,x,z,te),{wordWrapWidth:nw(ae,b)},re)}getHaloStyle(a){if(a.halo===!1)return!1;const y=this.getKeyStyle(a),{fill:x}=y,b=wp(y,["fill"]),z=$l(this.getGraphicStyle(a),"halo");return Object.assign(Object.assign(Object.assign({},b),{stroke:x}),z)}getIconStyle(a){if(a.icon===!1||!a.iconText&&!a.iconSrc)return!1;const y=$l(this.getGraphicStyle(a),"icon");return Object.assign(D_(a.size,y),y)}getBadgesStyle(a){var y;const x=CA(this.shapeMap,"badge-"),b={};if(Object.keys(x).forEach(me=>{b[me]=!1}),a.badge===!1||!(!((y=a.badges)===null||y===void 0)&&y.length))return b;const{badges:z=[],badgePalette:te,opacity:re=1}=a,ae=wp(a,["badges","badgePalette","opacity"]),se=ew(te),fe=$l(this.getGraphicStyle(ae),"badge");return z.forEach((me,Se)=>{b[Se]=Object.assign(Object.assign({backgroundFill:se?se[Se%(se==null?void 0:se.length)]:void 0,opacity:re},fe),this.getBadgeStyle(me))}),b}getBadgeStyle(a){const y=this.getShape("key"),{placement:x="top",offsetX:b,offsetY:z}=a,te=wp(a,["placement","offsetX","offsetY"]),re=Uw(y.getLocalBounds(),x,b,z,!0);return Object.assign(Object.assign({},re),te)}getPortsStyle(a){var y;const x=this.getPorts(),b={};if(Object.keys(x).forEach(re=>{b[re]=!1}),a.port===!1||!(!((y=a.ports)===null||y===void 0)&&y.length))return b;const z=$l(this.getGraphicStyle(a),"port"),{ports:te=[]}=a;return te.forEach((re,ae)=>{const se=re.key||ae,fe=Object.assign(Object.assign({},z),re);if(Fw(fe))b[se]=!1;else{const[me,Se]=this.getPortXY(a,re);b[se]=Object.assign({transform:[["translate",me,Se]]},fe)}}),b}getPortXY(a,y){const{placement:x="left"}=y,b=this.getShape("key");return GA(Z_(this.context,b),x)}getPorts(){return CA(this.shapeMap,"port-")}getCenter(){return this.getShape("key").getBounds().center}getIntersectPoint(a,y=!1){const x=this.getShape("key").getBounds();return p_(a,x,y)}drawHaloShape(a,y){const x=this.getHaloStyle(a),b=this.getShape("key");this.upsert("halo",b.constructor,x,y)}drawIconShape(a,y){const x=this.getIconStyle(a);this.upsert("icon",ow,x,y),DA(this)}drawBadgeShapes(a,y){const x=this.getBadgesStyle(a);Object.keys(x).forEach(b=>{const z=x[b];this.upsert(`badge-${b}`,d0,z,y)})}drawPortShapes(a,y){const x=this.getPortsStyle(a);Object.keys(x).forEach(b=>{const z=x[b],te=`port-${b}`;this.upsert(te,Cf,z,y)})}drawLabelShape(a,y){const x=this.getLabelStyle(a);this.upsert("label",fh,x,y)}_drawKeyShape(a,y){return this.drawKeyShape(a,y)}render(a=this.parsedAttributes,y=this){this._drawKeyShape(a,y),this.getShape("key")&&(this.drawHaloShape(a,y),this.drawIconShape(a,y),this.drawBadgeShapes(a,y),this.drawLabelShape(a,y),this.drawPortShapes(a,y))}update(a){super.update(a),a&&("x"in a||"y"in a||"z"in a)&&IA(this)}onframe(){this.drawBadgeShapes(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this)}}Nd.defaultStyleProps={x:0,y:0,size:32,droppable:!0,draggable:!0,port:!0,ports:[],portZIndex:2,portLinkToCenter:!1,badge:!0,badges:[],badgeZIndex:3,halo:!1,haloDroppable:!1,haloLineDash:0,haloLineWidth:12,haloStrokeOpacity:.25,haloPointerEvents:"none",haloZIndex:-1,icon:!0,iconZIndex:1,label:!0,labelIsBillboard:!0,labelMaxWidth:"200%",labelPlacement:"bottom",labelWordWrap:!1,labelZIndex:0};function Z_(E,a){if(!E)return a.getLocalBounds();const y=E.canvas.getLayer(),x=a.cloneNode();gg(x,"hidden"),y.appendChild(x);const b=x.getLocalBounds();return x.destroy(),b}class yg extends Nd{constructor(a){super(yu({style:yg.defaultStyleProps},a))}drawKeyShape(a,y){return this.upsert("key",Cf,this.getKeyStyle(a),y)}getKeyStyle(a){const y=super.getKeyStyle(a);return Object.assign(Object.assign({},y),{r:Math.min(...this.getSize(a))/2})}getIconStyle(a){const y=super.getIconStyle(a),{r:x}=this.getShape("key").attributes,b=x*2*Tf;return y?Object.assign({width:b,height:b},y):!1}getIntersectPoint(a,y=!1){const x=this.getShape("key").getBounds();return Sp(a,x,y)}}yg.defaultStyleProps={size:32};class Mp extends Nd{constructor(a){super(a)}get parsedAttributes(){return this.attributes}drawKeyShape(a,y){return this.upsert("key",ug,this.getKeyStyle(a),y)}getKeyStyle(a){const y=super.getKeyStyle(a);return Object.assign(Object.assign({},y),{points:this.getPoints(a)})}getIntersectPoint(a,y=!1){var x,b;const{points:z}=this.getShape("key").attributes,te=[+(((x=this.attributes)===null||x===void 0?void 0:x.x)||0),+(((b=this.attributes)===null||b===void 0?void 0:b.y)||0)];return V2(a,te,z,!0,y).point}}class Q_ extends Mp{constructor(a){super(a)}getPoints(a){const[y,x]=this.getSize(a);return k8(y,x)}}var Y_=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};class Dp extends yg{constructor(a){super(yu({style:Dp.defaultStyleProps},a))}parseOuterR(){const{size:a}=this.parsedAttributes;return Math.min(...kc(a))/2}parseInnerR(){const{innerR:a}=this.parsedAttributes;return Is(a)?parseInt(a)/100*this.parseOuterR():a}drawDonutShape(a,y){const{donuts:x}=a;if(!(x!=null&&x.length))return;const b=x.map(me=>Oi(me)?{value:me}:me),z=$l(this.getGraphicStyle(a),"donut"),te=ew(a.donutPalette);if(!te)return;const re=b.reduce((me,Se)=>{var Te;return me+((Te=Se.value)!==null&&Te!==void 0?Te:0)},0),ae=this.parseOuterR(),se=this.parseInnerR();let fe=0;b.forEach((me,Se)=>{const{value:Te=0,color:ke=te[Se%te.length]}=me,We=Y_(me,["value","color"]),je=(re===0?1/b.length:Te/re)*360;this.upsert(`round${Se}`,Nc,Object.assign(Object.assign(Object.assign({},z),{d:q_(ae,se,fe,fe+je),fill:ke}),We),y),fe+=je})}render(a,y=this){super.render(a,y),this.drawDonutShape(a,y)}}Dp.defaultStyleProps={innerR:"50%",donuts:[],donutPalette:"tableau"};const Ip=(E,a,y,x)=>[E+Math.sin(x)*y,a-Math.cos(x)*y],X_=(E,a,y,x)=>x<=0||y<=x?[["M",E-y,a],["A",y,y,0,1,1,E+y,a],["A",y,y,0,1,1,E-y,a],["Z"]]:[["M",E-y,a],["A",y,y,0,1,1,E+y,a],["A",y,y,0,1,1,E-y,a],["Z"],["M",E+x,a],["A",x,x,0,1,0,E-x,a],["A",x,x,0,1,0,E+x,a],["Z"]],J_=(E,a,y,x,b,z)=>{const[te,re]=[b/360*2*Math.PI,z/360*2*Math.PI],ae=[Ip(E,a,x,te),Ip(E,a,y,te),Ip(E,a,y,re),Ip(E,a,x,re)],se=re-te>Math.PI?1:0;return[["M",ae[0][0],ae[0][1]],["L",ae[1][0],ae[1][1]],["A",y,y,0,se,1,ae[2][0],ae[2][1]],["L",ae[3][0],ae[3][1]],["A",x,x,0,se,0,ae[0][0],ae[0][1]],["Z"]]},q_=(E=0,a=0,y,x)=>{const[b,z]=[0,0];return Math.abs(y-x)%360<1e-6?X_(b,z,E,a):J_(b,z,E,a,y,x)};class Lp extends Nd{constructor(a){super(yu({style:Lp.defaultStyleProps},a))}drawKeyShape(a,y){return this.upsert("key",ev,this.getKeyStyle(a),y)}getKeyStyle(a){const y=super.getKeyStyle(a),[x,b]=this.getSize(a);return Object.assign(Object.assign({},y),{rx:x/2,ry:b/2})}getIconStyle(a){const y=super.getIconStyle(a),{rx:x,ry:b}=this.getShape("key").attributes,z=Math.min(+x,+b)*2*Tf;return y?Object.assign({width:z,height:z},y):!1}getIntersectPoint(a,y=!1){const x=this.getShape("key").getBounds();return Sp(a,x,y)}}Lp.defaultStyleProps={size:[45,35]};class $_ extends Mp{constructor(a){super(a)}getOuterR(a){return a.outerR||Math.min(...this.getSize(a))/2}getPoints(a){return W8(this.getOuterR(a))}getIconStyle(a){const y=super.getIconStyle(a),x=this.getOuterR(a)*Tf;return y?Object.assign({width:x,height:x},y):!1}}function eF(E,a){var y=a.cx,x=y===void 0?0:y,b=a.cy,z=b===void 0?0:b,te=a.r;E.arc(x,z,te,0,Math.PI*2,!1)}function tF(E,a){var y=a.cx,x=y===void 0?0:y,b=a.cy,z=b===void 0?0:b,te=a.rx,re=a.ry;if(E.ellipse)E.ellipse(x,z,te,re,0,0,Math.PI*2,!1);else{var ae=te>re?te:re,se=te>re?1:te/re,fe=te>re?re/te:1;E.save(),E.scale(se,fe),E.arc(x,z,ae,0,Math.PI*2)}}function nF(E,a){var y=a.x1,x=a.y1,b=a.x2,z=a.y2,te=a.markerStart,re=a.markerEnd,ae=a.markerStartOffset,se=a.markerEndOffset,fe=0,me=0,Se=0,Te=0,ke=0,We,je;te&&Ls(te)&&ae&&(We=b-y,je=z-x,ke=Math.atan2(je,We),fe=Math.cos(ke)*(ae||0),me=Math.sin(ke)*(ae||0)),re&&Ls(re)&&se&&(We=y-b,je=x-z,ke=Math.atan2(je,We),Se=Math.cos(ke)*(se||0),Te=Math.sin(ke)*(se||0)),E.moveTo(y+fe,x+me),E.lineTo(b+Se,z+Te)}function rF(E,a){var y=a.markerStart,x=a.markerEnd,b=a.markerStartOffset,z=a.markerEndOffset,te=a.d,re=te.absolutePath,ae=te.segments,se=0,fe=0,me=0,Se=0,Te=0,ke,We;if(y&&Ls(y)&&b){var je=y.parentNode.getStartTangent(),Ke=(0,Wn.Z)(je,2),Qe=Ke[0],Je=Ke[1];ke=Qe[0]-Je[0],We=Qe[1]-Je[1],Te=Math.atan2(We,ke),se=Math.cos(Te)*(b||0),fe=Math.sin(Te)*(b||0)}if(x&&Ls(x)&&z){var at=x.parentNode.getEndTangent(),ot=(0,Wn.Z)(at,2),ut=ot[0],ft=ot[1];ke=ut[0]-ft[0],We=ut[1]-ft[1],Te=Math.atan2(We,ke),me=Math.cos(Te)*(z||0),Se=Math.sin(Te)*(z||0)}for(var lt=0;lt<re.length;lt++){var Dt=re[lt],Bt=Dt[0],Vt=re[lt+1],Xt=lt===0&&(se!==0||fe!==0),vn=(lt===re.length-1||Vt&&(Vt[0]==="M"||Vt[0]==="Z"))&&me!==0&&Se!==0,on=Xt?[se,fe]:[0,0],wn=(0,Wn.Z)(on,2),qn=wn[0],yn=wn[1],En=vn?[me,Se]:[0,0],Pn=(0,Wn.Z)(En,2),or=Pn[0],xn=Pn[1];switch(Bt){case"M":E.moveTo(Dt[1]+qn,Dt[2]+yn);break;case"L":E.lineTo(Dt[1]+or,Dt[2]+xn);break;case"Q":E.quadraticCurveTo(Dt[1],Dt[2],Dt[3]+or,Dt[4]+xn);break;case"C":E.bezierCurveTo(Dt[1],Dt[2],Dt[3],Dt[4],Dt[5]+or,Dt[6]+xn);break;case"A":{var yr=ae[lt].arcParams,na=yr.cx,ea=yr.cy,jr=yr.rx,Or=yr.ry,Yr=yr.startAngle,fa=yr.endAngle,Ia=yr.xRotation,oi=yr.sweepFlag;if(E.ellipse)E.ellipse(na,ea,jr,Or,Ia,Yr,fa,!!(1-oi));else{var Eo=jr>Or?jr:Or,to=jr>Or?1:jr/Or,ri=jr>Or?Or/jr:1;E.translate(na,ea),E.rotate(Ia),E.scale(to,ri),E.arc(0,0,Eo,Yr,fa,!!(1-oi)),E.scale(1/to,1/ri),E.rotate(-Ia),E.translate(-na,-ea)}vn&&E.lineTo(Dt[6]+me,Dt[7]+Se);break}case"Z":E.closePath();break}}}function aF(E,a){var y=a.markerStart,x=a.markerEnd,b=a.markerStartOffset,z=a.markerEndOffset,te=a.points.points,re=te.length,ae=te[0][0],se=te[0][1],fe=te[re-1][0],me=te[re-1][1],Se=0,Te=0,ke=0,We=0,je=0,Ke,Qe;y&&Ls(y)&&b&&(Ke=te[1][0]-te[0][0],Qe=te[1][1]-te[0][1],je=Math.atan2(Qe,Ke),Se=Math.cos(je)*(b||0),Te=Math.sin(je)*(b||0)),x&&Ls(x)&&z&&(Ke=te[re-1][0]-te[0][0],Qe=te[re-1][1]-te[0][1],je=Math.atan2(Qe,Ke),ke=Math.cos(je)*(z||0),We=Math.sin(je)*(z||0)),E.moveTo(ae+(Se||ke),se+(Te||We));for(var Je=1;Je<re-1;Je++){var at=te[Je];E.lineTo(at[0],at[1])}E.lineTo(fe,me)}function iF(E,a){var y=a.markerStart,x=a.markerEnd,b=a.markerStartOffset,z=a.markerEndOffset,te=a.points.points,re=te.length,ae=te[0][0],se=te[0][1],fe=te[re-1][0],me=te[re-1][1],Se=0,Te=0,ke=0,We=0,je=0,Ke,Qe;y&&Ls(y)&&b&&(Ke=te[1][0]-te[0][0],Qe=te[1][1]-te[0][1],je=Math.atan2(Qe,Ke),Se=Math.cos(je)*(b||0),Te=Math.sin(je)*(b||0)),x&&Ls(x)&&z&&(Ke=te[re-2][0]-te[re-1][0],Qe=te[re-2][1]-te[re-1][1],je=Math.atan2(Qe,Ke),ke=Math.cos(je)*(z||0),We=Math.sin(je)*(z||0)),E.moveTo(ae+Se,se+Te);for(var Je=1;Je<re-1;Je++){var at=te[Je];E.lineTo(at[0],at[1])}E.lineTo(fe+ke,me+We)}function oF(E,a){var y=a.x,x=y===void 0?0:y,b=a.y,z=b===void 0?0:b,te=a.radius,re=a.width,ae=a.height,se=re,fe=ae,me=te&&te.some(function(ot){return ot!==0});if(!me)E.rect(x,z,se,fe);else{var Se=re>0?1:-1,Te=ae>0?1:-1,ke=Se+Te===0,We=te.map(function(ot){return bl(ot,0,Math.min(Math.abs(se)/2,Math.abs(fe)/2))}),je=(0,Wn.Z)(We,4),Ke=je[0],Qe=je[1],Je=je[2],at=je[3];E.moveTo(Se*Ke+x,z),E.lineTo(se-Se*Qe+x,z),Qe!==0&&E.arc(se-Se*Qe+x,Te*Qe+z,Qe,-Te*Math.PI/2,Se>0?0:Math.PI,ke),E.lineTo(se+x,fe-Te*Je+z),Je!==0&&E.arc(se-Se*Je+x,fe-Te*Je+z,Je,Se>0?0:Math.PI,Te>0?Math.PI/2:1.5*Math.PI,ke),E.lineTo(Se*at+x,fe+z),at!==0&&E.arc(Se*at+x,fe-Te*at+z,at,Te>0?Math.PI/2:-Math.PI/2,Se>0?Math.PI:0,ke),E.lineTo(x,Te*Ke+z),Ke!==0&&E.arc(Se*Ke+x,Te*Ke+z,Ke,Se>0?Math.PI:0,Te>0?Math.PI*1.5:Math.PI/2,ke)}}var sF=function(E){function a(){var y;(0,Ar.Z)(this,a);for(var x=arguments.length,b=new Array(x),z=0;z<x;z++)b[z]=arguments[z];return y=Tr(this,a,[].concat(b)),y.name="canvas-path-generator",y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"init",value:function(){var x,b=(x={},(0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)(x,la.CIRCLE,eF),la.ELLIPSE,tF),la.RECT,oF),la.LINE,nF),la.POLYLINE,iF),la.POLYGON,aF),la.PATH,rF),la.TEXT,void 0),la.GROUP,void 0),la.IMAGE,void 0),(0,_i.Z)((0,_i.Z)((0,_i.Z)(x,la.HTML,void 0),la.MESH,void 0),la.FRAGMENT,void 0));this.context.pathGeneratorFactory=b}},{key:"destroy",value:function(){delete this.context.pathGeneratorFactory}}])}(th);var lF=ni(),uF=ni(),cF=ni(),dF=Pi(),lw=function(){function E(){var a=this;(0,Ar.Z)(this,E),this.isHit=function(y,x,b,z){var te=a.context.pointInPathPickerFactory[y.nodeName];if(te){var re=zu(dF,b),ae=ll(uF,Yo(cF,x[0],x[1],0),re);if(te(y,new wu(ae[0],ae[1]),z,a.isPointInPath,a.context,a.runtime))return!0}return!1},this.isPointInPath=function(y,x){var b=a.runtime.offscreenCanvasCreator.getOrCreateContext(a.context.config.offscreenCanvas),z=a.context.pathGeneratorFactory[y.nodeName];return z&&(b.beginPath(),z(b,y.parsedStyle),b.closePath()),b.isPointInPath(x.x,x.y)}}return(0,$n.Z)(E,[{key:"apply",value:function(y,x){var b,z=this,te=y.renderingService,re=y.renderingContext;this.context=y,this.runtime=x;var ae=(b=re.root)===null||b===void 0?void 0:b.ownerDocument;te.hooks.pick.tapPromise(E.tag,function(){var se=(0,eh.Z)((0,ju.Z)().mark(function fe(me){return(0,ju.Z)().wrap(function(Te){for(;;)switch(Te.prev=Te.next){case 0:return Te.abrupt("return",z.pick(ae,me));case 1:case"end":return Te.stop()}},fe)}));return function(fe){return se.apply(this,arguments)}}()),te.hooks.pickSync.tap(E.tag,function(se){return z.pick(ae,se)})}},{key:"pick",value:function(y,x){var b=x.topmost,z=x.position,te=z.x,re=z.y,ae=Yo(lF,te,re,0),se=y.elementsFromBBox(ae[0],ae[1],ae[0],ae[1]),fe=[],me=qh(se),Se;try{for(me.s();!(Se=me.n()).done;){var Te=Se.value,ke=Te.getWorldTransform(),We=this.isHit(Te,ae,ke,!1);if(We){var je=$C(Te);if(je){var Ke=je.parsedStyle.clipPath,Qe=this.isHit(Ke,ae,Ke.getWorldTransform(),!0);if(Qe){if(b)return x.picked=[Te],x;fe.push(Te)}}else{if(b)return x.picked=[Te],x;fe.push(Te)}}}}catch(Je){me.e(Je)}finally{me.f()}return x.picked=fe,x}}])}();lw.tag="CanvasPicker";function fF(E,a,y){var x=E.parsedStyle,b=x.cx,z=b===void 0?0:b,te=x.cy,re=te===void 0?0:te,ae=x.r,se=x.fill,fe=x.stroke,me=x.lineWidth,Se=me===void 0?1:me,Te=x.increasedLineWidthForHitTesting,ke=Te===void 0?0:Te,We=x.pointerEvents,je=We===void 0?"auto":We,Ke=(Se+ke)/2,Qe=Wu(z,re,a.x,a.y),Je=ig(je,se,fe),at=(0,Wn.Z)(Je,2),ot=at[0],ut=at[1];return ot&&ut||y?Qe<=ae+Ke:ot?Qe<=ae:ut?Qe>=ae-Ke&&Qe<=ae+Ke:!1}function Op(E,a,y,x){return E/(y*y)+a/(x*x)}function hF(E,a,y){var x=E.parsedStyle,b=x.cx,z=b===void 0?0:b,te=x.cy,re=te===void 0?0:te,ae=x.rx,se=x.ry,fe=x.fill,me=x.stroke,Se=x.lineWidth,Te=Se===void 0?1:Se,ke=x.increasedLineWidthForHitTesting,We=ke===void 0?0:ke,je=x.pointerEvents,Ke=je===void 0?"auto":je,Qe=a.x,Je=a.y,at=ig(Ke,fe,me),ot=(0,Wn.Z)(at,2),ut=ot[0],ft=ot[1],lt=(Te+We)/2,Dt=(Qe-z)*(Qe-z),Bt=(Je-re)*(Je-re);return ut&&ft||y?Op(Dt,Bt,ae+lt,se+lt)<=1:ut?Op(Dt,Bt,ae,se)<=1:ft?Op(Dt,Bt,ae-lt,se-lt)>=1&&Op(Dt,Bt,ae+lt,se+lt)<=1:!1}function Eg(E,a,y,x,b,z){return b>=E&&b<=E+y&&z>=a&&z<=a+x}function gF(E,a,y,x,b,z,te){var re=b/2;return Eg(E-re,a-re,y,b,z,te)||Eg(E+y-re,a-re,b,x,z,te)||Eg(E+re,a+x-re,y,b,z,te)||Eg(E-re,a+re,b,x,z,te)}function Tp(E,a,y,x,b,z,te,re){var ae=(Math.atan2(re-a,te-E)+Math.PI*2)%(Math.PI*2),se={x:E+y*Math.cos(ae),y:a+y*Math.sin(ae)};return Wu(se.x,se.y,te,re)<=z/2}function hh(E,a,y,x,b,z,te){var re=Math.min(E,y),ae=Math.max(E,y),se=Math.min(a,x),fe=Math.max(a,x),me=b/2;return z>=re-me&&z<=ae+me&&te>=se-me&&te<=fe+me?Xb(E,a,y,x,z,te)<=b/2:!1}function uw(E,a,y,x,b){var z=E.length;if(z<2)return!1;for(var te=0;te<z-1;te++){var re=E[te][0],ae=E[te][1],se=E[te+1][0],fe=E[te+1][1];if(hh(re,ae,se,fe,a,y,x))return!0}if(b){var me=E[0],Se=E[z-1];if(hh(me[0],me[1],Se[0],Se[1],a,y,x))return!0}return!1}var vF=1e-6;function LA(E){return Math.abs(E)<vF?0:E<0?-1:1}function mF(E,a,y){return(y[0]-E[0])*(a[1]-E[1])===(a[0]-E[0])*(y[1]-E[1])&&Math.min(E[0],a[0])<=y[0]&&y[0]<=Math.max(E[0],a[0])&&Math.min(E[1],a[1])<=y[1]&&y[1]<=Math.max(E[1],a[1])}function cw(E,a,y){var x=!1,b=E.length;if(b<=2)return!1;for(var z=0;z<b;z++){var te=E[z],re=E[(z+1)%b];if(mF(te,re,[a,y]))return!0;LA(te[1]-y)>0!=LA(re[1]-y)>0&&LA(a-(y-te[1])*(te[0]-re[0])/(te[1]-re[1])-te[0])<0&&(x=!x)}return x}function dw(E,a,y){for(var x=!1,b=0;b<E.length;b++){var z=E[b];if(x=cw(z,a,y),x)break}return x}function pF(E,a,y){var x=E.parsedStyle,b=x.x1,z=x.y1,te=x.x2,re=x.y2,ae=x.lineWidth,se=ae===void 0?1:ae,fe=x.increasedLineWidthForHitTesting,me=fe===void 0?0:fe,Se=x.pointerEvents,Te=Se===void 0?"auto":Se,ke=x.fill,We=x.stroke,je=ig(Te,ke,We),Ke=(0,Wn.Z)(je,2),Qe=Ke[1];return!Qe&&!y||!se?!1:hh(b,z,te,re,se+me,a.x,a.y)}function yF(E,a,y,x,b){for(var z=!1,te=a/2,re=0;re<E.length;re++){var ae=E[re],se=ae.currentPoint,fe=ae.params,me=ae.prePoint,Se=ae.box;if(!(Se&&!Eg(Se.x-te,Se.y-te,Se.width+a,Se.height+a,y,x)))switch(ae.command){case"L":case"Z":if(z=hh(me[0],me[1],se[0],se[1],a,y,x),z)return!0;break;case"Q":var Te=DO(me[0],me[1],fe[1],fe[2],fe[3],fe[4],y,x);if(z=Te<=a/2,z)return!0;break;case"C":var ke=eC(me[0],me[1],fe[1],fe[2],fe[3],fe[4],fe[5],fe[6],y,x,b);if(z=ke<=a/2,z)return!0;break;case"A":ae.cubicParams||(ae.cubicParams=nE(me[0],me[1],fe[1],fe[2],fe[3],fe[4],fe[5],fe[6],fe[7],void 0));for(var We=ae.cubicParams,je=me,Ke=0;Ke<We.length;Ke+=6){var Qe=eC(je[0],je[1],We[Ke],We[Ke+1],We[Ke+2],We[Ke+3],We[Ke+4],We[Ke+5],y,x,b);if(je=[We[Ke+4],We[Ke+5]],z=Qe<=a/2,z)return!0}break}}return z}function EF(E,a,y,x,b,z){var te=E.parsedStyle,re=te.lineWidth,ae=re===void 0?1:re,se=te.increasedLineWidthForHitTesting,fe=se===void 0?0:se,me=te.stroke,Se=te.fill,Te=te.d,ke=te.pointerEvents,We=ke===void 0?"auto":ke,je=Te.segments,Ke=Te.hasArc,Qe=Te.polylines,Je=Te.polygons,at=ig(We,(Je==null?void 0:Je.length)&&Se,me),ot=(0,Wn.Z)(at,2),ut=ot[0],ft=ot[1],lt=bE(E),Dt=!1;return ut||y?(Ke?Dt=x(E,a):Dt=dw(Je,a.x,a.y)||dw(Qe,a.x,a.y),Dt):((ft||y)&&(Dt=yF(je,ae+fe,a.x,a.y,lt)),Dt)}function AF(E,a,y){var x=E.parsedStyle,b=x.stroke,z=x.fill,te=x.lineWidth,re=te===void 0?1:te,ae=x.increasedLineWidthForHitTesting,se=ae===void 0?0:ae,fe=x.points,me=x.pointerEvents,Se=me===void 0?"auto":me,Te=ig(Se,z,b),ke=(0,Wn.Z)(Te,2),We=ke[0],je=ke[1],Ke=!1;return(je||y)&&(Ke=uw(fe.points,re+se,a.x,a.y,!0)),!Ke&&(We||y)&&(Ke=cw(fe.points,a.x,a.y)),Ke}function xF(E,a,y){var x=E.parsedStyle,b=x.lineWidth,z=b===void 0?1:b,te=x.increasedLineWidthForHitTesting,re=te===void 0?0:te,ae=x.points,se=x.pointerEvents,fe=se===void 0?"auto":se,me=x.fill,Se=x.stroke,Te=ig(fe,me,Se),ke=(0,Wn.Z)(Te,2),We=ke[1];return!We&&!y||!z?!1:uw(ae.points,z+re,a.x,a.y,!1)}function SF(E,a,y,x,b){var z=E.parsedStyle,te=z.radius,re=z.fill,ae=z.stroke,se=z.lineWidth,fe=se===void 0?1:se,me=z.increasedLineWidthForHitTesting,Se=me===void 0?0:me,Te=z.x,ke=Te===void 0?0:Te,We=z.y,je=We===void 0?0:We,Ke=z.width,Qe=z.height,Je=z.pointerEvents,at=Je===void 0?"auto":Je,ot=ig(at,re,ae),ut=(0,Wn.Z)(ot,2),ft=ut[0],lt=ut[1],Dt=te&&te.some(function(vn){return vn!==0}),Bt=fe+Se;if(Dt){var Xt=!1;return(lt||y)&&(Xt=bF(ke,je,Ke,Qe,te.map(function(vn){return bl(vn,0,Math.min(Math.abs(Ke)/2,Math.abs(Qe)/2))}),Bt,a.x,a.y)),!Xt&&(ft||y)&&(Xt=x(E,a)),Xt}else{var Vt=Bt/2;if(ft&<||y)return Eg(ke-Vt,je-Vt,Ke+Vt,Qe+Vt,a.x,a.y);if(ft)return Eg(ke,je,Ke,Qe,a.x,a.y);if(lt)return gF(ke,je,Ke,Qe,Bt,a.x,a.y)}return!1}function bF(E,a,y,x,b,z,te,re){var ae=(0,Wn.Z)(b,4),se=ae[0],fe=ae[1],me=ae[2],Se=ae[3];return hh(E+se,a,E+y-fe,a,z,te,re)||hh(E+y,a+fe,E+y,a+x-me,z,te,re)||hh(E+y-me,a+x,E+Se,a+x,z,te,re)||hh(E,a+x-Se,E,a+se,z,te,re)||Tp(E+y-fe,a+fe,fe,1.5*Math.PI,2*Math.PI,z,te,re)||Tp(E+y-me,a+x-me,me,0,.5*Math.PI,z,te,re)||Tp(E+Se,a+x-Se,Se,.5*Math.PI,Math.PI,z,te,re)||Tp(E+se,a+se,se,Math.PI,1.5*Math.PI,z,te,re)}function CF(E,a,y,x,b,z){var te=E.parsedStyle,re=te.pointerEvents,ae=re===void 0?"auto":re,se=te.x,fe=se===void 0?0:se,me=te.y,Se=me===void 0?0:me,Te=te.width,ke=te.height;if(ae==="non-transparent-pixel"){var We=b.config.offscreenCanvas,je=z.offscreenCanvasCreator.getOrCreateCanvas(We),Ke=z.offscreenCanvasCreator.getOrCreateContext(We,{willReadFrequently:!0});je.width=Te,je.height=ke,b.defaultStyleRendererFactory[la.IMAGE].render(Ke,(0,Cr.Z)((0,Cr.Z)({},E.parsedStyle),{},{x:0,y:0}),E,void 0,void 0,void 0);var Qe=Ke.getImageData(a.x-fe,a.y-Se,1,1).data;return Qe.every(function(Je){return Je!==0})}return!0}function PF(E,a,y,x){var b=E.getGeometryBounds();return a.x>=b.min[0]&&a.y>=b.min[1]&&a.x<=b.max[0]&&a.y<=b.max[1]}var wF=function(E){function a(){var y;(0,Ar.Z)(this,a);for(var x=arguments.length,b=new Array(x),z=0;z<x;z++)b[z]=arguments[z];return y=Tr(this,a,[].concat(b)),y.name="canvas-picker",y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"init",value:function(){var x,b=(x={},(0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)(x,la.CIRCLE,fF),la.ELLIPSE,hF),la.RECT,SF),la.LINE,pF),la.POLYLINE,xF),la.POLYGON,AF),la.PATH,EF),la.TEXT,PF),la.GROUP,null),la.IMAGE,CF),(0,_i.Z)((0,_i.Z)(x,la.HTML,null),la.MESH,null));this.context.pointInPathPickerFactory=b,this.addRenderingPlugin(new lw)}},{key:"destroy",value:function(){delete this.context.pointInPathPickerFactory,this.removeAllRenderingPlugins()}}])}(th);function uf(E,a){if(!{}.hasOwnProperty.call(E,a))throw new TypeError("attempted to use private field on non-instance");return E}var MF=0;function DF(E){return"__private_"+MF+++"_"+E}var IF=function(){function E(){(0,Ar.Z)(this,E),this.cacheStore=new Map}return(0,$n.Z)(E,[{key:"onRefAdded",value:function(y){}},{key:"has",value:function(y){return this.cacheStore.has(y)}},{key:"put",value:function(y,x,b){return this.cacheStore.has(y)?!1:(this.cacheStore.set(y,{value:x,counter:new Set([b])}),this.onRefAdded(b),!0)}},{key:"get",value:function(y,x){var b=this.cacheStore.get(y);return b?(b.counter.has(x)||(b.counter.add(x),this.onRefAdded(x)),b.value):null}},{key:"update",value:function(y,x,b){var z=this.cacheStore.get(y);return z?(z.value=(0,Cr.Z)((0,Cr.Z)({},z.value),x),z.counter.has(b)||(z.counter.add(b),this.onRefAdded(b)),!0):!1}},{key:"release",value:function(y,x){var b=this.cacheStore.get(y);return b?(b.counter.delete(x),b.counter.size<=0&&this.cacheStore.delete(y),!0):!1}},{key:"releaseRef",value:function(y){var x=this;Array.from(this.cacheStore.keys()).forEach(function(b){x.release(b,y)})}},{key:"getSize",value:function(){return this.cacheStore.size}},{key:"clear",value:function(){this.cacheStore.clear()}}])}(),OA=[],TA=[],BA=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,null,[{key:"stop",value:function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:E.api;E.rafId&&(y.cancelAnimationFrame(E.rafId),E.rafId=null)}},{key:"executeTask",value:function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:E.api;OA.length<=0&&TA.length<=0||(TA.forEach(function(x){return x()}),TA=OA.splice(0,E.TASK_NUM_PER_FRAME),E.rafId=y.requestAnimationFrame(function(){E.executeTask(y)}))}},{key:"sliceImage",value:function(y,x,b,z){for(var te=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,re=arguments.length>5&&arguments[5]!==void 0?arguments[5]:E.api,ae=y.naturalWidth||y.width,se=y.naturalHeight||y.height,fe=x-te,me=b-te,Se=Math.ceil(ae/fe),Te=Math.ceil(se/me),ke={tileSize:[x,b],gridSize:[Te,Se],tiles:Array(Te).fill(null).map(function(){return Array(Se).fill(null)})},We=function(Qe){for(var Je=function(ut){OA.push(function(){var ft=ut*fe,lt=Qe*me,Dt=[Math.min(x,ae-ft),Math.min(b,se-lt)],Bt=Dt[0],Vt=Dt[1],Xt=re.createCanvas();Xt.width=x,Xt.height=b;var vn=Xt.getContext("2d");vn.drawImage(y,ft,lt,Bt,Vt,0,0,Bt,Vt),ke.tiles[Qe][ut]={x:ft,y:lt,tileX:ut,tileY:Qe,data:Xt},z()})},at=0;at<Se;at++)Je(at)},je=0;je<Te;je++)We(je);return E.stop(),E.executeTask(),ke}}])}();BA.TASK_NUM_PER_FRAME=10;var zc=new IF;zc.onRefAdded=function(a){var y=this;a.addEventListener(is.DESTROY,function(){y.releaseRef(a)},{once:!0})};var NA=function(){function E(a,y){(0,Ar.Z)(this,E),this.gradientCache={},this.patternCache={},this.context=a,this.runtime=y}return(0,$n.Z)(E,[{key:"getImageSync",value:function(y,x,b){var z=Is(y)?y:y.src;if(zc.has(z)){var te=zc.get(z,x);if(te.img.complete)return b==null||b(te),te}return this.getOrCreateImage(y,x).then(function(re){b==null||b(re)}).catch(function(){}),null}},{key:"getOrCreateImage",value:function(y,x){var b=this,z=Is(y)?y:y.src;if(!Is(y)&&!zc.has(z)){var te={img:y,size:[y.naturalWidth||y.width,y.naturalHeight||y.height],tileSize:Bp(y)};zc.put(z,te,x)}if(zc.has(z)){var re=zc.get(z,x);return re.img.complete?Promise.resolve(re):new Promise(function(ae,se){re.img.addEventListener("load",function(){re.size=[re.img.naturalWidth||re.img.width,re.img.naturalHeight||re.img.height],re.tileSize=Bp(re.img),ae(re)}),re.img.addEventListener("error",function(fe){se(fe)})})}return new Promise(function(ae,se){var fe=b.context.config.createImage();if(fe){var me={img:fe,size:[0,0],tileSize:Bp(fe)};zc.put(z,me,x),fe.onload=function(){me.size=[fe.naturalWidth||fe.width,fe.naturalHeight||fe.height],me.tileSize=Bp(me.img),ae(me)},fe.onerror=function(Se){se(Se)},fe.crossOrigin="Anonymous",fe.src=z}})}},{key:"createDownSampledImage",value:function(){var a=(0,eh.Z)((0,ju.Z)().mark(function x(b,z){var te,re,ae,se,fe,me,Se,Te,ke,We,je,Ke,Qe,Je;return(0,ju.Z)().wrap(function(ot){for(;;)switch(ot.prev=ot.next){case 0:return ot.next=2,this.getOrCreateImage(b,z);case 2:if(te=ot.sent,typeof te.downSamplingRate=="undefined"){ot.next=5;break}return ot.abrupt("return",te);case 5:if(re=this.context.config.enableLargeImageOptimization,ae=typeof re=="boolean"?{}:re,se=ae.maxDownSampledImageSize,fe=se===void 0?2048:se,me=ae.downSamplingRateThreshold,Se=me===void 0?.5:me,Te=this.runtime.globalThis.createImageBitmap,ke=(0,Wn.Z)(te.size,2),We=ke[0],je=ke[1],Ke=te.img,Qe=Math.min((fe+fe)/(We+je),Math.max(.01,Math.min(Se,.5))),Je=(0,Cr.Z)((0,Cr.Z)({},te),{},{downSamplingRate:Qe}),zc.update(te.img.src,Je,z),!Te){ot.next=25;break}return ot.prev=14,ot.next=17,Te(te.img,{resizeWidth:We*Qe,resizeHeight:je*Qe});case 17:Ke=ot.sent,ot.next=23;break;case 20:ot.prev=20,ot.t0=ot.catch(14),Qe=1;case 23:ot.next=26;break;case 25:Qe=1;case 26:return Je=(0,Cr.Z)((0,Cr.Z)({},this.getImageSync(b,z)),{},{downSampled:Ke,downSamplingRate:Qe}),zc.update(te.img.src,Je,z),ot.abrupt("return",Je);case 29:case"end":return ot.stop()}},x,this,[[14,20]])}));function y(x,b){return a.apply(this,arguments)}return y}()},{key:"createImageTiles",value:function(){var a=(0,eh.Z)((0,ju.Z)().mark(function x(b,z,te,re){var ae,se,fe,me,Se;return(0,ju.Z)().wrap(function(ke){for(;;)switch(ke.prev=ke.next){case 0:return ke.next=2,this.getOrCreateImage(b,re);case 2:return ae=ke.sent,se=re.ownerDocument.defaultView,fe=se.requestAnimationFrame,me=se.cancelAnimationFrame,BA.api={requestAnimationFrame:fe,cancelAnimationFrame:me,createCanvas:function(){return FE.createCanvas()}},Se=(0,Cr.Z)((0,Cr.Z)({},ae),BA.sliceImage(ae.img,ae.tileSize[0],ae.tileSize[0],te)),zc.update(ae.img.src,Se,re),ke.abrupt("return",Se);case 8:case"end":return ke.stop()}},x,this)}));function y(x,b,z,te){return a.apply(this,arguments)}return y}()},{key:"releaseImage",value:function(y,x){zc.release(Is(y)?y:y.src,x)}},{key:"releaseImageRef",value:function(y){zc.releaseRef(y)}},{key:"getOrCreatePatternSync",value:function(y,x,b,z,te,re,ae){var se=this.generatePatternKey(x);if(se&&this.patternCache[se])return this.patternCache[se];var fe=x.image,me=x.repetition,Se=x.transform,Te,ke=!1;if(Is(fe)){var We=this.getImageSync(fe,y,ae);Te=We==null?void 0:We.img}else z?(Te=z,ke=!0):Te=fe;var je=Te&&b.createPattern(Te,me);if(je){var Ke;Se?Ke=sP(KC(Se),new ul({})):Ke=Pu(Pi()),ke&&NS(Ke,Ke,[1/te,1/te,1]),je.setTransform({a:Ke[0],b:Ke[1],c:Ke[4],d:Ke[5],e:Ke[12]+re[0],f:Ke[13]+re[1]})}return se&&je&&(this.patternCache[se]=je),je}},{key:"getOrCreateGradient",value:function(y,x){var b=this.generateGradientKey(y),z=y.type,te=y.steps,re=y.min,ae=y.width,se=y.height,fe=y.angle,me=y.cx,Se=y.cy,Te=y.size;if(this.gradientCache[b])return this.gradientCache[b];var ke=null;if(z===nh.LinearGradient){var We=CT(re,ae,se,fe),je=We.x1,Ke=We.y1,Qe=We.x2,Je=We.y2;ke=x.createLinearGradient(je,Ke,Qe,Je)}else if(z===nh.RadialGradient){var at=PT(re,ae,se,me,Se,Te),ot=at.x,ut=at.y,ft=at.r;ke=x.createRadialGradient(ot,ut,0,ot,ut,ft)}return ke&&(te.forEach(function(lt){var Dt=lt.offset,Bt=lt.color;if(Dt.unit===yi.kPercentage){var Vt;(Vt=ke)===null||Vt===void 0||Vt.addColorStop(Dt.value/100,Bt.toString())}}),this.gradientCache[b]=ke),this.gradientCache[b]}},{key:"generateGradientKey",value:function(y){var x=y.type,b=y.min,z=y.width,te=y.height,re=y.steps,ae=y.angle,se=y.cx,fe=y.cy,me=y.size;return"gradient-".concat(x,"-").concat((ae==null?void 0:ae.toString())||0,"-").concat((se==null?void 0:se.toString())||0,"-").concat((fe==null?void 0:fe.toString())||0,"-").concat((me==null?void 0:me.toString())||0,"-").concat(b[0],"-").concat(b[1],"-").concat(z,"-").concat(te,"-").concat(re.map(function(Se){var Te=Se.offset,ke=Se.color;return"".concat(Te).concat(ke)}).join("-"))}},{key:"generatePatternKey",value:function(y){var x=y.image,b=y.repetition;if(Is(x))return"pattern-".concat(x,"-").concat(b);if(x.nodeName==="rect")return"pattern-".concat(x.entity,"-").concat(b)}}])}();NA.isSupportTile=!!FE.createCanvas();function Bp(E){if(!E.complete)return[0,0];var a=E.naturalWidth||E.width,y=E.naturalHeight||E.height,x=256;return[256,512].forEach(function(b){var z=Math.ceil(y/b),te=Math.ceil(a/b);z*te<1e3&&(x=b)}),[x,x]}var fw=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"apply",value:function(y){var x=y.renderingService,b=y.renderingContext,z=y.imagePool,te=b.root.ownerDocument.defaultView,re=function(me,Se,Te){var ke=me.parsedStyle,We=ke.width,je=ke.height;We&&!je?me.setAttribute("height",Te/Se*We):!We&&je&&me.setAttribute("width",Se/Te*je)},ae=function(me){var Se=me.target,Te=Se.nodeName,ke=Se.attributes;if(Te===la.IMAGE){var We=ke.src,je=ke.keepAspectRatio;z.getImageSync(We,Se,function(Ke){var Qe=Ke.img,Je=Qe.width,at=Qe.height;je&&re(Se,Je,at),Se.renderable.dirty=!0,x.dirtify()})}},se=function(me){var Se=me.target,Te=me.attrName,ke=me.prevValue,We=me.newValue;Se.nodeName!==la.IMAGE||Te!=="src"||(ke!==We&&z.releaseImage(ke,Se),Is(We)&&z.getOrCreateImage(We,Se).then(function(je){var Ke=je.img,Qe=Ke.width,Je=Ke.height;Se.attributes.keepAspectRatio&&re(Se,Qe,Je),Se.renderable.dirty=!0,x.dirtify()}).catch(function(){}))};x.hooks.init.tap(E.tag,function(){te.addEventListener(is.MOUNTED,ae),te.addEventListener(is.ATTR_MODIFIED,se)}),x.hooks.destroy.tap(E.tag,function(){te.removeEventListener(is.MOUNTED,ae),te.removeEventListener(is.ATTR_MODIFIED,se)})}}])}();fw.tag="LoadImage";var LF=function(E){function a(){var y;(0,Ar.Z)(this,a);for(var x=arguments.length,b=new Array(x),z=0;z<x;z++)b[z]=arguments[z];return y=Tr(this,a,[].concat(b)),y.name="image-loader",y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"init",value:function(x){this.context.imagePool=new NA(this.context,x),this.addRenderingPlugin(new fw)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(th);var Hl=DF("renderState"),hw=function(){function E(a){(0,Ar.Z)(this,E),this.removedRBushNodeAABBs=[],this.renderQueue=[],Object.defineProperty(this,Hl,{writable:!0,value:{restoreStack:[],prevObject:null,currentContext:new Map}}),this.clearFullScreenLastFrame=!1,this.clearFullScreen=!1,this.vpMatrix=Pi(),this.dprMatrix=Pi(),this.tmpMat4=Pi(),this.vec3a=ni(),this.vec3b=ni(),this.vec3c=ni(),this.vec3d=ni(),this.canvasRendererPluginOptions=a}return(0,$n.Z)(E,[{key:"apply",value:function(y,x){var b=this;this.context=y;var z=this.context,te=z.config,re=z.camera,ae=z.renderingService,se=z.renderingContext,fe=z.rBushRoot,me=z.pathGeneratorFactory,Se=te.renderer.getConfig().enableRenderingOptimization;te.renderer.getConfig().enableDirtyCheck=!1,te.renderer.getConfig().enableDirtyRectangleRendering=!1,this.rBush=fe,this.pathGeneratorFactory=me;var Te=y.contextService,ke=se.root.ownerDocument.defaultView,We=function(Je){var at=Je.target,ot=at.rBushNode;ot.aabb&&b.removedRBushNodeAABBs.push(ot.aabb)},je=function(Je){var at=Je.target,ot=at.rBushNode;ot.aabb&&b.removedRBushNodeAABBs.push(ot.aabb)};ae.hooks.init.tap(E.tag,function(){ke.addEventListener(is.UNMOUNTED,We),ke.addEventListener(is.CULLED,je);var Qe=Te.getDPR(),Je=te.width,at=te.height,ot=Te.getContext();b.clearRect(ot,0,0,Je*Qe,at*Qe,te.background)}),ae.hooks.destroy.tap(E.tag,function(){ke.removeEventListener(is.UNMOUNTED,We),ke.removeEventListener(is.CULLED,je),b.renderQueue=[],b.removedRBushNodeAABBs=[],uf(b,Hl)[Hl]={restoreStack:[],prevObject:null,currentContext:null}}),ae.hooks.beginFrame.tap(E.tag,function(){var Qe,Je=Te.getContext(),at=Te.getDPR(),ot=te.width,ut=te.height,ft=b.canvasRendererPluginOptions,lt=ft.dirtyObjectNumThreshold,Dt=ft.dirtyObjectRatioThreshold,Bt=ae.getStats(),Vt=Bt.total,Xt=Bt.rendered,vn=Xt/Vt;b.clearFullScreen=b.clearFullScreenLastFrame||!((Qe=ke.context.renderingPlugins[1])!==null&&Qe!==void 0&&Qe.isFirstTimeRenderingFinished)||ae.disableDirtyRectangleRendering()||Xt>lt&&vn>Dt,Je&&(typeof Je.resetTransform=="function"?Je.resetTransform():Je.setTransform(1,0,0,1,0,0),b.clearFullScreen&&b.clearRect(Je,0,0,ot*at,ut*at,te.background))});var Ke=function(Je,at){for(var ot=[Je];ot.length>0;){var ut=ot.pop();ut.isVisible()&&!ut.isCulled()&&(Se?b.renderDisplayObjectOptimized(ut,at,b.context,uf(b,Hl)[Hl],x):b.renderDisplayObject(ut,at,b.context,uf(b,Hl)[Hl],x));for(var ft=ut.sortable.sorted||ut.childNodes,lt=ft.length-1;lt>=0;lt--)ot.push(ft[lt])}};ae.hooks.endFrame.tap(E.tag,function(){if(se.root.childNodes.length===0){b.clearFullScreenLastFrame=!0;return}Se=te.renderer.getConfig().enableRenderingOptimization,uf(b,Hl)[Hl]={restoreStack:[],prevObject:null,currentContext:uf(b,Hl)[Hl].currentContext},uf(b,Hl)[Hl].currentContext.clear(),b.clearFullScreenLastFrame=!1;var Qe=Te.getContext(),Je=Te.getDPR();if(Xh(b.dprMatrix,[Je,Je,1]),Uu(b.vpMatrix,b.dprMatrix,re.getOrthoMatrix()),b.clearFullScreen)Se?(Qe.save(),Ke(se.root,Qe),Qe.restore()):Ke(se.root,Qe),b.removedRBushNodeAABBs=[];else{var at=b.safeMergeAABB.apply(b,[b.mergeDirtyAABBs(b.renderQueue)].concat((0,va.Z)(b.removedRBushNodeAABBs.map(function(jr){var Or=jr.minX,Yr=jr.minY,fa=jr.maxX,Ia=jr.maxY,oi=new il;return oi.setMinMax([Or,Yr,0],[fa,Ia,0]),oi}))));if(b.removedRBushNodeAABBs=[],il.isEmpty(at)){b.renderQueue=[];return}var ot=b.convertAABB2Rect(at),ut=ot.x,ft=ot.y,lt=ot.width,Dt=ot.height,Bt=ll(b.vec3a,[ut,ft,0],b.vpMatrix),Vt=ll(b.vec3b,[ut+lt,ft,0],b.vpMatrix),Xt=ll(b.vec3c,[ut,ft+Dt,0],b.vpMatrix),vn=ll(b.vec3d,[ut+lt,ft+Dt,0],b.vpMatrix),on=Math.min(Bt[0],Vt[0],vn[0],Xt[0]),wn=Math.min(Bt[1],Vt[1],vn[1],Xt[1]),qn=Math.max(Bt[0],Vt[0],vn[0],Xt[0]),yn=Math.max(Bt[1],Vt[1],vn[1],Xt[1]),En=Math.floor(on),Pn=Math.floor(wn),or=Math.ceil(qn-on),xn=Math.ceil(yn-wn);Qe.save(),b.clearRect(Qe,En,Pn,or,xn,te.background),Qe.beginPath(),Qe.rect(En,Pn,or,xn),Qe.clip(),Qe.setTransform(b.vpMatrix[0],b.vpMatrix[1],b.vpMatrix[4],b.vpMatrix[5],b.vpMatrix[12],b.vpMatrix[13]);var yr=te.renderer.getConfig(),na=yr.enableDirtyRectangleRenderingDebug;na&&ke.dispatchEvent(new ql(Rc.DIRTY_RECTANGLE,{dirtyRect:{x:En,y:Pn,width:or,height:xn}}));var ea=b.searchDirtyObjects(at);ea.sort(function(jr,Or){return jr.sortable.renderOrder-Or.sortable.renderOrder}).forEach(function(jr){jr&&jr.isVisible()&&!jr.isCulled()&&b.renderDisplayObject(jr,Qe,b.context,uf(b,Hl)[Hl],x)}),Qe.restore(),b.renderQueue.forEach(function(jr){b.saveDirtyAABB(jr)}),b.renderQueue=[]}uf(b,Hl)[Hl].restoreStack.forEach(function(){Qe.restore()}),uf(b,Hl)[Hl].restoreStack=[]}),ae.hooks.render.tap(E.tag,function(Qe){b.clearFullScreen||b.renderQueue.push(Qe)})}},{key:"clearRect",value:function(y,x,b,z,te,re){y.clearRect(x,b,z,te),re&&(y.fillStyle=re,y.fillRect(x,b,z,te))}},{key:"renderDisplayObjectOptimized",value:function(y,x,b,z,te){var re=y.nodeName,ae=!1,se=!1,fe=this.context.styleRendererFactory[re],me=this.pathGeneratorFactory[re],Se=y.parsedStyle.clipPath;if(Se){ae=!z.prevObject||!J1(Se.getWorldTransform(),z.prevObject.getWorldTransform()),ae&&(this.applyWorldTransform(x,Se),z.prevObject=null);var Te=this.pathGeneratorFactory[Se.nodeName];Te&&(x.save(),se=!0,x.beginPath(),Te(x,Se.parsedStyle),x.closePath(),x.clip())}if(fe){ae=!z.prevObject||!J1(y.getWorldTransform(),z.prevObject.getWorldTransform()),ae&&this.applyWorldTransform(x,y);var ke=!z.prevObject;if(!ke){var We=z.prevObject.nodeName;re===la.TEXT?ke=We!==la.TEXT:re===la.IMAGE?ke=We!==la.IMAGE:ke=We===la.TEXT||We===la.IMAGE}fe.applyStyleToContext(x,y,ke,z),z.prevObject=y}me&&(x.beginPath(),me(x,y.parsedStyle),re!==la.LINE&&re!==la.PATH&&re!==la.POLYLINE&&x.closePath()),fe&&fe.drawToContext(x,y,uf(this,Hl)[Hl],this,te),se&&x.restore(),y.renderable.dirty=!1}},{key:"renderDisplayObject",value:function(y,x,b,z,te){var re=y.nodeName,ae=z.restoreStack[z.restoreStack.length-1];ae&&!(y.compareDocumentPosition(ae)&yl.DOCUMENT_POSITION_CONTAINS)&&(x.restore(),z.restoreStack.pop());var se=this.context.styleRendererFactory[re],fe=this.pathGeneratorFactory[re],me=y.parsedStyle.clipPath;if(me){this.applyWorldTransform(x,me);var Se=this.pathGeneratorFactory[me.nodeName];Se&&(x.save(),z.restoreStack.push(y),x.beginPath(),Se(x,me.parsedStyle),x.closePath(),x.clip())}se&&(this.applyWorldTransform(x,y),x.save(),this.applyAttributesToContext(x,y)),fe&&(x.beginPath(),fe(x,y.parsedStyle),re!==la.LINE&&re!==la.PATH&&re!==la.POLYLINE&&x.closePath()),se&&(se.render(x,y.parsedStyle,y,b,this,te),x.restore()),y.renderable.dirty=!1}},{key:"applyAttributesToContext",value:function(y,x){var b=x.parsedStyle,z=b.stroke,te=b.fill,re=b.opacity,ae=b.lineDash,se=b.lineDashOffset;ae&&y.setLineDash(ae),fo(se)||(y.lineDashOffset=se),fo(re)||(y.globalAlpha*=re),!fo(z)&&!Array.isArray(z)&&!z.isNone&&(y.strokeStyle=x.attributes.stroke),!fo(te)&&!Array.isArray(te)&&!te.isNone&&(y.fillStyle=x.attributes.fill)}},{key:"convertAABB2Rect",value:function(y){var x=y.getMin(),b=y.getMax(),z=Math.floor(x[0]),te=Math.floor(x[1]),re=Math.ceil(b[0]),ae=Math.ceil(b[1]),se=re-z,fe=ae-te;return{x:z,y:te,width:se,height:fe}}},{key:"mergeDirtyAABBs",value:function(y){var x=new il;return y.forEach(function(b){var z=b.getRenderBounds();x.add(z);var te=b.renderable.dirtyRenderBounds;te&&x.add(te)}),x}},{key:"searchDirtyObjects",value:function(y){var x=y.getMin(),b=(0,Wn.Z)(x,2),z=b[0],te=b[1],re=y.getMax(),ae=(0,Wn.Z)(re,2),se=ae[0],fe=ae[1],me=this.rBush.search({minX:z,minY:te,maxX:se,maxY:fe});return me.map(function(Se){var Te=Se.displayObject;return Te})}},{key:"saveDirtyAABB",value:function(y){var x=y.renderable;x.dirtyRenderBounds||(x.dirtyRenderBounds=new il);var b=y.getRenderBounds();b&&x.dirtyRenderBounds.update(b.center,b.halfExtents)}},{key:"applyWorldTransform",value:function(y,x,b){b?(Fs(this.tmpMat4,x.getLocalTransform()),Uu(this.tmpMat4,b,this.tmpMat4),Uu(this.tmpMat4,this.vpMatrix,this.tmpMat4)):(Fs(this.tmpMat4,x.getWorldTransform()),Uu(this.tmpMat4,this.vpMatrix,this.tmpMat4)),y.setTransform(this.tmpMat4[0],this.tmpMat4[1],this.tmpMat4[4],this.tmpMat4[5],this.tmpMat4[12],this.tmpMat4[13])}},{key:"safeMergeAABB",value:function(){for(var y=new il,x=arguments.length,b=new Array(x),z=0;z<x;z++)b[z]=arguments[z];return b.forEach(function(te){y.add(te)}),y}}])}();hw.tag="CanvasRenderer";function Np(E,a,y,x,b,z,te){var re,ae;if(E.image.nodeName==="rect"){var se=E.image.parsedStyle,fe=se.width,me=se.height;ae=x.contextService.getDPR();var Se=x.config.offscreenCanvas;re=z.offscreenCanvasCreator.getOrCreateCanvas(Se),re.width=fe*ae,re.height=me*ae;var Te=z.offscreenCanvasCreator.getOrCreateContext(Se),ke={restoreStack:[],prevObject:null,currentContext:new Map};E.image.forEach(function(je){b.renderDisplayObject(je,Te,x,ke,z)}),ke.restoreStack.forEach(function(){Te.restore()})}var We=te.getOrCreatePatternSync(a,E,y,re,ae,a.getGeometryBounds().min,function(){a.renderable.dirty=!0,x.renderingService.dirtify()});return We}function Rp(E,a,y,x){var b;if(E.type===nh.LinearGradient||E.type===nh.RadialGradient){var z=a.getGeometryBounds(),te=z&&z.halfExtents[0]*2||1,re=z&&z.halfExtents[1]*2||1,ae=z&&z.min||[0,0];b=x.getOrCreateGradient((0,Cr.Z)((0,Cr.Z)({type:E.type},E.value),{},{min:ae,width:te,height:re}),y)}return b}var _p=["shadowBlur","shadowOffsetX","shadowOffsetY"],gw=["lineCap","lineJoin","miterLimit"],eu={globalAlpha:1,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",filter:"none",globalCompositeOperation:"source-over",strokeStyle:"#000",strokeOpacity:1,lineWidth:1,lineDash:[],lineDashOffset:0,lineCap:"butt",lineJoin:"miter",miterLimit:10,fillStyle:"#000",fillOpacity:1},vw={};function Pl(E,a,y,x){var b=x.has(a)?x.get(a):eu[a];return b!==y&&(a==="lineDash"?E.setLineDash(y):E[a]=y,x.set(a,y)),b}var OF=function(){function E(a){(0,Ar.Z)(this,E),this.imagePool=a}return(0,$n.Z)(E,[{key:"applyAttributesToContext",value:function(y,x){}},{key:"render",value:function(y,x,b,z,te,re){}},{key:"applyCommonStyleToContext",value:function(y,x,b,z){var te=b?vw:z.prevObject.parsedStyle,re=x.parsedStyle;(b||re.opacity!==te.opacity)&&Pl(y,"globalAlpha",fo(re.opacity)?eu.globalAlpha:re.opacity,z.currentContext),(b||re.blend!==te.blend)&&Pl(y,"globalCompositeOperation",fo(re.blend)?eu.globalCompositeOperation:re.blend,z.currentContext)}},{key:"applyStrokeFillStyleToContext",value:function(y,x,b,z){var te=b?vw:z.prevObject.parsedStyle,re=x.parsedStyle,ae=re.lineWidth,se=ae===void 0?eu.lineWidth:ae,fe=re.fill&&!re.fill.isNone,me=re.stroke&&!re.stroke.isNone&&se>0;if(me){if(b||x.attributes.stroke!==z.prevObject.attributes.stroke){var Se=!fo(re.stroke)&&!Array.isArray(re.stroke)&&!re.stroke.isNone?x.attributes.stroke:eu.strokeStyle;Pl(y,"strokeStyle",Se,z.currentContext)}(b||re.lineWidth!==te.lineWidth)&&Pl(y,"lineWidth",fo(re.lineWidth)?eu.lineWidth:re.lineWidth,z.currentContext),(b||re.lineDash!==te.lineDash)&&Pl(y,"lineDash",re.lineDash||eu.lineDash,z.currentContext),(b||re.lineDashOffset!==te.lineDashOffset)&&Pl(y,"lineDashOffset",fo(re.lineDashOffset)?eu.lineDashOffset:re.lineDashOffset,z.currentContext);for(var Te=0;Te<gw.length;Te++){var ke=gw[Te];(b||re[ke]!==te[ke])&&Pl(y,ke,fo(re[ke])?eu[ke]:re[ke],z.currentContext)}}if(fe&&(b||x.attributes.fill!==z.prevObject.attributes.fill)){var We=!fo(re.fill)&&!Array.isArray(re.fill)&&!re.fill.isNone?x.attributes.fill:eu.fillStyle;Pl(y,"fillStyle",We,z.currentContext)}}},{key:"applyStyleToContext",value:function(y,x,b,z){var te=x.nodeName;this.applyCommonStyleToContext(y,x,b,z),te===la.IMAGE||this.applyStrokeFillStyleToContext(y,x,b,z)}},{key:"applyShadowAndFilterStyleToContext",value:function(y,x,b,z){var te=x.parsedStyle;if(b){Pl(y,"shadowColor",te.shadowColor.toString(),z.currentContext);for(var re=0;re<_p.length;re++){var ae=_p[re];Pl(y,ae,te[ae]||eu[ae],z.currentContext)}}te.filter&&te.filter.length&&Pl(y,"filter",x.attributes.filter,z.currentContext)}},{key:"clearShadowAndFilterStyleForContext",value:function(y,x,b,z){var te=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(x){Pl(y,"shadowColor",eu.shadowColor,z.currentContext);for(var re=0;re<_p.length;re++){var ae=_p[re];Pl(y,ae,eu[ae],z.currentContext)}}if(b)if(x&&te){var se=y.filter;!fo(se)&&se.indexOf("drop-shadow")>-1&&Pl(y,"filter",se.replace(/drop-shadow\([^)]*\)/,"").trim()||eu.filter,z.currentContext)}else Pl(y,"filter",eu.filter,z.currentContext)}},{key:"fillToContext",value:function(y,x,b,z,te){var re=this,ae=x.parsedStyle,se=ae.fill,fe=ae.fillRule,me=null;if(Array.isArray(se)&&se.length>0)se.forEach(function(Te){var ke=Pl(y,"fillStyle",Rp(Te,x,y,re.imagePool),b.currentContext);me=me!=null?me:ke,fe?y.fill(fe):y.fill()});else{if(rg(se)){var Se=Np(se,x,y,x.ownerDocument.defaultView.context,z,te,this.imagePool);Se&&(y.fillStyle=Se,me=!0)}fe?y.fill(fe):y.fill()}me!==null&&Pl(y,"fillStyle",me,b.currentContext)}},{key:"strokeToContext",value:function(y,x,b,z,te){var re=this,ae=x.parsedStyle.stroke,se=null;if(Array.isArray(ae)&&ae.length>0)ae.forEach(function(Se){var Te=Pl(y,"strokeStyle",Rp(Se,x,y,re.imagePool),b.currentContext);se=se!=null?se:Te,y.stroke()});else{if(rg(ae)){var fe=Np(ae,x,y,x.ownerDocument.defaultView.context,z,te,this.imagePool);if(fe){var me=Pl(y,"strokeStyle",fe,b.currentContext);se=se!=null?se:me}}y.stroke()}se!==null&&Pl(y,"strokeStyle",se,b.currentContext)}},{key:"drawToContext",value:function(y,x,b,z,te){var re,ae=x.nodeName,se=x.parsedStyle,fe=se.opacity,me=fe===void 0?eu.globalAlpha:fe,Se=se.fillOpacity,Te=Se===void 0?eu.fillOpacity:Se,ke=se.strokeOpacity,We=ke===void 0?eu.strokeOpacity:ke,je=se.lineWidth,Ke=je===void 0?eu.lineWidth:je,Qe=se.fill&&!se.fill.isNone,Je=se.stroke&&!se.stroke.isNone&&Ke>0;if(!(!Qe&&!Je)){var at=!fo(se.shadowColor)&&se.shadowBlur>0,ot=se.shadowType==="inner",ut=((re=se.fill)===null||re===void 0?void 0:re.alpha)===0,ft=!!(se.filter&&se.filter.length),lt=at&&Je&&(ae===la.PATH||ae===la.LINE||ae===la.POLYLINE||ut||ot),Dt=null;if(Qe){lt||this.applyShadowAndFilterStyleToContext(y,x,at,b);var Bt=me*Te;Dt=Pl(y,"globalAlpha",Bt,b.currentContext),this.fillToContext(y,x,b,z,te),lt||this.clearShadowAndFilterStyleForContext(y,at,ft,b)}if(Je){var Vt=!1,Xt=me*We,vn=Pl(y,"globalAlpha",Xt,b.currentContext);if(Dt=Qe?Dt:vn,lt&&(this.applyShadowAndFilterStyleToContext(y,x,at,b),Vt=!0,ot)){var on=y.globalCompositeOperation;y.globalCompositeOperation="source-atop",this.strokeToContext(y,x,b,z,te),y.globalCompositeOperation=on,this.clearShadowAndFilterStyleForContext(y,at,ft,b,!0)}this.strokeToContext(y,x,b,z,te),Vt&&this.clearShadowAndFilterStyleForContext(y,at,ft,b)}Dt!==null&&Pl(y,"globalAlpha",Dt,b.currentContext)}}}])}(),RA=function(E){function a(){return(0,Ar.Z)(this,a),Tr(this,a,arguments)}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"render",value:function(x,b,z,te,re,ae){var se=b.fill,fe=b.fillRule,me=b.opacity,Se=me===void 0?1:me,Te=b.fillOpacity,ke=Te===void 0?1:Te,We=b.stroke,je=b.strokeOpacity,Ke=je===void 0?1:je,Qe=b.lineWidth,Je=Qe===void 0?1:Qe,at=b.lineCap,ot=b.lineJoin,ut=b.shadowType,ft=b.shadowColor,lt=b.shadowBlur,Dt=b.filter,Bt=b.miterLimit,Vt=se&&!se.isNone,Xt=We&&!We.isNone&&Je>0,vn=(se==null?void 0:se.alpha)===0,on=!!(Dt&&Dt.length),wn=!fo(ft)&<>0,qn=z.nodeName,yn=ut==="inner",En=Xt&&wn&&(qn===la.PATH||qn===la.LINE||qn===la.POLYLINE||vn||yn);Vt&&(x.globalAlpha=Se*ke,En||Fp(z,x,wn),mw(x,z,se,fe,te,re,ae,this.imagePool),En||this.clearShadowAndFilter(x,on,wn)),Xt&&(x.globalAlpha=Se*Ke,x.lineWidth=Je,fo(Bt)||(x.miterLimit=Bt),fo(at)||(x.lineCap=at),fo(ot)||(x.lineJoin=ot),En&&(yn&&(x.globalCompositeOperation="source-atop"),Fp(z,x,!0),yn&&(_A(x,z,We,te,re,ae,this.imagePool),x.globalCompositeOperation=eu.globalCompositeOperation,this.clearShadowAndFilter(x,on,!0))),_A(x,z,We,te,re,ae,this.imagePool))}},{key:"clearShadowAndFilter",value:function(x,b,z){if(z&&(x.shadowColor="transparent",x.shadowBlur=0),b){var te=x.filter;!fo(te)&&te.indexOf("drop-shadow")>-1&&(x.filter=te.replace(/drop-shadow\([^)]*\)/,"").trim()||"none")}}}])}(OF);function Fp(E,a,y){var x=E.parsedStyle,b=x.filter,z=x.shadowColor,te=x.shadowBlur,re=x.shadowOffsetX,ae=x.shadowOffsetY;b&&b.length&&(a.filter=E.style.filter),y&&(a.shadowColor=z.toString(),a.shadowBlur=te||0,a.shadowOffsetX=re||0,a.shadowOffsetY=ae||0)}function mw(E,a,y,x,b,z,te,re){var ae=arguments.length>8&&arguments[8]!==void 0?arguments[8]:!1;Array.isArray(y)?y.forEach(function(se){E.fillStyle=Rp(se,a,E,re),ae||(x?E.fill(x):E.fill())}):(rg(y)&&(E.fillStyle=Np(y,a,E,b,z,te,re)),ae||(x?E.fill(x):E.fill()))}function _A(E,a,y,x,b,z,te){var re=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1;Array.isArray(y)?y.forEach(function(ae){E.strokeStyle=Rp(ae,a,E,te),re||E.stroke()}):(rg(y)&&(E.strokeStyle=Np(y,a,E,x,b,z,te)),re||E.stroke())}function TF(E,a){var y=(0,Wn.Z)(E,4),x=y[0],b=y[1],z=y[2],te=y[3],re=(0,Wn.Z)(a,4),ae=re[0],se=re[1],fe=re[2],me=re[3],Se=Math.max(x,ae),Te=Math.max(b,se),ke=Math.min(x+z,ae+fe),We=Math.min(b+te,se+me);return ke<=Se||We<=Te?null:[Se,Te,ke-Se,We-Te]}function BF(E,a){var y=ll(ni(),[E[0],E[1],0],a),x=ll(ni(),[E[0]+E[2],E[1],0],a),b=ll(ni(),[E[0],E[1]+E[3],0],a),z=ll(ni(),[E[0]+E[2],E[1]+E[3],0],a);return[Math.min(y[0],x[0],b[0],z[0]),Math.min(y[1],x[1],b[1],z[1]),Math.max(y[0],x[0],b[0],z[0])-Math.min(y[0],x[0],b[0],z[0]),Math.max(y[1],x[1],b[1],z[1])-Math.min(y[1],x[1],b[1],z[1])]}var NF=function(E){function a(){return(0,Ar.Z)(this,a),Tr(this,a,arguments)}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"renderDownSampled",value:function(x,b,z,te){var re=te.src,ae=te.imageCache;if(!ae.downSampled){this.imagePool.createDownSampledImage(re,z).then(function(se){z.renderable.dirty=!0,z.ownerDocument.defaultView.context.renderingService.dirtify()}).catch(function(){});return}x.drawImage(ae.downSampled,Math.floor(te.drawRect[0]),Math.floor(te.drawRect[1]),Math.ceil(te.drawRect[2]),Math.ceil(te.drawRect[3]))}},{key:"renderTile",value:function(x,b,z,te){var re=te.src,ae=te.imageCache,se=te.imageRect,fe=te.drawRect,me=ae.size,Se=x.getTransform(),Te=Se.a,ke=Se.b,We=Se.c,je=Se.d,Ke=Se.e,Qe=Se.f;if(x.resetTransform(),!(ae!=null&&ae.gridSize)){this.imagePool.createImageTiles(re,[],function(){z.renderable.dirty=!0,z.ownerDocument.defaultView.context.renderingService.dirtify()},z).catch(function(){});return}for(var Je=[me[0]/se[2],me[1]/se[3]],at=[ae.tileSize[0]/Je[0],ae.tileSize[1]/Je[1]],ot=[Math.floor((fe[0]-se[0])/at[0]),Math.ceil((fe[0]+fe[2]-se[0])/at[0])],ut=ot[0],ft=ot[1],lt=[Math.floor((fe[1]-se[1])/at[1]),Math.ceil((fe[1]+fe[3]-se[1])/at[1])],Dt=lt[0],Bt=lt[1],Vt=Dt;Vt<=Bt;Vt++)for(var Xt=ut;Xt<=ft;Xt++){var vn=ae.tiles[Vt][Xt];if(vn){var on=[Math.floor(se[0]+vn.tileX*at[0]),Math.floor(se[1]+vn.tileY*at[1]),Math.ceil(at[0]),Math.ceil(at[1])];x.drawImage(vn.data,on[0],on[1],on[2],on[3])}}x.setTransform(Te,ke,We,je,Ke,Qe)}},{key:"render",value:function(x,b,z){var te=b.x,re=te===void 0?0:te,ae=b.y,se=ae===void 0?0:ae,fe=b.width,me=b.height,Se=b.src,Te=b.shadowColor,ke=b.shadowBlur,We=this.imagePool.getImageSync(Se,z),je=We==null?void 0:We.img,Ke=fe,Qe=me;if(je){Ke||(Ke=je.width),Qe||(Qe=je.height);var Je=!fo(Te)&&ke>0;Fp(z,x,Je);try{var at=z.ownerDocument.defaultView.getContextService().getDomElement(),ot=at.width,ut=at.height,ft=x.getTransform(),lt=ft.a,Dt=ft.b,Bt=ft.c,Vt=ft.d,Xt=ft.e,vn=ft.f,on=Sf(lt,Bt,0,0,Dt,Vt,0,0,0,0,1,0,Xt,vn,0,1),wn=BF([re,se,Ke,Qe],on),qn=TF([0,0,ot,ut],wn);if(!qn)return;if(!z.ownerDocument.defaultView.getConfig().enableLargeImageOptimization){a.renderFull(x,b,z,{image:je,drawRect:[re,se,Ke,Qe]});return}var yn=wn[2]/We.size[0];if(yn<(We.downSamplingRate||.5)){this.renderDownSampled(x,b,z,{src:Se,imageCache:We,drawRect:[re,se,Ke,Qe]});return}if(!NA.isSupportTile){a.renderFull(x,b,z,{image:je,drawRect:[re,se,Ke,Qe]});return}this.renderTile(x,b,z,{src:Se,imageCache:We,imageRect:wn,drawRect:qn})}catch(En){}}}},{key:"drawToContext",value:function(x,b,z,te,re){this.render(x,b.parsedStyle,b)}}],[{key:"renderFull",value:function(x,b,z,te){x.drawImage(te.image,Math.floor(te.drawRect[0]),Math.floor(te.drawRect[1]),Math.ceil(te.drawRect[2]),Math.ceil(te.drawRect[3]))}}])}(RA),RF=function(E){function a(){return(0,Ar.Z)(this,a),Tr(this,a,arguments)}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"render",value:function(x,b,z,te,re,ae){z.getBounds();var se=b.lineWidth,fe=se===void 0?1:se,me=b.textAlign,Se=me===void 0?"start":me,Te=b.textBaseline,ke=Te===void 0?"alphabetic":Te,We=b.lineJoin,je=We===void 0?"miter":We,Ke=b.miterLimit,Qe=Ke===void 0?10:Ke,Je=b.letterSpacing,at=Je===void 0?0:Je,ot=b.stroke,ut=b.fill,ft=b.fillRule,lt=b.fillOpacity,Dt=lt===void 0?1:lt,Bt=b.strokeOpacity,Vt=Bt===void 0?1:Bt,Xt=b.opacity,vn=Xt===void 0?1:Xt,on=b.metrics,wn=b.x,qn=wn===void 0?0:wn,yn=b.y,En=yn===void 0?0:yn,Pn=b.dx,or=b.dy,xn=b.shadowColor,yr=b.shadowBlur,na=on.font,ea=on.lines,jr=on.height,Or=on.lineHeight,Yr=on.lineMetrics;x.font=na,x.lineWidth=fe,x.textAlign=Se==="middle"?"center":Se;var fa=ke;fa==="alphabetic"&&(fa="bottom"),x.lineJoin=je,fo(Qe)||(x.miterLimit=Qe);var Ia=En;ke==="middle"?Ia+=-jr/2-Or/2:ke==="bottom"||ke==="alphabetic"||ke==="ideographic"?Ia+=-jr:(ke==="top"||ke==="hanging")&&(Ia+=-Or);var oi=qn+(Pn||0);Ia+=or||0,ea.length===1&&(fa==="bottom"?(fa="middle",Ia-=.5*jr):fa==="top"&&(fa="middle",Ia+=.5*jr)),x.textBaseline=fa;var Eo=!fo(xn)&&yr>0;Fp(z,x,Eo);for(var to=0;to<ea.length;to++){var ri=fe/2+oi;Ia+=Or,!fo(ot)&&!ot.isNone&&fe&&this.drawLetterSpacing(x,z,ea[to],Yr[to],Se,ri,Ia,at,ut,ft,Dt,ot,Vt,vn,!0,te,re,ae),fo(ut)||this.drawLetterSpacing(x,z,ea[to],Yr[to],Se,ri,Ia,at,ut,ft,Dt,ot,Vt,vn,!1,te,re,ae)}}},{key:"drawLetterSpacing",value:function(x,b,z,te,re,ae,se,fe,me,Se,Te,ke,We,je,Ke,Qe,Je,at){if(fe===0){Ke?this.strokeText(x,b,z,ae,se,ke,We,Qe,Je,at):this.fillText(x,b,z,ae,se,me,Se,Te,je,Qe,Je,at);return}var ot=x.textAlign;x.textAlign="left";var ut=ae;re==="center"||re==="middle"?ut=ae-te.width/2:(re==="right"||re==="end")&&(ut=ae-te.width);for(var ft=Array.from(z),lt=x.measureText(z).width,Dt=0,Bt=0;Bt<ft.length;++Bt){var Vt=ft[Bt];Ke?this.strokeText(x,b,Vt,ut,se,ke,We,Qe,Je,at):this.fillText(x,b,Vt,ut,se,me,Se,Te,je,Qe,Je,at),Dt=x.measureText(z.substring(Bt+1)).width,ut+=lt-Dt+fe,lt=Dt}x.textAlign=ot}},{key:"fillText",value:function(x,b,z,te,re,ae,se,fe,me,Se,Te,ke){mw(x,b,ae,se,Se,Te,ke,this.imagePool,!0);var We,je=!fo(fe)&&fe!==1;je&&(We=x.globalAlpha,x.globalAlpha=fe*me),x.fillText(z,te,re),je&&(x.globalAlpha=We)}},{key:"strokeText",value:function(x,b,z,te,re,ae,se,fe,me,Se){_A(x,b,ae,fe,me,Se,this.imagePool,!0);var Te,ke=!fo(se)&&se!==1;ke&&(Te=x.globalAlpha,x.globalAlpha=se),x.strokeText(z,te,re),ke&&(x.globalAlpha=Te)}},{key:"drawToContext",value:function(x,b,z,te,re){this.render(x,b.parsedStyle,b,b.ownerDocument.defaultView.context,te,re)}}])}(RA),_F=function(E){function a(){var y,x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,Ar.Z)(this,a),y=Tr(this,a),y.name="canvas-renderer",y.options=x,y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"init",value:function(){var x,b=(0,Cr.Z)({dirtyObjectNumThreshold:500,dirtyObjectRatioThreshold:.8},this.options),z=this.context.imagePool,te=new RA(z),re=(x={},(0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)((0,_i.Z)(x,la.CIRCLE,te),la.ELLIPSE,te),la.RECT,te),la.IMAGE,new NF(z)),la.TEXT,new RF(z)),la.LINE,te),la.POLYLINE,te),la.POLYGON,te),la.PATH,te),la.GROUP,void 0),(0,_i.Z)((0,_i.Z)((0,_i.Z)(x,la.HTML,void 0),la.MESH,void 0),la.FRAGMENT,void 0));this.context.defaultStyleRendererFactory=re,this.context.styleRendererFactory=re,this.addRenderingPlugin(new hw(b))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins(),delete this.context.defaultStyleRendererFactory,delete this.context.styleRendererFactory}}])}(th);var pw=function(){function E(){(0,Ar.Z)(this,E)}return(0,$n.Z)(E,[{key:"apply",value:function(y,x){var b=this,z=y.renderingService,te=y.renderingContext,re=y.config;this.context=y;var ae=te.root.ownerDocument.defaultView,se=function(lt){z.hooks.pointerMove.call(lt)},fe=function(lt){z.hooks.pointerUp.call(lt)},me=function(lt){z.hooks.pointerDown.call(lt)},Se=function(lt){z.hooks.pointerOver.call(lt)},Te=function(lt){z.hooks.pointerOut.call(lt)},ke=function(lt){z.hooks.pointerCancel.call(lt)},We=function(lt){z.hooks.pointerWheel.call(lt)},je=function(lt){z.hooks.click.call(lt)},Ke=function(lt){x.globalThis.document.addEventListener("pointermove",se,!0),lt.addEventListener("pointerdown",me,!0),lt.addEventListener("pointerleave",Te,!0),lt.addEventListener("pointerover",Se,!0),x.globalThis.addEventListener("pointerup",fe,!0),x.globalThis.addEventListener("pointercancel",ke,!0)},Qe=function(lt){lt.addEventListener("touchstart",me,!0),lt.addEventListener("touchend",fe,!0),lt.addEventListener("touchmove",se,!0),lt.addEventListener("touchcancel",ke,!0)},Je=function(lt){x.globalThis.document.addEventListener("mousemove",se,!0),lt.addEventListener("mousedown",me,!0),lt.addEventListener("mouseout",Te,!0),lt.addEventListener("mouseover",Se,!0),x.globalThis.addEventListener("mouseup",fe,!0)},at=function(lt){x.globalThis.document.removeEventListener("pointermove",se,!0),lt.removeEventListener("pointerdown",me,!0),lt.removeEventListener("pointerleave",Te,!0),lt.removeEventListener("pointerover",Se,!0),x.globalThis.removeEventListener("pointerup",fe,!0),x.globalThis.removeEventListener("pointercancel",ke,!0)},ot=function(lt){lt.removeEventListener("touchstart",me,!0),lt.removeEventListener("touchend",fe,!0),lt.removeEventListener("touchmove",se,!0),lt.removeEventListener("touchcancel",ke,!0)},ut=function(lt){x.globalThis.document.removeEventListener("mousemove",se,!0),lt.removeEventListener("mousedown",me,!0),lt.removeEventListener("mouseout",Te,!0),lt.removeEventListener("mouseover",Se,!0),x.globalThis.removeEventListener("mouseup",fe,!0)};z.hooks.init.tap(E.tag,function(){var ft=b.context.contextService.getDomElement();x.globalThis.navigator.msPointerEnabled?(ft.style.msContentZooming="none",ft.style.msTouchAction="none"):ae.supportsPointerEvents&&(ft.style.touchAction="none"),ae.supportsPointerEvents?Ke(ft):Je(ft),ae.supportsTouchEvents&&Qe(ft),re.useNativeClickEvent&&ft.addEventListener("click",je,!0),ft.addEventListener("wheel",We,{passive:!0,capture:!0})}),z.hooks.destroy.tap(E.tag,function(){var ft=b.context.contextService.getDomElement();x.globalThis.navigator.msPointerEnabled?(ft.style.msContentZooming="",ft.style.msTouchAction=""):ae.supportsPointerEvents&&(ft.style.touchAction=""),ae.supportsPointerEvents?at(ft):ut(ft),ae.supportsTouchEvents&&ot(ft),re.useNativeClickEvent&&ft.removeEventListener("click",je,!0),ft.removeEventListener("wheel",We,!0)})}}])}();pw.tag="DOMInteraction";var FF=function(E){function a(){var y;(0,Ar.Z)(this,a);for(var x=arguments.length,b=new Array(x),z=0;z<x;z++)b[z]=arguments[z];return y=Tr(this,a,[].concat(b)),y.name="dom-interaction",y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"init",value:function(){this.addRenderingPlugin(new pw)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(th);var kF="g-canvas-camera",yw=function(){function E(){(0,Ar.Z)(this,E),this.displayObjectHTMLElementMap=new WeakMap}return(0,$n.Z)(E,[{key:"joinTransformMatrix",value:function(y){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0,0];return"matrix(".concat([y[0],y[1],y[4],y[5],y[12]+x[0],y[13]+x[1]].join(","),")")}},{key:"apply",value:function(y,x){var b=this,z=y.camera,te=y.renderingContext,re=y.renderingService;this.context=y;var ae=te.root.ownerDocument.defaultView,se=ae.context.eventService.nativeHTMLMap,fe=function(Ke,Qe){Qe.style.transform=b.joinTransformMatrix(Ke.getWorldTransform(),Ke.getOrigin())},me=function(Ke){var Qe=Ke.target;if(Qe.nodeName===la.HTML){b.$camera||(b.$camera=b.createCamera(z));var Je=b.getOrCreateEl(Qe);b.$camera.appendChild(Je),Object.keys(Qe.attributes).forEach(function(at){b.updateAttribute(at,Qe)}),fe(Qe,Je),se.set(Je,Qe)}},Se=function(Ke){var Qe=Ke.target;if(Qe.nodeName===la.HTML&&b.$camera){var Je=b.getOrCreateEl(Qe);Je&&(Je.remove(),se.delete(Je))}},Te=function(Ke){var Qe=Ke.target;if(Qe.nodeName===la.HTML){var Je=Ke.attrName;b.updateAttribute(Je,Qe)}},ke=function(Ke){var Qe=Ke.target,Je=Qe.nodeName===la.FRAGMENT?Qe.childNodes:[Qe];Je.forEach(function(at){if(at.nodeName===la.HTML){var ot=b.getOrCreateEl(at);fe(at,ot)}})},We=function(){if(b.$camera){var Ke=b.context.config,Qe=Ke.width,Je=Ke.height;b.$camera.parentElement.style.width="".concat(Qe||0,"px"),b.$camera.parentElement.style.height="".concat(Je||0,"px")}};re.hooks.init.tap(E.tag,function(){ae.addEventListener(Rc.RESIZE,We),ae.addEventListener(is.MOUNTED,me),ae.addEventListener(is.UNMOUNTED,Se),ae.addEventListener(is.ATTR_MODIFIED,Te),ae.addEventListener(is.BOUNDS_CHANGED,ke)}),re.hooks.endFrame.tap(E.tag,function(){b.$camera&&te.renderReasons.has(a0.CAMERA_CHANGED)&&(b.$camera.style.transform=b.joinTransformMatrix(z.getOrthoMatrix()))}),re.hooks.destroy.tap(E.tag,function(){b.$camera&&b.$camera.remove(),ae.removeEventListener(Rc.RESIZE,We),ae.removeEventListener(is.MOUNTED,me),ae.removeEventListener(is.UNMOUNTED,Se),ae.removeEventListener(is.ATTR_MODIFIED,Te),ae.removeEventListener(is.BOUNDS_CHANGED,ke)})}},{key:"createCamera",value:function(y){var x=this.context.config,b=x.document,z=x.width,te=x.height,re=this.context.contextService.getDomElement(),ae=re.parentNode;if(ae){var se=kF,fe=ae.querySelector("#".concat(se));if(!fe){var me=(b||document).createElement("div");me.style.overflow="hidden",me.style.pointerEvents="none",me.style.position="absolute",me.style.left="0px",me.style.top="0px",me.style.width="".concat(z||0,"px"),me.style.height="".concat(te||0,"px");var Se=(b||document).createElement("div");fe=Se,Se.id=se,Se.style.position="absolute",Se.style.left="".concat(re.offsetLeft||0,"px"),Se.style.top="".concat(re.offsetTop||0,"px"),Se.style.transformOrigin="left top",Se.style.transform=this.joinTransformMatrix(y.getOrthoMatrix()),Se.style.pointerEvents="none",Se.style.width="100%",Se.style.height="100%",me.appendChild(Se),ae.appendChild(me)}return fe}return null}},{key:"getOrCreateEl",value:function(y){var x=this.context.config.document,b=this.displayObjectHTMLElementMap.get(y);return b||(b=(x||document).createElement("div"),y.parsedStyle.$el=b,this.displayObjectHTMLElementMap.set(y,b),y.id&&(b.id=y.id),y.name&&b.setAttribute("name",y.name),y.className&&(b.className=y.className),b.style.position="absolute",b.style["will-change"]="transform",b.style.transform=this.joinTransformMatrix(y.getWorldTransform(),y.getOrigin())),b}},{key:"updateAttribute",value:function(y,x){var b=this.getOrCreateEl(x);switch(y){case"innerHTML":var z=x.parsedStyle.innerHTML;Is(z)?b.innerHTML=z:(b.innerHTML="",b.appendChild(z));break;case"x":b.style.left="".concat(x.parsedStyle.x,"px");break;case"y":b.style.top="".concat(x.parsedStyle.y,"px");break;case"transformOrigin":var te=x.parsedStyle.transformOrigin;b.style["transform-origin"]="".concat(te[0].buildCSSText(null,null,"")," ").concat(te[1].buildCSSText(null,null,""));break;case"width":var re=x.parsedStyle.width;b.style.width=Oi(re)?"".concat(re,"px"):re.toString();break;case"height":var ae=x.parsedStyle.height;b.style.height=Oi(ae)?"".concat(ae,"px"):ae.toString();break;case"zIndex":var se=x.parsedStyle.zIndex;b.style["z-index"]="".concat(se);break;case"visibility":var fe=x.parsedStyle.visibility;b.style.visibility=fe;break;case"pointerEvents":var me=x.parsedStyle.pointerEvents,Se=me===void 0?"auto":me;b.style.pointerEvents=Se;break;case"opacity":var Te=x.parsedStyle.opacity;b.style.opacity="".concat(Te);break;case"fill":var ke=x.parsedStyle.fill,We="";Mm(ke)?ke.isNone?We="transparent":We=x.getAttribute("fill"):Array.isArray(ke)?We=x.getAttribute("fill"):rg(ke),b.style.background=We;break;case"stroke":var je=x.parsedStyle.stroke,Ke="";Mm(je)?je.isNone?Ke="transparent":Ke=x.getAttribute("stroke"):Array.isArray(je)?Ke=x.getAttribute("stroke"):rg(je),b.style["border-color"]=Ke,b.style["border-style"]="solid";break;case"lineWidth":var Qe=x.parsedStyle.lineWidth;b.style["border-width"]="".concat(Qe||0,"px");break;case"lineDash":b.style["border-style"]="dashed";break;case"filter":var Je=x.style.filter;b.style.filter=Je;break;default:!fo(x.style[y])&&x.style[y]!==""&&(b.style[y]=x.style[y])}}}])}();yw.tag="HTMLRendering";var zF=function(E){function a(){var y;(0,Ar.Z)(this,a);for(var x=arguments.length,b=new Array(x),z=0;z<x;z++)b[z]=arguments[z];return y=Tr(this,a,[].concat(b)),y.name="html-renderer",y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"init",value:function(){this.addRenderingPlugin(new yw)}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}}])}(th);var UF=function(){function E(a){(0,Ar.Z)(this,E),this.renderingContext=a.renderingContext,this.canvasConfig=a.config}return(0,$n.Z)(E,[{key:"init",value:function(){var y=this.canvasConfig,x=y.container,b=y.canvas;if(b)this.$canvas=b,x&&b.parentElement!==x&&x.appendChild(b),this.$container=b.parentElement,this.canvasConfig.container=this.$container;else if(x&&(this.$container=Is(x)?document.getElementById(x):x,this.$container)){var z=document.createElement("canvas");this.$container.appendChild(z),this.$container.style.position||(this.$container.style.position="relative"),this.$canvas=z}this.context=this.$canvas.getContext("2d"),this.resize(this.canvasConfig.width,this.canvasConfig.height)}},{key:"getContext",value:function(){return this.context}},{key:"getDomElement",value:function(){return this.$canvas}},{key:"getDPR",value:function(){return this.dpr}},{key:"getBoundingClientRect",value:function(){if(this.$canvas.getBoundingClientRect)return this.$canvas.getBoundingClientRect()}},{key:"destroy",value:function(){this.$container&&this.$canvas&&this.$canvas.parentNode&&this.$container.removeChild(this.$canvas)}},{key:"resize",value:function(y,x){var b=this.canvasConfig.devicePixelRatio;this.dpr=b,this.$canvas&&(this.$canvas.width=this.dpr*y,this.$canvas.height=this.dpr*x,FB(this.$canvas,y,x)),this.renderingContext.renderReasons.add(a0.CAMERA_CHANGED)}},{key:"applyCursorStyle",value:function(y){this.$container&&this.$container.style&&(this.$container.style.cursor=y)}},{key:"toDataURL",value:function(){var a=(0,eh.Z)((0,ju.Z)().mark(function x(){var b,z,te,re=arguments;return(0,ju.Z)().wrap(function(se){for(;;)switch(se.prev=se.next){case 0:return b=re.length>0&&re[0]!==void 0?re[0]:{},z=b.type,te=b.encoderOptions,se.abrupt("return",this.context.canvas.toDataURL(z,te));case 3:case"end":return se.stop()}},x,this)}));function y(){return a.apply(this,arguments)}return y}()}])}(),WF=function(E){function a(){var y;(0,Ar.Z)(this,a);for(var x=arguments.length,b=new Array(x),z=0;z<x;z++)b[z]=arguments[z];return y=Tr(this,a,[].concat(b)),y.name="canvas-context-register",y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"init",value:function(){this.context.ContextService=UF}},{key:"destroy",value:function(){delete this.context.ContextService}}])}(th),Ev=function(E){function a(y){var x;return(0,Ar.Z)(this,a),x=Tr(this,a,[y]),x.registerPlugin(new WF),x.registerPlugin(new LF),x.registerPlugin(new sF),x.registerPlugin(new _F),x.registerPlugin(new FF),x.registerPlugin(new wF),x.registerPlugin(new zF),x}return(0,da.Z)(a,E),(0,$n.Z)(a)}(TO);function jF(E,a){if(E){var y;if(Tc(E))for(var x=0,b=E.length;x<b&&(y=a(E[x],x),y!==!1);x++);else if(jl(E)){for(var z in E)if(E.hasOwnProperty(z)&&(y=a(E[z],z),y===!1))break}}}var Ew=jF,GF=Object.prototype.hasOwnProperty,Ag=function(E,a){if(E===null||!u0(E))return{};var y={};return Ew(a,function(x){GF.call(E,x)&&(y[x]=E[x])}),y},VF=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};class kp extends Nd{constructor(a){super(Object.assign(Object.assign({},a),{style:Object.assign({},kp.defaultStyleProps,a.style)})),this.rootPointerEvent=new Bm(null),this.forwardEvents=y=>{const x=this.context.canvas,b=x.context.renderingContext.root.ownerDocument.defaultView;this.normalizeToPointerEvent(y,b).forEach(te=>{const re=this.bootstrapEvent(this.rootPointerEvent,te,b,y);vv(x.context.eventService,"mappingTable.pointerupoutside",[]),x.context.eventService.mapEvent(re)})}}get eventService(){return this.context.canvas.context.eventService}get events(){return[ga.CLICK,ga.POINTER_DOWN,ga.POINTER_MOVE,ga.POINTER_UP,ga.POINTER_OVER,ga.POINTER_LEAVE]}getDomElement(){return this.getShape("key").getDomElement()}render(a=this.parsedAttributes,y=this){this.drawKeyShape(a,y),this.drawPortShapes(a,y)}getKeyStyle(a){const y=Ag(a,["dx","dy","innerHTML","pointerEvents","cursor"]),{dx:x=0,dy:b=0}=y,z=VF(y,["dx","dy"]),[te,re]=this.getSize(a);return Object.assign(Object.assign({x,y:b},z),{width:te,height:re})}drawKeyShape(a,y){const x=this.getKeyStyle(a),{x:b,y:z,width:te=0,height:re=0}=x,ae=this.upsert("key-container",Mu,{x:b,y:z,width:te,height:re,opacity:0},y);return this.upsert("key",tv,x,ae)}connectedCallback(){if(!(this.context.canvas.getRenderer("main")instanceof Ev))return;const x=this.getDomElement();this.events.forEach(b=>{x.addEventListener(b,this.forwardEvents)})}attributeChangedCallback(a,y,x){a==="zIndex"&&y!==x&&(this.getDomElement().style.zIndex=x)}destroy(){const a=this.getDomElement();this.events.forEach(y=>{a.removeEventListener(y,this.forwardEvents)}),super.destroy()}normalizeToPointerEvent(a,y){const x=[];if(y.isTouchEvent(a))for(let b=0;b<a.changedTouches.length;b++){const z=a.changedTouches[b];Lo(z.button)&&(z.button=0),Lo(z.buttons)&&(z.buttons=1),Lo(z.isPrimary)&&(z.isPrimary=a.touches.length===1&&a.type==="touchstart"),Lo(z.width)&&(z.width=z.radiusX||1),Lo(z.height)&&(z.height=z.radiusY||1),Lo(z.tiltX)&&(z.tiltX=0),Lo(z.tiltY)&&(z.tiltY=0),Lo(z.pointerType)&&(z.pointerType="touch"),Lo(z.pointerId)&&(z.pointerId=z.identifier||0),Lo(z.pressure)&&(z.pressure=z.force||.5),Lo(z.twist)&&(z.twist=0),Lo(z.tangentialPressure)&&(z.tangentialPressure=0),z.isNormalized=!0,z.type=a.type,x.push(z)}else if(y.isMouseEvent(a)){const b=a;Lo(b.isPrimary)&&(b.isPrimary=!0),Lo(b.width)&&(b.width=1),Lo(b.height)&&(b.height=1),Lo(b.tiltX)&&(b.tiltX=0),Lo(b.tiltY)&&(b.tiltY=0),Lo(b.pointerType)&&(b.pointerType="mouse"),Lo(b.pointerId)&&(b.pointerId=1),Lo(b.pressure)&&(b.pressure=.5),Lo(b.twist)&&(b.twist=0),Lo(b.tangentialPressure)&&(b.tangentialPressure=0),b.isNormalized=!0,x.push(b)}else x.push(a);return x}transferMouseData(a,y){a.isTrusted=y.isTrusted,a.srcElement=y.srcElement,a.timeStamp=performance.now(),a.type=y.type,a.altKey=y.altKey,a.metaKey=y.metaKey,a.shiftKey=y.shiftKey,a.ctrlKey=y.ctrlKey,a.button=y.button,a.buttons=y.buttons,a.client.x=y.clientX,a.client.y=y.clientY,a.movement.x=y.movementX,a.movement.y=y.movementY,a.page.x=y.pageX,a.page.y=y.pageY,a.screen.x=y.screenX,a.screen.y=y.screenY,a.relatedTarget=null}bootstrapEvent(a,y,x,b){a.view=x,a.originalEvent=null,a.nativeEvent=b,a.pointerId=y.pointerId,a.width=y.width,a.height=y.height,a.isPrimary=y.isPrimary,a.pointerType=y.pointerType,a.pressure=y.pressure,a.tangentialPressure=y.tangentialPressure,a.tiltX=y.tiltX,a.tiltY=y.tiltY,a.twist=y.twist,this.transferMouseData(a,y);const{x:z,y:te}=this.getViewportXY(y);a.viewport.x=z,a.viewport.y=te;const[re,ae]=this.context.canvas.getCanvasByViewport([z,te]);return a.canvas.x=re,a.canvas.y=ae,a.global.copyFrom(a.canvas),a.offset.copyFrom(a.canvas),a.isTrusted=b.isTrusted,a.type==="pointerleave"&&(a.type="pointerout"),a}getViewportXY(a){let y,x;const{offsetX:b,offsetY:z,clientX:te,clientY:re}=a;if(!fo(b)&&!fo(z))y=b,x=z;else{const ae=this.eventService.client2Viewport({x:te,y:re});y=ae.x,x=ae.y}return{x:y,y:x}}onframe(){super.onframe();const{opacity:a}=this.attributes;this.getDomElement().style.opacity=`${a}`}}kp.defaultStyleProps={size:[160,80],halo:!1,icon:!1,label:!1,pointerEvents:"auto"};var Aw=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};class zp extends Nd{constructor(a){super(yu({style:zp.defaultStyleProps},a))}getKeyStyle(a){const[y,x]=this.getSize(a),b=super.getKeyStyle(a),{fillOpacity:z,opacity:te=z}=b,re=Aw(b,["fillOpacity","opacity"]);return Object.assign(Object.assign({opacity:te},re),{width:y,height:x,x:-y/2,y:-x/2})}getHaloStyle(a){if(a.halo===!1)return!1;const y=this.getShape("key").attributes,{fill:x,stroke:b}=y,z=Aw(y,["fill","stroke"]),te=$l(this.getGraphicStyle(a),"halo"),re=Number(te.lineWidth),[ae,se]=Ho(this.getSize(a),[re,re]);return Object.assign(Object.assign({},te),{width:ae,height:se,fill:"transparent",x:-ae/2,y:-se/2})}getIconStyle(a){const y=super.getIconStyle(a),[x,b]=this.getSize(a);return y?Object.assign({width:x*Tf,height:b*Tf},y):!1}drawKeyShape(a,y){const x=this.upsert("key",wA,this.getKeyStyle(a),y);return DA(this),x}drawHaloShape(a,y){this.upsert("halo",Mu,this.getHaloStyle(a),y)}update(a){super.update(a),a&&("x"in a||"y"in a||"z"in a)&&IA(this)}}zp.defaultStyleProps={size:32};class HF extends Nd{constructor(a){super(a)}getKeyStyle(a){const[y,x]=this.getSize(a);return Object.assign(Object.assign({},super.getKeyStyle(a)),{width:y,height:x,x:-y/2,y:-x/2})}getIconStyle(a){const y=super.getIconStyle(a),{width:x,height:b}=this.getShape("key").attributes;return y?Object.assign({width:x*Tf,height:b*Tf},y):!1}drawKeyShape(a,y){return this.upsert("key",Mu,this.getKeyStyle(a),y)}}class KF extends Mp{constructor(a){super(a)}getInnerR(a){return a.innerR||this.getOuterR(a)*3/8}getOuterR(a){return Math.min(...this.getSize(a))/2}getPoints(a){return N8(this.getOuterR(a),this.getInnerR(a))}getIconStyle(a){const y=super.getIconStyle(a),x=this.getInnerR(a)*2*Tf;return y?Object.assign({width:x,height:x},y):!1}getPortXY(a,y){const{placement:x="top"}=y,b=this.getShape("key").getLocalBounds(),z=R8(this.getOuterR(a),this.getInnerR(a));return GA(b,x,z,!1)}}class Up extends Mp{constructor(a){super(yu({style:Up.defaultStyleProps},a))}getPoints(a){const{direction:y}=a,[x,b]=this.getSize(a);return _8(x,b,y)}getPortXY(a,y){const{direction:x}=a,{placement:b="top"}=y,z=this.getShape("key").getLocalBounds(),[te,re]=this.getSize(a),ae=F8(te,re,x);return GA(z,b,ae,!1)}getIconStyle(a){const{icon:y,iconText:x,iconSrc:b,direction:z}=a;if(y===!1||lf(x||b))return!1;const te=$l(this.getGraphicStyle(a),"icon"),re=this.getShape("key").getLocalBounds(),[ae,se]=AR(re,z),fe=xR(re,z)*2*Tf;return Object.assign({x:ae,y:se,width:fe,height:fe},te)}}Up.defaultStyleProps={size:40,direction:"up"};var xw=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};class h0 extends Nd{constructor(a){super(yu({style:h0.defaultStyleProps},a)),this.type="combo",this.updateComboPosition(this.parsedAttributes)}getKeySize(a){const{collapsed:y,childrenNode:x=[]}=a;return x.length===0?this.getEmptyKeySize(a):y?this.getCollapsedKeySize(a):this.getExpandedKeySize(a)}getEmptyKeySize(a){const{padding:y,collapsedSize:x}=a,[b,z,te,re]=Id(y);return Ho(kc(x),[re+z,b+te,0])}getCollapsedKeySize(a){return kc(a.collapsedSize)}getExpandedKeySize(a){const y=this.getContentBBox(a);return[af(y),of(y),0]}getContentBBox(a){const{childrenNode:y=[],padding:x}=a,b=y.map(te=>this.context.element.getElement(te)).filter(Boolean);if(b.length===0){const te=new il,{x:re=0,y:ae=0,size:se}=a,[fe,me]=kc(se);return te.setMinMax([re-fe/2,ae-me/2,0],[re+fe/2,ae+me/2,0]),te}const z=lv(b.map(te=>te.getBounds()));return x?lh(z,x):z}drawCollapsedMarkerShape(a,y){const x=this.getCollapsedMarkerStyle(a);this.upsert("collapsed-marker",ow,x,y),DA(this)}getCollapsedMarkerStyle(a){if(!a.collapsed||!a.collapsedMarker)return!1;const y=$l(this.getGraphicStyle(a),"collapsedMarker"),{type:x}=y,b=xw(y,["type"]),z=this.getShape("key"),[te,re]=Of(z.getLocalBounds(),"center"),ae=Object.assign(Object.assign({},b),{x:te,y:re});if(x){const se=this.getCollapsedMarkerText(x,a);Object.assign(ae,{text:se})}return ae}getCollapsedMarkerText(a,y){const{childrenData:x=[]}=y,{model:b}=this.context;return a==="descendant-count"?b.getDescendantsData(this.id).length.toString():a==="child-count"?x.length.toString():a==="node-count"?b.getDescendantsData(this.id).filter(z=>b.getElementType(_r(z))==="node").length.toString():Gi(a)?a(x):""}getComboPosition(a){const{x:y=0,y:x=0,collapsed:b,childrenData:z=[]}=a;if(z.length===0)return[+y,+x,0];if(b){const{model:te}=this.context,re=te.getDescendantsData(this.id).filter(ae=>!te.isCombo(_r(ae)));if(re.length>0&&re.some(h_)){const ae=re.reduce((se,fe)=>Ho(se,lu(fe)),[0,0,0]);return Td(ae,re.length)}return[+y,+x,0]}return this.getContentBBox(a).center}getComboStyle(a){const[y,x]=this.getComboPosition(a);return{x:y,y:x,transform:[["translate",y,x]]}}updateComboPosition(a){const y=this.getComboStyle(a);Object.assign(this.style,y);const{x,y:b}=y;this.context.model.syncNodeLikeDatum({id:this.id,style:{x,y:b}}),IA(this)}render(a,y=this){super.render(a,y),this.drawCollapsedMarkerShape(a,y)}update(a={}){super.update(a),this.updateComboPosition(this.parsedAttributes)}onframe(){super.onframe(),this.attributes.collapsed||this.updateComboPosition(this.parsedAttributes),this.drawKeyShape(this.parsedAttributes,this)}animate(a,y){const x=super.animate(this.attributes.collapsed?a:a.map(b=>{var{x:z,y:te,z:re,transform:ae}=b,se=xw(b,["x","y","z","transform"]);return se}),y);return x&&new Proxy(x,{set:(b,z,te)=>(z==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(b,z,te))})}}h0.defaultStyleProps={childrenNode:[],droppable:!0,draggable:!0,collapsed:!1,collapsedSize:32,collapsedMarker:!0,collapsedMarkerZIndex:1,collapsedMarkerFontSize:12,collapsedMarkerTextAlign:"center",collapsedMarkerTextBaseline:"middle",collapsedMarkerType:"child-count"};class ZF extends h0{constructor(a){super(a)}drawKeyShape(a,y){return this.upsert("key",Cf,this.getKeyStyle(a),y)}getKeyStyle(a){const{collapsed:y}=a,x=super.getKeyStyle(a),[b]=this.getKeySize(a);return Object.assign(Object.assign(Object.assign({},x),y&&$l(x,"collapsed")),{r:b/2})}getCollapsedKeySize(a){const[y,x]=kc(a.collapsedSize),b=Math.max(y,x)/2;return[b*2,b*2,0]}getExpandedKeySize(a){const y=this.getContentBBox(a),[x,b]=oh(y),z=Math.sqrt(Math.pow(x,2)+Math.pow(b,2))/2;return[z*2,z*2,0]}getIntersectPoint(a,y=!1){const x=this.getShape("key").getBounds();return Sp(a,x,y)}}class QF extends h0{constructor(a){super(a)}drawKeyShape(a,y){return this.upsert("key",Mu,this.getKeyStyle(a),y)}getKeyStyle(a){const y=super.getKeyStyle(a),[x,b]=this.getKeySize(a);return Object.assign(Object.assign(Object.assign({},y),a.collapsed&&$l(y,"collapsed")),{width:x,height:b,x:-x/2,y:-b/2})}}var YF=function(E,a){if(!iv(E))return E;for(var y=[],x=0;x<E.length;x++){var b=E[x];a(b,x)&&y.push(b)}return y},XF=YF,JF=function(E,a){return iv(E)?E.indexOf(a)>-1:!1},qF=JF,$F=function(E,a){return a===void 0&&(a=[]),XF(E,function(y){return!qF(a,y)})},e8=$F;const t8={padding:10};function Sw(E,a,y,x,b,z){const{padding:te}=Object.assign(t8,z),re=sh(y,te),ae=sh(x,te),se=[E,...b,a];let fe=null;const me=[];for(let Se=0,Te=se.length;Se<Te-1;Se++){const ke=Se+1,We=se[Se],je=se[ke],Ke=v_(We,je);let Qe=null;if(Se===0)if(ke===Te-1)if(re.intersects(ae))Qe=kA(We,je,re,ae);else if(!ip(We,re)&&!ip(je,ae)){const Je=fg(We,re),at=fg(je,ae);Qe=Cw(Je,at,rc(Je,at)),Qe.points.unshift(Je),Qe.points.push(at)}else Ke||(Qe=r8(We,je,re,ae));else Ld(je,re)?Qe=kA(We,je,re,sh(je,te),fe):Ke||(Qe=Wp(We,je,re));else ke===Te-1?Ld(We,ae)?Qe=kA(We,je,sh(We,te),ae,fe):Ke||(Qe=Pw(We,je,ae,fe)):Ke||(Qe=Cw(We,je,fe));Qe?(me.push(...Qe.points),fe=Qe.direction):fe=rc(We,je),ke<Te-1&&me.push(je)}return me.map(vg)}const n8={N:"S",S:"N",W:"E",E:"W"},bw={N:-Math.PI/2,S:Math.PI/2,E:0,W:Math.PI};function rc(E,a){const[y,x]=E,[b,z]=a;return y===b?x>z?"N":"S":x===z?y>b?"W":"E":null}function FA(E,a){return a==="N"||a==="S"?of(E):af(E)}function Cw(E,a,y){const x=[E[0],a[1]],b=[a[0],E[1]],z=rc(E,x),te=rc(E,b),re=y?n8[y]:null,ae=z===y||z!==re&&te!==y?x:b;return{points:[ae],direction:rc(ae,a)}}function Wp(E,a,y){if(ip(E,y)){const x=Av(E,a,y);return{points:[x],direction:rc(x,a)}}else{const x=fg(E,y),z=["left","right"].includes(uv(E,y))?[a[0],x[1]]:[x[0],a[1]];return{points:[z],direction:rc(z,a)}}}function Pw(E,a,y,x){const b=ip(a,y)?a:fg(a,y),z=[[b[0],E[1]],[E[0],b[1]]],te=z.filter(ae=>ER(ae,y)&&!QP(ae,y,!0)),re=te.filter(ae=>rc(ae,E)!==x);if(re.length>0){const ae=re.find(se=>rc(E,se)===x)||re[0];return{points:[ae],direction:rc(ae,a)}}else{const ae=e8(z,te)[0],se=dh(a,ae,FA(y,x)/2);return{points:[Av(se,E,y),se],direction:rc(se,a)}}}function r8(E,a,y,x){let b=Wp(E,a,y);const z=fv(b.points[0]);if(Ld(z,x)){b=Wp(a,E,x);const te=fv(b.points[0]);if(Ld(te,y)){const re=dh(E,z,FA(y,rc(E,z))/2),ae=dh(a,te,FA(x,rc(a,te))/2),se=[(re[0]+ae[0])/2,(re[1]+ae[1])/2],fe=Wp(E,se,y),me=Pw(se,a,x,fe.direction);b.points=[fe.points[0],me.points[0]],b.direction=me.direction}}return b}function kA(E,a,y,x,b){const te=lv([y,x]),re=cl(a,te.center)>cl(E,te.center),[ae,se]=re?[a,E]:[E,a],fe=of(te)+af(te);let me;if(b){const ke=[ae[0]+fe*Math.cos(bw[b]),ae[1]+fe*Math.sin(bw[b])];me=dh(fg(ke,te),ke,.01)}else me=dh(fg(ae,te),ae,-.01);let Se=Av(me,se,te),Te=[hv(me,2),hv(Se,2)];if(Vl(hv(me),hv(Se))){const ke=EA(qs(me,ae),[1,0,0])+Math.PI/2;Se=[se[0]+fe*Math.cos(ke),se[1]+fe*Math.sin(ke),0],Se=hv(dh(fg(Se,te),se,-.01),2);const We=Av(me,Se,te);Te=[me,We,Se]}return{points:re?Te.reverse():Te,direction:rc(re?me:Se,a)}}function Av(E,a,y){let x=[E[0],a[1]];return Ld(x,y)&&(x=[a[0],E[1]]),x}function ww(E,a,y,x,b){let ae=typeof a=="number"?a:.5;a==="start"&&(ae=0),a==="end"&&(ae=.99);const se=Du(E.getPoint(ae)),fe=Du(E.getPoint(ae+.01));let me=a==="start"?"left":a==="end"?"right":"center";if(W2(se,fe)||!y){const[Ke,Qe]=Mw(E,ae,x,b);return{transform:[["translate",Ke,Qe]],textAlign:me}}let Se=Math.atan2(fe[1]-se[1],fe[0]-se[0]);fe[0]<se[0]&&(me=me==="center"?me:me==="left"?"right":"left",x*=-1,Se+=Math.PI);const[ke,We]=Mw(E,ae,x,b,Se),je=[["translate",ke,We],["rotate",Se/Math.PI*180]];return{textAlign:me,transform:je}}function a8(E,a,y,x,b){var z,te;const re=((z=E.badge)===null||z===void 0?void 0:z.getGeometryBounds().halfExtents[0])*2||0,ae=((te=E.label)===null||te===void 0?void 0:te.getGeometryBounds().halfExtents[0])*2||0;return ww(E.key,y,!0,(ae?(ae/2+re/2)*(a==="suffix"?1:-1):0)+x,b)}function Mw(E,a,y,x,b){const[z,te]=Du(E.getPoint(a));let re=y,ae=x;return b&&(re=y*Math.cos(b)-x*Math.sin(b),ae=y*Math.sin(b)+x*Math.cos(b)),[z+re,te+ae]}function zA(E,a,y,x){if(Vl(E,a))return E;const b=qs(a,E),z=[E[0]+y*b[0],E[1]+y*b[1]],te=Lf(xp(b,!1));return z[0]+=x*te[0],z[1]+=x*te[1],z}function i8(E){return Oi(E)?[E,-E]:E}function o8(E){return Oi(E)?[E,1-E]:E}function s8(E,a,y){return[["M",E[0],E[1]],["Q",y[0],y[1],a[0],a[1]]]}function Dw(E,a,y){return[["M",E[0],E[1]],["C",y[0][0],y[0][1],y[1][0],y[1][1],a[0],a[1]]]}function UA(E,a=0,y=!1){const x=E[0],b=E[E.length-1],z=E.slice(1,E.length-1),te=[["M",x[0],x[1]]];return z.forEach((re,ae)=>{const se=z[ae-1]||x,fe=z[ae+1]||b;if(!j2(se,re,fe)&&a){const[me,Se]=l8(se,re,fe,a);te.push(["L",me[0],me[1]],["Q",re[0],re[1],Se[0],Se[1]],["L",Se[0],Se[1]])}else te.push(["L",re[0],re[1]])}),te.push(["L",b[0],b[1]]),y&&te.push(["Z"]),te}function l8(E,a,y,x){const b=Ap(E,a),z=Ap(y,a),te=Math.min(x,Math.min(b,z)/2),re=[a[0]-te/b*(a[0]-E[0]),a[1]-te/b*(a[1]-E[1])],ae=[a[0]-te/z*(a[0]-y[0]),a[1]-te/z*(a[1]-y[1])];return[re,ae]}const u8=E=>{const a=Math.PI/2,y=of(E)/2,x=af(E)/2,b=Math.atan2(y,x)/2,z=Math.atan2(x,y)/2;return{top:[-a-z,-a+z],"top-right":[-a+z,-b],"right-top":[-a+z,-b],right:[-b,b],"bottom-right":[b,a-z],"right-bottom":[b,a-z],bottom:[a-z,a+z],"bottom-left":[a+z,Math.PI-b],"left-bottom":[a+z,Math.PI-b],left:[Math.PI-b,Math.PI+b],"top-left":[Math.PI+b,-a-z],"left-top":[Math.PI+b,-a-z]}};function Iw(E,a,y,x,b){const z=sh(E),te=E.getCenter();let re=x&&vh(x),ae=b&&vh(b);if(!re||!ae){const se=u8(z),fe=se[a][0],me=se[a][1],[Se,Te]=oh(z),ke=Math.max(Se,Te),We=Ho(te,[ke*Math.cos(fe),ke*Math.sin(fe),0]),je=Ho(te,[ke*Math.cos(me),ke*Math.sin(me),0]);re=HA(E,We),ae=HA(E,je),y||([re,ae]=[ae,re])}return[re,ae]}function c8(E,a,y,x,b,z){const te=E.getPorts()[b||z],re=E.getPorts()[z||b];let[ae,se]=Iw(E,a,y,te,re);const fe=d8(E,ae,se,x);return te&&(ae=Sv(te,fe[0])),re&&(se=Sv(re,fe[fe.length-1])),Dw(ae,se,fe)}function d8(E,a,y,x){const b=E.getCenter();if(Vl(a,y)){const z=qs(a,b),te=[x*Math.sign(z[0])||x/2,x*Math.sign(z[1])||-x/2,0];return[Ho(a,te),Ho(y,If(te,[1,-1,1]))]}return[dh(b,a,cl(b,a)+x),dh(b,y,cl(b,y)+x)]}function f8(E,a,y,x,b,z,te){const re=VA(E),ae=re[z||te],se=re[te||z];let[fe,me]=Iw(E,y,x,ae,se);const Se=h8(E,fe,me,b);return ae&&(fe=Sv(ae,Se[0])),se&&(me=Sv(se,Se[Se.length-1])),UA([fe,...Se,me],a)}function h8(E,a,y,x){const b=[],z=sh(E);if(Vl(a,y))switch(uv(a,z)){case"left":b.push([a[0]-x,a[1]]),b.push([a[0]-x,a[1]+x]),b.push([a[0],a[1]+x]);break;case"right":b.push([a[0]+x,a[1]]),b.push([a[0]+x,a[1]+x]),b.push([a[0],a[1]+x]);break;case"top":b.push([a[0],a[1]-x]),b.push([a[0]+x,a[1]-x]),b.push([a[0]+x,a[1]]);break;case"bottom":b.push([a[0],a[1]+x]),b.push([a[0]+x,a[1]+x]),b.push([a[0]+x,a[1]]);break}else{const te=uv(a,z),re=uv(y,z);if(te===re){const ae=te;let se,fe;switch(ae){case"left":se=Math.min(a[0],y[0])-x,b.push([se,a[1]]),b.push([se,y[1]]);break;case"right":se=Math.max(a[0],y[0])+x,b.push([se,a[1]]),b.push([se,y[1]]);break;case"top":fe=Math.min(a[1],y[1])-x,b.push([a[0],fe]),b.push([y[0],fe]);break;case"bottom":fe=Math.max(a[1],y[1])+x,b.push([a[0],fe]),b.push([y[0],fe]);break}}else{const ae=(Se,Te)=>({left:[Te[0]-x,Te[1]],right:[Te[0]+x,Te[1]],top:[Te[0],Te[1]-x],bottom:[Te[0],Te[1]+x]})[Se],se=ae(te,a),fe=ae(re,y),me=Av(se,fe,z);b.push(se,me,fe)}}return b}function WA(E,a){const y=new Set,x=new Set,b=new Set;return E.forEach(z=>{a(z).forEach(re=>{y.add(re),E.includes(re.source)&&E.includes(re.target)?x.add(re):b.add(re)})}),{edges:Array.from(y),internal:Array.from(x),external:Array.from(b)}}function Lw(E,a){const y=[];let x=E;for(;x;){y.push(x);const b=a(_r(x));if(b)x=b;else break}if(y.some(b=>{var z;return(z=b.style)===null||z===void 0?void 0:z.collapsed})){const b=y.reverse().findIndex(Ac);return y[b]||y.at(-1)}return E}function g8(E,a){return a||(E<4?10:E===4?12:E*2.5)}const v8=(E,a)=>{const y=Math.max(E,a)/2;return[["M",-E/2,0],["A",y,y,0,1,0,2*y-E/2,0],["A",y,y,0,1,0,-E/2,0],["Z"]]},Ow=(E,a)=>[["M",-E/2,0],["L",E/2,-a/2],["L",E/2,a/2],["Z"]],m8=(E,a)=>[["M",-E/2,0],["L",0,-a/2],["L",E/2,0],["L",0,a/2],["Z"]],p8=(E,a)=>[["M",-E/2,0],["L",E/2,-a/2],["L",4*E/5-E/2,0],["L",E/2,a/2],["Z"]],y8=(E,a)=>[["M",-E/2,-a/2],["L",E/2,-a/2],["L",E/2,a/2],["L",-E/2,a/2],["Z"]],E8=(E,a)=>{const y=E/2,x=E/7,b=E-x;return[["M",-y,0],["L",0,-a/2],["L",0,a/2],["Z"],["M",b-y,-a/2],["L",b+x-y,-a/2],["L",b+x-y,a/2],["L",b-y,a/2],["Z"]]},A8=(E,a)=>[["M",E/2,-a/2],["L",-E/2,0],["L",E/2,0],["L",-E/2,0],["L",E/2,a/2]];var jp=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};class gh extends sw{constructor(a){super(yu({style:gh.defaultStyleProps},a)),this.type="edge"}get sourceNode(){const{sourceNode:a}=this.parsedAttributes;return this.context.element.getElement(a)}get targetNode(){const{targetNode:a}=this.parsedAttributes;return this.context.element.getElement(a)}getKeyStyle(a){const y=this.getGraphicStyle(a),{loop:x}=y,b=jp(y,["loop"]),{sourceNode:z,targetNode:te}=this,ae={d:x&&L8(z,te)?this.getLoopPath(a):this.getKeyPath(a)};return Nc.PARSED_STYLE_LIST.forEach(se=>{se in b&&(ae[se]=b[se])}),ae}getLoopPath(a){const{sourcePort:y,targetPort:x}=a,b=this.sourceNode,z=sh(b),te=Math.max(af(z),of(z)),{placement:re,clockwise:ae,dist:se=te}=$l(this.getGraphicStyle(a),"loop");return c8(b,re,ae,se,y,x)}getEndpoints(a,y=!0,x=[]){const{sourcePort:b,targetPort:z}=a,{sourceNode:te,targetNode:re}=this,[ae,se]=T8(te,re,b,z);if(!y){const Te=ae?vh(ae):te.getCenter(),ke=se?vh(se):re.getCenter();return[Te,ke]}const fe=typeof x=="function"?x():x,me=zw(ae||te,fe[0]||se||re),Se=zw(se||re,fe[fe.length-1]||ae||te);return[me,Se]}getHaloStyle(a){if(a.halo===!1)return!1;const y=this.getKeyStyle(a),x=$l(this.getGraphicStyle(a),"halo");return Object.assign(Object.assign({},y),x)}getLabelStyle(a){if(a.label===!1||!a.labelText)return!1;const y=$l(this.getGraphicStyle(a),"label"),{placement:x,offsetX:b,offsetY:z,autoRotate:te,maxWidth:re}=y,ae=jp(y,["placement","offsetX","offsetY","autoRotate","maxWidth"]),se=ww(this.shapeMap.key,x,te,b,z),fe=this.shapeMap.key.getLocalBounds(),me=L_([fe.min,fe.max],re);return Object.assign({wordWrapWidth:me},se,ae)}getBadgeStyle(a){if(a.badge===!1||!a.badgeText)return!1;const y=$l(a,"badge"),{offsetX:x,offsetY:b,placement:z}=y,te=jp(y,["offsetX","offsetY","placement"]);return Object.assign(te,a8(this.shapeMap,z,a.labelPlacement,x,b))}drawArrow(a,y){var x;const b=y==="start",te=a[y==="start"?"startArrow":"endArrow"],re=this.shapeMap.key;if(te){const ae=this.getArrowStyle(a,b),[se,fe,me]=b?["markerStart","markerStartOffset","startArrowOffset"]:["markerEnd","markerEndOffset","endArrowOffset"],Se=re.parsedStyle[se];if(Se)Se.attr(ae);else{const Te=ae.src?nv:Nc,ke=new Te({style:ae});re.style[se]=ke}re.style[fe]=a[me]||ae.width/2+ +ae.lineWidth}else{const ae=b?"markerStart":"markerEnd";(x=re.style[ae])===null||x===void 0||x.destroy(),re.style[ae]=null}}getArrowStyle(a,y){const x=this.getShape("key").attributes,b=y?"startArrow":"endArrow",z=$l(this.getGraphicStyle(a),b),{size:te,type:re}=z,ae=jp(z,["size","type"]),[se,fe]=kc(g8(x.lineWidth,te)),Se=(Gi(re)?re:Ve[re]||Ow)(se,fe);return Object.assign(Ag(x,["stroke","strokeOpacity","fillOpacity"]),{width:se,height:fe},Object.assign({},Se&&{d:Se,fill:re==="simple"?"":x.stroke}),ae)}drawLabelShape(a,y){const x=this.getLabelStyle(a);this.upsert("label",fh,x,y)}drawHaloShape(a,y){const x=this.getHaloStyle(a);this.upsert("halo",Nc,x,y)}drawBadgeShape(a,y){const x=this.getBadgeStyle(a);this.upsert("badge",d0,x,y)}drawSourceArrow(a){this.drawArrow(a,"start")}drawTargetArrow(a){this.drawArrow(a,"end")}drawKeyShape(a,y){const x=this.getKeyStyle(a);return this.upsert("key",Nc,x,y)}render(a=this.parsedAttributes,y=this){this.drawKeyShape(a,y),this.getShape("key")&&(this.drawSourceArrow(a),this.drawTargetArrow(a),this.drawLabelShape(a,y),this.drawHaloShape(a,y),this.drawBadgeShape(a,y))}onframe(){this.drawKeyShape(this.parsedAttributes,this),this.drawSourceArrow(this.parsedAttributes),this.drawTargetArrow(this.parsedAttributes),this.drawHaloShape(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this),this.drawBadgeShape(this.parsedAttributes,this)}animate(a,y){const x=super.animate(a,y);return x&&new Proxy(x,{set:(b,z,te)=>(z==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(b,z,te))})}}gh.defaultStyleProps={badge:!0,badgeOffsetX:0,badgeOffsetY:0,badgePlacement:"suffix",isBillboard:!0,label:!0,labelAutoRotate:!0,labelIsBillboard:!0,labelMaxWidth:"80%",labelOffsetX:4,labelOffsetY:0,labelPlacement:"center",labelTextBaseline:"middle",labelWordWrap:!1,halo:!1,haloDroppable:!1,haloLineDash:0,haloLineWidth:12,haloPointerEvents:"none",haloStrokeOpacity:.25,haloZIndex:-1,loop:!0,startArrow:!1,startArrowLineDash:0,startArrowLineJoin:"round",startArrowLineWidth:1,startArrowTransformOrigin:"center",startArrowType:"vee",endArrow:!1,endArrowLineDash:0,endArrowLineJoin:"round",endArrowLineWidth:1,endArrowTransformOrigin:"center",endArrowType:"vee",loopPlacement:"top",loopClockwise:!0};class xg extends gh{constructor(a){super(yu({style:xg.defaultStyleProps},a))}getKeyPath(a){const[y,x]=this.getEndpoints(a),{controlPoints:b,curvePosition:z,curveOffset:te}=a,re=this.getControlPoints(y,x,o8(z),i8(te),b);return Dw(y,x,re)}getControlPoints(a,y,x,b,z){return(z==null?void 0:z.length)===2?z:[zA(a,y,x[0],b[0]),zA(a,y,x[1],b[1])]}}xg.defaultStyleProps={curvePosition:.5,curveOffset:20};class Gp extends xg{constructor(a){super(yu({style:Gp.defaultStyleProps},a))}getControlPoints(a,y,x,b){const z=y[0]-a[0];return[[a[0]+z*x[0]+b[0],a[1]],[y[0]-z*x[1]+b[1],y[1]]]}}Gp.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class Vp extends xg{constructor(a){super(yu({style:Vp.defaultStyleProps},a))}get ref(){return this.context.model.getRootsData()[0]}getEndpoints(a){if(this.sourceNode.id===this.ref.id)return super.getEndpoints(a);const y=lu(this.ref),x=this.sourceNode.getIntersectPoint(y,!0),b=this.targetNode.getIntersectPoint(y);return[x,b]}toRadialCoordinate(a){const y=lu(this.ref),x=cl(a,y),b=F2(qs(a,y));return[x,b]}getControlPoints(a,y,x,b){const[z,te]=this.toRadialCoordinate(a),[re]=this.toRadialCoordinate(y),ae=re-z;return[[a[0]+(ae*x[0]+b[0])*Math.cos(te),a[1]+(ae*x[0]+b[0])*Math.sin(te)],[y[0]-(ae*x[1]-b[0])*Math.cos(te),y[1]-(ae*x[1]-b[0])*Math.sin(te)]]}}Vp.defaultStyleProps={curvePosition:.5,curveOffset:20};class Hp extends xg{constructor(a){super(yu({style:Hp.defaultStyleProps},a))}getControlPoints(a,y,x,b){const z=y[1]-a[1];return[[a[0],a[1]+z*x[0]+b[0]],[y[0],y[1]-z*x[1]+b[1]]]}}Hp.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class Kp extends gh{constructor(a){super(yu({style:Kp.defaultStyleProps},a))}getKeyPath(a){const[y,x]=this.getEndpoints(a);return[["M",y[0],y[1]],["L",x[0],x[1]]]}}Kp.defaultStyleProps={};const x8={enableObstacleAvoidance:!1,offset:10,maxAllowedDirectionChange:Math.PI/2,maximumLoops:3e3,gridSize:5,startDirections:["top","right","bottom","left"],endDirections:["top","right","bottom","left"],directionMap:{right:{stepX:1,stepY:0},left:{stepX:-1,stepY:0},bottom:{stepX:0,stepY:1},top:{stepX:0,stepY:-1}},penalties:{0:0,90:0},distFunc:Ap},Bf=E=>`${Math.round(E[0])}|||${Math.round(E[1])}`;function Sg(E,a){const y=x=>Math.round(x/a);return Oi(E)?y(E):E.map(y)}function S8(E,a){const y=Math.abs(E-a);return y>Math.PI?2*Math.PI-y:y}function Tw(E,a){const y=a[0]-E[0],x=a[1]-E[1];return!y&&!x?0:Math.atan2(x,y)}function Bw(E,a,y,x){const b=Tw(E,a),z=y[Bf(E)],re=Tw(z||x,E);return S8(re,b)}const b8=(E,a)=>{const{offset:y,gridSize:x}=a,b={};return E.forEach(z=>{if(!z||z.destroyed||!z.isVisible())return;const te=lh(z.getRenderBounds(),y);for(let re=Sg(te.min[0],x);re<=Sg(te.max[0],x);re+=1)for(let ae=Sg(te.min[1],x);ae<=Sg(te.max[1],x);ae+=1)b[`${re}|||${ae}`]=!0}),b};function Nw(E,a,y){return Math.min(...a.map(x=>y(E,x)))}function C8(E,a,y){let x=E[0],b=y(E[0],a);for(let z=0;z<E.length;z++){const te=E[z],re=y(te,a);re<b&&(x=te,b=re)}return x}const Rw=(E,a,y,x)=>{if(!a)return[E];const{directionMap:b,offset:z}=x,te=lh(a.getRenderBounds(),z),re=Object.keys(b).reduce((ae,se)=>{if(y.includes(se)){const fe=b[se],[me,Se]=oh(te),Te=[E[0]+fe.stepX*me,E[1]+fe.stepY*Se],ke=SR(te);for(let We=0;We<ke.length;We++){const je=AA([E,Te],ke[We]);je&&QP(je,te)&&ae.push(je)}}return ae},[]);return Ld(E,te)||re.push(E),re.map(ae=>Sg(ae,x.gridSize))},P8=(E,a,y,x,b,z,te)=>{const re=[];let ae=[z[0]===x[0]?x[0]:E[0]*te,z[1]===x[1]?x[1]:E[1]*te];re.unshift(ae);let se=E,fe=a[Bf(se)];for(;fe;){const Te=fe,ke=se;Bw(Te,ke,a,y)&&(ae=[Te[0]===ke[0]?ae[0]:Te[0]*te,Te[1]===ke[1]?ae[1]:Te[1]*te],re.unshift(ae)),fe=a[Bf(Te)],se=Te}const me=b.map(Te=>[Te[0]*te,Te[1]*te]),Se=C8(me,ae,Ap);return re.unshift(Se),re};function w8(E,a,y,x){const b=vg(E.getCenter()),z=vg(a.getCenter()),te=Object.assign(x8,x),{gridSize:re}=te,ae=te.enableObstacleAvoidance?y:[E,a],se=b8(ae,te),fe=Sg(b,re),me=Sg(z,re),Se=Rw(b,E,te.startDirections,te),Te=Rw(z,a,te.endDirections,te);Se.forEach(lt=>delete se[Bf(lt)]),Te.forEach(lt=>delete se[Bf(lt)]);const ke={},We={},je={},Ke={},Qe={},Je=new M8;for(let lt=0;lt<Se.length;lt++){const Dt=Se[lt],Bt=Bf(Dt);ke[Bt]=Dt,Ke[Bt]=0,Qe[Bt]=Nw(Dt,Te,te.distFunc),Je.add({id:Bt,value:Qe[Bt]})}const at=Te.map(lt=>Bf(lt));let ot=te.maximumLoops,ut,ft=1/0;for(const[lt,Dt]of Object.entries(ke))Qe[lt]<=ft&&(ft=Qe[lt],ut=Dt);for(;Object.keys(ke).length>0&&ot>0;){const lt=Je.minId(!1);if(lt)ut=ke[lt];else break;const Dt=Bf(ut);if(at.includes(Dt))return P8(ut,je,fe,z,Se,me,re);delete ke[Dt],Je.remove(Dt),We[Dt]=!0;for(const Bt of Object.values(te.directionMap)){const Vt=Ho(ut,[Bt.stepX,Bt.stepY]),Xt=Bf(Vt);if(We[Xt])continue;const vn=Bw(ut,Vt,je,fe);if(vn>te.maxAllowedDirectionChange||se[Xt])continue;ke[Xt]||(ke[Xt]=Vt);const on=te.penalties[vn],wn=te.distFunc(ut,Vt)+(isNaN(on)?re:on),qn=Ke[Dt]+wn,yn=Ke[Xt];yn&&qn>=yn||(je[Xt]=ut,Ke[Xt]=qn,Qe[Xt]=qn+Nw(Vt,Te,te.distFunc),Je.add({id:Xt,value:Qe[Xt]}))}ot-=1}return[]}class M8{constructor(){this.arr=[],this.map={},this.arr=[],this.map={}}_innerAdd(a,y){let x=0,b=y-1;for(;b-x>1;){const z=Math.floor((x+b)/2);if(this.arr[z].value>a.value)b=z;else if(this.arr[z].value<a.value)x=z;else{this.arr.splice(z,0,a),this.map[a.id]=!0;return}}this.arr.splice(b,0,a),this.map[a.id]=!0}add(a){delete this.map[a.id];const y=this.arr.length;if(!y||this.arr[y-1].value<a.value){this.arr.push(a),this.map[a.id]=!0;return}this._innerAdd(a,y)}remove(a){this.map[a]&&delete this.map[a]}_clearAndGetMinId(){let a;for(let y=this.arr.length-1;y>=0;y--)this.map[this.arr[y].id]?a=this.arr[y].id:this.arr.splice(y,1);return a}_findFirstId(){for(;this.arr.length;){const a=this.arr.shift();if(this.map[a.id])return a.id}}minId(a){return a?this._clearAndGetMinId():this._findFirstId()}}class Zp extends gh{constructor(a){super(yu({style:Zp.defaultStyleProps},a))}getControlPoints(a){const{router:y}=a,{sourceNode:x,targetNode:b}=this,[z,te]=this.getEndpoints(a,!1);let re=[];if(!y)re=a.controlPoints;else if(y.type==="shortest-path"){const ae=this.context.element.getNodes();re=w8(x,b,ae,y),re.length||(re=Sw(z,te,x,b,a.controlPoints,{padding:y.offset}))}else y.type==="orth"&&(re=Sw(z,te,x,b,a.controlPoints,y));return re}getPoints(a){const y=this.getControlPoints(a),[x,b]=this.getEndpoints(a,!0,y);return[x,...y,b]}getKeyPath(a){const y=this.getPoints(a);return UA(y,a.radius)}getLoopPath(a){const{sourcePort:y,targetPort:x,radius:b}=a,z=this.sourceNode,te=sh(z),re=Math.max(af(te),of(te))/4,{placement:ae,clockwise:se,dist:fe=re}=$l(this.getGraphicStyle(a),"loop");return f8(z,b,ae,se,fe,y,x)}}Zp.defaultStyleProps={radius:0,controlPoints:[],router:!1};class Qp extends gh{constructor(a){super(yu({style:Qp.defaultStyleProps},a))}getKeyPath(a){const{curvePosition:y,curveOffset:x}=a,[b,z]=this.getEndpoints(a),te=a.controlPoint||zA(b,z,y,x);return s8(b,z,te)}}Qp.defaultStyleProps={curvePosition:.5,curveOffset:30};var D8=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};function xv(E){return E instanceof Nd&&E.type==="node"}function _w(E){return E instanceof gh}function jA(E){return E instanceof h0}function I8(E){return xv(E)||_w(E)||jA(E)}function L8(E,a){return!E||!a?!1:E===a}const O8={top:[.5,0],right:[1,.5],bottom:[.5,1],left:[0,.5],default:[.5,.5]};function GA(E,a,y=O8,x=!0){const b=[.5,.5],z=Is(a)?nc(y,a.toLocaleLowerCase(),b):a;if(!x&&Is(a))return z;const[te,re]=z||b;return[E.min[0]+af(E)*te,E.min[1]+of(E)*re]}function VA(E){if(!E)return{};const a=E.getPorts();return(E.attributes.ports||[]).forEach((x,b)=>{var z;const{key:te,placement:re}=x;Fw(x)&&(a[z=te||b]||(a[z]=Of(E.getShape("key").getBounds(),re)))}),a}function Fw(E){const{r:a}=E;return!a||Number(a)===0}function vh(E){return l0(E)?E:E.getPosition()}function T8(E,a,y,x){const b=kw(E,a,y,x),z=kw(a,E,x,y);return[b,z]}function kw(E,a,y,x){const b=VA(E);if(y)return b[y];const z=Object.values(b);if(z.length===0)return;const te=z.map(se=>vh(se)),re=B8(a,x),[ae]=y_(te,re);return z.find(se=>vh(se)===ae)}function B8(E,a){const y=VA(E);if(a)return[vh(y[a])];const x=Object.values(y);return x.length>0?x.map(b=>vh(b)):[E.getCenter()]}function zw(E,a){return jA(E)||xv(E)?HA(E,a):Sv(E,a)}function Sv(E,a){if(!E||!a)return[0,0,0];if(l0(E))return E;if(E.attributes.linkToCenter)return E.getPosition();const y=l0(a)?a:xv(a)?a.getCenter():a.getPosition();return Sp(y,E.getBounds())}function HA(E,a){if(!E||!a)return[0,0,0];const y=l0(a)?a:xv(a)?a.getCenter():a.getPosition();return E.getIntersectPoint(y)||E.getCenter()}function Uw(E,a="bottom",y=0,x=0,b=!1){const z=a.split("-"),[te,re]=Of(E,a),ae=z.includes("left")?"right":z.includes("right")?"left":"center";let se=z.includes("top")?"bottom":z.includes("bottom")?"top":"middle";return b&&(se=se==="top"?"bottom":se==="bottom"?"top":se),{transform:[["translate",te+y,re+x]],textBaseline:se,textAlign:ae}}function N8(E,a){return[[0,-E],[a*Math.cos(3*Math.PI/10),-a*Math.sin(3*Math.PI/10)],[E*Math.cos(Math.PI/10),-E*Math.sin(Math.PI/10)],[a*Math.cos(Math.PI/10),a*Math.sin(Math.PI/10)],[E*Math.cos(3*Math.PI/10),E*Math.sin(3*Math.PI/10)],[0,a],[-E*Math.cos(3*Math.PI/10),E*Math.sin(3*Math.PI/10)],[-a*Math.cos(Math.PI/10),a*Math.sin(Math.PI/10)],[-E*Math.cos(Math.PI/10),-E*Math.sin(Math.PI/10)],[-a*Math.cos(3*Math.PI/10),-a*Math.sin(3*Math.PI/10)]]}function R8(E,a){const y={};return y.top=[0,-E],y.left=[-E*Math.cos(Math.PI/10),-E*Math.sin(Math.PI/10)],y["left-bottom"]=[-E*Math.cos(3*Math.PI/10),E*Math.sin(3*Math.PI/10)],y.bottom=[0,a],y["right-bottom"]=[E*Math.cos(3*Math.PI/10),E*Math.sin(3*Math.PI/10)],y.right=y.default=[E*Math.cos(Math.PI/10),-E*Math.sin(Math.PI/10)],y}function _8(E,a,y){const x=a/2,b=E/2,z={up:[[-b,x],[b,x],[0,-x]],left:[[-b,0],[b,x],[b,-x]],right:[[-b,x],[-b,-x],[b,0]],down:[[-b,-x],[b,-x],[0,x]]};return z[y]||z.up}function F8(E,a,y){const x=a/2,b=E/2,z={};return y==="down"?(z.bottom=z.default=[0,x],z.right=[b,-x],z.left=[-b,-x]):y==="left"?(z.top=[b,-x],z.bottom=[b,x],z.left=z.default=[-b,0]):y==="right"?(z.top=[-b,-x],z.bottom=[-b,x],z.right=z.default=[b,0]):(z.left=[-b,x],z.top=z.default=[0,-x],z.right=[b,x]),z}function VJ(E,a){return[[E/2,-a/2],[E/2,a/2],[-E/2,a/2],[-E/2,-a/2]]}function k8(E,a){return[[0,-a/2],[E/2,0],[0,a/2],[-E/2,0]]}function z8(E){return nc(E,["style","visibility"])!=="hidden"}function U8(E,a){const{zIndex:y,transform:x,transformOrigin:b,visibility:z,cursor:te,clipPath:re,component:ae}=a,se=D8(a,["zIndex","transform","transformOrigin","visibility","cursor","clipPath","component"]);Object.assign(E.attributes,se),x&&E.setAttribute("transform",x),Oi(y)&&E.setAttribute("zIndex",y),b&&E.setAttribute("transformOrigin",b),z&&E.setAttribute("visibility",z),te&&E.setAttribute("cursor",te),re&&E.setAttribute("clipPath",re),ae&&E.setAttribute("component",ae)}function KA(E,a){"update"in E?E.update(a):E.attr(a)}function W8(E){return[[0,E],[E*Math.sqrt(3)/2,E/2],[E*Math.sqrt(3)/2,-E/2],[0,-E],[-E*Math.sqrt(3)/2,-E/2],[-E*Math.sqrt(3)/2,E/2]]}function j8(E){vv(E,"__to_be_destroyed__",!0)}function Yp(E){return nc(E,"__to_be_destroyed__",!1)}var G8=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class Xp extends Fc{constructor(a,y){super(a,Object.assign({},Xp.defaultOptions,y)),this.onCollapseExpand=x=>G8(this,void 0,void 0,function*(){if(!this.validate(x))return;const{target:b}=x;if(!I8(b))return;const z=b.id,{model:te,graph:re}=this.context,ae=te.getElementDataById(z);if(!ae)return!1;const{onCollapse:se,onExpand:fe,animation:me,align:Se}=this.options;Ac(ae)?(yield re.expandElement(z,{animation:me,align:Se}),fe==null||fe(z)):(yield re.collapseElement(z,{animation:me,align:Se}),se==null||se(z))}),this.bindEvents()}update(a){this.unbindEvents(),super.update(a),this.bindEvents()}bindEvents(){const{graph:a}=this.context,{trigger:y}=this.options;a.on(`node:${y}`,this.onCollapseExpand),a.on(`combo:${y}`,this.onCollapseExpand)}unbindEvents(){const{graph:a}=this.context,{trigger:y}=this.options;a.off(`node:${y}`,this.onCollapseExpand),a.off(`combo:${y}`,this.onCollapseExpand)}validate(a){if(this.destroyed)return!1;const{enable:y}=this.options;return Gi(y)?y(a):!!y}destroy(){this.unbindEvents(),super.destroy()}}Xp.defaultOptions={enable:!0,animation:!0,trigger:ga.DBLCLICK,align:!0};var Jp={},V8=function(E){return E=E||"g",Jp[E]?Jp[E]+=1:Jp[E]=1,E+Jp[E]},qp=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};const H8="g6-create-edge-assist-edge-id",$p="g6-create-edge-assist-node-id";class ey extends Fc{constructor(a,y){super(a,Object.assign({},ey.defaultOptions,y)),this.drop=x=>qp(this,void 0,void 0,function*(){const{targetType:b}=x;["combo","node"].includes(b)&&this.source?yield this.handleCreateEdge(x):yield this.cancelEdge()}),this.handleCreateEdge=x=>qp(this,void 0,void 0,function*(){var b,z,te;if(!this.validate(x))return;const{graph:re,canvas:ae,batch:se,element:fe}=this.context,{style:me}=this.options;if(this.source){this.createEdge(x),yield this.cancelEdge();return}se.startBatch(),ae.setCursor("crosshair"),this.source=this.getSelectedNodeIDs([x.target.id])[0];const Se=re.getElementData(this.source);re.addNodeData([{id:$p,style:{visibility:"hidden",ports:[{key:"port-1",placement:[.5,.5]}],x:(b=Se.style)===null||b===void 0?void 0:b.x,y:(z=Se.style)===null||z===void 0?void 0:z.y}}]),re.addEdgeData([{id:H8,source:this.source,target:$p,style:Object.assign({pointerEvents:"none"},me)}]),yield(te=fe.draw({animation:!1}))===null||te===void 0?void 0:te.finished}),this.updateAssistEdge=x=>qp(this,void 0,void 0,function*(){var b;if(!this.source)return;const{model:z,element:te}=this.context;z.translateNodeTo($p,[x.canvas.x,x.canvas.y]),yield(b=te.draw({animation:!1,silence:!0}))===null||b===void 0?void 0:b.finished}),this.createEdge=x=>{var b,z;const{graph:te}=this.context,{style:re,onFinish:ae,onCreate:se}=this.options;if(((b=x.target)===null||b===void 0?void 0:b.id)===void 0||this.source===void 0)return;const me=(z=this.getSelectedNodeIDs([x.target.id]))===null||z===void 0?void 0:z[0],Se=`${this.source}-${me}-${V8()}`,Te=se({id:Se,source:this.source,target:me,style:re});te.addEdgeData([Te]),ae(Te)},this.cancelEdge=()=>qp(this,void 0,void 0,function*(){var x;if(!this.source)return;const{graph:b,element:z,batch:te}=this.context;b.removeNodeData([$p]),this.source=void 0,yield(x=z.draw({animation:!1}))===null||x===void 0?void 0:x.finished,te.endBatch()}),this.bindEvents()}update(a){super.update(a),this.bindEvents()}bindEvents(){const{graph:a}=this.context,{trigger:y}=this.options;this.unbindEvents(),y==="click"?(a.on(sd.CLICK,this.handleCreateEdge),a.on(dg.CLICK,this.handleCreateEdge),a.on(wf.CLICK,this.cancelEdge),a.on(rp.CLICK,this.cancelEdge)):(a.on(sd.DRAG_START,this.handleCreateEdge),a.on(dg.DRAG_START,this.handleCreateEdge),a.on(ga.POINTER_UP,this.drop)),a.on(ga.POINTER_MOVE,this.updateAssistEdge)}getSelectedNodeIDs(a){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(y=>y.id).concat(a)))}validate(a){if(this.destroyed)return!1;const{enable:y}=this.options;return Gi(y)?y(a):!!y}unbindEvents(){const{graph:a}=this.context;a.off(sd.CLICK,this.handleCreateEdge),a.off(dg.CLICK,this.handleCreateEdge),a.off(wf.CLICK,this.cancelEdge),a.off(rp.CLICK,this.cancelEdge),a.off(sd.DRAG_START,this.handleCreateEdge),a.off(dg.DRAG_START,this.handleCreateEdge),a.off(ga.POINTER_UP,this.drop),a.off(ga.POINTER_MOVE,this.updateAssistEdge)}destroy(){this.unbindEvents(),super.destroy()}}ey.defaultOptions={animation:!0,enable:!0,style:{},trigger:"drag",onCreate:E=>E,onFinish:()=>{}};function K8(E,a,y){var x;return function(){var b=this,z=arguments,te=function(){x=null,y||E.apply(b,z)},re=y&&!x;clearTimeout(x),x=setTimeout(te,a),re&&E.apply(b,z)}}var bv=K8,Ww=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class ty extends Fc{constructor(a,y){super(a,Object.assign({},ty.defaultOptions,y)),this.isDragging=!1,this.onDragStart=x=>{this.validate(x)&&(this.isDragging=!0,this.context.canvas.setCursor("grabbing"))},this.onDrag=x=>{var b,z,te,re;if(!this.isDragging)return;const ae=(z=(b=x.movement)===null||b===void 0?void 0:b.x)!==null&&z!==void 0?z:x.dx,se=(re=(te=x.movement)===null||te===void 0?void 0:te.y)!==null&&re!==void 0?re:x.dy;ae|se&&this.translate([ae,se],!1)},this.onDragEnd=()=>{var x,b;this.isDragging=!1,this.context.canvas.setCursor(this.defaultCursor),(b=(x=this.options).onFinish)===null||b===void 0||b.call(x)},this.invokeOnFinish=bv(()=>{var x,b;(b=(x=this.options).onFinish)===null||b===void 0||b.call(x)},300),this.shortcut=new c0(a.graph),this.bindEvents(),this.defaultCursor=this.context.canvas.getConfig().cursor||"default"}update(a){this.unbindEvents(),super.update(a),this.bindEvents()}bindEvents(){const{trigger:a}=this.options;if(jl(a)){const{up:y=[],down:x=[],left:b=[],right:z=[]}=a;this.shortcut.bind(y,te=>this.onTranslate([0,1],te)),this.shortcut.bind(x,te=>this.onTranslate([0,-1],te)),this.shortcut.bind(b,te=>this.onTranslate([1,0],te)),this.shortcut.bind(z,te=>this.onTranslate([-1,0],te))}else{const{graph:y}=this.context;y.on(ga.DRAG_START,this.onDragStart),y.on(ga.DRAG,this.onDrag),y.on(ga.DRAG_END,this.onDragEnd)}}onTranslate(a,y){return Ww(this,void 0,void 0,function*(){if(!this.validate(y))return;const{sensitivity:x}=this.options,b=x*-1;yield this.translate(If(a,b),this.options.animation),this.invokeOnFinish()})}translate(a,y){return Ww(this,void 0,void 0,function*(){a=this.clampByDirection(a),a=this.clampByRange(a),yield this.context.graph.translateBy(a,y)})}clampByDirection([a,y]){const{direction:x}=this.options;return x==="x"?y=0:x==="y"&&(a=0),[a,y]}clampByRange([a,y]){const{viewport:x,canvas:b}=this.context,[z,te]=b.getSize(),[re,ae,se,fe]=Id(this.options.range),me=[te*re,z*ae,te*se,z*fe],Se=lh(iA(x.getCanvasCenter()),me),Te=qs(x.getViewportCenter(),[a,y,0]);if(!Ld(Te,Se)){const{min:[ke,We],max:[je,Ke]}=Se;(Te[0]<ke&&a>0||Te[0]>je&&a<0)&&(a=0),(Te[1]<We&&y>0||Te[1]>Ke&&y<0)&&(y=0)}return[a,y]}validate(a){if(this.destroyed)return!1;const{enable:y}=this.options;return typeof y=="function"?y(a):!!y}unbindEvents(){this.shortcut.unbindAll();const{graph:a}=this.context;a.off(ga.DRAG_START,this.onDragStart),a.off(ga.DRAG,this.onDrag),a.off(ga.DRAG_END,this.onDragEnd)}destroy(){this.shortcut.destroy(),this.unbindEvents(),this.context.canvas.setCursor(this.defaultCursor),super.destroy()}}ty.defaultOptions={enable:E=>"targetType"in E?E.targetType==="canvas":!0,sensitivity:10,direction:"both",range:1/0};var jw=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class Cv extends Fc{constructor(a,y){super(a,Object.assign({},Cv.defaultOptions,y)),this.enable=!1,this.enableElements=["node","combo"],this.target=[],this.shadowOrigin=[0,0],this.hiddenEdges=[],this.isDragging=!1,this.onDrop=x=>jw(this,void 0,void 0,function*(){var b;if(this.options.dropEffect!=="link")return;const{model:z,element:te}=this.context,re=x.target.id;this.target.forEach(ae=>{const se=z.getParentData(ae,rl);se&&_r(se)===re&&z.refreshComboData(re),z.setParent(ae,re,rl)}),yield(b=te==null?void 0:te.draw({animation:!0}))===null||b===void 0?void 0:b.finished}),this.setCursor=x=>{if(this.isDragging)return;const{type:b}=x,{canvas:z}=this.context,{cursor:te}=this.options;b===ga.POINTER_ENTER?z.setCursor((te==null?void 0:te.grab)||"grab"):z.setCursor((te==null?void 0:te.default)||"default")},this.onDragStart=this.onDragStart.bind(this),this.onDrag=this.onDrag.bind(this),this.onDragEnd=this.onDragEnd.bind(this),this.onDrop=this.onDrop.bind(this),this.bindEvents()}update(a){this.unbindEvents(),super.update(a),this.bindEvents()}bindEvents(){const{graph:a,canvas:y}=this.context,x=y.getLayer().getContextService().$canvas;x&&(x.addEventListener("blur",this.onDragEnd),x.addEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(b=>{a.on(`${b}:${ga.DRAG_START}`,this.onDragStart),a.on(`${b}:${ga.DRAG}`,this.onDrag),a.on(`${b}:${ga.DRAG_END}`,this.onDragEnd),a.on(`${b}:${ga.POINTER_ENTER}`,this.setCursor),a.on(`${b}:${ga.POINTER_LEAVE}`,this.setCursor)}),["link"].includes(this.options.dropEffect)&&(a.on(dg.DROP,this.onDrop),a.on(wf.DROP,this.onDrop))}getSelectedNodeIDs(a){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(y=>y.id).concat(a)))}getDelta(a){const y=this.context.graph.getZoom();return Td([a.dx,a.dy],y)}onDragStart(a){var y;if(this.enable=this.validate(a),!this.enable)return;const{batch:x,canvas:b,graph:z}=this.context;b.setCursor(((y=this.options.cursor)===null||y===void 0?void 0:y.grabbing)||"grabbing"),this.isDragging=!0,x.startBatch();const te=a.target.id;z.getElementState(te).includes(this.options.state)?this.target=this.getSelectedNodeIDs([te]):this.target=[te],this.hideEdge(),this.context.graph.frontElement(this.target),this.options.shadow&&this.createShadow(this.target)}onDrag(a){if(!this.enable)return;const y=this.getDelta(a);this.options.shadow?this.moveShadow(y):this.moveElement(this.target,y)}onDragEnd(){var a,y,x;if(this.enable=!1,this.options.shadow){if(!this.shadow)return;this.shadow.style.visibility="hidden";const{x:te=0,y:re=0}=this.shadow.attributes,[ae,se]=qs([+te,+re],this.shadowOrigin);this.moveElement(this.target,[ae,se])}this.showEdges(),(y=(a=this.options).onFinish)===null||y===void 0||y.call(a,this.target);const{batch:b,canvas:z}=this.context;b.endBatch(),z.setCursor(((x=this.options.cursor)===null||x===void 0?void 0:x.grab)||"grab"),this.isDragging=!1,this.target=[]}validate(a){if(this.destroyed)return!1;const{enable:y}=this.options;return Gi(y)?y(a):!!y}moveElement(a,y){return jw(this,void 0,void 0,function*(){const{graph:x,model:b}=this.context,{dropEffect:z}=this.options;z==="move"&&a.forEach(te=>b.refreshComboData(te)),x.translateElementBy(Object.fromEntries(a.map(te=>[te,y])),!1)})}moveShadow(a){if(!this.shadow)return;const{x:y=0,y:x=0}=this.shadow.attributes,[b,z]=a;this.shadow.attr({x:+y+b,y:+x+z})}createShadow(a){const y=$l(this.options,"shadow"),x=lv(a.map(se=>this.context.element.getElement(se).getBounds())),[b,z]=x.min;this.shadowOrigin=[b,z];const[te,re]=oh(x),ae={width:te,height:re,x:b,y:z};this.shadow?this.shadow.attr(Object.assign(Object.assign(Object.assign({},y),ae),{visibility:"visible"})):(this.shadow=new Mu({style:Object.assign(Object.assign(Object.assign({$layer:"transient"},y),ae),{pointerEvents:"none"})}),this.context.canvas.appendChild(this.shadow))}showEdges(){this.options.shadow||this.hiddenEdges.length===0||(this.context.graph.showElement(this.hiddenEdges),this.hiddenEdges=[])}hideEdge(){const{hideEdge:a,shadow:y}=this.options;if(a==="none"||y)return;const{graph:x}=this.context;a==="all"?this.hiddenEdges=x.getEdgeData().map(_r):this.hiddenEdges=Array.from(new Set(this.target.map(b=>x.getRelatedEdgesData(b,a).map(_r)).flat())),x.hideElement(this.hiddenEdges)}unbindEvents(){const{graph:a,canvas:y}=this.context,x=y.getLayer().getContextService().$canvas;x&&(x.removeEventListener("blur",this.onDragEnd),x.removeEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(b=>{a.off(`${b}:${ga.DRAG_START}`,this.onDragStart),a.off(`${b}:${ga.DRAG}`,this.onDrag),a.off(`${b}:${ga.DRAG_END}`,this.onDragEnd),a.off(`${b}:${ga.POINTER_ENTER}`,this.setCursor),a.off(`${b}:${ga.POINTER_LEAVE}`,this.setCursor)}),a.off(`combo:${ga.DROP}`,this.onDrop),a.off(`canvas:${ga.DROP}`,this.onDrop)}destroy(){var a;this.unbindEvents(),(a=this.shadow)===null||a===void 0||a.destroy(),super.destroy()}}Cv.defaultOptions={animation:!0,enable:E=>["node","combo"].includes(E.targetType),dropEffect:"move",state:"selected",hideEdge:"none",shadow:!1,shadowZIndex:100,shadowFill:"#F3F9FF",shadowFillOpacity:.5,shadowStroke:"#1890FF",shadowStrokeOpacity:.9,shadowLineDash:[5,5],cursor:{default:"default",grab:"grab",grabbing:"grabbing"}};var Z8="*",Q8=function(){function E(){this._events={}}return E.prototype.on=function(a,y,x){return this._events[a]||(this._events[a]=[]),this._events[a].push({callback:y,once:!!x}),this},E.prototype.once=function(a,y){return this.on(a,y,!0)},E.prototype.emit=function(a){for(var y=this,x=[],b=1;b<arguments.length;b++)x[b-1]=arguments[b];var z=this._events[a]||[],te=this._events[Z8]||[],re=function(ae){for(var se=ae.length,fe=0;fe<se;fe++)if(ae[fe]){var me=ae[fe],Se=me.callback,Te=me.once;Te&&(ae.splice(fe,1),ae.length===0&&delete y._events[a],se--,fe--),Se.apply(y,x)}};re(z),re(te)},E.prototype.off=function(a,y){if(!a)this._events={};else if(!y)delete this._events[a];else{for(var x=this._events[a]||[],b=x.length,z=0;z<b;z++)x[z].callback===y&&(x.splice(z,1),b--,z--);x.length===0&&delete this._events[a]}return this},E.prototype.getEvents=function(){return this._events},E}(),ny=Q8;function ZA(E,a,y,x){for(;E.length;){const b=E.shift();if(y(b))return!0;a.add(b.id),x(b.id).forEach(te=>{a.has(te.id)||(a.add(te.id),E.push(te))})}return!1}function ry(E,a,y,x){if(y(E))return!0;a.add(E.id);for(const z of x(E.id))if(!a.has(z.id)&&ry(z,a,y,x))return!0;return!1}const Gw=()=>!0;class Y8{constructor(a){Al(this,"graph");Al(this,"nodeFilter");Al(this,"edgeFilter");Al(this,"cacheEnabled");Al(this,"inEdgesMap",new Map);Al(this,"outEdgesMap",new Map);Al(this,"bothEdgesMap",new Map);Al(this,"allNodesMap",new Map);Al(this,"allEdgesMap",new Map);Al(this,"clearCache",()=>{this.inEdgesMap.clear(),this.outEdgesMap.clear(),this.bothEdgesMap.clear(),this.allNodesMap.clear(),this.allEdgesMap.clear()});Al(this,"refreshCache",()=>{this.clearCache(),this.updateCache(this.graph.getAllNodes().map(a=>a.id))});Al(this,"updateCache",a=>{const y=new Set;a.forEach(x=>{const b=this.bothEdgesMap.get(x);if(b&&b.forEach(z=>y.add(z.id)),!this.hasNode(x))this.inEdgesMap.delete(x),this.outEdgesMap.delete(x),this.bothEdgesMap.delete(x),this.allNodesMap.delete(x);else{const z=this.graph.getRelatedEdges(x,"in").filter(this.edgeFilter),te=this.graph.getRelatedEdges(x,"out").filter(this.edgeFilter),re=Array.from(new Set([...z,...te]));re.forEach(ae=>y.add(ae.id)),this.inEdgesMap.set(x,z),this.outEdgesMap.set(x,te),this.bothEdgesMap.set(x,re),this.allNodesMap.set(x,this.graph.getNode(x))}}),y.forEach(x=>{this.hasEdge(x)?this.allEdgesMap.set(x,this.graph.getEdge(x)):this.allEdgesMap.delete(x)})});Al(this,"handleGraphChanged",a=>{const y=new Set;a.changes.forEach(x=>{switch(x.type){case"NodeAdded":y.add(x.value.id);break;case"NodeDataUpdated":y.add(x.id);break;case"EdgeAdded":y.add(x.value.source),y.add(x.value.target);break;case"EdgeUpdated":(x.propertyName==="source"||x.propertyName==="target")&&(y.add(x.oldValue),y.add(x.newValue));break;case"EdgeDataUpdated":if(a.graph.hasEdge(x.id)){const b=a.graph.getEdge(x.id);y.add(b.source),y.add(b.target)}break;case"EdgeRemoved":y.add(x.value.source),y.add(x.value.target);break;case"NodeRemoved":y.add(x.value.id);break;default:break}}),this.updateCache(y)});this.graph=a.graph;const y=a.nodeFilter||Gw,x=a.edgeFilter||Gw;this.nodeFilter=y,this.edgeFilter=b=>{const{source:z,target:te}=this.graph.getEdgeDetail(b.id);return!y(z)||!y(te)?!1:x(b,z,te)},a.cache==="auto"?(this.cacheEnabled=!0,this.startAutoCache()):a.cache==="manual"?this.cacheEnabled=!0:this.cacheEnabled=!1}startAutoCache(){this.refreshCache(),this.graph.on("changed",this.handleGraphChanged)}stopAutoCache(){this.graph.off("changed",this.handleGraphChanged)}checkNodeExistence(a){this.getNode(a)}hasNode(a){if(!this.graph.hasNode(a))return!1;const y=this.graph.getNode(a);return this.nodeFilter(y)}areNeighbors(a,y){return this.checkNodeExistence(a),this.getNeighbors(y).some(x=>x.id===a)}getNode(a){const y=this.graph.getNode(a);if(!this.nodeFilter(y))throw new Error("Node not found for id: "+a);return y}getRelatedEdges(a,y){return this.checkNodeExistence(a),this.cacheEnabled?y==="in"?this.inEdgesMap.get(a):y==="out"?this.outEdgesMap.get(a):this.bothEdgesMap.get(a):this.graph.getRelatedEdges(a,y).filter(this.edgeFilter)}getDegree(a,y){return this.getRelatedEdges(a,y).length}getSuccessors(a){const x=this.getRelatedEdges(a,"out").map(b=>this.getNode(b.target));return Array.from(new Set(x))}getPredecessors(a){const x=this.getRelatedEdges(a,"in").map(b=>this.getNode(b.source));return Array.from(new Set(x))}getNeighbors(a){const y=this.getPredecessors(a),x=this.getSuccessors(a);return Array.from(new Set([...y,...x]))}hasEdge(a){if(!this.graph.hasEdge(a))return!1;const y=this.graph.getEdge(a);return this.edgeFilter(y)}getEdge(a){const y=this.graph.getEdge(a);if(!this.edgeFilter(y))throw new Error("Edge not found for id: "+a);return y}getEdgeDetail(a){const y=this.getEdge(a);return{edge:y,source:this.getNode(y.source),target:this.getNode(y.target)}}hasTreeStructure(a){return this.graph.hasTreeStructure(a)}getRoots(a){return this.graph.getRoots(a).filter(this.nodeFilter)}getChildren(a,y){return this.checkNodeExistence(a),this.graph.getChildren(a,y).filter(this.nodeFilter)}getParent(a,y){this.checkNodeExistence(a);const x=this.graph.getParent(a,y);return!x||!this.nodeFilter(x)?null:x}getAllNodes(){return this.cacheEnabled?Array.from(this.allNodesMap.values()):this.graph.getAllNodes().filter(this.nodeFilter)}getAllEdges(){return this.cacheEnabled?Array.from(this.allEdgesMap.values()):this.graph.getAllEdges().filter(this.edgeFilter)}bfs(a,y,x="out"){const b={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[x];ZA([this.getNode(a)],new Set,y,b)}dfs(a,y,x="out"){const b={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[x];ry(this.getNode(a),new Set,y,b)}}class Kl extends ny{constructor(y){super();Al(this,"nodeMap",new Map);Al(this,"edgeMap",new Map);Al(this,"inEdgesMap",new Map);Al(this,"outEdgesMap",new Map);Al(this,"bothEdgesMap",new Map);Al(this,"treeIndices",new Map);Al(this,"changes",[]);Al(this,"batchCount",0);Al(this,"onChanged",()=>{});Al(this,"batch",y=>{this.batchCount+=1,y(),this.batchCount-=1,this.batchCount||this.commit()});y&&(y.nodes&&this.addNodes(y.nodes),y.edges&&this.addEdges(y.edges),y.tree&&this.addTree(y.tree),y.onChanged&&(this.onChanged=y.onChanged))}commit(){const y=this.changes;this.changes=[];const x={graph:this,changes:y};this.emit("changed",x),this.onChanged(x)}reduceChanges(y){let x=[];return y.forEach(b=>{switch(b.type){case"NodeRemoved":{let z=!1;x=x.filter(te=>{if(te.type==="NodeAdded"){const re=te.value.id===b.value.id;return re&&(z=!0),!re}else{if(te.type==="NodeDataUpdated")return te.id!==b.value.id;if(te.type==="TreeStructureChanged")return te.nodeId!==b.value.id}return!0}),z||x.push(b);break}case"EdgeRemoved":{let z=!1;x=x.filter(te=>{if(te.type==="EdgeAdded"){const re=te.value.id===b.value.id;return re&&(z=!0),!re}else if(te.type==="EdgeDataUpdated"||te.type==="EdgeUpdated")return te.id!==b.value.id;return!0}),z||x.push(b);break}case"NodeDataUpdated":case"EdgeDataUpdated":case"EdgeUpdated":{const z=x.findIndex(re=>re.type===b.type&&re.id===b.id&&(b.propertyName===void 0||re.propertyName===b.propertyName)),te=x[z];te?b.propertyName!==void 0?te.newValue=b.newValue:(x.splice(z,1),x.push(b)):x.push(b);break}case"TreeStructureDetached":{x=x.filter(z=>z.type==="TreeStructureAttached"||z.type==="TreeStructureChanged"?z.treeKey!==b.treeKey:!0),x.push(b);break}case"TreeStructureChanged":{const z=x.find(te=>te.type==="TreeStructureChanged"&&te.treeKey===b.treeKey&&te.nodeId===b.nodeId);z?z.newParentId=b.newParentId:x.push(b);break}default:x.push(b);break}}),x}checkNodeExistence(y){this.getNode(y)}hasNode(y){return this.nodeMap.has(y)}areNeighbors(y,x){return this.getNeighbors(x).some(b=>b.id===y)}getNode(y){const x=this.nodeMap.get(y);if(!x)throw new Error("Node not found for id: "+y);return x}getRelatedEdges(y,x){if(this.checkNodeExistence(y),x==="in"){const b=this.inEdgesMap.get(y);return Array.from(b)}else if(x==="out"){const b=this.outEdgesMap.get(y);return Array.from(b)}else{const b=this.bothEdgesMap.get(y);return Array.from(b)}}getDegree(y,x){return this.getRelatedEdges(y,x).length}getSuccessors(y){const b=this.getRelatedEdges(y,"out").map(z=>this.getNode(z.target));return Array.from(new Set(b))}getPredecessors(y){const b=this.getRelatedEdges(y,"in").map(z=>this.getNode(z.source));return Array.from(new Set(b))}getNeighbors(y){const x=this.getPredecessors(y),b=this.getSuccessors(y);return Array.from(new Set([...x,...b]))}doAddNode(y){if(this.hasNode(y.id))throw new Error("Node already exists: "+y.id);this.nodeMap.set(y.id,y),this.inEdgesMap.set(y.id,new Set),this.outEdgesMap.set(y.id,new Set),this.bothEdgesMap.set(y.id,new Set),this.treeIndices.forEach(x=>{x.childrenMap.set(y.id,new Set)}),this.changes.push({type:"NodeAdded",value:y})}addNodes(y){this.batch(()=>{for(const x of y)this.doAddNode(x)})}addNode(y){this.addNodes([y])}doRemoveNode(y){const x=this.getNode(y),b=this.bothEdgesMap.get(y);b==null||b.forEach(z=>this.doRemoveEdge(z.id)),this.nodeMap.delete(y),this.treeIndices.forEach(z=>{var re,ae;(re=z.childrenMap.get(y))==null||re.forEach(se=>{z.parentMap.delete(se.id)});const te=z.parentMap.get(y);te&&((ae=z.childrenMap.get(te.id))==null||ae.delete(x)),z.parentMap.delete(y),z.childrenMap.delete(y)}),this.bothEdgesMap.delete(y),this.inEdgesMap.delete(y),this.outEdgesMap.delete(y),this.changes.push({type:"NodeRemoved",value:x})}removeNodes(y){this.batch(()=>{y.forEach(x=>this.doRemoveNode(x))})}removeNode(y){this.removeNodes([y])}updateNodeDataProperty(y,x,b){const z=this.getNode(y);this.batch(()=>{const te=z.data[x],re=b;z.data[x]=re,this.changes.push({type:"NodeDataUpdated",id:y,propertyName:x,oldValue:te,newValue:re})})}mergeNodeData(y,x){this.batch(()=>{Object.entries(x).forEach(([b,z])=>{this.updateNodeDataProperty(y,b,z)})})}updateNodeData(...y){const x=y[0],b=this.getNode(x);if(typeof y[1]=="string"){this.updateNodeDataProperty(x,y[1],y[2]);return}let z;if(typeof y[1]=="function"){const te=y[1];z=te(b.data)}else typeof y[1]=="object"&&(z=y[1]);this.batch(()=>{const te=b.data,re=z;b.data=z,this.changes.push({type:"NodeDataUpdated",id:x,oldValue:te,newValue:re})})}checkEdgeExistence(y){if(!this.hasEdge(y))throw new Error("Edge not found for id: "+y)}hasEdge(y){return this.edgeMap.has(y)}getEdge(y){return this.checkEdgeExistence(y),this.edgeMap.get(y)}getEdgeDetail(y){const x=this.getEdge(y);return{edge:x,source:this.getNode(x.source),target:this.getNode(x.target)}}doAddEdge(y){if(this.hasEdge(y.id))throw new Error("Edge already exists: "+y.id);this.checkNodeExistence(y.source),this.checkNodeExistence(y.target),this.edgeMap.set(y.id,y);const x=this.inEdgesMap.get(y.target),b=this.outEdgesMap.get(y.source),z=this.bothEdgesMap.get(y.source),te=this.bothEdgesMap.get(y.target);x.add(y),b.add(y),z.add(y),te.add(y),this.changes.push({type:"EdgeAdded",value:y})}addEdges(y){this.batch(()=>{for(const x of y)this.doAddEdge(x)})}addEdge(y){this.addEdges([y])}doRemoveEdge(y){const x=this.getEdge(y),b=this.outEdgesMap.get(x.source),z=this.inEdgesMap.get(x.target),te=this.bothEdgesMap.get(x.source),re=this.bothEdgesMap.get(x.target);b.delete(x),z.delete(x),te.delete(x),re.delete(x),this.edgeMap.delete(y),this.changes.push({type:"EdgeRemoved",value:x})}removeEdges(y){this.batch(()=>{y.forEach(x=>this.doRemoveEdge(x))})}removeEdge(y){this.removeEdges([y])}updateEdgeSource(y,x){const b=this.getEdge(y);this.checkNodeExistence(x);const z=b.source,te=x;this.outEdgesMap.get(z).delete(b),this.bothEdgesMap.get(z).delete(b),this.outEdgesMap.get(te).add(b),this.bothEdgesMap.get(te).add(b),b.source=x,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:y,propertyName:"source",oldValue:z,newValue:te})})}updateEdgeTarget(y,x){const b=this.getEdge(y);this.checkNodeExistence(x);const z=b.target,te=x;this.inEdgesMap.get(z).delete(b),this.bothEdgesMap.get(z).delete(b),this.inEdgesMap.get(te).add(b),this.bothEdgesMap.get(te).add(b),b.target=x,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:y,propertyName:"target",oldValue:z,newValue:te})})}updateEdgeDataProperty(y,x,b){const z=this.getEdge(y);this.batch(()=>{const te=z.data[x],re=b;z.data[x]=re,this.changes.push({type:"EdgeDataUpdated",id:y,propertyName:x,oldValue:te,newValue:re})})}updateEdgeData(...y){const x=y[0],b=this.getEdge(x);if(typeof y[1]=="string"){this.updateEdgeDataProperty(x,y[1],y[2]);return}let z;if(typeof y[1]=="function"){const te=y[1];z=te(b.data)}else typeof y[1]=="object"&&(z=y[1]);this.batch(()=>{const te=b.data,re=z;b.data=z,this.changes.push({type:"EdgeDataUpdated",id:x,oldValue:te,newValue:re})})}mergeEdgeData(y,x){this.batch(()=>{Object.entries(x).forEach(([b,z])=>{this.updateEdgeDataProperty(y,b,z)})})}checkTreeExistence(y){if(!this.hasTreeStructure(y))throw new Error("Tree structure not found for treeKey: "+y)}hasTreeStructure(y){return this.treeIndices.has(y)}attachTreeStructure(y){this.treeIndices.has(y)||(this.treeIndices.set(y,{parentMap:new Map,childrenMap:new Map}),this.batch(()=>{this.changes.push({type:"TreeStructureAttached",treeKey:y})}))}detachTreeStructure(y){this.checkTreeExistence(y),this.treeIndices.delete(y),this.batch(()=>{this.changes.push({type:"TreeStructureDetached",treeKey:y})})}addTree(y,x){this.batch(()=>{this.attachTreeStructure(x);const b=[],z=Array.isArray(y)?y:[y];for(;z.length;){const te=z.shift();b.push(te),te.children&&z.push(...te.children)}this.addNodes(b),b.forEach(te=>{var re;(re=te.children)==null||re.forEach(ae=>{this.setParent(ae.id,te.id,x)})})})}getRoots(y){return this.checkTreeExistence(y),this.getAllNodes().filter(x=>!this.getParent(x.id,y))}getChildren(y,x){this.checkNodeExistence(y),this.checkTreeExistence(x);const z=this.treeIndices.get(x).childrenMap.get(y);return Array.from(z||[])}getParent(y,x){return this.checkNodeExistence(y),this.checkTreeExistence(x),this.treeIndices.get(x).parentMap.get(y)||null}getAncestors(y,x){const b=[];let z=this.getNode(y),te;for(;te=this.getParent(z.id,x);)b.push(te),z=te;return b}setParent(y,x,b){var fe,me;this.checkTreeExistence(b);const z=this.treeIndices.get(b);if(!z)return;const te=this.getNode(y),re=z.parentMap.get(y);if((re==null?void 0:re.id)===x)return;if(x==null){re&&((fe=z.childrenMap.get(re.id))==null||fe.delete(te)),z.parentMap.delete(y);return}const ae=this.getNode(x);z.parentMap.set(y,ae),re&&((me=z.childrenMap.get(re.id))==null||me.delete(te));let se=z.childrenMap.get(ae.id);se||(se=new Set,z.childrenMap.set(ae.id,se)),se.add(te),this.batch(()=>{this.changes.push({type:"TreeStructureChanged",treeKey:b,nodeId:y,oldParentId:re==null?void 0:re.id,newParentId:ae.id})})}dfsTree(y,x,b){const z=te=>this.getChildren(te,b);return ry(this.getNode(y),new Set,x,z)}bfsTree(y,x,b){const z=te=>this.getChildren(te,b);return ZA([this.getNode(y)],new Set,x,z)}getAllNodes(){return Array.from(this.nodeMap.values())}getAllEdges(){return Array.from(this.edgeMap.values())}bfs(y,x,b="out"){const z={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[b];return ZA([this.getNode(y)],new Set,x,z)}dfs(y,x,b="out"){const z={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[b];return ry(this.getNode(y),new Set,x,z)}clone(){const y=this.getAllNodes().map(z=>CS(R0({},z),{data:R0({},z.data)})),x=this.getAllEdges().map(z=>CS(R0({},z),{data:R0({},z.data)})),b=new Kl({nodes:y,edges:x});return this.treeIndices.forEach(({parentMap:z,childrenMap:te},re)=>{const ae=new Map;z.forEach((fe,me)=>{ae.set(me,b.getNode(fe.id))});const se=new Map;te.forEach((fe,me)=>{se.set(me,new Set(Array.from(fe).map(Se=>b.getNode(Se.id))))}),b.treeIndices.set(re,{parentMap:ae,childrenMap:se})}),b}toJSON(){return JSON.stringify({nodes:this.getAllNodes(),edges:this.getAllEdges()})}createView(y){return new Y8(R0({graph:this},y))}}class ay{constructor(a,y){this.context=a,this.options=y||{}}}var X8=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})},J8=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};function HJ(E){const{type:a}=E;return!!(["comboCombined","comboForce"].includes(a)||a==="antv-dagre"&&E.sortByCombo)}function q8(E){const{type:a}=E;return["compact-box","mindmap","dendrogram","indented"].includes(a)}function KJ(E){return isNumber(E.x)&&isNumber(E.y)}function $8(E){return!Array.isArray(E)&&(E==null?void 0:E.preLayout)}function iy(E){const{nodes:a,edges:y}=E,x={nodes:[],edges:[],combos:[]};return a.forEach(b=>{const z=b.data._isCombo?x.combos:x.nodes,{x:te,y:re,z:ae=0}=b.data;z==null||z.push({id:b.id,style:{x:te,y:re,z:ae}})}),y.forEach(b=>{const{id:z,source:te,target:re,data:{points:ae=[],controlPoints:se=ae.slice(1,ae.length-1)}}=b;x.edges.push({id:z,source:te,target:re,style:Object.assign({},se!=null&&se.length?{controlPoints:se.map(Du)}:{})})}),x}function e7(E,a){class y extends ay{constructor(b,z){if(super(b,z),this.instance=new E({}),this.id=this.instance.id,"stop"in this.instance&&"tick"in this.instance){const te=this.instance;this.stop=te.stop.bind(te),this.tick=re=>{const ae=te.tick(re);return iy(ae)}}}execute(b,z){return X8(this,void 0,void 0,function*(){return iy(yield this.instance.execute(this.graphData2LayoutModel(b),this.transformOptions(tc({},this.options,z))))})}transformOptions(b){const{onTick:z}=b;return z&&(b.onTick=te=>z(iy(te))),b}graphData2LayoutModel(b){const{nodes:z=[],edges:te=[],combos:re=[]}=b,ae=z.map(Te=>{const ke=_r(Te),{data:We,style:je,combo:Ke}=Te,Qe=J8(Te,["data","style","combo"]),Je={id:ke,data:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},We),{data:We}),Ke?{parentId:Ke}:{}),{style:je}),Qe)};return je!=null&&je.x&&Object.assign(Je.data,{x:je.x}),je!=null&&je.y&&Object.assign(Je.data,{y:je.y}),je!=null&&je.z&&Object.assign(Je.data,{z:je.z}),Je}),se=new Map(ae.map(Te=>[Te.id,Te])),fe=te.filter(Te=>{const{source:ke,target:We}=Te;return se.has(ke)&&se.has(We)}).map(Te=>{const{source:ke,target:We,data:je,style:Ke}=Te;return{id:_r(Te),source:ke,target:We,data:Object.assign({},je),style:Object.assign({},Ke)}}),me=re.map(Te=>({id:_r(Te),data:Object.assign({_isCombo:!0},Te.data),style:Object.assign({},Te.style)})),Se=new Kl({nodes:[...ae,...me],edges:fe});return a.model.model.hasTreeStructure(rl)&&(Se.attachTreeStructure(rl),ae.forEach(Te=>{const ke=a.model.model.getParent(Te.id,rl);ke&&Se.hasNode(ke.id)&&Se.setParent(Te.id,ke.id,rl)})),Se}}return y}function QA(E,a,...y){if(a in E)return E[a](...y);if("instance"in E){const x=E.instance;if(a in x)return x[a](...y)}return null}function Vw(E,a){if(a in E)return E[a];if("instance"in E){const y=E.instance;if(a in y)return y[a]}return null}var t7=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class n7 extends Cv{get forceLayoutInstance(){return this.context.layout.getLayoutInstance().find(a=>["d3-force","d3-force-3d"].includes(a==null?void 0:a.id))}validate(a){return this.context.layout?this.forceLayoutInstance?super.validate(a):(Ec.warn("DragElementForce only works with d3-force or d3-force-3d layout"),!1):!1}moveElement(a,y){return t7(this,void 0,void 0,function*(){const x=this.forceLayoutInstance;this.context.graph.getNodeData(a).forEach((b,z)=>{const{x:te=0,y:re=0}=b.style||{};x&&QA(x,"setFixedPosition",a[z],[...Ho([+te,+re],y)])})})}onDragStart(a){if(this.enable=this.validate(a),!this.enable)return;this.target=this.getSelectedNodeIDs([a.target.id]),this.hideEdge(),this.context.graph.frontElement(this.target);const y=this.forceLayoutInstance;y&&Vw(y,"simulation").alphaTarget(.3).restart(),this.context.graph.getNodeData(this.target).forEach(x=>{const{x:b=0,y:z=0}=x.style||{};y&&QA(y,"setFixedPosition",_r(x),[+b,+z])})}onDrag(a){if(!this.enable)return;const y=this.getDelta(a);this.moveElement(this.target,y)}onDragEnd(){const a=this.forceLayoutInstance;a&&Vw(a,"simulation").alphaTarget(0),!this.options.fixed&&this.context.graph.getNodeData(this.target).forEach(y=>{a&&QA(a,"setFixedPosition",_r(y),[null,null,null])})}}var Hw=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class oy extends Fc{constructor(a,y){super(a,Object.assign({},oy.defaultOptions,y)),this.isZoomEvent=x=>!!(x.data&&"scale"in x.data),this.relatedEdgeToUpdate=new Set,this.zoom=this.context.graph.getZoom(),this.fixElementSize=x=>Hw(this,void 0,void 0,function*(){if(!this.validate(x))return;const{graph:b}=this.context,{state:z,nodeFilter:te,edgeFilter:re,comboFilter:ae}=this.options,se=(z?b.getElementDataByState("node",z):b.getNodeData()).filter(te),fe=(z?b.getElementDataByState("edge",z):b.getEdgeData()).filter(re),me=(z?b.getElementDataByState("combo",z):b.getComboData()).filter(ae),Se=this.isZoomEvent(x)?this.zoom=Math.max(.01,Math.min(x.data.scale,10)):this.zoom,Te=[...se,...me];Te.length>0&&Te.forEach(ke=>this.fixNodeLike(ke,Se)),this.updateRelatedEdges(),fe.length>0&&fe.forEach(ke=>this.fixEdge(ke,Se))}),this.cachedStyles=new Map,this.getOriginalFieldValue=(x,b,z)=>{var te;const re=this.cachedStyles.get(x)||[],ae=((te=re.find(se=>se.shape===b))===null||te===void 0?void 0:te.style)||{};return z in ae||(ae[z]=b.attributes[z],this.cachedStyles.set(x,[...re.filter(se=>se.shape!==b),{shape:b,style:ae}])),ae[z]},this.scaleEntireElement=(x,b,z)=>{b.setLocalScale(1/z);const te=this.cachedStyles.get(x)||[];te.push({shape:b}),this.cachedStyles.set(x,te)},this.scaleSpecificShapes=(x,b,z)=>{const te=H_(x);(Array.isArray(z)?z:[z]).forEach(ae=>{const{shape:se,fields:fe}=ae,me=typeof se=="function"?se(te):x.getShape(se);if(me){if(!fe){this.scaleEntireElement(x.id,me,b);return}fe.forEach(Se=>{const Te=this.getOriginalFieldValue(x.id,me,Se);Oi(Te)&&(me.style[Se]=Te/b)})}})},this.skipIfExceedViewport=x=>{const{viewport:b}=this.context;return!(b!=null&&b.isInViewport(x.getRenderBounds(),!1,30))},this.fixNodeLike=(x,b)=>{const z=_r(x),{element:te,model:re}=this.context,ae=te.getElement(z);if(!ae||this.skipIfExceedViewport(ae))return;re.getRelatedEdgesData(z).forEach(me=>this.relatedEdgeToUpdate.add(_r(me)));const fe=this.options[ae.type];if(!fe){this.scaleEntireElement(z,ae,b);return}this.scaleSpecificShapes(ae,b,fe)},this.fixEdge=(x,b)=>{const z=_r(x),te=this.context.element.getElement(z);if(!te||this.skipIfExceedViewport(te))return;const re=this.options.edge;if(!re){te.style.transformOrigin="center",this.scaleEntireElement(z,te,b);return}this.scaleSpecificShapes(te,b,re)},this.updateRelatedEdges=()=>{const{element:x}=this.context;this.relatedEdgeToUpdate.size>0&&this.relatedEdgeToUpdate.forEach(b=>{const z=x.getElement(b);z==null||z.update({})}),this.relatedEdgeToUpdate.clear()},this.resetTransform=x=>Hw(this,void 0,void 0,function*(){var b;!((b=x.data)===null||b===void 0)&&b.firstRender||(this.options.reset?this.restoreCachedStyles():this.fixElementSize({data:{scale:this.zoom}}))}),this.bindEvents()}restoreCachedStyles(){if(this.cachedStyles.size>0){this.cachedStyles.forEach(b=>{b.forEach(({shape:z,style:te})=>{if(lf(te))z.setLocalScale(1);else{if(this.options.state)return;Object.entries(te).forEach(([re,ae])=>z.style[re]=ae)}})});const{graph:a,element:y}=this.context,x=Object.keys(Object.fromEntries(this.cachedStyles)).filter(b=>b&&a.getElementType(b)==="node");if(x.length>0){const b=new Set;x.forEach(z=>{a.getRelatedEdgesData(z).forEach(te=>b.add(_r(te)))}),b.forEach(z=>{const te=y==null?void 0:y.getElement(z);te==null||te.update({})})}}}bindEvents(){const{graph:a}=this.context;a.on(ci.AFTER_DRAW,this.resetTransform),a.on(ci.AFTER_TRANSFORM,this.fixElementSize)}unbindEvents(){const{graph:a}=this.context;a.off(ci.AFTER_DRAW,this.resetTransform),a.off(ci.AFTER_TRANSFORM,this.fixElementSize)}validate(a){if(this.destroyed)return!1;const{enable:y}=this.options;return Gi(y)?y(a):!!y}destroy(){this.unbindEvents(),super.destroy()}}oy.defaultOptions={enable:E=>E.data.scale<1,nodeFilter:()=>!0,edgeFilter:()=>!0,comboFilter:()=>!0,edge:[{shape:"key",fields:["lineWidth"]},{shape:"halo",fields:["lineWidth"]},{shape:"label"}],reset:!1};var r7=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class sy extends Fc{constructor(a,y){super(a,Object.assign({},sy.defaultOptions,y)),this.focus=x=>r7(this,void 0,void 0,function*(){if(!this.validate(x))return;const{graph:b}=this.context;yield b.focusElement(x.target.id,this.options.animation)}),this.bindEvents()}bindEvents(){const{graph:a}=this.context;this.unbindEvents(),mg.forEach(y=>{a.on(`${y}:${ga.CLICK}`,this.focus)})}validate(a){if(this.destroyed)return!1;const{enable:y}=this.options;return Gi(y)?y(a):!!y}unbindEvents(){const{graph:a}=this.context;mg.forEach(y=>{a.off(`${y}:${ga.CLICK}`,this.focus)})}destroy(){this.unbindEvents(),super.destroy()}}sy.defaultOptions={animation:{easing:"ease-in",duration:500},enable:!0};class ly extends Fc{constructor(a,y){super(a,Object.assign({},ly.defaultOptions,y)),this.isFrozen=!1,this.toggleFrozen=x=>{this.isFrozen=x.type==="dragstart"},this.hoverElement=x=>{if(!this.validate(x))return;const b=x.type===ga.POINTER_ENTER;this.updateElementsState(x,b);const{onHover:z,onHoverEnd:te}=this.options;b?z==null||z(x):te==null||te(x)},this.updateElementsState=(x,b)=>{if(!this.options.state&&!this.options.inactiveState)return;const{graph:z}=this.context,{state:te,animation:re,inactiveState:ae}=this.options,se=this.getActiveIds(x),fe={};if(te&&Object.assign(fe,this.getElementsState(se,te,b)),ae){const me=T2(z.getData(),!0).filter(Se=>!se.includes(Se));Object.assign(fe,this.getElementsState(me,ae,b))}z.setElementState(fe,re)},this.getElementsState=(x,b,z)=>{const{graph:te}=this.context,re={};return x.forEach(ae=>{const se=te.getElementState(ae);z?re[ae]=se.includes(b)?se:[...se,b]:re[ae]=se.filter(fe=>fe!==b)}),re},this.bindEvents()}bindEvents(){const{graph:a}=this.context;this.unbindEvents(),mg.forEach(x=>{a.on(`${x}:${ga.POINTER_ENTER}`,this.hoverElement),a.on(`${x}:${ga.POINTER_LEAVE}`,this.hoverElement)});const y=this.context.canvas.document;y.addEventListener(`${ga.DRAG_START}`,this.toggleFrozen),y.addEventListener(`${ga.DRAG_END}`,this.toggleFrozen)}getActiveIds(a){const{graph:y}=this.context,{degree:x,direction:b}=this.options,z=a.target.id;return x?Q2(y,a.targetType,z,typeof x=="function"?x(a):x,b):[z]}validate(a){if(this.destroyed||this.isFrozen||Yp(a.target)||this.context.graph.isCollapsingExpanding)return!1;const{enable:y}=this.options;return Gi(y)?y(a):!!y}unbindEvents(){const{graph:a}=this.context;mg.forEach(x=>{a.off(`${x}:${ga.POINTER_ENTER}`,this.hoverElement),a.off(`${x}:${ga.POINTER_LEAVE}`,this.hoverElement)});const y=this.context.canvas.document;y.removeEventListener(`${ga.DRAG_START}`,this.toggleFrozen),y.removeEventListener(`${ga.DRAG_END}`,this.toggleFrozen)}destroy(){this.unbindEvents(),super.destroy()}}ly.defaultOptions={animation:!1,enable:!0,degree:0,direction:"both",state:"active",inactiveState:void 0};class a7 extends gv{onPointerDown(a){if(!super.validate(a)||!super.isKeydown()||this.points)return;const{canvas:y}=this.context;this.pathShape=new Nc({id:"g6-lasso-select",style:this.options.style}),y.appendChild(this.pathShape),this.points=[bp(a)]}onPointerMove(a){var y;if(!this.points)return;const{immediately:x,mode:b}=this.options;this.points.push(bp(a)),(y=this.pathShape)===null||y===void 0||y.setAttribute("d",U_(this.points)),x&&b==="default"&&this.points.length>2&&super.updateElementsStates(this.points)}onPointerUp(){if(this.points){if(this.points.length<2){this.clearLasso();return}super.updateElementsStates(this.points),this.clearLasso()}}clearLasso(){var a;(a=this.pathShape)===null||a===void 0||a.remove(),this.pathShape=void 0,this.points=void 0}}class uy extends Fc{constructor(a,y){super(a,Object.assign({},uy.defaultOptions,y)),this.hiddenShapes=[],this.isVisible=!0,this.setElementsVisibility=(x,b,z)=>{x.filter(Boolean).forEach(te=>{b==="hidden"&&!te.isVisible()?this.hiddenShapes.push(te):b==="visible"&&this.hiddenShapes.includes(te)?this.hiddenShapes.splice(this.hiddenShapes.indexOf(te),1):gg(te,b,z)})},this.filterShapes=(x,b)=>{if(Gi(b))return te=>!b(x,te);const z=b==null?void 0:b[x];return te=>te.className?!(z!=null&&z.includes(te.className)):!0},this.hideShapes=x=>{if(!this.validate(x)||!this.isVisible)return;const{element:b}=this.context,{shapes:z={}}=this.options;this.setElementsVisibility(b.getNodes(),"hidden",this.filterShapes("node",z)),this.setElementsVisibility(b.getEdges(),"hidden",this.filterShapes("edge",z)),this.setElementsVisibility(b.getCombos(),"hidden",this.filterShapes("combo",z)),this.isVisible=!1},this.showShapes=bv(x=>{if(!this.validate(x)||this.isVisible)return;const{element:b}=this.context;this.setElementsVisibility(b.getNodes(),"visible"),this.setElementsVisibility(b.getEdges(),"visible"),this.setElementsVisibility(b.getCombos(),"visible"),this.isVisible=!0},this.options.debounce),this.bindEvents()}bindEvents(){const{graph:a}=this.context;a.on(ci.BEFORE_TRANSFORM,this.hideShapes),a.on(ci.AFTER_TRANSFORM,this.showShapes)}unbindEvents(){const{graph:a}=this.context;a.off(ci.BEFORE_TRANSFORM,this.hideShapes),a.off(ci.AFTER_TRANSFORM,this.showShapes)}validate(a){if(this.destroyed)return!1;const{enable:y}=this.options;return Gi(y)?y(a):!!y}update(a){this.unbindEvents(),super.update(a),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}uy.defaultOptions={enable:!0,debounce:200,shapes:E=>E==="node"};var Kw=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class cy extends Fc{constructor(a,y){super(a,Object.assign({},cy.defaultOptions,y)),this.onWheel=x=>Kw(this,void 0,void 0,function*(){this.options.preventDefault&&x.preventDefault();const b=x.deltaX,z=x.deltaY;yield this.scroll([-b,-z],x)}),this.shortcut=new c0(a.graph),this.bindEvents()}update(a){super.update(a),this.bindEvents()}bindEvents(){var a,y;const{trigger:x}=this.options;if(this.shortcut.unbindAll(),jl(x)){(a=this.graphDom)===null||a===void 0||a.removeEventListener(ga.WHEEL,this.onWheel);const{up:b=[],down:z=[],left:te=[],right:re=[]}=x;this.shortcut.bind(b,ae=>this.scroll([0,-10],ae)),this.shortcut.bind(z,ae=>this.scroll([0,10],ae)),this.shortcut.bind(te,ae=>this.scroll([-10,0],ae)),this.shortcut.bind(re,ae=>this.scroll([10,0],ae))}else(y=this.graphDom)===null||y===void 0||y.addEventListener(ga.WHEEL,this.onWheel,{passive:!1})}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}formatDisplacement(a){const{sensitivity:y}=this.options;return a=If(a,y),a=this.clampByDirection(a),a=this.clampByRange(a),a}clampByDirection([a,y]){const{direction:x}=this.options;return x==="x"?y=0:x==="y"&&(a=0),[a,y]}clampByRange([a,y]){const{viewport:x,canvas:b}=this.context,[z,te]=b.getSize(),[re,ae,se,fe]=Id(this.options.range),me=[te*re,z*ae,te*se,z*fe],Se=lh(iA(x.getCanvasCenter()),me),Te=qs(x.getViewportCenter(),[a,y,0]);if(!Ld(Te,Se)){const{min:[ke,We],max:[je,Ke]}=Se;(Te[0]<ke&&a>0||Te[0]>je&&a<0)&&(a=0),(Te[1]<We&&y>0||Te[1]>Ke&&y<0)&&(y=0)}return[a,y]}scroll(a,y){return Kw(this,void 0,void 0,function*(){if(!this.validate(y))return;const{onFinish:x}=this.options,b=this.context.graph,z=this.formatDisplacement(a);yield b.translateBy(z,!1),x==null||x()})}validate(a){if(this.destroyed)return!1;const{enable:y}=this.options;return Gi(y)?y(a):!!y}destroy(){var a;this.shortcut.destroy(),(a=this.graphDom)===null||a===void 0||a.removeEventListener(ga.WHEEL,this.onWheel),super.destroy()}}cy.defaultOptions={enable:!0,sensitivity:1,preventDefault:!0,range:1/0};var Zw=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class dy extends Fc{constructor(a,y){super(a,Object.assign({},dy.defaultOptions,y)),this.zoom=(x,b,z)=>Zw(this,void 0,void 0,function*(){if(!this.validate(b))return;const{graph:te}=this.context;let re;"viewport"in b&&(re=Du(b.viewport));const{sensitivity:ae,onFinish:se}=this.options,fe=1+bl(x,-50,50)*ae/100,me=te.getZoom();yield te.zoomTo(me*fe,z,re),se==null||se()}),this.onReset=()=>Zw(this,void 0,void 0,function*(){yield this.context.graph.zoomTo(1,this.options.animation)}),this.preventDefault=x=>{this.options.preventDefault&&x.preventDefault()},this.shortcut=new c0(a.graph),this.bindEvents()}update(a){super.update(a),this.bindEvents()}bindEvents(){const{trigger:a}=this.options;if(this.shortcut.unbindAll(),Array.isArray(a))if(a.includes(ga.PINCH))this.shortcut.bind([ga.PINCH],y=>{this.zoom(y.scale,y,!1)});else{const y=this.context.canvas.getContainer();y==null||y.addEventListener(ga.WHEEL,this.preventDefault),this.shortcut.bind([...a,ga.WHEEL],x=>{const{deltaX:b,deltaY:z}=x;this.zoom(-(z!=null?z:b),x,!1)})}if(typeof a=="object"){const{zoomIn:y=[],zoomOut:x=[],reset:b=[]}=a;this.shortcut.bind(y,z=>this.zoom(10,z,this.options.animation)),this.shortcut.bind(x,z=>this.zoom(-10,z,this.options.animation)),this.shortcut.bind(b,this.onReset)}}validate(a){if(this.destroyed)return!1;const{enable:y}=this.options;return Gi(y)?y(a):!!y}destroy(){var a;this.shortcut.destroy(),(a=this.context.canvas.getContainer())===null||a===void 0||a.removeEventListener(ga.WHEEL,this.preventDefault),super.destroy()}}dy.defaultOptions={animation:{duration:200},enable:!0,sensitivity:1,trigger:[],preventDefault:!0};var fy=Oe(13722);const i7=(E,a)=>{if(E!=="next"&&E!=="prev")return a},Qw=E=>{E.prev.next=E.next,E.next.prev=E.prev,delete E.next,delete E.prev};class o7{constructor(){const a={};a.prev=a,a.next=a.prev,this.shortcut=a}dequeue(){const a=this.shortcut,y=a.prev;if(y&&y!==a)return Qw(y),y}enqueue(a){const y=this.shortcut;a.prev&&a.next&&Qw(a),a.next=y.next,y.next.prev=a,y.next=a,a.prev=y}toString(){const a=[],y=this.shortcut;let x=y.prev;for(;x!==y;)a.push(JSON.stringify(x,i7)),x=x==null?void 0:x.prev;return`[${a.join(", ")}]`}}class s7 extends o7{}const l7=()=>1,u7=(E,a)=>{var y;if(E.getAllNodes().length<=1)return[];const x=d7(E,a||l7);return(y=c7(x.graph,x.buckets,x.zeroIdx).map(z=>E.getRelatedEdges(z.v,"out").filter(({target:te})=>te===z.w)))===null||y===void 0?void 0:y.flat()},c7=(E,a,y)=>{let x=[];const b=a[a.length-1],z=a[0];let te;for(;E.getAllNodes().length;){for(;te=z.dequeue();)YA(E,a,y,te);for(;te=b.dequeue();)YA(E,a,y,te);if(E.getAllNodes().length){for(let re=a.length-2;re>0;--re)if(te=a[re].dequeue(),te){x=x.concat(YA(E,a,y,te,!0));break}}}return x},YA=(E,a,y,x,b)=>{var z,te;const re=[];return E.hasNode(x.v)&&((z=E.getRelatedEdges(x.v,"in"))===null||z===void 0||z.forEach(ae=>{const se=ae.data.weight,fe=E.getNode(ae.source);b&&re.push({v:ae.source,w:ae.target,in:0,out:0}),fe.data.out===void 0&&(fe.data.out=0),fe.data.out-=se,XA(a,y,Object.assign({v:fe.id},fe.data))}),(te=E.getRelatedEdges(x.v,"out"))===null||te===void 0||te.forEach(ae=>{const se=ae.data.weight,fe=ae.target,me=E.getNode(fe);me.data.in===void 0&&(me.data.in=0),me.data.in-=se,XA(a,y,Object.assign({v:me.id},me.data))}),E.removeNode(x.v)),b?re:void 0},d7=(E,a)=>{const y=new Kl;let x=0,b=0;E.getAllNodes().forEach(ae=>{y.addNode({id:ae.id,data:{v:ae.id,in:0,out:0}})}),E.getAllEdges().forEach(ae=>{const se=y.getRelatedEdges(ae.source,"out").find(me=>me.target===ae.target),fe=(a==null?void 0:a(ae))||1;se?y.updateEdgeData(se==null?void 0:se.id,Object.assign(Object.assign({},se.data),{weight:se.data.weight+fe})):y.addEdge({id:ae.id,source:ae.source,target:ae.target,data:{weight:fe}}),b=Math.max(b,y.getNode(ae.source).data.out+=fe),x=Math.max(x,y.getNode(ae.target).data.in+=fe)});const z=[],te=b+x+3;for(let ae=0;ae<te;ae++)z.push(new s7);const re=x+1;return y.getAllNodes().forEach(ae=>{XA(z,re,Object.assign({v:ae.id},y.getNode(ae.id).data))}),{buckets:z,zeroIdx:re,graph:y}},XA=(E,a,y)=>{y.out?y.in?E[y.out-y.in+a].enqueue(y):E[E.length-1].enqueue(y):E[0].enqueue(y)},f7=(E,a)=>{const x=a==="greedy"?u7(E,(b=>z=>z.data.weight||1)(E)):h7(E);x==null||x.forEach(b=>{const z=b.data;E.removeEdge(b.id),z.forwardName=b.data.name,z.reversed=!0,E.addEdge({id:b.id,source:b.target,target:b.source,data:Object.assign({},z)})})},h7=E=>{const a=[],y={},x={},b=z=>{x[z]||(x[z]=!0,y[z]=!0,E.getRelatedEdges(z,"out").forEach(te=>{y[te.target]?a.push(te):b(te.target)}),delete y[z])};return E.getAllNodes().forEach(z=>b(z.id)),a},g7=E=>{E.getAllEdges().forEach(a=>{const y=a.data;if(y.reversed){E.removeEdge(a.id);const x=y.forwardName;delete y.reversed,delete y.forwardName,E.addEdge({id:a.id,source:a.target,target:a.source,data:Object.assign(Object.assign({},y),{forwardName:x})})}})},v7=(E,a)=>Number(E)-Number(a),g0=(E,a,y,x)=>{let b;do b=`${x}${Math.random()}`;while(E.hasNode(b));return y.dummy=a,E.addNode({id:b,data:y}),b},m7=E=>{const a=new Kl;return E.getAllNodes().forEach(y=>{a.addNode(Object.assign({},y))}),E.getAllEdges().forEach(y=>{const x=a.getRelatedEdges(y.source,"out").find(b=>b.target===y.target);x?a.updateEdgeData(x==null?void 0:x.id,Object.assign(Object.assign({},x.data),{weight:x.data.weight+y.data.weight||0,minlen:Math.max(x.data.minlen,y.data.minlen||1)})):a.addEdge({id:y.id,source:y.source,target:y.target,data:{weight:y.data.weight||0,minlen:y.data.minlen||1}})}),a},Yw=E=>{const a=new Kl;return E.getAllNodes().forEach(y=>{E.getChildren(y.id).length||a.addNode(Object.assign({},y))}),E.getAllEdges().forEach(y=>{a.addEdge(y)}),a},Xw=(E,a)=>E==null?void 0:E.reduce((y,x,b)=>(y[x]=a[b],y),{}),ZJ=E=>{const a={};return E.getAllNodes().forEach(y=>{const x={};E.getRelatedEdges(y.id,"out").forEach(b=>{x[b.target]=(x[b.target]||0)+(b.data.weight||0)}),a[y.id]=x}),a},QJ=E=>{const a=E.getAllNodes(),y=a.map(x=>{const b={};return E.getRelatedEdges(x.id,"in").forEach(z=>{b[z.source]=(b[z.source]||0)+z.data.weight}),b});return Xw(a.map(x=>x.id),y)},Jw=(E,a)=>{const y=Number(E.x),x=Number(E.y),b=Number(a.x)-y,z=Number(a.y)-x;let te=Number(E.width)/2,re=Number(E.height)/2;if(!b&&!z)return{x:0,y:0};let ae,se;return Math.abs(z)*te>Math.abs(b)*re?(z<0&&(re=-re),ae=re*b/z,se=re):(b<0&&(te=-te),ae=te,se=te*z/b),{x:y+ae,y:x+se}},Pv=E=>{const a=[],y=$w(E)+1;for(let x=0;x<y;x++)a.push([]);E.getAllNodes().forEach(x=>{const b=x.data.rank;b!==void 0&&a[b]&&a[b].push(x.id)});for(let x=0;x<y;x++)a[x]=a[x].sort((b,z)=>v7(E.getNode(b).data.order,E.getNode(z).data.order));return a},p7=E=>{const a=E.getAllNodes().filter(x=>x.data.rank!==void 0).map(x=>x.data.rank),y=Math.min(...a);E.getAllNodes().forEach(x=>{x.data.hasOwnProperty("rank")&&y!==1/0&&(x.data.rank-=y)})},y7=(E,a=0)=>{const y=E.getAllNodes(),x=y.filter(re=>re.data.rank!==void 0).map(re=>re.data.rank),b=Math.min(...x),z=[];y.forEach(re=>{const ae=(re.data.rank||0)-b;z[ae]||(z[ae]=[]),z[ae].push(re.id)});let te=0;for(let re=0;re<z.length;re++){const ae=z[re];ae===void 0?re%a!==0&&(te-=1):te&&(ae==null||ae.forEach(se=>{const fe=E.getNode(se);fe&&(fe.data.rank=fe.data.rank||0,fe.data.rank+=te)}))}},qw=(E,a,y,x)=>{const b={width:0,height:0};return Oi(y)&&Oi(x)&&(b.rank=y,b.order=x),g0(E,"border",b,a)},$w=E=>{let a;return E.getAllNodes().forEach(y=>{const x=y.data.rank;x!==void 0&&(a===void 0||x>a)&&(a=x)}),a||(a=0),a},E7=(E,a)=>{const y={lhs:[],rhs:[]};return E==null||E.forEach(x=>{a(x)?y.lhs.push(x):y.rhs.push(x)}),y},JA=(E,a)=>E.reduce((y,x)=>{const b=a(y),z=a(x);return b>z?x:y}),e5=(E,a,y,x,b,z)=>{x.includes(a.id)||(x.push(a.id),y||z.push(a.id),b(a.id).forEach(te=>e5(E,te,y,x,b,z)),y&&z.push(a.id))},t5=(E,a,y,x)=>{const b=Array.isArray(a)?a:[a],z=ae=>x?E.getSuccessors(ae):E.getNeighbors(ae),te=[],re=[];return b.forEach(ae=>{if(E.hasNode(ae.id))e5(E,ae,y==="post",re,z,te);else throw new Error(`Graph does not have node: ${ae}`)}),te},A7=E=>{const a=y=>{const x=E.getChildren(y),b=E.getNode(y);if(x!=null&&x.length&&x.forEach(z=>a(z.id)),b.data.hasOwnProperty("minRank")){b.data.borderLeft=[],b.data.borderRight=[];for(let z=b.data.minRank,te=b.data.maxRank+1;z<te;z+=1)n5(E,"borderLeft","_bl",y,b,z),n5(E,"borderRight","_br",y,b,z)}};E.getRoots().forEach(y=>a(y.id))},n5=(E,a,y,x,b,z)=>{const te={rank:z,borderType:a,width:0,height:0},re=b.data[a][z-1],ae=g0(E,"border",te,y);b.data[a][z]=ae,E.setParent(ae,x),re&&E.addEdge({id:`e${Math.random()}`,source:re,target:ae,data:{weight:1}})},x7=(E,a)=>{const y=a.toLowerCase();(y==="lr"||y==="rl")&&r5(E)},S7=(E,a)=>{const y=a.toLowerCase();(y==="bt"||y==="rl")&&b7(E),(y==="lr"||y==="rl")&&(C7(E),r5(E))},r5=E=>{E.getAllNodes().forEach(a=>{a5(a)}),E.getAllEdges().forEach(a=>{a5(a)})},a5=E=>{const a=E.data.width;E.data.width=E.data.height,E.data.height=a},b7=E=>{E.getAllNodes().forEach(a=>{qA(a.data)}),E.getAllEdges().forEach(a=>{var y;(y=a.data.points)===null||y===void 0||y.forEach(x=>qA(x)),a.data.hasOwnProperty("y")&&qA(a.data)})},qA=E=>{E!=null&&E.y&&(E.y=-E.y)},C7=E=>{E.getAllNodes().forEach(a=>{$A(a.data)}),E.getAllEdges().forEach(a=>{var y;(y=a.data.points)===null||y===void 0||y.forEach(x=>$A(x)),a.data.hasOwnProperty("x")&&$A(a.data)})},$A=E=>{const a=E.x;E.x=E.y,E.y=a},P7=E=>{const a=g0(E,"root",{},"_root"),y=w7(E);let x=Math.max(...Object.values(y));Math.abs(x)===1/0&&(x=1);const b=x-1,z=2*b+1;E.getAllEdges().forEach(re=>{re.data.minlen*=z});const te=M7(E)+1;return E.getRoots().forEach(re=>{i5(E,a,z,te,b,y,re.id)}),{nestingRoot:a,nodeRankFactor:z}},i5=(E,a,y,x,b,z,te)=>{const re=E.getChildren(te);if(!(re!=null&&re.length)){te!==a&&E.addEdge({id:`e${Math.random()}`,source:a,target:te,data:{weight:0,minlen:y}});return}const ae=qw(E,"_bt"),se=qw(E,"_bb"),fe=E.getNode(te);E.setParent(ae,te),fe.data.borderTop=ae,E.setParent(se,te),fe.data.borderBottom=se,re==null||re.forEach(me=>{i5(E,a,y,x,b,z,me.id);const Se=me.data.borderTop?me.data.borderTop:me.id,Te=me.data.borderBottom?me.data.borderBottom:me.id,ke=me.data.borderTop?x:2*x,We=Se!==Te?1:b-z[te]+1;E.addEdge({id:`e${Math.random()}`,source:ae,target:Se,data:{minlen:We,weight:ke,nestingEdge:!0}}),E.addEdge({id:`e${Math.random()}`,source:Te,target:se,data:{minlen:We,weight:ke,nestingEdge:!0}})}),E.getParent(te)||E.addEdge({id:`e${Math.random()}`,source:a,target:ae,data:{weight:0,minlen:b+z[te]}})},w7=E=>{const a={},y=(x,b)=>{const z=E.getChildren(x);z==null||z.forEach(te=>y(te.id,b+1)),a[x]=b};return E.getRoots().forEach(x=>y(x.id,1)),a},M7=E=>{let a=0;return E.getAllEdges().forEach(y=>{a+=y.data.weight}),a},D7=(E,a)=>{a&&E.removeNode(a),E.getAllEdges().forEach(y=>{y.data.nestingEdge&&E.removeEdge(y.id)})},I7="edge",o5="edge-label",L7=(E,a)=>{E.getAllEdges().forEach(y=>O7(E,y,a))},O7=(E,a,y)=>{let x=a.source,b=E.getNode(x).data.rank;const z=a.target,te=E.getNode(z).data.rank,re=a.data.labelRank;if(te===b+1)return;E.removeEdge(a.id);let ae,se,fe;for(fe=0,++b;b<te;++fe,++b)a.data.points=[],se={originalEdge:a,width:0,height:0,rank:b},ae=g0(E,I7,se,"_d"),b===re&&(se.width=a.data.width,se.height=a.data.height,se.dummy=o5,se.labelpos=a.data.labelpos),E.addEdge({id:`e${Math.random()}`,source:x,target:ae,data:{weight:a.data.weight}}),fe===0&&y.push(ae),x=ae;E.addEdge({id:`e${Math.random()}`,source:x,target:z,data:{weight:a.data.weight}})},T7=(E,a)=>{a.forEach(y=>{let x=E.getNode(y);const{data:b}=x,z=b.originalEdge;let te;z&&E.addEdge(z);let re=y;for(;x.data.dummy;)te=E.getSuccessors(re)[0],E.removeNode(re),z.data.points.push({x:x.data.x,y:x.data.y}),x.data.dummy===o5&&(z.data.x=x.data.x,z.data.y=x.data.y,z.data.width=x.data.width,z.data.height=x.data.height),re=te.id,x=E.getNode(re)})},B7=(E,a,y)=>{const x={};let b;y==null||y.forEach(z=>{let te=E.getParent(z),re,ae;for(;te;){if(re=E.getParent(te.id),re?(ae=x[re.id],x[re.id]=te.id):(ae=b,b=te.id),ae&&ae!==te.id){a.hasNode(ae)||a.addNode({id:ae,data:{}}),a.hasNode(te.id)||a.addNode({id:te.id,data:{}}),a.hasEdge(`e${ae}-${te.id}`)||a.addEdge({id:`e${ae}-${te.id}`,source:ae,target:te.id,data:{}});return}te=re}})},N7=(E,a,y)=>{const x=R7(E),b=new Kl({tree:[{id:x,children:[],data:{}}]});return E.getAllNodes().forEach(z=>{const te=E.getParent(z.id);(z.data.rank===a||z.data.minRank<=a&&a<=z.data.maxRank)&&(b.hasNode(z.id)||b.addNode(Object.assign({},z)),te!=null&&te.id&&!b.hasNode(te==null?void 0:te.id)&&b.addNode(Object.assign({},te)),b.setParent(z.id,(te==null?void 0:te.id)||x),E.getRelatedEdges(z.id,y).forEach(re=>{const ae=re.source===z.id?re.target:re.source;b.hasNode(ae)||b.addNode(Object.assign({},E.getNode(ae)));const se=b.getRelatedEdges(ae,"out").find(({target:me})=>me===z.id),fe=se!==void 0?se.data.weight:0;se?b.updateEdgeData(se.id,Object.assign(Object.assign({},se.data),{weight:re.data.weight+fe})):b.addEdge({id:re.id,source:ae,target:z.id,data:{weight:re.data.weight+fe}})}),z.data.hasOwnProperty("minRank")&&b.updateNodeData(z.id,Object.assign(Object.assign({},z.data),{borderLeft:z.data.borderLeft[a],borderRight:z.data.borderRight[a]})))}),b},R7=E=>{let a;for(;E.hasNode(a=`_root${Math.random()}`););return a},_7=(E,a,y)=>{const x=Xw(y,y.map((fe,me)=>me)),z=a.map(fe=>{const me=E.getRelatedEdges(fe,"out").map(Se=>({pos:x[Se.target]||0,weight:Se.data.weight}));return me==null?void 0:me.sort((Se,Te)=>Se.pos-Te.pos)}).flat().filter(fe=>fe!==void 0);let te=1;for(;te<y.length;)te<<=1;const re=2*te-1;te-=1;const ae=Array(re).fill(0,0,re);let se=0;return z==null||z.forEach(fe=>{if(fe){let me=fe.pos+te;ae[me]+=fe.weight;let Se=0;for(;me>0;)me%2&&(Se+=ae[me+1]),me=me-1>>1,ae[me]+=fe.weight;se+=fe.weight*Se}}),se},s5=(E,a)=>{let y=0;for(let x=1;x<(a==null?void 0:a.length);x+=1)y+=_7(E,a[x-1],a[x]);return y},l5=E=>{const a={},y=E.getAllNodes(),x=y.map(se=>{var fe;return(fe=se.data.rank)!==null&&fe!==void 0?fe:-1/0}),b=Math.max(...x),z=[];for(let se=0;se<b+1;se++)z.push([]);const te=y.sort((se,fe)=>E.getNode(se.id).data.rank-E.getNode(fe.id).data.rank),ae=te.filter(se=>E.getNode(se.id).data.fixorder!==void 0).sort((se,fe)=>E.getNode(se.id).data.fixorder-E.getNode(fe.id).data.fixorder);return ae==null||ae.forEach(se=>{isNaN(E.getNode(se.id).data.rank)||z[E.getNode(se.id).data.rank].push(se.id),a[se.id]=!0}),te==null||te.forEach(se=>E.dfsTree(se.id,fe=>{if(a.hasOwnProperty(fe.id))return!0;a[fe.id]=!0,isNaN(fe.data.rank)||z[fe.data.rank].push(fe.id)})),z},F7=(E,a)=>a.map(y=>{const x=E.getRelatedEdges(y,"in");if(!(x!=null&&x.length))return{v:y};const b={sum:0,weight:0};return x==null||x.forEach(z=>{const te=E.getNode(z.source);b.sum+=z.data.weight*te.data.order,b.weight+=z.data.weight}),{v:y,barycenter:b.sum/b.weight,weight:b.weight}}),k7=(E,a)=>{var y,x,b;const z={};E==null||E.forEach((re,ae)=>{z[re.v]={i:ae,indegree:0,in:[],out:[],vs:[re.v]};const se=z[re.v];re.barycenter!==void 0&&(se.barycenter=re.barycenter,se.weight=re.weight)}),(y=a.getAllEdges())===null||y===void 0||y.forEach(re=>{const ae=z[re.source],se=z[re.target];ae!==void 0&&se!==void 0&&(se.indegree++,ae.out.push(z[re.target]))});const te=(b=(x=Object.values(z)).filter)===null||b===void 0?void 0:b.call(x,re=>!re.indegree);return z7(te)},z7=E=>{var a,y;const x=[],b=ae=>se=>{se.merged||(se.barycenter===void 0||ae.barycenter===void 0||se.barycenter>=ae.barycenter)&&U7(ae,se)},z=ae=>se=>{se.in.push(ae),--se.indegree===0&&E.push(se)};for(;E!=null&&E.length;){const ae=E.pop();x.push(ae),(a=ae.in.reverse())===null||a===void 0||a.forEach(se=>b(ae)(se)),(y=ae.out)===null||y===void 0||y.forEach(se=>z(ae)(se))}const te=x.filter(ae=>!ae.merged),re=["vs","i","barycenter","weight"];return te.map(ae=>{const se={};return re==null||re.forEach(fe=>{ae[fe]!==void 0&&(se[fe]=ae[fe])}),se})},U7=(E,a)=>{var y;let x=0,b=0;E.weight&&(x+=E.barycenter*E.weight,b+=E.weight),a.weight&&(x+=a.barycenter*a.weight,b+=a.weight),E.vs=(y=a.vs)===null||y===void 0?void 0:y.concat(E.vs),E.barycenter=x/b,E.weight=b,E.i=Math.min(a.i,E.i),a.merged=!0};var W7=k7;const j7=(E,a,y,x)=>{const b=E7(E,Se=>{const Te=Se.hasOwnProperty("fixorder")&&!isNaN(Se.fixorder);return x?!Te&&Se.hasOwnProperty("barycenter"):Te||Se.hasOwnProperty("barycenter")}),z=b.lhs,te=b.rhs.sort((Se,Te)=>-Se.i- -Te.i),re=[];let ae=0,se=0,fe=0;z==null||z.sort(G7(!!a,!!y)),fe=u5(re,te,fe),z==null||z.forEach(Se=>{var Te;fe+=(Te=Se.vs)===null||Te===void 0?void 0:Te.length,re.push(Se.vs),ae+=Se.barycenter*Se.weight,se+=Se.weight,fe=u5(re,te,fe)});const me={vs:re.flat()};return se&&(me.barycenter=ae/se,me.weight=se),me},u5=(E,a,y)=>{let x=y,b;for(;a.length&&(b=a[a.length-1]).i<=x;)a.pop(),E==null||E.push(b.vs),x++;return x},G7=(E,a)=>(y,x)=>{if(y.fixorder!==void 0&&x.fixorder!==void 0)return y.fixorder-x.fixorder;if(y.barycenter<x.barycenter)return-1;if(y.barycenter>x.barycenter)return 1;if(a&&y.order!==void 0&&x.order!==void 0){if(y.order<x.order)return-1;if(y.order>x.order)return 1}return E?x.i-y.i:y.i-x.i},c5=(E,a,y,x,b,z)=>{var te,re,ae,se;let fe=E.getChildren(a).map(Qe=>Qe.id);const me=E.getNode(a),Se=me?me.data.borderLeft:void 0,Te=me?me.data.borderRight:void 0,ke={};Se&&(fe=fe==null?void 0:fe.filter(Qe=>Qe!==Se&&Qe!==Te));const We=F7(E,fe||[]);We==null||We.forEach(Qe=>{var Je;if(!((Je=E.getChildren(Qe.v))===null||Je===void 0)&&Je.length){const at=c5(E,Qe.v,y,x,z);ke[Qe.v]=at,at.hasOwnProperty("barycenter")&&H7(Qe,at)}});const je=W7(We,y);V7(je,ke),(te=je.filter(Qe=>Qe.vs.length>0))===null||te===void 0||te.forEach(Qe=>{const Je=E.getNode(Qe.vs[0]);Je&&(Qe.fixorder=Je.data.fixorder,Qe.order=Je.data.order)});const Ke=j7(je,x,b,z);if(Se&&(Ke.vs=[Se,Ke.vs,Te].flat(),!((re=E.getPredecessors(Se))===null||re===void 0)&&re.length)){const Qe=E.getNode(((ae=E.getPredecessors(Se))===null||ae===void 0?void 0:ae[0].id)||""),Je=E.getNode(((se=E.getPredecessors(Te))===null||se===void 0?void 0:se[0].id)||"");Ke.hasOwnProperty("barycenter")||(Ke.barycenter=0,Ke.weight=0),Ke.barycenter=(Ke.barycenter*Ke.weight+Qe.data.order+Je.data.order)/(Ke.weight+2),Ke.weight+=2}return Ke},V7=(E,a)=>{E==null||E.forEach(y=>{var x;const b=(x=y.vs)===null||x===void 0?void 0:x.map(z=>a[z]?a[z].vs:z);y.vs=b.flat()})},H7=(E,a)=>{E.barycenter!==void 0?(E.barycenter=(E.barycenter*E.weight+a.barycenter*a.weight)/(E.weight+a.weight),E.weight+=a.weight):(E.barycenter=a.barycenter,E.weight=a.weight)},K7=(E,a)=>{const y=$w(E),x=[],b=[];for(let fe=1;fe<y+1;fe++)x.push(fe);for(let fe=y-1;fe>-1;fe--)b.push(fe);const z=d5(E,x,"in"),te=d5(E,b,"out");let re=l5(E);ex(E,re);let ae=Number.POSITIVE_INFINITY,se;for(let fe=0,me=0;me<4;++fe,++me){f5(fe%2?z:te,fe%4>=2,!1,a),re=Pv(E);const Se=s5(E,re);Se<ae&&(me=0,se=s0(re),ae=Se)}re=l5(E),ex(E,re);for(let fe=0,me=0;me<4;++fe,++me){f5(fe%2?z:te,fe%4>=2,!0,a),re=Pv(E);const Se=s5(E,re);Se<ae&&(me=0,se=s0(re),ae=Se)}ex(E,se)},d5=(E,a,y)=>a.map(x=>N7(E,x,y)),f5=(E,a,y,x)=>{const b=new Kl;E==null||E.forEach(z=>{var te;const re=z.getRoots()[0].id,ae=c5(z,re,b,a,y,x);for(let se=0;se<((te=ae.vs)===null||te===void 0?void 0:te.length);se++){const fe=z.getNode(ae.vs[se]);fe&&(fe.data.order=se)}B7(z,b,ae.vs)})},ex=(E,a)=>{a==null||a.forEach(y=>{y==null||y.forEach((x,b)=>{E.getNode(x).data.order=b})})},Z7=(E,a)=>{const x=E.getAllNodes().filter(te=>{var re;return!(!((re=E.getChildren(te.id))===null||re===void 0)&&re.length)}).map(te=>te.data.rank),b=Math.max(...x),z=[];for(let te=0;te<b+1;te++)z[te]=[];a==null||a.forEach(te=>{const re=E.getNode(te);!re||re.data.dummy||isNaN(re.data.rank)||(re.data.fixorder=z[re.data.rank].length,z[re.data.rank].push(te))})},Q7=E=>{const a={};let y=0;const x=b=>{const z=y;E.getChildren(b).forEach(te=>x(te.id)),a[b]={low:z,lim:y++}};return E.getRoots().forEach(b=>x(b.id)),a},Y7=(E,a,y,x)=>{var b,z;const te=[],re=[],ae=Math.min(a[y].low,a[x].low),se=Math.max(a[y].lim,a[x].lim);let fe,me;fe=y;do fe=(b=E.getParent(fe))===null||b===void 0?void 0:b.id,te.push(fe);while(fe&&(a[fe].low>ae||se>a[fe].lim));for(me=fe,fe=x;fe&&fe!==me;)re.push(fe),fe=(z=E.getParent(fe))===null||z===void 0?void 0:z.id;return{lca:me,path:te.concat(re.reverse())}},X7=(E,a)=>{const y=Q7(E);a.forEach(x=>{var b,z;let te=x,re=E.getNode(te);const ae=re.data.originalEdge;if(!ae)return;const se=Y7(E,y,ae.source,ae.target),fe=se.path,me=se.lca;let Se=0,Te=fe[Se],ke=!0;for(;te!==ae.target;){if(re=E.getNode(te),ke){for(;Te!==me&&((b=E.getNode(Te))===null||b===void 0?void 0:b.data.maxRank)<re.data.rank;)Se++,Te=fe[Se];Te===me&&(ke=!1)}if(!ke){for(;Se<fe.length-1&&((z=E.getNode(fe[Se+1]))===null||z===void 0?void 0:z.data.minRank)<=re.data.rank;)Se++;Te=fe[Se]}E.hasNode(Te)&&E.setParent(te,Te),te=E.getSuccessors(te)[0].id}})},h5=(E,a)=>{const y={},x=(b,z)=>{let te=0,re=0;const ae=b.length,se=z==null?void 0:z[(z==null?void 0:z.length)-1];return z==null||z.forEach((fe,me)=>{var Se;const Te=J7(E,fe),ke=Te?E.getNode(Te.id).data.order:ae;(Te||fe===se)&&((Se=z.slice(re,me+1))===null||Se===void 0||Se.forEach(We=>{var je;(je=E.getPredecessors(We))===null||je===void 0||je.forEach(Ke=>{var Qe;const Je=E.getNode(Ke.id),at=Je.data.order;(at<te||ke<at)&&!(Je.data.dummy&&(!((Qe=E.getNode(We))===null||Qe===void 0)&&Qe.data.dummy))&&v5(y,Ke.id,We)})}),re=me+1,te=ke)}),z};return a!=null&&a.length&&a.reduce(x),y},g5=(E,a)=>{const y={};function x(re,ae,se,fe,me){var Se,Te;let ke;for(let We=ae;We<se;We++)ke=re[We],!((Se=E.getNode(ke))===null||Se===void 0)&&Se.data.dummy&&((Te=E.getPredecessors(ke))===null||Te===void 0||Te.forEach(je=>{const Ke=E.getNode(je.id);Ke.data.dummy&&(Ke.data.order<fe||Ke.data.order>me)&&v5(y,je.id,ke)}))}function b(re){return JSON.stringify(re.slice(1))}function z(re,ae){const se=b(re);ae.get(se)||(x(...re),ae.set(se,!0))}const te=(re,ae)=>{let se=-1,fe,me=0;const Se=new Map;return ae==null||ae.forEach((Te,ke)=>{var We;if(((We=E.getNode(Te))===null||We===void 0?void 0:We.data.dummy)==="border"){const je=E.getPredecessors(Te)||[];je.length&&(fe=E.getNode(je[0].id).data.order,z([ae,me,ke,se,fe],Se),me=ke,se=fe)}z([ae,me,ae.length,fe,re.length],Se)}),ae};return a!=null&&a.length&&a.reduce(te),y},J7=(E,a)=>{var y,x;if(!((y=E.getNode(a))===null||y===void 0)&&y.data.dummy)return(x=E.getPredecessors(a))===null||x===void 0?void 0:x.find(b=>E.getNode(b.id).data.dummy)},v5=(E,a,y)=>{let x=a,b=y;if(x>b){const te=x;x=b,b=te}let z=E[x];z||(E[x]=z={}),z[b]=!0},q7=(E,a,y)=>{let x=a,b=y;if(x>b){const z=a;x=b,b=z}return!!E[x]},m5=(E,a,y,x)=>{const b={},z={},te={};return a==null||a.forEach(re=>{re==null||re.forEach((ae,se)=>{b[ae]=ae,z[ae]=ae,te[ae]=se})}),a==null||a.forEach(re=>{let ae=-1;re==null||re.forEach(se=>{let fe=x(se).map(me=>me.id);if(fe.length){fe=fe.sort((Se,Te)=>te[Se]-te[Te]);const me=(fe.length-1)/2;for(let Se=Math.floor(me),Te=Math.ceil(me);Se<=Te;++Se){const ke=fe[Se];z[se]===se&&ae<te[ke]&&!q7(y,se,ke)&&(z[ke]=se,z[se]=b[se]=b[ke],ae=te[ke])}}})}),{root:b,align:z}},p5=(E,a,y,x,b,z,te)=>{var re;const ae={},se=$7(E,a,y,b,z,te),fe=te?"borderLeft":"borderRight",me=(ke,We)=>{let je=se.getAllNodes(),Ke=je.pop();const Qe={};for(;Ke;)Qe[Ke.id]?ke(Ke.id):(Qe[Ke.id]=!0,je.push(Ke),je=je.concat(We(Ke.id))),Ke=je.pop()},Se=ke=>{ae[ke]=(se.getRelatedEdges(ke,"in")||[]).reduce((We,je)=>Math.max(We,(ae[je.source]||0)+je.data.weight),0)},Te=ke=>{const We=(se.getRelatedEdges(ke,"out")||[]).reduce((Ke,Qe)=>Math.min(Ke,(ae[Qe.target]||0)-Qe.data.weight),Number.POSITIVE_INFINITY),je=E.getNode(ke);We!==Number.POSITIVE_INFINITY&&je.data.borderType!==fe&&(ae[ke]=Math.max(ae[ke],We))};return me(Se,se.getPredecessors.bind(se)),me(Te,se.getSuccessors.bind(se)),(re=Object.values(x))===null||re===void 0||re.forEach(ke=>{ae[ke]=ae[y[ke]]}),ae},$7=(E,a,y,x,b,z)=>{const te=new Kl,re=ek(x,b,z);return a==null||a.forEach(ae=>{let se;ae==null||ae.forEach(fe=>{const me=y[fe];if(te.hasNode(me)||te.addNode({id:me,data:{}}),se){const Se=y[se],Te=te.getRelatedEdges(Se,"out").find(ke=>ke.target===me);Te?te.updateEdgeData(Te.id,Object.assign(Object.assign({},Te.data),{weight:Math.max(re(E,fe,se),Te.data.weight||0)})):te.addEdge({id:`e${Math.random()}`,source:Se,target:me,data:{weight:Math.max(re(E,fe,se),0)}})}se=fe})}),te},y5=(E,a)=>JA(Object.values(a),y=>{var x;let b=Number.NEGATIVE_INFINITY,z=Number.POSITIVE_INFINITY;return(x=Object.keys(y))===null||x===void 0||x.forEach(te=>{const re=y[te],ae=tk(E,te)/2;b=Math.max(re+ae,b),z=Math.min(re-ae,z)}),b-z});function E5(E,a){const y=Object.values(a),x=Math.min(...y),b=Math.max(...y);["u","d"].forEach(z=>{["l","r"].forEach(te=>{const re=z+te,ae=E[re];let se;if(ae===a)return;const fe=Object.values(ae);se=te==="l"?x-Math.min(...fe):b-Math.max(...fe),se&&(E[re]={},Object.keys(ae).forEach(me=>{E[re][me]=ae[me]+se}))})})}const A5=(E,a)=>{const y={};return Object.keys(E.ul).forEach(x=>{if(a)y[x]=E[a.toLowerCase()][x];else{const b=Object.values(E).map(z=>z[x]);y[x]=(b[0]+b[1])/2}}),y},YJ=(E,a)=>{const{align:y,nodesep:x=0,edgesep:b=0}=a||{},z=buildLayerMatrix(E),te=Object.assign(h5(E,z),g5(E,z)),re={};let ae;["u","d"].forEach(fe=>{ae=fe==="u"?z:Object.values(z).reverse(),["l","r"].forEach(me=>{me==="r"&&(ae=ae.map(We=>Object.values(We).reverse()));const Se=(fe==="u"?E.getPredecessors:E.getSuccessors).bind(E),Te=m5(E,ae,te,Se),ke=p5(E,ae,Te.root,Te.align,x,b,me==="r");me==="r"&&Object.keys(ke).forEach(We=>{ke[We]=-ke[We]}),re[fe+me]=ke})});const se=y5(E,re);return E5(re,se),A5(re,y)},ek=(E,a,y)=>(x,b,z)=>{const te=x.getNode(b),re=x.getNode(z);let ae=0,se=0;if(ae+=te.data.width/2,te.data.hasOwnProperty("labelpos"))switch((te.data.labelpos||"").toLowerCase()){case"l":se=-te.data.width/2;break;case"r":se=te.data.width/2;break}if(se&&(ae+=y?se:-se),se=0,ae+=(te.data.dummy?a:E)/2,ae+=(re.data.dummy?a:E)/2,ae+=re.data.width/2,re.data.labelpos)switch((re.data.labelpos||"").toLowerCase()){case"l":se=re.data.width/2;break;case"r":se=-re.data.width/2;break}return se&&(ae+=y?se:-se),se=0,ae},tk=(E,a)=>E.getNode(a).data.width||0,nk=(E,a)=>{const{ranksep:y=0}=a||{},x=Pv(E);let b=0;x==null||x.forEach(z=>{const te=z.map(ae=>E.getNode(ae).data.height),re=Math.max(...te,0);z==null||z.forEach(ae=>{E.getNode(ae).data.y=b+re/2}),b+=re+y})},rk=(E,a)=>{const{align:y,nodesep:x=0,edgesep:b=0}=a||{},z=Pv(E),te=Object.assign(h5(E,z),g5(E,z)),re={};let ae=[];["u","d"].forEach(fe=>{ae=fe==="u"?z:Object.values(z).reverse(),["l","r"].forEach(me=>{me==="r"&&(ae=ae.map(We=>Object.values(We).reverse()));const Se=(fe==="u"?E.getPredecessors:E.getSuccessors).bind(E),Te=m5(E,ae,te,Se),ke=p5(E,ae,Te.root,Te.align,x,b,me==="r");me==="r"&&Object.keys(ke).forEach(We=>ke[We]=-ke[We]),re[fe+me]=ke})});const se=y5(E,re);return se&&E5(re,se),A5(re,y)},ak=(E,a)=>{var y;const x=Yw(E);nk(x,a);const b=rk(x,a);(y=Object.keys(b))===null||y===void 0||y.forEach(z=>{x.getNode(z).data.x=b[z]})},x5=E=>{const a={},y=x=>{var b;const z=E.getNode(x);if(!z)return 0;if(a[x])return z.data.rank;a[x]=!0;let te;return(b=E.getRelatedEdges(x,"out"))===null||b===void 0||b.forEach(re=>{const ae=y(re.target),se=re.data.minlen,fe=ae-se;fe&&(te===void 0||fe<te)&&(te=fe)}),te||(te=0),z.data.rank=te,te};E.getAllNodes().filter(x=>E.getRelatedEdges(x.id,"in").length===0).forEach(x=>y(x.id))},ik=E=>{const a={};let y;const x=te=>{var re;const ae=E.getNode(te);if(!ae)return 0;if(a[te])return ae.data.rank;a[te]=!0;let se;return(re=E.getRelatedEdges(te,"out"))===null||re===void 0||re.forEach(fe=>{const me=x(fe.target),Se=fe.data.minlen,Te=me-Se;Te&&(se===void 0||Te<se)&&(se=Te)}),se||(se=0),(y===void 0||se<y)&&(y=se),ae.data.rank=se,se};E.getAllNodes().filter(te=>E.getRelatedEdges(te.id,"in").length===0).forEach(te=>{te&&x(te.id)}),y===void 0&&(y=0);const b={},z=(te,re)=>{var ae;const se=E.getNode(te),fe=isNaN(se.data.layer)?re:se.data.layer;(se.data.rank===void 0||se.data.rank<fe)&&(se.data.rank=fe),!b[te]&&(b[te]=!0,(ae=E.getRelatedEdges(te,"out"))===null||ae===void 0||ae.forEach(me=>{z(me.target,fe+me.data.minlen)}))};E.getAllNodes().forEach(te=>{const re=te.data;re&&(isNaN(re.layer)?re.rank-=y:z(te.id,re.layer))})},mh=(E,a)=>E.getNode(a.target).data.rank-E.getNode(a.source).data.rank-a.data.minlen,ok=E=>{const a=new Kl({tree:[]}),y=E.getAllNodes()[0],x=E.getAllNodes().length;a.addNode(y);let b,z;for(;sk(a,E)<x;)b=S5(a,E),z=a.hasNode(b.source)?mh(E,b):-mh(E,b),b5(a,E,z);return a},sk=(E,a)=>{const y=x=>{a.getRelatedEdges(x,"both").forEach(b=>{const z=b.source,te=x===z?b.target:z;!E.hasNode(te)&&!mh(a,b)&&(E.addNode({id:te,data:{}}),E.addEdge({id:b.id,source:x,target:te,data:{}}),y(te))})};return E.getAllNodes().forEach(x=>y(x.id)),E.getAllNodes().length},lk=E=>{const a=new Kl({tree:[]}),y=E.getAllNodes()[0],x=E.getAllNodes().length;a.addNode(y);let b,z;for(;uk(a,E)<x;)b=S5(a,E),z=a.hasNode(b.source)?mh(E,b):-mh(E,b),b5(a,E,z);return a},uk=(E,a)=>{const y=x=>{var b;(b=a.getRelatedEdges(x,"both"))===null||b===void 0||b.forEach(z=>{const te=z.source,re=x===te?z.target:te;!E.hasNode(re)&&(a.getNode(re).data.layer!==void 0||!mh(a,z))&&(E.addNode({id:re,data:{}}),E.addEdge({id:z.id,source:x,target:re,data:{}}),y(re))})};return E.getAllNodes().forEach(x=>y(x.id)),E.getAllNodes().length},S5=(E,a)=>JA(a.getAllEdges(),y=>E.hasNode(y.source)!==E.hasNode(y.target)?mh(a,y):1/0),b5=(E,a,y)=>{E.getAllNodes().forEach(x=>{const b=a.getNode(x.id);b.data.rank||(b.data.rank=0),b.data.rank+=y})},ck=E=>{const a=m7(E);x5(a);const y=ok(a);P5(y),C5(y,a);let x,b;for(;x=hk(y);)b=gk(y,a,x),vk(y,a,x,b)},C5=(E,a)=>{let y=t5(E,E.getAllNodes(),"post",!1);y=y.slice(0,(y==null?void 0:y.length)-1),y.forEach(x=>{dk(E,a,x)})},dk=(E,a,y)=>{const b=E.getNode(y).data.parent,z=E.getRelatedEdges(y,"both").find(te=>te.target===b||te.source===b);z.data.cutvalue=fk(E,a,y)},fk=(E,a,y)=>{const b=E.getNode(y).data.parent;let z=!0,te=a.getRelatedEdges(y,"out").find(ae=>ae.target===b),re=0;return te||(z=!1,te=a.getRelatedEdges(b,"out").find(ae=>ae.target===y)),re=te.data.weight,a.getRelatedEdges(y,"both").forEach(ae=>{const se=ae.source===y,fe=se?ae.target:ae.source;if(fe!==b){const me=se===z,Se=ae.data.weight;if(re+=me?Se:-Se,pk(E,y,fe)){const Te=E.getRelatedEdges(y,"both").find(ke=>ke.source===fe||ke.target===fe).data.cutvalue;re+=me?-Te:Te}}}),re},P5=(E,a=E.getAllNodes()[0].id)=>{w5(E,{},1,a)},w5=(E,a,y,x,b)=>{var z;const te=y;let re=y;const ae=E.getNode(x);return a[x]=!0,(z=E.getNeighbors(x))===null||z===void 0||z.forEach(se=>{a[se.id]||(re=w5(E,a,re,se.id,x))}),ae.data.low=te,ae.data.lim=re++,b?ae.data.parent=b:delete ae.data.parent,re},hk=E=>E.getAllEdges().find(a=>a.data.cutvalue<0),gk=(E,a,y)=>{let x=y.source,b=y.target;a.getRelatedEdges(x,"out").find(fe=>fe.target===b)||(x=y.target,b=y.source);const z=E.getNode(x),te=E.getNode(b);let re=z,ae=!1;z.data.lim>te.data.lim&&(re=te,ae=!0);const se=a.getAllEdges().filter(fe=>ae===M5(E.getNode(fe.source),re)&&ae!==M5(E.getNode(fe.target),re));return JA(se,fe=>mh(a,fe))},vk=(E,a,y,x)=>{const b=E.getRelatedEdges(y.source,"both").find(z=>z.source===y.target||z.target===y.target);b&&E.removeEdge(b.id),E.addEdge({id:`e${Math.random()}`,source:x.source,target:x.target,data:{}}),P5(E),C5(E,a),mk(E,a)},mk=(E,a)=>{const y=E.getAllNodes().find(b=>!b.data.parent);let x=t5(E,y,"pre",!1);x=x.slice(1),x.forEach(b=>{const z=E.getNode(b).data.parent;let te=a.getRelatedEdges(b,"out").find(ae=>ae.target===z),re=!1;!te&&a.hasNode(z)&&(te=a.getRelatedEdges(z,"out").find(ae=>ae.target===b),re=!0),a.getNode(b).data.rank=(a.hasNode(z)&&a.getNode(z).data.rank||0)+(re?te==null?void 0:te.data.minlen:-(te==null?void 0:te.data.minlen))})},pk=(E,a,y)=>E.getRelatedEdges(a,"both").find(x=>x.source===y||x.target===y),M5=(E,a)=>a.data.low<=E.data.lim&&E.data.lim<=a.data.lim,yk=(E,a)=>{switch(a){case"network-simplex":Ak(E);break;case"tight-tree":D5(E);break;case"longest-path":Ek(E);break;default:D5(E)}},Ek=x5,D5=E=>{ik(E),lk(E)},Ak=E=>{ck(E)},xk=(E,a)=>{const{edgeLabelSpace:y,keepNodeOrder:x,prevGraph:b,rankdir:z,ranksep:te}=a;!x&&b&&bk(E,b);const re=Ik(E);y&&(a.ranksep=Lk(re,{rankdir:z,ranksep:te}));let ae;try{ae=Sk(re,a)}catch(se){if(se.message==="Not possible to find intersection inside of the rectangle"){console.error(`The following error may be caused by improper layer setting, please make sure your manual layer setting does not violate the graph's structure:
|
|
|
`,se);return}throw se}return Ck(E,re),ae},Sk=(E,a)=>{const{acyclicer:y,ranker:x,rankdir:b="tb",nodeOrder:z,keepNodeOrder:te,align:re,nodesep:ae=50,edgesep:se=20,ranksep:fe=50}=a;zk(E),f7(E,y);const{nestingRoot:me,nodeRankFactor:Se}=P7(E);yk(Yw(E),x),Ok(E),y7(E,Se),D7(E,me),p7(E),Tk(E),Bk(E);const Te=[];L7(E,Te),X7(E,Te),A7(E),te&&Z7(E,z),K7(E,te),Uk(E),x7(E,b),ak(E,{align:re,nodesep:ae,edgesep:se,ranksep:fe}),Wk(E),kk(E),T7(E,Te),_k(E),S7(E,b);const{width:ke,height:We}=Nk(E);return Rk(E),Fk(E),g7(E),{width:ke,height:We}},bk=(E,a)=>{E.getAllNodes().forEach(y=>{const x=E.getNode(y.id);if(a.hasNode(y.id)){const b=a.getNode(y.id);x.data.fixorder=b.data._order,delete b.data._order}else delete x.data.fixorder})},Ck=(E,a)=>{E.getAllNodes().forEach(y=>{var x;const b=E.getNode(y.id);if(b){const z=a.getNode(y.id);b.data.x=z.data.x,b.data.y=z.data.y,b.data._order=z.data.order,b.data._rank=z.data.rank,!((x=a.getChildren(y.id))===null||x===void 0)&&x.length&&(b.data.width=z.data.width,b.data.height=z.data.height)}}),E.getAllEdges().forEach(y=>{const x=E.getEdge(y.id),b=a.getEdge(y.id);x.data.points=b?b.data.points:[],b&&b.data.hasOwnProperty("x")&&(x.data.x=b.data.x,x.data.y=b.data.y)})},Pk=["width","height","layer","fixorder"],wk={width:0,height:0},Mk=["minlen","weight","width","height","labeloffset"],Dk={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},tx=["labelpos"],Ik=E=>{const a=new Kl({tree:[]});return E.getAllNodes().forEach(y=>{const x=L5(E.getNode(y.id).data),b=Object.assign(Object.assign({},wk),x),z=I5(b,Pk);a.hasNode(y.id)||a.addNode({id:y.id,data:Object.assign({},z)});const te=E.hasTreeStructure("combo")?E.getParent(y.id,"combo"):E.getParent(y.id);fo(te)||(a.hasNode(te.id)||a.addNode(Object.assign({},te)),a.setParent(y.id,te.id))}),E.getAllEdges().forEach(y=>{const x=L5(E.getEdge(y.id).data),b={};tx==null||tx.forEach(z=>{x[z]!==void 0&&(b[z]=x[z])}),a.addEdge({id:y.id,source:y.source,target:y.target,data:Object.assign({},Dk,I5(x,Mk),b)})}),a},Lk=(E,a)=>{const{ranksep:y=0,rankdir:x}=a;return E.getAllNodes().forEach(b=>{isNaN(b.data.layer)||b.data.layer||(b.data.layer=0)}),E.getAllEdges().forEach(b=>{var z;b.data.minlen*=2,((z=b.data.labelpos)===null||z===void 0?void 0:z.toLowerCase())!=="c"&&(x==="TB"||x==="BT"?b.data.width+=b.data.labeloffset:b.data.height+=b.data.labeloffset)}),y/2},Ok=E=>{E.getAllEdges().forEach(a=>{if(a.data.width&&a.data.height){const y=E.getNode(a.source),x=E.getNode(a.target),b={e:a,rank:(x.data.rank-y.data.rank)/2+y.data.rank};g0(E,"edge-proxy",b,"_ep")}})},Tk=E=>{let a=0;return E.getAllNodes().forEach(y=>{var x,b;y.data.borderTop&&(y.data.minRank=(x=E.getNode(y.data.borderTop))===null||x===void 0?void 0:x.data.rank,y.data.maxRank=(b=E.getNode(y.data.borderBottom))===null||b===void 0?void 0:b.data.rank,a=Math.max(a,y.data.maxRank||-1/0))}),a},Bk=E=>{E.getAllNodes().forEach(a=>{a.data.dummy==="edge-proxy"&&(E.getEdge(a.data.e.id).data.labelRank=a.data.rank,E.removeNode(a.id))})},Nk=(E,a)=>{let y,x=0,b,z=0;const{marginx:te=0,marginy:re=0}=a||{},ae=se=>{if(!se.data)return;const fe=se.data.x,me=se.data.y,Se=se.data.width,Te=se.data.height;!isNaN(fe)&&!isNaN(Se)&&(y===void 0&&(y=fe-Se/2),y=Math.min(y,fe-Se/2),x=Math.max(x,fe+Se/2)),!isNaN(me)&&!isNaN(Te)&&(b===void 0&&(b=me-Te/2),b=Math.min(b,me-Te/2),z=Math.max(z,me+Te/2))};return E.getAllNodes().forEach(se=>{ae(se)}),E.getAllEdges().forEach(se=>{se!=null&&se.data.hasOwnProperty("x")&&ae(se)}),y-=te,b-=re,E.getAllNodes().forEach(se=>{se.data.x-=y,se.data.y-=b}),E.getAllEdges().forEach(se=>{var fe;(fe=se.data.points)===null||fe===void 0||fe.forEach(me=>{me.x-=y,me.y-=b}),se.data.hasOwnProperty("x")&&(se.data.x-=y),se.data.hasOwnProperty("y")&&(se.data.y-=b)}),{width:x-y+te,height:z-b+re}},Rk=E=>{E.getAllEdges().forEach(a=>{const y=E.getNode(a.source),x=E.getNode(a.target);let b,z;a.data.points?(b=a.data.points[0],z=a.data.points[a.data.points.length-1]):(a.data.points=[],b={x:x.data.x,y:x.data.y},z={x:y.data.x,y:y.data.y}),a.data.points.unshift(Jw(y.data,b)),a.data.points.push(Jw(x.data,z))})},_k=E=>{E.getAllEdges().forEach(a=>{if(a.data.hasOwnProperty("x"))switch((a.data.labelpos==="l"||a.data.labelpos==="r")&&(a.data.width-=a.data.labeloffset),a.data.labelpos){case"l":a.data.x-=a.data.width/2+a.data.labeloffset;break;case"r":a.data.x+=a.data.width/2+a.data.labeloffset;break}})},Fk=E=>{E.getAllEdges().forEach(a=>{var y;a.data.reversed&&((y=a.data.points)===null||y===void 0||y.reverse())})},kk=E=>{E.getAllNodes().forEach(a=>{var y,x,b;if(!((y=E.getChildren(a.id))===null||y===void 0)&&y.length){const z=E.getNode(a.id),te=E.getNode(z.data.borderTop),re=E.getNode(z.data.borderBottom),ae=E.getNode(z.data.borderLeft[((x=z.data.borderLeft)===null||x===void 0?void 0:x.length)-1]),se=E.getNode(z.data.borderRight[((b=z.data.borderRight)===null||b===void 0?void 0:b.length)-1]);z.data.width=Math.abs((se==null?void 0:se.data.x)-(ae==null?void 0:ae.data.x))||10,z.data.height=Math.abs((re==null?void 0:re.data.y)-(te==null?void 0:te.data.y))||10,z.data.x=((ae==null?void 0:ae.data.x)||0)+z.data.width/2,z.data.y=((te==null?void 0:te.data.y)||0)+z.data.height/2}}),E.getAllNodes().forEach(a=>{a.data.dummy==="border"&&E.removeNode(a.id)})},zk=E=>{E.getAllEdges().forEach(a=>{if(a.source===a.target){const y=E.getNode(a.source);y.data.selfEdges||(y.data.selfEdges=[]),y.data.selfEdges.push(a),E.removeEdge(a.id)}})},Uk=E=>{const a=Pv(E);a==null||a.forEach(y=>{let x=0;y==null||y.forEach((b,z)=>{var te;const re=E.getNode(b);re.data.order=z+x,(te=re.data.selfEdges)===null||te===void 0||te.forEach(ae=>{g0(E,"selfedge",{width:ae.data.width,height:ae.data.height,rank:re.data.rank,order:z+ ++x,e:ae},"_se")}),delete re.data.selfEdges})})},Wk=E=>{E.getAllNodes().forEach(a=>{const y=E.getNode(a.id);if(y.data.dummy==="selfedge"){const x=E.getNode(y.data.e.source),b=x.data.x+x.data.width/2,z=x.data.y,te=y.data.x-b,re=x.data.height/2;E.hasEdge(y.data.e.id)?E.updateEdgeData(y.data.e.id,y.data.e.data):E.addEdge({id:y.data.e.id,source:y.data.e.source,target:y.data.e.target,data:y.data.e.data}),E.removeNode(a.id),y.data.e.data.points=[{x:b+2*te/3,y:z-re},{x:b+5*te/6,y:z-re},{y:z,x:b+te},{x:b+5*te/6,y:z+re},{x:b+2*te/3,y:z+re}],y.data.e.data.x=y.data.x,y.data.e.data.y=y.data.y}})},I5=(E,a)=>{const y={};return a==null||a.forEach(x=>{E[x]!==void 0&&(y[x]=+E[x])}),y},L5=(E={})=>{const a={};return Object.keys(E).forEach(y=>{a[y.toLowerCase()]=E[y]}),a};function wv(E){if(!E)return[0,0,0];if(Oi(E))return[E,E,E];if(E.length===0)return[0,0,0];const[a,y=a,x=a]=E;return[a,y,x]}function bg(E,a){let y;return Gi(a)?y=a:Oi(a)?y=()=>a:y=()=>E,y}function nx(E,a,y=!0){return!a&&a!==0?x=>{const{size:b}=x.data||{};return b?Array.isArray(b)?y?Math.max(...b)||E:b:jl(b)&&b.width&&b.height?y?Math.max(b.width,b.height)||E:[b.width,b.height]:b:E}:Gi(a)?a:Oi(a)?()=>a:Array.isArray(a)?()=>y?Math.max(...a)||E:a:jl(a)&&a.width&&a.height?()=>y?Math.max(a.width,a.height)||E:[a.width,a.height]:()=>E}const rx=(E,a,y=10)=>{let x;const b=typeof a=="function"?a:()=>a||0;return E?Array.isArray(E)?x=te=>E:Gi(E)?x=E:x=te=>E:x=te=>{var re,ae,se;if(!((re=te.data)===null||re===void 0)&&re.bboxSize)return(ae=te.data)===null||ae===void 0?void 0:ae.bboxSize;if(!((se=te.data)===null||se===void 0)&&se.size){const fe=te.data.size;return Array.isArray(fe)?fe:jl(fe)?[fe.width,fe.height]:fe}return y},te=>{const re=x(te),ae=b(te);return Math.max(...wv(re))+ae}},ax=E=>{if(E===null)return E;if(E instanceof Date)return new Date(E.getTime());if(E instanceof Array){const a=[];return E.forEach(y=>{a.push(y)}),a.map(y=>ax(y))}if(typeof E=="object"){const a={};return Object.keys(E).forEach(y=>{a[y]=ax(E[y])}),a}return E},Uc=(E,a)=>{const y=ax(E);return y.data=y.data||{},a&&(Oi(y.data.x)||(y.data.x=Math.random()*a[0]),Oi(y.data.y)||(y.data.y=Math.random()*a[1])),y},jk={rankdir:"TB",nodesep:50,ranksep:50,edgeLabelSpace:!0,ranker:"tight-tree",controlPoints:!1,radial:!1,focusNode:null};class Gk{constructor(a={}){this.options=a,this.id="antv-dagre",this.options=Object.assign(Object.assign({},jk),a)}execute(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,a,y)})}assign(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,a,y)})}genericDagreLayout(a,y,x){return(0,Rt.mG)(this,void 0,void 0,function*(){const b=Object.assign(Object.assign({},this.options),x),{nodeSize:z,align:te,rankdir:re="TB",ranksep:ae,nodesep:se,ranksepFunc:fe,nodesepFunc:me,edgeLabelSpace:Se,ranker:Te,nodeOrder:ke,begin:We,controlPoints:je,radial:Ke,sortByCombo:Qe,preset:Je}=b,at=new Kl({tree:[]}),ot=bg(ae||50,fe),ut=bg(se||50,me);let ft=ut,lt=ot;(re==="LR"||re==="RL")&&(ft=ot,lt=ut);const Dt=nx(10,z,!1),Bt=y.getAllNodes(),Vt=y.getAllEdges();Bt.forEach(En=>{const Pn=wv(Dt(En)),or=lt(En),xn=ft(En),yr=Pn[0]+2*xn,na=Pn[1]+2*or,ea=En.data.layer;Oi(ea)?at.addNode({id:En.id,data:{width:yr,height:na,layer:ea}}):at.addNode({id:En.id,data:{width:yr,height:na}})}),Qe&&(at.attachTreeStructure("combo"),Bt.forEach(En=>{const{parentId:Pn}=En.data;Pn!==void 0&&at.hasNode(Pn)&&at.setParent(En.id,Pn,"combo")})),Vt.forEach(En=>{at.addEdge({id:En.id,source:En.source,target:En.target,data:{weight:En.data.weight||1}})});let Xt;Je!=null&&Je.length&&(Xt=new Kl({nodes:Je})),xk(at,{prevGraph:Xt,edgeLabelSpace:Se,keepNodeOrder:!!ke,nodeOrder:ke||[],acyclicer:"greedy",ranker:Te,rankdir:re,nodesep:se,align:te});const vn=[0,0];if(We){let En=1/0,Pn=1/0;at.getAllNodes().forEach(or=>{En>or.data.x&&(En=or.data.x),Pn>or.data.y&&(Pn=or.data.y)}),at.getAllEdges().forEach(or=>{var xn;(xn=or.data.points)===null||xn===void 0||xn.forEach(yr=>{En>yr.x&&(En=yr.x),Pn>yr.y&&(Pn=yr.y)})}),vn[0]=We[0]-En,vn[1]=We[1]-Pn}const on=re==="LR"||re==="RL";if(!Ke){const En=new Set,or=re==="BT"||re==="RL"?(ea,jr)=>jr-ea:(ea,jr)=>ea-jr;at.getAllNodes().forEach(ea=>{ea.data.x=ea.data.x+vn[0],ea.data.y=ea.data.y+vn[1],En.add(on?ea.data.x:ea.data.y)});const xn=Array.from(En).sort(or),yr=on?(ea,jr)=>ea.x!==jr.x:(ea,jr)=>ea.y!==jr.y,na=on?(ea,jr,Or)=>{const Yr=Math.max(jr.y,Or.y),fa=Math.min(jr.y,Or.y);return ea.filter(Ia=>Ia.y<=Yr&&Ia.y>=fa)}:(ea,jr,Or)=>{const Yr=Math.max(jr.x,Or.x),fa=Math.min(jr.x,Or.x);return ea.filter(Ia=>Ia.x<=Yr&&Ia.x>=fa)};at.getAllEdges().forEach((ea,jr)=>{var Or;Se&&je&&ea.data.type!=="loop"&&(ea.data.controlPoints=Vk((Or=ea.data.points)===null||Or===void 0?void 0:Or.map(({x:Yr,y:fa})=>({x:Yr+vn[0],y:fa+vn[1]})),at.getNode(ea.source),at.getNode(ea.target),xn,on,yr,na))})}let wn=[];wn=at.getAllNodes().map(En=>Uc(En));const qn=at.getAllEdges();return a&&(wn.forEach(En=>{y.mergeNodeData(En.id,{x:En.data.x,y:En.data.y})}),qn.forEach(En=>{y.mergeEdgeData(En.id,{controlPoints:En.data.controlPoints})})),{nodes:wn,edges:qn}})}}const Vk=(E,a,y,x,b,z,te)=>{let re=(E==null?void 0:E.slice(1,E.length-1))||[];if(a&&y){let{x:ae,y:se}=a.data,{x:fe,y:me}=y.data;if(b&&(ae=a.data.y,se=a.data.x,fe=y.data.y,me=y.data.x),me!==se&&ae!==fe){const Se=x.indexOf(se),Te=x[Se+1];if(Te){const je=re[0],Ke=b?{x:(se+Te)/2,y:(je==null?void 0:je.y)||fe}:{x:(je==null?void 0:je.x)||fe,y:(se+Te)/2};(!je||z(je,Ke))&&re.unshift(Ke)}const ke=x.indexOf(me),We=Math.abs(ke-Se);if(We===1)re=te(re,a.data,y.data),re.length||re.push(b?{x:(se+me)/2,y:ae}:{x:ae,y:(se+me)/2});else if(We>1){const je=x[ke-1];if(je){const Ke=re[re.length-1],Qe=b?{x:(me+je)/2,y:(Ke==null?void 0:Ke.y)||fe}:{x:(Ke==null?void 0:Ke.x)||ae,y:(me+je)/2};(!Ke||z(Ke,Qe))&&re.push(Qe)}}}}return re},Cg=(E,a,y)=>{const x=E.getAllNodes(),b=E.getAllEdges();if(!(x!=null&&x.length))return{nodes:[],edges:b};if(x.length===1)return a&&E.mergeNodeData(x[0].id,{x:y[0],y:y[1]}),{nodes:[Object.assign(Object.assign({},x[0]),{data:Object.assign(Object.assign({},x[0].data),{x:y[0],y:y[1]})})],edges:b}},Hk={radius:null,startRadius:null,endRadius:null,startAngle:0,endAngle:2*Math.PI,clockwise:!0,divisions:1,ordering:null,angleRatio:1};class Kk{constructor(a={}){this.options=a,this.id="circular",this.options=Object.assign(Object.assign({},Hk),a)}execute(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){return this.genericCircularLayout(!1,a,y)})}assign(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){yield this.genericCircularLayout(!0,a,y)})}genericCircularLayout(a,y,x){return(0,Rt.mG)(this,void 0,void 0,function*(){const b=Object.assign(Object.assign({},this.options),x),{width:z,height:te,center:re,divisions:ae,startAngle:se=0,endAngle:fe=2*Math.PI,angleRatio:me,ordering:Se,clockwise:Te,nodeSpacing:ke,nodeSize:We}=b,je=y.getAllNodes(),Ke=y.getAllEdges(),[Qe,Je,at]=Qk(z,te,re),ot=je==null?void 0:je.length;if(!ot||ot===1)return Cg(y,a,at);const ut=(fe-se)/ot;let{radius:ft,startRadius:lt,endRadius:Dt}=b;if(ke){const on=bg(10,ke),wn=nx(10,We);let qn=-1/0;je.forEach(En=>{const Pn=wn(En);qn<Pn&&(qn=Pn)});let yn=0;je.forEach((En,Pn)=>{Pn===0?yn+=qn||10:yn+=(on(En)||0)+(qn||10)}),ft=yn/(2*Math.PI)}else!ft&&!lt&&!Dt?ft=Math.min(Je,Qe)/2:!lt&&Dt?lt=Dt:lt&&!Dt&&(Dt=lt);const Bt=ut*me;let Vt=[];Se==="topology"?Vt=O5(y,je):Se==="topology-directed"?Vt=O5(y,je,!0):Se==="degree"?Vt=Zk(y,je):Vt=je.map(on=>Uc(on));const Xt=Math.ceil(ot/ae);for(let on=0;on<ot;++on){let wn=ft;!wn&<!==null&&Dt!==null&&(wn=lt+on*(Dt-lt)/(ot-1)),wn||(wn=10+on*100/(ot-1));let qn=se+on%Xt*Bt+2*Math.PI/ae*Math.floor(on/Xt);Te||(qn=fe-on%Xt*Bt-2*Math.PI/ae*Math.floor(on/Xt)),Vt[on].data.x=at[0]+Math.cos(qn)*wn,Vt[on].data.y=at[1]+Math.sin(qn)*wn}return a&&Vt.forEach(on=>{y.mergeNodeData(on.id,{x:on.data.x,y:on.data.y})}),{nodes:Vt,edges:Ke}})}}const O5=(E,a,y=!1)=>{const x=[Uc(a[0])],b={},z=a.length;b[a[0].id]=!0;let te=0;return a.forEach((re,ae)=>{if(ae!==0)if((ae===z-1||E.getDegree(re.id,"both")!==E.getDegree(a[ae+1].id,"both")||E.areNeighbors(x[te].id,re.id))&&!b[re.id])x.push(Uc(re)),b[re.id]=!0,te++;else{const se=y?E.getSuccessors(x[te].id):E.getNeighbors(x[te].id);let fe=!1;for(let Se=0;Se<se.length;Se++){const Te=se[Se];if(E.getDegree(Te.id)===E.getDegree(re.id)&&!b[Te.id]){x.push(Uc(Te)),b[Te.id]=!0,fe=!0;break}}let me=0;for(;!fe&&(b[a[me].id]||(x.push(Uc(a[me])),b[a[me].id]=!0,fe=!0),me++,me!==z););}}),x};function Zk(E,a){const y=[];return a.forEach((x,b)=>{y.push(Uc(x))}),y.sort((x,b)=>E.getDegree(x.id,"both")-E.getDegree(b.id,"both")),y}const Qk=(E,a,y)=>{let x=E,b=a,z=y;return!x&&typeof window!="undefined"&&(x=window.innerWidth),!b&&typeof window!="undefined"&&(b=window.innerHeight),z||(z=[x/2,b/2]),[x,b,z]},Nf=Array.isArray,Yk={nodeSize:30,nodeSpacing:10,preventOverlap:!1,sweep:void 0,equidistant:!1,startAngle:3/2*Math.PI,clockwise:!0,maxLevelDiff:void 0,sortBy:"degree"};class ix{constructor(a={}){this.options=a,this.id="concentric",this.options=Object.assign(Object.assign({},Yk),a)}execute(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){return this.genericConcentricLayout(!1,a,y)})}assign(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){yield this.genericConcentricLayout(!0,a,y)})}genericConcentricLayout(a,y,x){return(0,Rt.mG)(this,void 0,void 0,function*(){const b=Object.assign(Object.assign({},this.options),x),{center:z,width:te,height:re,sortBy:ae,maxLevelDiff:se,sweep:fe,clockwise:me,equidistant:Se,preventOverlap:Te,startAngle:ke=3/2*Math.PI,nodeSize:We,nodeSpacing:je}=b,Ke=y.getAllNodes(),Qe=y.getAllEdges(),Je=!te&&typeof window!="undefined"?window.innerWidth:te,at=!re&&typeof window!="undefined"?window.innerHeight:re,ot=z||[Je/2,at/2];if(!(Ke!=null&&Ke.length)||Ke.length===1)return Cg(y,a,ot);const ut=[];let ft,lt=0;Nf(We)?ft=Math.max(We[0],We[1]):Gi(We)?(ft=-1/0,Ke.forEach(En=>{const Pn=Math.max(...wv(We(En)));Pn>ft&&(ft=Pn)})):ft=We,Nf(je)?lt=Math.max(je[0],je[1]):Oi(je)&&(lt=je),Ke.forEach(En=>{const Pn=Uc(En);ut.push(Pn);let or=ft;const{data:xn}=Pn;Nf(xn.size)?or=Math.max(xn.size[0],xn.size[1]):Oi(xn.size)?or=xn.size:jl(xn.size)&&(or=Math.max(xn.size.width,xn.size.height)),ft=Math.max(ft,or),Gi(je)&&(lt=Math.max(je(En),lt))});const Dt={};ut.forEach((En,Pn)=>{Dt[En.id]=Pn});let Bt=ae;(!Is(Bt)||ut[0].data[Bt]===void 0)&&(Bt="degree"),Bt==="degree"?ut.sort((En,Pn)=>y.getDegree(Pn.id,"both")-y.getDegree(En.id,"both")):ut.sort((En,Pn)=>Pn.data[Bt]-En.data[Bt]);const Vt=ut[0],Xt=(se||(Bt==="degree"?y.getDegree(Vt.id,"both"):Vt.data[Bt]))/4,vn=[{nodes:[]}];let on=vn[0];ut.forEach(En=>{if(on.nodes.length>0){const Pn=Math.abs(Bt==="degree"?y.getDegree(on.nodes[0].id,"both")-y.getDegree(En.id,"both"):on.nodes[0].data[Bt]-En.data[Bt]);Xt&&Pn>=Xt&&(on={nodes:[]},vn.push(on))}on.nodes.push(En)});let wn=ft+lt;if(!Te){const En=vn.length>0&&vn[0].nodes.length>1,or=(Math.min(Je,at)/2-wn)/(vn.length+(En?1:0));wn=Math.min(wn,or)}let qn=0;if(vn.forEach(En=>{const Pn=fe===void 0?2*Math.PI-2*Math.PI/En.nodes.length:fe;if(En.dTheta=Pn/Math.max(1,En.nodes.length-1),En.nodes.length>1&&Te){const or=Math.cos(En.dTheta)-Math.cos(0),xn=Math.sin(En.dTheta)-Math.sin(0),yr=Math.sqrt(wn*wn/(or*or+xn*xn));qn=Math.max(yr,qn)}En.r=qn,qn+=wn}),Se){let En=0,Pn=0;for(let or=0;or<vn.length;or++){const yr=(vn[or].r||0)-Pn;En=Math.max(En,yr)}Pn=0,vn.forEach((or,xn)=>{xn===0&&(Pn=or.r||0),or.r=Pn,Pn+=En})}return vn.forEach(En=>{const Pn=En.dTheta||0,or=En.r||0;En.nodes.forEach((xn,yr)=>{const na=ke+(me?1:-1)*Pn*yr;xn.data.x=ot[0]+or*Math.cos(na),xn.data.y=ot[1]+or*Math.sin(na)})}),a&&ut.forEach(En=>y.mergeNodeData(En.id,{x:En.data.x,y:En.data.y})),{nodes:ut,edges:Qe}})}}function Xk(E){const a=+this._x.call(null,E),y=+this._y.call(null,E);return T5(this.cover(a,y),a,y,E)}function T5(E,a,y,x){if(isNaN(a)||isNaN(y))return E;var b,z=E._root,te={data:x},re=E._x0,ae=E._y0,se=E._x1,fe=E._y1,me,Se,Te,ke,We,je,Ke,Qe;if(!z)return E._root=te,E;for(;z.length;)if((We=a>=(me=(re+se)/2))?re=me:se=me,(je=y>=(Se=(ae+fe)/2))?ae=Se:fe=Se,b=z,!(z=z[Ke=je<<1|We]))return b[Ke]=te,E;if(Te=+E._x.call(null,z.data),ke=+E._y.call(null,z.data),a===Te&&y===ke)return te.next=z,b?b[Ke]=te:E._root=te,E;do b=b?b[Ke]=new Array(4):E._root=new Array(4),(We=a>=(me=(re+se)/2))?re=me:se=me,(je=y>=(Se=(ae+fe)/2))?ae=Se:fe=Se;while((Ke=je<<1|We)===(Qe=(ke>=Se)<<1|Te>=me));return b[Qe]=z,b[Ke]=te,E}function Jk(E){var a,y,x=E.length,b,z,te=new Array(x),re=new Array(x),ae=1/0,se=1/0,fe=-1/0,me=-1/0;for(y=0;y<x;++y)isNaN(b=+this._x.call(null,a=E[y]))||isNaN(z=+this._y.call(null,a))||(te[y]=b,re[y]=z,b<ae&&(ae=b),b>fe&&(fe=b),z<se&&(se=z),z>me&&(me=z));if(ae>fe||se>me)return this;for(this.cover(ae,se).cover(fe,me),y=0;y<x;++y)T5(this,te[y],re[y],E[y]);return this}function qk(E,a){if(isNaN(E=+E)||isNaN(a=+a))return this;var y=this._x0,x=this._y0,b=this._x1,z=this._y1;if(isNaN(y))b=(y=Math.floor(E))+1,z=(x=Math.floor(a))+1;else{for(var te=b-y||1,re=this._root,ae,se;y>E||E>=b||x>a||a>=z;)switch(se=(a<x)<<1|E<y,ae=new Array(4),ae[se]=re,re=ae,te*=2,se){case 0:b=y+te,z=x+te;break;case 1:y=b-te,z=x+te;break;case 2:b=y+te,x=z-te;break;case 3:y=b-te,x=z-te;break}this._root&&this._root.length&&(this._root=re)}return this._x0=y,this._y0=x,this._x1=b,this._y1=z,this}function $k(){var E=[];return this.visit(function(a){if(!a.length)do E.push(a.data);while(a=a.next)}),E}function e9(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]]}function ac(E,a,y,x,b){this.node=E,this.x0=a,this.y0=y,this.x1=x,this.y1=b}function t9(E,a,y){var x,b=this._x0,z=this._y0,te,re,ae,se,fe=this._x1,me=this._y1,Se=[],Te=this._root,ke,We;for(Te&&Se.push(new ac(Te,b,z,fe,me)),y==null?y=1/0:(b=E-y,z=a-y,fe=E+y,me=a+y,y*=y);ke=Se.pop();)if(!(!(Te=ke.node)||(te=ke.x0)>fe||(re=ke.y0)>me||(ae=ke.x1)<b||(se=ke.y1)<z))if(Te.length){var je=(te+ae)/2,Ke=(re+se)/2;Se.push(new ac(Te[3],je,Ke,ae,se),new ac(Te[2],te,Ke,je,se),new ac(Te[1],je,re,ae,Ke),new ac(Te[0],te,re,je,Ke)),(We=(a>=Ke)<<1|E>=je)&&(ke=Se[Se.length-1],Se[Se.length-1]=Se[Se.length-1-We],Se[Se.length-1-We]=ke)}else{var Qe=E-+this._x.call(null,Te.data),Je=a-+this._y.call(null,Te.data),at=Qe*Qe+Je*Je;if(at<y){var ot=Math.sqrt(y=at);b=E-ot,z=a-ot,fe=E+ot,me=a+ot,x=Te.data}}return x}function n9(E){if(isNaN(fe=+this._x.call(null,E))||isNaN(me=+this._y.call(null,E)))return this;var a,y=this._root,x,b,z,te=this._x0,re=this._y0,ae=this._x1,se=this._y1,fe,me,Se,Te,ke,We,je,Ke;if(!y)return this;if(y.length)for(;;){if((ke=fe>=(Se=(te+ae)/2))?te=Se:ae=Se,(We=me>=(Te=(re+se)/2))?re=Te:se=Te,a=y,!(y=y[je=We<<1|ke]))return this;if(!y.length)break;(a[je+1&3]||a[je+2&3]||a[je+3&3])&&(x=a,Ke=je)}for(;y.data!==E;)if(b=y,!(y=y.next))return this;return(z=y.next)&&delete y.next,b?(z?b.next=z:delete b.next,this):a?(z?a[je]=z:delete a[je],(y=a[0]||a[1]||a[2]||a[3])&&y===(a[3]||a[2]||a[1]||a[0])&&!y.length&&(x?x[Ke]=y:this._root=y),this):(this._root=z,this)}function r9(E){for(var a=0,y=E.length;a<y;++a)this.remove(E[a]);return this}function a9(){return this._root}function i9(){var E=0;return this.visit(function(a){if(!a.length)do++E;while(a=a.next)}),E}function o9(E){var a=[],y,x=this._root,b,z,te,re,ae;for(x&&a.push(new ac(x,this._x0,this._y0,this._x1,this._y1));y=a.pop();)if(!E(x=y.node,z=y.x0,te=y.y0,re=y.x1,ae=y.y1)&&x.length){var se=(z+re)/2,fe=(te+ae)/2;(b=x[3])&&a.push(new ac(b,se,fe,re,ae)),(b=x[2])&&a.push(new ac(b,z,fe,se,ae)),(b=x[1])&&a.push(new ac(b,se,te,re,fe)),(b=x[0])&&a.push(new ac(b,z,te,se,fe))}return this}function s9(E){var a=[],y=[],x;for(this._root&&a.push(new ac(this._root,this._x0,this._y0,this._x1,this._y1));x=a.pop();){var b=x.node;if(b.length){var z,te=x.x0,re=x.y0,ae=x.x1,se=x.y1,fe=(te+ae)/2,me=(re+se)/2;(z=b[0])&&a.push(new ac(z,te,re,fe,me)),(z=b[1])&&a.push(new ac(z,fe,re,ae,me)),(z=b[2])&&a.push(new ac(z,te,me,fe,se)),(z=b[3])&&a.push(new ac(z,fe,me,ae,se))}y.push(x)}for(;x=y.pop();)E(x.node,x.x0,x.y0,x.x1,x.y1);return this}function l9(E){return E[0]}function u9(E){return arguments.length?(this._x=E,this):this._x}function c9(E){return E[1]}function d9(E){return arguments.length?(this._y=E,this):this._y}function hy(E,a,y){var x=new ox(a==null?l9:a,y==null?c9:y,NaN,NaN,NaN,NaN);return E==null?x:x.addAll(E)}function ox(E,a,y,x,b,z){this._x=E,this._y=a,this._x0=y,this._y0=x,this._x1=b,this._y1=z,this._root=void 0}function B5(E){for(var a={data:E.data},y=a;E=E.next;)y=y.next={data:E.data};return a}var ic=hy.prototype=ox.prototype;ic.copy=function(){var E=new ox(this._x,this._y,this._x0,this._y0,this._x1,this._y1),a=this._root,y,x;if(!a)return E;if(!a.length)return E._root=B5(a),E;for(y=[{source:a,target:E._root=new Array(4)}];a=y.pop();)for(var b=0;b<4;++b)(x=a.source[b])&&(x.length?y.push({source:x,target:a.target[b]=new Array(4)}):a.target[b]=B5(x));return E},ic.add=Xk,ic.addAll=Jk,ic.cover=qk,ic.data=$k,ic.extent=e9,ic.find=t9,ic.remove=n9,ic.removeAll=r9,ic.root=a9,ic.size=i9,ic.visit=o9,ic.visitAfter=s9,ic.x=u9,ic.y=d9;function f9(E){const a=+this._x.call(null,E),y=+this._y.call(null,E),x=+this._z.call(null,E);return N5(this.cover(a,y,x),a,y,x,E)}function N5(E,a,y,x,b){if(isNaN(a)||isNaN(y)||isNaN(x))return E;var z,te=E._root,re={data:b},ae=E._x0,se=E._y0,fe=E._z0,me=E._x1,Se=E._y1,Te=E._z1,ke,We,je,Ke,Qe,Je,at,ot,ut,ft,lt;if(!te)return E._root=re,E;for(;te.length;)if((at=a>=(ke=(ae+me)/2))?ae=ke:me=ke,(ot=y>=(We=(se+Se)/2))?se=We:Se=We,(ut=x>=(je=(fe+Te)/2))?fe=je:Te=je,z=te,!(te=te[ft=ut<<2|ot<<1|at]))return z[ft]=re,E;if(Ke=+E._x.call(null,te.data),Qe=+E._y.call(null,te.data),Je=+E._z.call(null,te.data),a===Ke&&y===Qe&&x===Je)return re.next=te,z?z[ft]=re:E._root=re,E;do z=z?z[ft]=new Array(8):E._root=new Array(8),(at=a>=(ke=(ae+me)/2))?ae=ke:me=ke,(ot=y>=(We=(se+Se)/2))?se=We:Se=We,(ut=x>=(je=(fe+Te)/2))?fe=je:Te=je;while((ft=ut<<2|ot<<1|at)===(lt=(Je>=je)<<2|(Qe>=We)<<1|Ke>=ke));return z[lt]=te,z[ft]=re,E}function h9(E){Array.isArray(E)||(E=Array.from(E));const a=E.length,y=new Float64Array(a),x=new Float64Array(a),b=new Float64Array(a);let z=1/0,te=1/0,re=1/0,ae=-1/0,se=-1/0,fe=-1/0;for(let me=0,Se,Te,ke,We;me<a;++me)isNaN(Te=+this._x.call(null,Se=E[me]))||isNaN(ke=+this._y.call(null,Se))||isNaN(We=+this._z.call(null,Se))||(y[me]=Te,x[me]=ke,b[me]=We,Te<z&&(z=Te),Te>ae&&(ae=Te),ke<te&&(te=ke),ke>se&&(se=ke),We<re&&(re=We),We>fe&&(fe=We));if(z>ae||te>se||re>fe)return this;this.cover(z,te,re).cover(ae,se,fe);for(let me=0;me<a;++me)N5(this,y[me],x[me],b[me],E[me]);return this}function g9(E,a,y){if(isNaN(E=+E)||isNaN(a=+a)||isNaN(y=+y))return this;var x=this._x0,b=this._y0,z=this._z0,te=this._x1,re=this._y1,ae=this._z1;if(isNaN(x))te=(x=Math.floor(E))+1,re=(b=Math.floor(a))+1,ae=(z=Math.floor(y))+1;else{for(var se=te-x||1,fe=this._root,me,Se;x>E||E>=te||b>a||a>=re||z>y||y>=ae;)switch(Se=(y<z)<<2|(a<b)<<1|E<x,me=new Array(8),me[Se]=fe,fe=me,se*=2,Se){case 0:te=x+se,re=b+se,ae=z+se;break;case 1:x=te-se,re=b+se,ae=z+se;break;case 2:te=x+se,b=re-se,ae=z+se;break;case 3:x=te-se,b=re-se,ae=z+se;break;case 4:te=x+se,re=b+se,z=ae-se;break;case 5:x=te-se,re=b+se,z=ae-se;break;case 6:te=x+se,b=re-se,z=ae-se;break;case 7:x=te-se,b=re-se,z=ae-se;break}this._root&&this._root.length&&(this._root=fe)}return this._x0=x,this._y0=b,this._z0=z,this._x1=te,this._y1=re,this._z1=ae,this}function v9(){var E=[];return this.visit(function(a){if(!a.length)do E.push(a.data);while(a=a.next)}),E}function m9(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]]}function ol(E,a,y,x,b,z,te){this.node=E,this.x0=a,this.y0=y,this.z0=x,this.x1=b,this.y1=z,this.z1=te}function p9(E,a,y,x){var b,z=this._x0,te=this._y0,re=this._z0,ae,se,fe,me,Se,Te,ke=this._x1,We=this._y1,je=this._z1,Ke=[],Qe=this._root,Je,at;for(Qe&&Ke.push(new ol(Qe,z,te,re,ke,We,je)),x==null?x=1/0:(z=E-x,te=a-x,re=y-x,ke=E+x,We=a+x,je=y+x,x*=x);Je=Ke.pop();)if(!(!(Qe=Je.node)||(ae=Je.x0)>ke||(se=Je.y0)>We||(fe=Je.z0)>je||(me=Je.x1)<z||(Se=Je.y1)<te||(Te=Je.z1)<re))if(Qe.length){var ot=(ae+me)/2,ut=(se+Se)/2,ft=(fe+Te)/2;Ke.push(new ol(Qe[7],ot,ut,ft,me,Se,Te),new ol(Qe[6],ae,ut,ft,ot,Se,Te),new ol(Qe[5],ot,se,ft,me,ut,Te),new ol(Qe[4],ae,se,ft,ot,ut,Te),new ol(Qe[3],ot,ut,fe,me,Se,ft),new ol(Qe[2],ae,ut,fe,ot,Se,ft),new ol(Qe[1],ot,se,fe,me,ut,ft),new ol(Qe[0],ae,se,fe,ot,ut,ft)),(at=(y>=ft)<<2|(a>=ut)<<1|E>=ot)&&(Je=Ke[Ke.length-1],Ke[Ke.length-1]=Ke[Ke.length-1-at],Ke[Ke.length-1-at]=Je)}else{var lt=E-+this._x.call(null,Qe.data),Dt=a-+this._y.call(null,Qe.data),Bt=y-+this._z.call(null,Qe.data),Vt=lt*lt+Dt*Dt+Bt*Bt;if(Vt<x){var Xt=Math.sqrt(x=Vt);z=E-Xt,te=a-Xt,re=y-Xt,ke=E+Xt,We=a+Xt,je=y+Xt,b=Qe.data}}return b}const y9=(E,a,y,x,b,z)=>Math.sqrt(Lh(E-x,2)+Lh(a-b,2)+Lh(y-z,2));function E9(E,a,y,x){const b=[],z=E-x,te=a-x,re=y-x,ae=E+x,se=a+x,fe=y+x;return this.visit((me,Se,Te,ke,We,je,Ke)=>{if(!me.length)do{const Qe=me.data;y9(E,a,y,this._x(Qe),this._y(Qe),this._z(Qe))<=x&&b.push(Qe)}while(me=me.next);return Se>ae||Te>se||ke>fe||We<z||je<te||Ke<re}),b}function A9(E){if(isNaN(Se=+this._x.call(null,E))||isNaN(Te=+this._y.call(null,E))||isNaN(ke=+this._z.call(null,E)))return this;var a,y=this._root,x,b,z,te=this._x0,re=this._y0,ae=this._z0,se=this._x1,fe=this._y1,me=this._z1,Se,Te,ke,We,je,Ke,Qe,Je,at,ot,ut;if(!y)return this;if(y.length)for(;;){if((Qe=Se>=(We=(te+se)/2))?te=We:se=We,(Je=Te>=(je=(re+fe)/2))?re=je:fe=je,(at=ke>=(Ke=(ae+me)/2))?ae=Ke:me=Ke,a=y,!(y=y[ot=at<<2|Je<<1|Qe]))return this;if(!y.length)break;(a[ot+1&7]||a[ot+2&7]||a[ot+3&7]||a[ot+4&7]||a[ot+5&7]||a[ot+6&7]||a[ot+7&7])&&(x=a,ut=ot)}for(;y.data!==E;)if(b=y,!(y=y.next))return this;return(z=y.next)&&delete y.next,b?(z?b.next=z:delete b.next,this):a?(z?a[ot]=z:delete a[ot],(y=a[0]||a[1]||a[2]||a[3]||a[4]||a[5]||a[6]||a[7])&&y===(a[7]||a[6]||a[5]||a[4]||a[3]||a[2]||a[1]||a[0])&&!y.length&&(x?x[ut]=y:this._root=y),this):(this._root=z,this)}function x9(E){for(var a=0,y=E.length;a<y;++a)this.remove(E[a]);return this}function S9(){return this._root}function b9(){var E=0;return this.visit(function(a){if(!a.length)do++E;while(a=a.next)}),E}function C9(E){var a=[],y,x=this._root,b,z,te,re,ae,se,fe;for(x&&a.push(new ol(x,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));y=a.pop();)if(!E(x=y.node,z=y.x0,te=y.y0,re=y.z0,ae=y.x1,se=y.y1,fe=y.z1)&&x.length){var me=(z+ae)/2,Se=(te+se)/2,Te=(re+fe)/2;(b=x[7])&&a.push(new ol(b,me,Se,Te,ae,se,fe)),(b=x[6])&&a.push(new ol(b,z,Se,Te,me,se,fe)),(b=x[5])&&a.push(new ol(b,me,te,Te,ae,Se,fe)),(b=x[4])&&a.push(new ol(b,z,te,Te,me,Se,fe)),(b=x[3])&&a.push(new ol(b,me,Se,re,ae,se,Te)),(b=x[2])&&a.push(new ol(b,z,Se,re,me,se,Te)),(b=x[1])&&a.push(new ol(b,me,te,re,ae,Se,Te)),(b=x[0])&&a.push(new ol(b,z,te,re,me,Se,Te))}return this}function P9(E){var a=[],y=[],x;for(this._root&&a.push(new ol(this._root,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));x=a.pop();){var b=x.node;if(b.length){var z,te=x.x0,re=x.y0,ae=x.z0,se=x.x1,fe=x.y1,me=x.z1,Se=(te+se)/2,Te=(re+fe)/2,ke=(ae+me)/2;(z=b[0])&&a.push(new ol(z,te,re,ae,Se,Te,ke)),(z=b[1])&&a.push(new ol(z,Se,re,ae,se,Te,ke)),(z=b[2])&&a.push(new ol(z,te,Te,ae,Se,fe,ke)),(z=b[3])&&a.push(new ol(z,Se,Te,ae,se,fe,ke)),(z=b[4])&&a.push(new ol(z,te,re,ke,Se,Te,me)),(z=b[5])&&a.push(new ol(z,Se,re,ke,se,Te,me)),(z=b[6])&&a.push(new ol(z,te,Te,ke,Se,fe,me)),(z=b[7])&&a.push(new ol(z,Se,Te,ke,se,fe,me))}y.push(x)}for(;x=y.pop();)E(x.node,x.x0,x.y0,x.z0,x.x1,x.y1,x.z1);return this}function w9(E){return E[0]}function M9(E){return arguments.length?(this._x=E,this):this._x}function D9(E){return E[1]}function I9(E){return arguments.length?(this._y=E,this):this._y}function L9(E){return E[2]}function O9(E){return arguments.length?(this._z=E,this):this._z}function R5(E,a,y,x){var b=new sx(a==null?w9:a,y==null?D9:y,x==null?L9:x,NaN,NaN,NaN,NaN,NaN,NaN);return E==null?b:b.addAll(E)}function sx(E,a,y,x,b,z,te,re,ae){this._x=E,this._y=a,this._z=y,this._x0=x,this._y0=b,this._z0=z,this._x1=te,this._y1=re,this._z1=ae,this._root=void 0}function _5(E){for(var a={data:E.data},y=a;E=E.next;)y=y.next={data:E.data};return a}var Iu=R5.prototype=sx.prototype;Iu.copy=function(){var E=new sx(this._x,this._y,this._z,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1),a=this._root,y,x;if(!a)return E;if(!a.length)return E._root=_5(a),E;for(y=[{source:a,target:E._root=new Array(8)}];a=y.pop();)for(var b=0;b<8;++b)(x=a.source[b])&&(x.length?y.push({source:x,target:a.target[b]=new Array(8)}):a.target[b]=_5(x));return E},Iu.add=f9,Iu.addAll=h9,Iu.cover=g9,Iu.data=v9,Iu.extent=m9,Iu.find=p9,Iu.findAllWithinRadius=E9,Iu.remove=A9,Iu.removeAll=x9,Iu.root=S9,Iu.size=b9,Iu.visit=C9,Iu.visitAfter=P9,Iu.x=M9,Iu.y=I9,Iu.z=O9;const T9=.81,lx=.1;function B9(E,a,y,x,b=2){const z=a/y,te=E.getAllNodes(),re=te.map((fe,me)=>{const{nodeStrength:Se,x:Te,y:ke,z:We,size:je}=fe.data;return{x:Te,y:ke,z:We,size:je,index:me,id:fe.id,vx:0,vy:0,vz:0,weight:z*Se}}),ae=(b===2?hy(re,fe=>fe.x,fe=>fe.y):R5(re,fe=>fe.x,fe=>fe.y,fe=>fe.z)).visitAfter(N9),se=new Map;return re.forEach(fe=>{se.set(fe.id,fe),_9(fe,ae,b)}),re.map((fe,me)=>{const{id:Se,data:Te}=te[me],{mass:ke=1}=Te;x[Se]={x:fe.vx/ke,y:fe.vy/ke,z:fe.vz/ke}}),x}function N9(E){let a=0,y=0,x=0,b=0,z=0;const te=E.length;if(te){for(let re=0;re<te;re++){const ae=E[re];ae&&ae.weight&&(a+=ae.weight,y+=ae.x*ae.weight,x+=ae.y*ae.weight,b+=ae.z*ae.weight,z+=ae.size*ae.weight)}E.x=y/a,E.y=x/a,E.z=b/a,E.size=z/a,E.weight=a}else{const re=E;E.x=re.data.x,E.y=re.data.y,E.z=re.data.z,E.size=re.data.size,E.weight=re.data.weight}}const R9=(E,a,y,x,b,z,te)=>{var re;if(((re=E.data)===null||re===void 0?void 0:re.id)===z.id)return;const ae=[y,x,b][te-1],se=z.x-E.x||lx,fe=z.y-E.y||lx,me=z.z-E.z||lx,Se=[se,fe,me],Te=ae-a;let ke=0;for(let Ke=0;Ke<te;Ke++)ke+=Se[Ke]*Se[Ke];const je=Math.sqrt(ke)*ke;if(Te*Te*T9<ke){const Ke=E.weight/je;return z.vx+=se*Ke,z.vy+=fe*Ke,z.vz+=me*Ke,!0}if(E.length)return!1;if(E.data!==z){const Ke=E.data.weight/je;z.vx+=se*Ke,z.vy+=fe*Ke,z.vz+=me*Ke}};function _9(E,a,y){a.visit((x,b,z,te,re)=>R9(x,b,z,te,re,E,y))}const F9={dimensions:2,maxIteration:500,gravity:10,factor:1,edgeStrength:50,nodeStrength:1e3,coulombDisScale:.005,damping:.9,maxSpeed:200,minMovement:.4,interval:.02,linkDistance:200,clusterNodeStrength:20,preventOverlap:!0,distanceThresholdMode:"mean"};class F5{constructor(a={}){this.options=a,this.id="force",this.timeInterval=0,this.judgingDistance=0,this.running=!1,this.options=Object.assign(Object.assign({},F9),a)}execute(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){return this.genericForceLayout(!1,a,y)})}assign(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){yield this.genericForceLayout(!0,a,y)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(a=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let x=0;(this.judgingDistance>this.lastOptions.minMovement||x<1)&&x<a;x++)this.runOneStep(this.lastCalcGraph,this.lastGraph,x,this.lastVelMap,this.lastOptions),this.updatePosition(this.lastGraph,this.lastCalcGraph,this.lastVelMap,this.lastOptions);const y={nodes:this.lastLayoutNodes,edges:this.lastLayoutEdges};return this.lastAssign&&y.nodes.forEach(x=>this.lastGraph.mergeNodeData(x.id,{x:x.data.x,y:x.data.y,z:this.options.dimensions===3?x.data.z:void 0})),y}genericForceLayout(a,y,x){return(0,Rt.mG)(this,void 0,void 0,function*(){const b=Object.assign(Object.assign({},this.options),x),z=y.getAllNodes(),te=y.getAllEdges(),re=this.formatOptions(b,y),{dimensions:ae,width:se,height:fe,nodeSize:me,getMass:Se,nodeStrength:Te,edgeStrength:ke,linkDistance:We}=re,je=z.map((lt,Dt)=>Object.assign(Object.assign({},lt),{data:Object.assign(Object.assign({},lt.data),{x:Oi(lt.data.x)?lt.data.x:Math.random()*se,y:Oi(lt.data.y)?lt.data.y:Math.random()*fe,z:Oi(lt.data.z)?lt.data.z:Math.random()*Math.sqrt(se*fe),size:me(lt)||30,mass:Se(lt),nodeStrength:Te(lt)})})),Ke=te.map(lt=>Object.assign(Object.assign({},lt),{data:Object.assign(Object.assign({},lt.data),{edgeStrength:ke(lt),linkDistance:We(lt,y.getNode(lt.source),y.getNode(lt.target))})}));if(!(z!=null&&z.length))return this.lastResult={nodes:[],edges:te},{nodes:[],edges:te};const Qe={};z.forEach((lt,Dt)=>{Qe[lt.id]={x:0,y:0,z:0}});const Je=new Kl({nodes:je,edges:Ke});this.formatCentripetal(re,Je);const{maxIteration:at,minMovement:ot,onTick:ut}=re;if(this.lastLayoutNodes=je,this.lastLayoutEdges=Ke,this.lastAssign=a,this.lastGraph=y,this.lastCalcGraph=Je,this.lastOptions=re,this.lastVelMap=Qe,typeof window=="undefined")return;let ft=0;return new Promise(lt=>{this.timeInterval=window.setInterval(()=>{(!z||!this.running)&<({nodes:ux(y,je),edges:te}),this.runOneStep(Je,y,ft,Qe,re),this.updatePosition(y,Je,Qe,re),a&&je.forEach(Dt=>y.mergeNodeData(Dt.id,{x:Dt.data.x,y:Dt.data.y,z:ae===3?Dt.data.z:void 0})),ut==null||ut({nodes:ux(y,je),edges:te}),ft++,(ft>=at||this.judgingDistance<ot)&&(window.clearInterval(this.timeInterval),lt({nodes:ux(y,je),edges:te}))},0),this.running=!0})})}formatOptions(a,y){const x=Object.assign({},a),{width:b,height:z,getMass:te}=a;x.width=!b&&typeof window!="undefined"?window.innerWidth:b,x.height=!z&&typeof window!="undefined"?window.innerHeight:z,a.center||(x.center=[x.width/2,x.height/2]),te||(x.getMass=ae=>{let se=1;Oi(ae==null?void 0:ae.data.mass)&&(se=ae==null?void 0:ae.data.mass);const fe=y.getDegree(ae.id,"both");return!fe||fe<5?se:fe*5*se}),x.nodeSize=rx(a.nodeSize,a.nodeSpacing);const re=a.linkDistance?bg(1,a.linkDistance):ae=>1+x.nodeSize(y.getNode(ae.source))+x.nodeSize(y.getNode(ae.target));return x.linkDistance=re,x.nodeStrength=bg(1,a.nodeStrength),x.edgeStrength=bg(1,a.edgeStrength),x}formatCentripetal(a,y){const{dimensions:x,centripetalOptions:b,center:z,clusterNodeStrength:te,leafCluster:re,clustering:ae,nodeClusterBy:se}=a,fe=y.getAllNodes(),me=b||{leaf:2,single:2,others:1,center:Ke=>({x:z[0],y:z[1],z:x===3?z[2]:void 0})};typeof te!="function"&&(a.clusterNodeStrength=Ke=>te);let Se,Te;if(re&&se&&(Se=k5(y,se),Te=Array.from(new Set(fe==null?void 0:fe.map(Ke=>Ke.data[se])))||[],a.centripetalOptions=Object.assign(me,{single:100,leaf:Ke=>{const{siblingLeaves:Qe,sameTypeLeaves:Je}=Se[Ke.id]||{};return(Je==null?void 0:Je.length)===(Qe==null?void 0:Qe.length)||(Te==null?void 0:Te.length)===1?1:a.clusterNodeStrength(Ke)},others:1,center:Ke=>{const Qe=y.getDegree(Ke.id,"both");if(!Qe)return{x:100,y:100,z:0};let Je;if(Qe===1){const{sameTypeLeaves:at=[]}=Se[Ke.id]||{};at.length===1?Je=void 0:at.length>1&&(Je=z5(at))}else Je=void 0;return{x:Je==null?void 0:Je.x,y:Je==null?void 0:Je.y,z:Je==null?void 0:Je.z}}})),ae&&se){Se||(Se=k5(y,se)),Te||(Te=Array.from(new Set(fe.map(Qe=>Qe.data[se])))),Te=Te.filter(Qe=>Qe!==void 0);const Ke={};Te.forEach(Qe=>{const Je=fe.filter(at=>at.data[se]===Qe).map(at=>y.getNode(at.id));Ke[Qe]=z5(Je)}),a.centripetalOptions=Object.assign(me,{single:Qe=>a.clusterNodeStrength(Qe),leaf:Qe=>a.clusterNodeStrength(Qe),others:Qe=>a.clusterNodeStrength(Qe),center:Qe=>{const Je=Ke[Qe.data[se]];return{x:Je==null?void 0:Je.x,y:Je==null?void 0:Je.y,z:Je==null?void 0:Je.z}}})}const{leaf:ke,single:We,others:je}=a.centripetalOptions||{};ke&&typeof ke!="function"&&(a.centripetalOptions.leaf=()=>ke),We&&typeof We!="function"&&(a.centripetalOptions.single=()=>We),je&&typeof je!="function"&&(a.centripetalOptions.others=()=>je)}runOneStep(a,y,x,b,z){const te={},re=a.getAllNodes(),ae=a.getAllEdges();if(!(re!=null&&re.length))return;const{monitor:se}=z;if(this.calRepulsive(a,te,z),ae&&this.calAttractive(a,te,z),this.calGravity(a,y,te,z),this.updateVelocity(a,te,b,z),se){const fe=this.calTotalEnergy(te,re);se({energy:fe,nodes:y.getAllNodes(),edges:y.getAllEdges(),iterations:x})}}calTotalEnergy(a,y){if(!(y!=null&&y.length))return 0;let x=0;return y.forEach((b,z)=>{const te=a[b.id].x,re=a[b.id].y,ae=this.options.dimensions===3?a[b.id].z:0,se=te*te+re*re+ae*ae,{mass:fe=1}=b.data;x+=fe*se*.5}),x}calRepulsive(a,y,x){const{dimensions:b,factor:z,coulombDisScale:te}=x;B9(a,z,te*te,y,b)}calAttractive(a,y,x){const{dimensions:b,nodeSize:z}=x;a.getAllEdges().forEach((te,re)=>{const{source:ae,target:se}=te,fe=a.getNode(ae),me=a.getNode(se);if(!fe||!me)return;let Se=me.data.x-fe.data.x,Te=me.data.y-fe.data.y,ke=b===3?me.data.z-fe.data.z:0;!Se&&!Te&&(Se=Math.random()*.01,Te=Math.random()*.01,b===3&&!ke&&(ke=Math.random()*.01));const We=Math.sqrt(Se*Se+Te*Te+ke*ke);if(We<z(fe)+z(me))return;const je=Se/We,Ke=Te/We,Qe=ke/We,{linkDistance:Je=200,edgeStrength:at=200}=te.data||{},ut=(Je-We)*at,ft=fe.data.mass||1,lt=me.data.mass||1,Dt=1/ft,Bt=1/lt,Vt=je*ut,Xt=Ke*ut,vn=Qe*ut;y[ae].x-=Vt*Dt,y[ae].y-=Xt*Dt,y[ae].z-=vn*Dt,y[se].x+=Vt*Bt,y[se].y+=Xt*Bt,y[se].z+=vn*Bt})}calGravity(a,y,x,b){const{getCenter:z}=b,te=a.getAllNodes(),re=y.getAllNodes(),ae=y.getAllEdges(),{width:se,height:fe,center:me,gravity:Se,centripetalOptions:Te}=b;te&&te.forEach(ke=>{const{id:We,data:je}=ke,{mass:Ke,x:Qe,y:Je,z:at}=je,ot=y.getNode(We);let ut=0,ft=0,lt=0,Dt=Se;const Bt=a.getDegree(We,"in"),Vt=a.getDegree(We,"out"),Xt=a.getDegree(We,"both"),vn=z==null?void 0:z(ot,Xt);if(vn){const[on,wn,qn]=vn;ut=Qe-on,ft=Je-wn,Dt=qn}else ut=Qe-me[0],ft=Je-me[1],lt=at-me[2];if(Dt&&(x[We].x-=Dt*ut/Ke,x[We].y-=Dt*ft/Ke,x[We].z-=Dt*lt/Ke),Te){const{leaf:on,single:wn,others:qn,center:yn}=Te,{x:En,y:Pn,z:or,centerStrength:xn}=(yn==null?void 0:yn(ot,re,ae,se,fe))||{x:0,y:0,z:0,centerStrength:0};if(!Oi(En)||!Oi(Pn))return;const yr=(Qe-En)/Ke,na=(Je-Pn)/Ke,ea=(at-or)/Ke;if(xn&&(x[We].x-=xn*yr,x[We].y-=xn*na,x[We].z-=xn*ea),Xt===0){const Or=wn(ot);if(!Or)return;x[We].x-=Or*yr,x[We].y-=Or*na,x[We].z-=Or*ea;return}if(Bt===0||Vt===0){const Or=on(ot,re,ae);if(!Or)return;x[We].x-=Or*yr,x[We].y-=Or*na,x[We].z-=Or*ea;return}const jr=qn(ot);if(!jr)return;x[We].x-=jr*yr,x[We].y-=jr*na,x[We].z-=jr*ea}})}updateVelocity(a,y,x,b){const{damping:z,maxSpeed:te,interval:re,dimensions:ae}=b,se=a.getAllNodes();se!=null&&se.length&&se.forEach(fe=>{const{id:me}=fe;let Se=(x[me].x+y[me].x*re)*z||.01,Te=(x[me].y+y[me].y*re)*z||.01,ke=ae===3?(x[me].z+y[me].z*re)*z||.01:0;const We=Math.sqrt(Se*Se+Te*Te+ke*ke);if(We>te){const je=te/We;Se=je*Se,Te=je*Te,ke=je*ke}x[me]={x:Se,y:Te,z:ke}})}updatePosition(a,y,x,b){const{distanceThresholdMode:z,interval:te,dimensions:re}=b,ae=y.getAllNodes();if(!(ae!=null&&ae.length)){this.judgingDistance=0;return}let se=0;z==="max"?this.judgingDistance=-1/0:z==="min"&&(this.judgingDistance=1/0),ae.forEach(fe=>{const{id:me}=fe,Se=a.getNode(me);if(Oi(Se.data.fx)&&Oi(Se.data.fy)){y.mergeNodeData(me,{x:Se.data.fx,y:Se.data.fy,z:re===3?Se.data.fz:void 0});return}const Te=x[me].x*te,ke=x[me].y*te,We=re===3?x[me].z*te:0;y.mergeNodeData(me,{x:fe.data.x+Te,y:fe.data.y+ke,z:fe.data.z+We});const je=Math.sqrt(Te*Te+ke*ke+We*We);switch(z){case"max":this.judgingDistance<je&&(this.judgingDistance=je);break;case"min":this.judgingDistance>je&&(this.judgingDistance=je);break;default:se=se+je;break}}),(!z||z==="mean")&&(this.judgingDistance=se/ae.length)}}const k5=(E,a)=>{const y=E.getAllNodes();if(!(y!=null&&y.length))return{};const x={};return y.forEach((b,z)=>{E.getDegree(b.id,"both")===1&&(x[b.id]=k9(E,"leaf",b,a))}),x},k9=(E,a,y,x)=>{const b=E.getDegree(y.id,"in"),z=E.getDegree(y.id,"out");let te=y,re=[];b===0?(te=E.getSuccessors(y.id)[0],re=E.getNeighbors(te.id)):z===0&&(te=E.getPredecessors(y.id)[0],re=E.getNeighbors(te.id)),re=re.filter(se=>E.getDegree(se.id,"in")===0||E.getDegree(se.id,"out")===0);const ae=z9(E,a,x,y,re);return{coreNode:te,siblingLeaves:re,sameTypeLeaves:ae}},z9=(E,a,y,x,b)=>{const z=x.data[y]||"";let te=(b==null?void 0:b.filter(re=>re.data[y]===z))||[];return a==="leaf"&&(te=te.filter(re=>E.getDegree(re.id,"in")===0||E.getDegree(re.id,"out")===0)),te},z5=E=>{const a={x:0,y:0};E.forEach(x=>{const{x:b,y:z}=x.data;a.x+=b||0,a.y+=z||0});const y=E.length||1;return{x:a.x/y,y:a.y/y}},ux=(E,a)=>a.map(y=>{const{id:x,data:b}=y,z=E.getNode(x);return Object.assign(Object.assign({},z),{data:Object.assign(Object.assign({},z.data),{x:b.x,y:b.y,z:b.z})})});var Es=Oe(25397);const XJ=Es.XA,JJ=Es.a_,qJ=Es.yQ,$J=Es.Hs,eq=Es.Ec,tq=Es.dx,nq=Es.LU,rq=Es.Rm,ph=Es.y3,aq=Es.qK,iq=Es.pb,oq=Es.j,sq=Es.sO,lq=Es.BZ,uq=Es.EK,cq=Es.Db,dq=Es.Fx,fq=Es.tU,hq=Es.Ym,gq=Es.rs,vq=Es.QR,mq=Es.TB,pq=Es.oH,U5=Es.Sc,yq=Es.BN,Eq=Es.it,Aq=Es.$r,xq=Es.QM,Sq=Es.AV;var bq=(Es.y3,Es.y3);const Cq=Es.GH,Pq=Es.SO,wq=Es.uZ,Mq=Es.yU,Dq=Es.F1,Iq=Es.re,W5=E=>{const a=[],y=E.length;for(let x=0;x<y;x+=1){a[x]=[];for(let b=0;b<y;b+=1)x===b?a[x][b]=0:E[x][b]===0||!E[x][b]?a[x][b]=1/0:a[x][b]=E[x][b]}for(let x=0;x<y;x+=1)for(let b=0;b<y;b+=1)for(let z=0;z<y;z+=1)a[b][z]>a[b][x]+a[x][z]&&(a[b][z]=a[b][x]+a[x][z]);return a},j5=(E,a)=>{const{nodes:y,edges:x}=E,b=[],z={};if(!y)throw new Error("invalid nodes data!");return y&&y.forEach((te,re)=>{z[te.id]=re;const ae=[];b.push(ae)}),x==null||x.forEach(te=>{const{source:re,target:ae}=te,se=z[re],fe=z[ae];se===void 0||fe===void 0||(b[se][fe]=1,a||(b[fe][se]=1))}),b},U9=(E,a)=>{const y=[];return E.forEach(x=>{const b=[];x.forEach(z=>{b.push(z*a)}),y.push(b)}),y},W9=E=>{let a=1/0,y=1/0,x=-1/0,b=-1/0;return E.forEach(z=>{let te=z.data.size;Nf(te)?te.length===1&&(te=[te[0],te[0]]):Oi(te)?te=[te,te]:(te===void 0||isNaN(te))&&(te=[30,30]);const re=[te[0]/2,te[1]/2],ae=z.data.x-re[0],se=z.data.x+re[0],fe=z.data.y-re[1],me=z.data.y+re[1];a>ae&&(a=ae),y>fe&&(y=fe),x<se&&(x=se),b<me&&(b=me)}),{minX:a,minY:y,maxX:x,maxY:b}},G5=(E,a)=>Math.sqrt((E.x-a.x)*(E.x-a.x)+(E.y-a.y)*(E.y-a.y)),cx=(E,a,y,x="TB",b,z={})=>{if(!(a!=null&&a.length))return;const{stopBranchFn:te,stopAllFn:re}=z;for(let ae=0;ae<a.length;ae++){const se=a[ae];if(E.hasNode(se.id)&&!(te!=null&&te(se))){if(re!=null&&re(se))return;x==="TB"&&y(se),cx(E,E.getChildren(se.id,b),y,x,b,z),x!=="TB"&&y(se)}}},j9={center:[0,0],linkDistance:50};class V5{constructor(a={}){this.options=a,this.id="mds",this.options=Object.assign(Object.assign({},j9),a)}execute(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){return this.genericMDSLayout(!1,a,y)})}assign(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){yield this.genericMDSLayout(!0,a,y)})}genericMDSLayout(a,y,x){return(0,Rt.mG)(this,void 0,void 0,function*(){const b=Object.assign(Object.assign({},this.options),x),{center:z=[0,0],linkDistance:te=50}=b,re=y.getAllNodes(),ae=y.getAllEdges();if(!(re!=null&&re.length)||re.length===1)return Cg(y,a,z);const se=j5({nodes:re,edges:ae},!1),fe=W5(se);G9(fe);const me=U9(fe,te),Se=V9(me),Te=[];return Se.forEach((We,je)=>{const Ke=Uc(re[je]);Ke.data.x=We[0]+z[0],Ke.data.y=We[1]+z[1],Te.push(Ke)}),a&&Te.forEach(We=>y.mergeNodeData(We.id,{x:We.data.x,y:We.data.y})),{nodes:Te,edges:ae}})}}const G9=E=>{let a=-999999;E.forEach(y=>{y.forEach(x=>{x!==1/0&&a<x&&(a=x)})}),E.forEach((y,x)=>{y.forEach((b,z)=>{b===1/0&&(E[x][z]=a)})})},V9=E=>{const y=ph.mul(ph.pow(E,2),-.5),x=y.mean("row"),b=y.mean("column"),z=y.mean();y.add(z).subRowVector(x).subColumnVector(b);const te=new U5(y),re=ph.sqrt(te.diagonalMatrix).diagonal();return te.leftSingularVectors.toJSON().map(ae=>ph.mul([ae],[re]).toJSON()[0].splice(0,2))};function dx(E){return!!E.tick&&!!E.stop}const H9={gForce:!0,force2:!0,d3force:!0,fruchterman:!0,forceAtlas2:!0,force:!0,"graphin-force":!0},K9={center:[0,0],comboPadding:10,treeKey:"combo"};class Z9{constructor(a={}){this.options=a,this.id="comboCombined",this.options=Object.assign(Object.assign({},K9),a)}execute(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){return this.genericComboCombinedLayout(!1,a,y)})}assign(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){yield this.genericComboCombinedLayout(!0,a,y)})}genericComboCombinedLayout(a,y,x){return(0,Rt.mG)(this,void 0,void 0,function*(){const b=this.initVals(Object.assign(Object.assign({},this.options),x)),{center:z,treeKey:te,outerLayout:re}=b,ae=y.getAllNodes().filter(lt=>!lt.data._isCombo),se=y.getAllNodes().filter(lt=>lt.data._isCombo),fe=y.getAllEdges(),me=ae==null?void 0:ae.length;if(!me||me===1)return Cg(y,a,z);const Se=[],Te=new Map;ae.forEach(lt=>{Te.set(lt.id,lt)});const ke=new Map;se.forEach(lt=>{ke.set(lt.id,lt)});const We=new Map,je=this.getInnerGraphs(y,te,Te,ke,fe,b,We);yield Promise.all(je);const Ke=new Map,Qe=[],Je=new Map;let at=!0;y.getRoots(te).forEach(lt=>{const Dt=We.get(lt.id),Bt=ke.get(lt.id)||Te.get(lt.id),Vt={id:lt.id,data:Object.assign(Object.assign({},lt.data),{x:Dt.data.x||Bt.data.x,y:Dt.data.y||Bt.data.y,fx:Dt.data.fx||Bt.data.fx,fy:Dt.data.fy||Bt.data.fy,mass:Dt.data.mass||Bt.data.mass,size:Dt.data.size})};Qe.push(Vt),Ke.set(lt.id,!0),!isNaN(Vt.data.x)&&Vt.data.x!==0&&!isNaN(Vt.data.y)&&Vt.data.y!==0?at=!1:(Vt.data.x=Math.random()*100,Vt.data.y=Math.random()*100),cx(y,[lt],Xt=>{Xt.id!==lt.id&&Je.set(Xt.id,lt.id)},"TB",te)});const ot=[];fe.forEach(lt=>{const Dt=Je.get(lt.source)||lt.source,Bt=Je.get(lt.target)||lt.target;Dt!==Bt&&Ke.has(Dt)&&Ke.has(Bt)&&ot.push({id:lt.id,source:Dt,target:Bt,data:{}})});let ut;if(Qe!=null&&Qe.length){if(Qe.length===1)Qe[0].data.x=z[0],Qe[0].data.y=z[1];else{const lt=new Kl({nodes:Qe,edges:ot}),Dt=re||new F5;at&&H9[Dt.id]&&(yield(Qe.length<100?new V5:new ix).assign(lt));const Bt=Object.assign({center:z,kg:5,preventOverlap:!0,animate:!1},Dt.id==="force"?{gravity:1,factor:4,linkDistance:(Vt,Xt,vn)=>{const on=Math.max(...Xt.data.size)||32,wn=Math.max(...vn.data.size)||32;return on/2+wn/2+200}}:{});ut=yield H5(Dt,lt,Bt)}We.forEach(lt=>{var Dt;const Bt=ut.nodes.find(vn=>vn.id===lt.id);if(Bt){const{x:vn,y:on}=Bt.data;lt.data.visited=!0,lt.data.x=vn,lt.data.y=on,Se.push({id:lt.id,data:{x:vn,y:on}})}const{x:Vt,y:Xt}=lt.data;(Dt=lt.data.nodes)===null||Dt===void 0||Dt.forEach(vn=>{Se.push({id:vn.id,data:{x:vn.data.x+Vt,y:vn.data.y+Xt}})})}),We.forEach(({data:lt})=>{const{x:Dt,y:Bt,visited:Vt,nodes:Xt}=lt;Xt==null||Xt.forEach(vn=>{if(!Vt){const on=Se.find(wn=>wn.id===vn.id);on.data.x+=Dt||0,on.data.y+=Bt||0}})})}return a&&Se.forEach(lt=>{y.mergeNodeData(lt.id,{x:lt.data.x,y:lt.data.y})}),{nodes:Se,edges:fe}})}initVals(a){const y=Object.assign({},a),{nodeSize:x,spacing:b,comboPadding:z}=a;let te,re;if(Oi(b)?re=()=>b:Gi(b)?re=b:re=()=>0,y.spacing=re,!x)te=se=>{const fe=re(se);return se.size?Nf(se.size)?((se.size[0]>se.size[1]?se.size[0]:se.size[1])+fe)/2:jl(se.size)?((se.size.width>se.size.height?se.size.width:se.size.height)+fe)/2:(se.size+fe)/2:32+fe/2};else if(Gi(x))te=se=>{const fe=x(se),me=re(se);return Nf(se.size)?((se.size[0]>se.size[1]?se.size[0]:se.size[1])+me)/2:((fe||32)+me)/2};else if(Nf(x)){const fe=(x[0]>x[1]?x[0]:x[1])/2;te=me=>fe+re(me)/2}else{const se=x/2;te=fe=>se+re(fe)/2}y.nodeSize=te;let ae;return Oi(z)?ae=()=>z:Nf(z)?ae=()=>Math.max.apply(null,z):Gi(z)?ae=z:ae=()=>0,y.comboPadding=ae,y}getInnerGraphs(a,y,x,b,z,te,re){const{nodeSize:ae,comboPadding:se,spacing:fe,innerLayout:me}=te,Se=me||new ix({}),Te={center:[0,0],preventOverlap:!0,nodeSpacing:fe},ke=[],We=je=>{let Ke=(se==null?void 0:se(je))||10;return Nf(Ke)&&(Ke=Math.max(...Ke)),{size:Ke?[Ke*2,Ke*2]:[30,30],padding:Ke}};return a.getRoots(y).forEach(je=>{re.set(je.id,{id:je.id,data:{nodes:[],size:We(je).size}});let Ke=Promise.resolve();cx(a,[je],Qe=>{var Je;if(!Qe.data._isCombo)return;const{size:at,padding:ot}=We(Qe);if(!(!((Je=a.getChildren(Qe.id,y))===null||Je===void 0)&&Je.length))re.set(Qe.id,{id:Qe.id,data:Object.assign(Object.assign({},Qe.data),{size:at})});else{const ut=re.get(Qe.id);re.set(Qe.id,{id:Qe.id,data:Object.assign({nodes:[]},ut==null?void 0:ut.data)});const ft=new Map,lt=a.getChildren(Qe.id,y).map(Vt=>{if(Vt.data._isCombo)return re.has(Vt.id)||re.set(Vt.id,{id:Vt.id,data:Object.assign({},Vt.data)}),ft.set(Vt.id,!0),re.get(Vt.id);const Xt=x.get(Vt.id)||b.get(Vt.id);return ft.set(Vt.id,!0),{id:Vt.id,data:Object.assign(Object.assign({},Xt.data),Vt.data)}}),Dt={nodes:lt,edges:z.filter(Vt=>ft.has(Vt.source)&&ft.has(Vt.target))};let Bt=1/0;lt.forEach(Vt=>{var Xt;let{size:vn}=Vt.data;vn||(vn=((Xt=re.get(Vt.id))===null||Xt===void 0?void 0:Xt.data.size)||(ae==null?void 0:ae(Vt))||[30,30]),Oi(vn)&&(vn=[vn,vn]);const[on,wn]=vn;Bt>on&&(Bt=on),Bt>wn&&(Bt=wn),Vt.data.size=vn}),Ke=Ke.then(()=>(0,Rt.mG)(this,void 0,void 0,function*(){const Vt=new Kl(Dt);yield H5(Se,Vt,Te,!0);const{minX:Xt,minY:vn,maxX:on,maxY:wn}=W9(lt),qn={x:(on+Xt)/2,y:(wn+vn)/2};Dt.nodes.forEach(En=>{En.data.x-=qn.x,En.data.y-=qn.y});const yn=[Math.max(on-Xt,Bt)+ot*2,Math.max(wn-vn,Bt)+ot*2];re.get(Qe.id).data.size=yn,re.get(Qe.id).data.nodes=lt}))}return!0},"BT",y),ke.push(Ke)}),ke}}function H5(E,a,y,x){var b;return(0,Rt.mG)(this,void 0,void 0,function*(){return dx(E)?(E.execute(a,y),E.stop(),E.tick((b=y.iterations)!==null&&b!==void 0?b:300)):x?yield E.assign(a,y):yield E.execute(a,y)})}function uu(E){return function(){return E}}function yh(E){return(E()-.5)*1e-6}function Q9(E){return E.index}function K5(E,a){var y=E.get(a);if(!y)throw new Error("node not found: "+a);return y}function Y9(E){var a=Q9,y=me,x,b=uu(30),z,te,re,ae,se,fe=1;E==null&&(E=[]);function me(je){return 1/Math.min(re[je.source.index],re[je.target.index])}function Se(je){for(var Ke=0,Qe=E.length;Ke<fe;++Ke)for(var Je=0,at,ot,ut,ft,lt,Dt,Bt;Je<Qe;++Je)at=E[Je],ot=at.source,ut=at.target,ft=ut.x+ut.vx-ot.x-ot.vx||yh(se),lt=ut.y+ut.vy-ot.y-ot.vy||yh(se),Dt=Math.sqrt(ft*ft+lt*lt),Dt=(Dt-z[Je])/Dt*je*x[Je],ft*=Dt,lt*=Dt,ut.vx-=ft*(Bt=ae[Je]),ut.vy-=lt*Bt,ot.vx+=ft*(Bt=1-Bt),ot.vy+=lt*Bt}function Te(){if(te){var je,Ke=te.length,Qe=E.length,Je=new Map(te.map((ot,ut)=>[a(ot,ut,te),ot])),at;for(je=0,re=new Array(Ke);je<Qe;++je)at=E[je],at.index=je,typeof at.source!="object"&&(at.source=K5(Je,at.source)),typeof at.target!="object"&&(at.target=K5(Je,at.target)),re[at.source.index]=(re[at.source.index]||0)+1,re[at.target.index]=(re[at.target.index]||0)+1;for(je=0,ae=new Array(Qe);je<Qe;++je)at=E[je],ae[je]=re[at.source.index]/(re[at.source.index]+re[at.target.index]);x=new Array(Qe),ke(),z=new Array(Qe),We()}}function ke(){if(te)for(var je=0,Ke=E.length;je<Ke;++je)x[je]=+y(E[je],je,E)}function We(){if(te)for(var je=0,Ke=E.length;je<Ke;++je)z[je]=+b(E[je],je,E)}return Se.initialize=function(je,Ke){te=je,se=Ke,Te()},Se.links=function(je){return arguments.length?(E=je,Te(),Se):E},Se.id=function(je){return arguments.length?(a=je,Se):a},Se.iterations=function(je){return arguments.length?(fe=+je,Se):fe},Se.strength=function(je){return arguments.length?(y=typeof je=="function"?je:uu(+je),ke(),Se):y},Se.distance=function(je){return arguments.length?(b=typeof je=="function"?je:uu(+je),We(),Se):b},Se}var X9={value:()=>{}};function Z5(){for(var E=0,a=arguments.length,y={},x;E<a;++E){if(!(x=arguments[E]+"")||x in y||/[\s.]/.test(x))throw new Error("illegal type: "+x);y[x]=[]}return new gy(y)}function gy(E){this._=E}function J9(E,a){return E.trim().split(/^|\s+/).map(function(y){var x="",b=y.indexOf(".");if(b>=0&&(x=y.slice(b+1),y=y.slice(0,b)),y&&!a.hasOwnProperty(y))throw new Error("unknown type: "+y);return{type:y,name:x}})}gy.prototype=Z5.prototype={constructor:gy,on:function(E,a){var y=this._,x=J9(E+"",y),b,z=-1,te=x.length;if(arguments.length<2){for(;++z<te;)if((b=(E=x[z]).type)&&(b=q9(y[b],E.name)))return b;return}if(a!=null&&typeof a!="function")throw new Error("invalid callback: "+a);for(;++z<te;)if(b=(E=x[z]).type)y[b]=Q5(y[b],E.name,a);else if(a==null)for(b in y)y[b]=Q5(y[b],E.name,null);return this},copy:function(){var E={},a=this._;for(var y in a)E[y]=a[y].slice();return new gy(E)},call:function(E,a){if((b=arguments.length-2)>0)for(var y=new Array(b),x=0,b,z;x<b;++x)y[x]=arguments[x+2];if(!this._.hasOwnProperty(E))throw new Error("unknown type: "+E);for(z=this._[E],x=0,b=z.length;x<b;++x)z[x].value.apply(a,y)},apply:function(E,a,y){if(!this._.hasOwnProperty(E))throw new Error("unknown type: "+E);for(var x=this._[E],b=0,z=x.length;b<z;++b)x[b].value.apply(a,y)}};function q9(E,a){for(var y=0,x=E.length,b;y<x;++y)if((b=E[y]).name===a)return b.value}function Q5(E,a,y){for(var x=0,b=E.length;x<b;++x)if(E[x].name===a){E[x]=X9,E=E.slice(0,x).concat(E.slice(x+1));break}return y!=null&&E.push({name:a,value:y}),E}var $9=Z5,v0=0,Mv=0,Dv=0,Y5=1e3,vy,Iv,my=0,Pg=0,py=0,Lv=typeof performance=="object"&&performance.now?performance:Date,X5=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(E){setTimeout(E,17)};function J5(){return Pg||(X5(ez),Pg=Lv.now()+py)}function ez(){Pg=0}function fx(){this._call=this._time=this._next=null}fx.prototype=q5.prototype={constructor:fx,restart:function(E,a,y){if(typeof E!="function")throw new TypeError("callback is not a function");y=(y==null?J5():+y)+(a==null?0:+a),!this._next&&Iv!==this&&(Iv?Iv._next=this:vy=this,Iv=this),this._call=E,this._time=y,hx()},stop:function(){this._call&&(this._call=null,this._time=1/0,hx())}};function q5(E,a,y){var x=new fx;return x.restart(E,a,y),x}function tz(){J5(),++v0;for(var E=vy,a;E;)(a=Pg-E._time)>=0&&E._call.call(void 0,a),E=E._next;--v0}function $5(){Pg=(my=Lv.now())+py,v0=Mv=0;try{tz()}finally{v0=0,rz(),Pg=0}}function nz(){var E=Lv.now(),a=E-my;a>Y5&&(py-=a,my=E)}function rz(){for(var E,a=vy,y,x=1/0;a;)a._call?(x>a._time&&(x=a._time),E=a,a=a._next):(y=a._next,a._next=null,a=E?E._next=y:vy=y);Iv=E,hx(x)}function hx(E){if(!v0){Mv&&(Mv=clearTimeout(Mv));var a=E-Pg;a>24?(E<1/0&&(Mv=setTimeout($5,E-Lv.now()-py)),Dv&&(Dv=clearInterval(Dv))):(Dv||(my=Lv.now(),Dv=setInterval(nz,Y5)),v0=1,X5($5))}}const az=1664525,iz=1013904223,eM=4294967296;function oz(){let E=1;return()=>(E=(az*E+iz)%eM)/eM}function sz(E){return E.x}function lz(E){return E.y}var uz=10,cz=Math.PI*(3-Math.sqrt(5));function dz(E){var a,y=1,x=.001,b=1-Math.pow(x,1/300),z=0,te=.6,re=new Map,ae=q5(me),se=$9("tick","end"),fe=oz();E==null&&(E=[]);function me(){Se(),se.call("tick",a),y<x&&(ae.stop(),se.call("end",a))}function Se(We){var je,Ke=E.length,Qe;We===void 0&&(We=1);for(var Je=0;Je<We;++Je)for(y+=(z-y)*b,re.forEach(function(at){at(y)}),je=0;je<Ke;++je)Qe=E[je],Qe.fx==null?Qe.x+=Qe.vx*=te:(Qe.x=Qe.fx,Qe.vx=0),Qe.fy==null?Qe.y+=Qe.vy*=te:(Qe.y=Qe.fy,Qe.vy=0);return a}function Te(){for(var We=0,je=E.length,Ke;We<je;++We){if(Ke=E[We],Ke.index=We,Ke.fx!=null&&(Ke.x=Ke.fx),Ke.fy!=null&&(Ke.y=Ke.fy),isNaN(Ke.x)||isNaN(Ke.y)){var Qe=uz*Math.sqrt(.5+We),Je=We*cz;Ke.x=Qe*Math.cos(Je),Ke.y=Qe*Math.sin(Je)}(isNaN(Ke.vx)||isNaN(Ke.vy))&&(Ke.vx=Ke.vy=0)}}function ke(We){return We.initialize&&We.initialize(E,fe),We}return Te(),a={tick:Se,restart:function(){return ae.restart(me),a},stop:function(){return ae.stop(),a},nodes:function(We){return arguments.length?(E=We,Te(),re.forEach(ke),a):E},alpha:function(We){return arguments.length?(y=+We,a):y},alphaMin:function(We){return arguments.length?(x=+We,a):x},alphaDecay:function(We){return arguments.length?(b=+We,a):+b},alphaTarget:function(We){return arguments.length?(z=+We,a):z},velocityDecay:function(We){return arguments.length?(te=1-We,a):1-te},randomSource:function(We){return arguments.length?(fe=We,re.forEach(ke),a):fe},force:function(We,je){return arguments.length>1?(je==null?re.delete(We):re.set(We,ke(je)),a):re.get(We)},find:function(We,je,Ke){var Qe=0,Je=E.length,at,ot,ut,ft,lt;for(Ke==null?Ke=1/0:Ke*=Ke,Qe=0;Qe<Je;++Qe)ft=E[Qe],at=We-ft.x,ot=je-ft.y,ut=at*at+ot*ot,ut<Ke&&(lt=ft,Ke=ut);return lt},on:function(We,je){return arguments.length>1?(se.on(We,je),a):se.on(We)}}}function fz(){var E,a,y,x,b=uu(-30),z,te=1,re=1/0,ae=.81;function se(Te){var ke,We=E.length,je=hy(E,sz,lz).visitAfter(me);for(x=Te,ke=0;ke<We;++ke)a=E[ke],je.visit(Se)}function fe(){if(E){var Te,ke=E.length,We;for(z=new Array(ke),Te=0;Te<ke;++Te)We=E[Te],z[We.index]=+b(We,Te,E)}}function me(Te){var ke=0,We,je,Ke=0,Qe,Je,at;if(Te.length){for(Qe=Je=at=0;at<4;++at)(We=Te[at])&&(je=Math.abs(We.value))&&(ke+=We.value,Ke+=je,Qe+=je*We.x,Je+=je*We.y);Te.x=Qe/Ke,Te.y=Je/Ke}else{We=Te,We.x=We.data.x,We.y=We.data.y;do ke+=z[We.data.index];while(We=We.next)}Te.value=ke}function Se(Te,ke,We,je){if(!Te.value)return!0;var Ke=Te.x-a.x,Qe=Te.y-a.y,Je=je-ke,at=Ke*Ke+Qe*Qe;if(Je*Je/ae<at)return at<re&&(Ke===0&&(Ke=yh(y),at+=Ke*Ke),Qe===0&&(Qe=yh(y),at+=Qe*Qe),at<te&&(at=Math.sqrt(te*at)),a.vx+=Ke*Te.value*x/at,a.vy+=Qe*Te.value*x/at),!0;if(Te.length||at>=re)return;(Te.data!==a||Te.next)&&(Ke===0&&(Ke=yh(y),at+=Ke*Ke),Qe===0&&(Qe=yh(y),at+=Qe*Qe),at<te&&(at=Math.sqrt(te*at)));do Te.data!==a&&(Je=z[Te.data.index]*x/at,a.vx+=Ke*Je,a.vy+=Qe*Je);while(Te=Te.next)}return se.initialize=function(Te,ke){E=Te,y=ke,fe()},se.strength=function(Te){return arguments.length?(b=typeof Te=="function"?Te:uu(+Te),fe(),se):b},se.distanceMin=function(Te){return arguments.length?(te=Te*Te,se):Math.sqrt(te)},se.distanceMax=function(Te){return arguments.length?(re=Te*Te,se):Math.sqrt(re)},se.theta=function(Te){return arguments.length?(ae=Te*Te,se):Math.sqrt(ae)},se}function hz(E,a){var y,x=1;E==null&&(E=0),a==null&&(a=0);function b(){var z,te=y.length,re,ae=0,se=0;for(z=0;z<te;++z)re=y[z],ae+=re.x,se+=re.y;for(ae=(ae/te-E)*x,se=(se/te-a)*x,z=0;z<te;++z)re=y[z],re.x-=ae,re.y-=se}return b.initialize=function(z){y=z},b.x=function(z){return arguments.length?(E=+z,b):E},b.y=function(z){return arguments.length?(a=+z,b):a},b.strength=function(z){return arguments.length?(x=+z,b):x},b}function gz(E){return E.x+E.vx}function vz(E){return E.y+E.vy}function mz(E){var a,y,x,b=1,z=1;typeof E!="function"&&(E=uu(E==null?1:+E));function te(){for(var se,fe=a.length,me,Se,Te,ke,We,je,Ke=0;Ke<z;++Ke)for(me=hy(a,gz,vz).visitAfter(re),se=0;se<fe;++se)Se=a[se],We=y[Se.index],je=We*We,Te=Se.x+Se.vx,ke=Se.y+Se.vy,me.visit(Qe);function Qe(Je,at,ot,ut,ft){var lt=Je.data,Dt=Je.r,Bt=We+Dt;if(lt){if(lt.index>Se.index){var Vt=Te-lt.x-lt.vx,Xt=ke-lt.y-lt.vy,vn=Vt*Vt+Xt*Xt;vn<Bt*Bt&&(Vt===0&&(Vt=yh(x),vn+=Vt*Vt),Xt===0&&(Xt=yh(x),vn+=Xt*Xt),vn=(Bt-(vn=Math.sqrt(vn)))/vn*b,Se.vx+=(Vt*=vn)*(Bt=(Dt*=Dt)/(je+Dt)),Se.vy+=(Xt*=vn)*Bt,lt.vx-=Vt*(Bt=1-Bt),lt.vy-=Xt*Bt)}return}return at>Te+Bt||ut<Te-Bt||ot>ke+Bt||ft<ke-Bt}}function re(se){if(se.data)return se.r=y[se.data.index];for(var fe=se.r=0;fe<4;++fe)se[fe]&&se[fe].r>se.r&&(se.r=se[fe].r)}function ae(){if(a){var se,fe=a.length,me;for(y=new Array(fe),se=0;se<fe;++se)me=a[se],y[me.index]=+E(me,se,a)}}return te.initialize=function(se,fe){a=se,x=fe,ae()},te.iterations=function(se){return arguments.length?(z=+se,te):z},te.strength=function(se){return arguments.length?(b=+se,te):b},te.radius=function(se){return arguments.length?(E=typeof se=="function"?se:uu(+se),ae(),te):E},te}function pz(E,a,y){var x,b=uu(.1),z,te;typeof E!="function"&&(E=uu(+E)),a==null&&(a=0),y==null&&(y=0);function re(se){for(var fe=0,me=x.length;fe<me;++fe){var Se=x[fe],Te=Se.x-a||1e-6,ke=Se.y-y||1e-6,We=Math.sqrt(Te*Te+ke*ke),je=(te[fe]-We)*z[fe]*se/We;Se.vx+=Te*je,Se.vy+=ke*je}}function ae(){if(x){var se,fe=x.length;for(z=new Array(fe),te=new Array(fe),se=0;se<fe;++se)te[se]=+E(x[se],se,x),z[se]=isNaN(te[se])?0:+b(x[se],se,x)}}return re.initialize=function(se){x=se,ae()},re.strength=function(se){return arguments.length?(b=typeof se=="function"?se:uu(+se),ae(),re):b},re.radius=function(se){return arguments.length?(E=typeof se=="function"?se:uu(+se),ae(),re):E},re.x=function(se){return arguments.length?(a=+se,re):a},re.y=function(se){return arguments.length?(y=+se,re):y},re}function yz(E){var a=uu(.1),y,x,b;typeof E!="function"&&(E=uu(E==null?0:+E));function z(re){for(var ae=0,se=y.length,fe;ae<se;++ae)fe=y[ae],fe.vx+=(b[ae]-fe.x)*x[ae]*re}function te(){if(y){var re,ae=y.length;for(x=new Array(ae),b=new Array(ae),re=0;re<ae;++re)x[re]=isNaN(b[re]=+E(y[re],re,y))?0:+a(y[re],re,y)}}return z.initialize=function(re){y=re,te()},z.strength=function(re){return arguments.length?(a=typeof re=="function"?re:uu(+re),te(),z):a},z.x=function(re){return arguments.length?(E=typeof re=="function"?re:uu(+re),te(),z):E},z}function Ez(E){var a=uu(.1),y,x,b;typeof E!="function"&&(E=uu(E==null?0:+E));function z(re){for(var ae=0,se=y.length,fe;ae<se;++ae)fe=y[ae],fe.vy+=(b[ae]-fe.y)*x[ae]*re}function te(){if(y){var re,ae=y.length;for(x=new Array(ae),b=new Array(ae),re=0;re<ae;++re)x[re]=isNaN(b[re]=+E(y[re],re,y))?0:+a(y[re],re,y)}}return z.initialize=function(re){y=re,te()},z.strength=function(re){return arguments.length?(a=typeof re=="function"?re:uu(+re),te(),z):a},z.y=function(re){return arguments.length?(E=typeof re=="function"?re:uu(+re),te(),z):E},z}class Az{constructor(a){this.id="d3-force",this.config={inputNodeAttrs:["x","y","vx","vy","fx","fy"],outputNodeAttrs:["x","y","vx","vy"],simulationAttrs:["alpha","alphaMin","alphaDecay","alphaTarget","velocityDecay","randomSource"]},this.forceMap={link:Y9,manyBody:fz,center:hz,collide:mz,radial:pz,x:yz,y:Ez},this.options={link:{id:y=>y.id},manyBody:{},center:{x:0,y:0}},this.context={options:{},assign:!1,nodes:[],edges:[]},tc(this.options,a),this.options.forceSimulation&&(this.simulation=this.options.forceSimulation)}execute(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){return this.genericLayout(!1,a,y)})}assign(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){yield this.genericLayout(!0,a,y)})}stop(){this.simulation.stop()}tick(a){return this.simulation.tick(a),this.getResult()}restart(){this.simulation.restart()}setFixedPosition(a,y){const x=this.context.nodes.find(b=>b.id===a);x&&y.forEach((b,z)=>{if(typeof b=="number"||b===null){const te=["fx","fy","fz"][z];x[te]=b}})}getOptions(a){var y,x;const b=tc({},this.options,a);return b.collide&&((y=b.collide)===null||y===void 0?void 0:y.radius)===void 0&&(b.collide=b.collide||{},b.collide.radius=(x=b.nodeSize)!==null&&x!==void 0?x:10),b.iterations===void 0&&(b.link&&b.link.iterations===void 0&&(b.iterations=b.link.iterations),b.collide&&b.collide.iterations===void 0&&(b.iterations=b.collide.iterations)),this.context.options=b,b}genericLayout(a,y,x){var b;return(0,Rt.mG)(this,void 0,void 0,function*(){const z=this.getOptions(x),te=y.getAllNodes().map(({id:fe,data:me})=>Object.assign(Object.assign({id:fe},me),Ag(me.data,this.config.inputNodeAttrs))),re=y.getAllEdges().map(fe=>Object.assign({},fe));Object.assign(this.context,{assign:a,nodes:te,edges:re,graph:y});const ae=new Promise(fe=>{this.resolver=fe}),se=this.setSimulation(z);return se.nodes(te),(b=se.force("link"))===null||b===void 0||b.links(re),ae})}getResult(){const{assign:a,nodes:y,edges:x,graph:b}=this.context,z=y.map(re=>({id:re.id,data:Object.assign(Object.assign({},re.data),Ag(re,this.config.outputNodeAttrs))})),te=x.map(({id:re,source:ae,target:se,data:fe})=>({id:re,source:typeof ae=="object"?ae.id:ae,target:typeof se=="object"?se.id:se,data:fe}));return a&&z.forEach(re=>b.mergeNodeData(re.id,re.data)),{nodes:z,edges:te}}initSimulation(){return dz()}setSimulation(a){const y=this.simulation||this.options.forceSimulation||this.initSimulation();return this.simulation||(this.simulation=y.on("tick",()=>{var x;return(x=a.onTick)===null||x===void 0?void 0:x.call(a,this.getResult())}).on("end",()=>{var x;return(x=this.resolver)===null||x===void 0?void 0:x.call(this,this.getResult())})),tM(y,this.config.simulationAttrs.map(x=>[x,a[x]])),Object.entries(this.forceMap).forEach(([x,b])=>{const z=x;if(a[x]){let te=y.force(z);te||(te=b(),y.force(z,te)),tM(te,Object.entries(a[z]))}else y.force(z,null)}),y}}const tM=(E,a)=>a.reduce((y,[x,b])=>!y[x]||b===void 0?y:y[x].call(E,b),E);var nM=Oe(92546),xz=Oe.n(nM);class yy{constructor(a){this.id="dagre",this.options={},Object.assign(this.options,yy.defaultOptions,a)}execute(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,a,Object.assign(Object.assign({},this.options),y))})}assign(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,a,Object.assign(Object.assign({},this.options),y))})}genericDagreLayout(a,y,x){return(0,Rt.mG)(this,void 0,void 0,function*(){const{nodeSize:b}=x,z=new nM.graphlib.Graph;z.setGraph(x),z.setDefaultEdgeLabel(()=>({}));const te=y.getAllNodes(),re=y.getAllEdges();[...te,...re].some(({id:se})=>Oi(se))&&console.error("Dagre layout only support string id, it will convert number to string."),y.getAllNodes().forEach(se=>{const{id:fe}=se,me=Object.assign({},se.data);if(b!==void 0){const[Se,Te]=wv(Gi(b)?b(se):b);Object.assign(me,{width:Se,height:Te})}z.setNode(fe.toString(),me)}),y.getAllEdges().forEach(({id:se,source:fe,target:me})=>{z.setEdge(fe.toString(),me.toString(),{id:se})}),xz().layout(z);const ae={nodes:[],edges:[]};return z.nodes().forEach(se=>{const fe=z.node(se);ae.nodes.push({id:se,data:fe}),a&&y.mergeNodeData(se,fe)}),z.edges().forEach(se=>{const fe=z.edge(se),{id:me}=fe,Se=(0,Rt._T)(fe,["id"]),{v:Te,w:ke}=se;ae.edges.push({id:me,source:Te,target:ke,data:Se}),a&&y.mergeEdgeData(me,Se)}),ae})}}yy.defaultOptions={};class gx{constructor(a){this.id=a.id||0,this.rx=a.rx,this.ry=a.ry,this.fx=0,this.fy=0,this.mass=a.mass,this.degree=a.degree,this.g=a.g||0}distanceTo(a){const y=this.rx-a.rx,x=this.ry-a.ry;return Math.hypot(y,x)}setPos(a,y){this.rx=a,this.ry=y}resetForce(){this.fx=0,this.fy=0}addForce(a){const y=a.rx-this.rx,x=a.ry-this.ry;let b=Math.hypot(y,x);b=b<1e-4?1e-4:b;const z=this.g*(this.degree+1)*(a.degree+1)/b;this.fx+=z*y/b,this.fy+=z*x/b}in(a){return a.contains(this.rx,this.ry)}add(a){const y=this.mass+a.mass,x=(this.rx*this.mass+a.rx*a.mass)/y,b=(this.ry*this.mass+a.ry*a.mass)/y,z=this.degree+a.degree,te={rx:x,ry:b,mass:y,degree:z};return new gx(te)}}class m0{constructor(a){this.xmid=a.xmid,this.ymid=a.ymid,this.length=a.length,this.massCenter=a.massCenter||[0,0],this.mass=a.mass||1}getLength(){return this.length}contains(a,y){const x=this.length/2;return a<=this.xmid+x&&a>=this.xmid-x&&y<=this.ymid+x&&y>=this.ymid-x}NW(){const a=this.xmid-this.length/4,y=this.ymid+this.length/4,x=this.length/2,b={xmid:a,ymid:y,length:x};return new m0(b)}NE(){const a=this.xmid+this.length/4,y=this.ymid+this.length/4,x=this.length/2,b={xmid:a,ymid:y,length:x};return new m0(b)}SW(){const a=this.xmid-this.length/4,y=this.ymid-this.length/4,x=this.length/2,b={xmid:a,ymid:y,length:x};return new m0(b)}SE(){const a=this.xmid+this.length/4,y=this.ymid-this.length/4,x=this.length/2,b={xmid:a,ymid:y,length:x};return new m0(b)}}class p0{constructor(a){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,a!=null&&(this.quad=a)}insert(a){if(this.body==null){this.body=a;return}this._isExternal()?(this.quad&&(this.NW=new p0(this.quad.NW()),this.NE=new p0(this.quad.NE()),this.SW=new p0(this.quad.SW()),this.SE=new p0(this.quad.SE())),this._putBody(this.body),this._putBody(a),this.body=this.body.add(a)):(this.body=this.body.add(a),this._putBody(a))}_putBody(a){this.quad&&(a.in(this.quad.NW())&&this.NW?this.NW.insert(a):a.in(this.quad.NE())&&this.NE?this.NE.insert(a):a.in(this.quad.SW())&&this.SW?this.SW.insert(a):a.in(this.quad.SE())&&this.SE&&this.SE.insert(a))}_isExternal(){return this.NW==null&&this.NE==null&&this.SW==null&&this.SE==null}updateForce(a){if(!(this.body==null||a===this.body))if(this._isExternal())a.addForce(this.body);else{const y=this.quad?this.quad.getLength():0,x=this.body.distanceTo(a);y/x<this.theta?a.addForce(this.body):(this.NW&&this.NW.updateForce(a),this.NE&&this.NE.updateForce(a),this.SW&&this.SW.updateForce(a),this.SE&&this.SE.updateForce(a))}}}const Sz={center:[0,0],width:300,height:300,kr:5,kg:1,mode:"normal",preventOverlap:!1,dissuadeHubs:!1,maxIteration:0,ks:.1,ksmax:10,tao:.1};class bz{constructor(a={}){this.options=a,this.id="forceAtlas2",this.options=Object.assign(Object.assign({},Sz),a)}execute(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){return this.genericForceAtlas2Layout(!1,a,y)})}assign(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){yield this.genericForceAtlas2Layout(!0,a,y)})}genericForceAtlas2Layout(a,y,x){return(0,Rt.mG)(this,void 0,void 0,function*(){const b=y.getAllEdges(),z=y.getAllNodes(),te=this.formatOptions(x,z.length),{width:re,height:ae,prune:se,maxIteration:fe,nodeSize:me,center:Se}=te;if(!(z!=null&&z.length)||z.length===1)return Cg(y,a,Se);const Te=z.map(Ke=>Uc(Ke,[re,ae])),ke=b.filter(Ke=>{const{source:Qe,target:Je}=Ke;return Qe!==Je}),We=new Kl({nodes:Te,edges:ke}),je=this.getSizes(We,me);if(this.run(We,y,fe,je,a,te),se){for(let Qe=0;Qe<ke.length;Qe+=1){const{source:Je,target:at}=ke[Qe],ot=We.getDegree(Je),ut=We.getDegree(Je);if(ot<=1){const ft=We.getNode(at);We.mergeNodeData(Je,{x:ft.data.x,y:ft.data.y})}else if(ut<=1){const ft=We.getNode(Je);We.mergeNodeData(at,{x:ft.data.x,y:ft.data.y})}}const Ke=Object.assign(Object.assign({},te),{prune:!1,barnesHut:!1});this.run(We,y,100,je,a,Ke)}return{nodes:Te,edges:b}})}getSizes(a,y){const x=a.getAllNodes(),b={};for(let z=0;z<x.length;z+=1){const te=x[z];b[te.id]=rx(y,void 0)(te)}return b}formatOptions(a={},y){const x=Object.assign(Object.assign({},this.options),a),{center:b,width:z,height:te,barnesHut:re,prune:ae,maxIteration:se,kr:fe,kg:me}=x;return x.width=!z&&typeof window!="undefined"?window.innerWidth:z,x.height=!te&&typeof window!="undefined"?window.innerHeight:te,x.center=b||[x.width/2,x.height/2],re===void 0&&y>250&&(x.barnesHut=!0),ae===void 0&&y>100&&(x.prune=!0),se===0&&!ae?(x.maxIteration=250,y<=200&&y>100?x.maxIteration=1e3:y>200&&(x.maxIteration=1200)):se===0&&ae&&(x.maxIteration=100,y<=200&&y>100?x.maxIteration=500:y>200&&(x.maxIteration=950)),fe||(x.kr=50,y>100&&y<=500?x.kr=20:y>500&&(x.kr=1)),me||(x.kg=20,y>100&&y<=500?x.kg=10:y>500&&(x.kg=1)),x}run(a,y,x,b,z,te){const{kr:re,barnesHut:ae,onTick:se}=te,fe=a.getAllNodes();let me=0,Se=x;const Te={},ke={},We={};for(let je=0;je<fe.length;je+=1){const{data:Ke,id:Qe}=fe[je];if(Te[Qe]=[0,0],ae){const Je={id:je,rx:Ke.x,ry:Ke.y,mass:1,g:re,degree:a.getDegree(Qe)};We[Qe]=new gx(Je)}}for(;Se>0;)me=this.oneStep(a,{iter:Se,preventOverlapIters:50,krPrime:100,sg:me,forces:Te,preForces:ke,bodies:We,sizes:b},te),Se--,se==null||se({nodes:fe,edges:y.getAllEdges()});return a}oneStep(a,y,x){const{iter:b,preventOverlapIters:z,krPrime:te,sg:re,preForces:ae,bodies:se,sizes:fe}=y;let{forces:me}=y;const{preventOverlap:Se,barnesHut:Te}=x,ke=a.getAllNodes();for(let We=0;We<ke.length;We+=1){const{id:je}=ke[We];ae[je]=[...me[je]],me[je]=[0,0]}return me=this.getAttrForces(a,b,z,fe,me,x),Te&&(Se&&b>z||!Se)?me=this.getOptRepGraForces(a,me,se,x):me=this.getRepGraForces(a,b,z,me,te,fe,x),this.updatePos(a,me,ae,re,x)}getAttrForces(a,y,x,b,z,te){const{preventOverlap:re,dissuadeHubs:ae,mode:se,prune:fe}=te,me=a.getAllEdges();for(let Se=0;Se<me.length;Se+=1){const{source:Te,target:ke}=me[Se],We=a.getNode(Te),je=a.getNode(ke),Ke=a.getDegree(Te),Qe=a.getDegree(ke);if(fe&&(Ke<=1||Qe<=1))continue;const Je=[je.data.x-We.data.x,je.data.y-We.data.y];let at=Math.hypot(Je[0],Je[1]);at=at<1e-4?1e-4:at,Je[0]=Je[0]/at,Je[1]=Je[1]/at,re&&y<x&&(at=at-b[Te]-b[ke]);let ot=at,ut=ot;se==="linlog"&&(ot=Math.log(1+at),ut=ot),ae&&(ot=at/Ke,ut=at/Qe),re&&y<x&&at<=0?(ot=0,ut=0):re&&y<x&&at>0&&(ot=at,ut=at),z[Te][0]+=ot*Je[0],z[ke][0]-=ut*Je[0],z[Te][1]+=ot*Je[1],z[ke][1]-=ut*Je[1]}return z}getOptRepGraForces(a,y,x,b){const{kg:z,center:te,prune:re}=b,ae=a.getAllNodes(),se=ae.length;let fe=9e10,me=-9e10,Se=9e10,Te=-9e10;for(let Qe=0;Qe<se;Qe+=1){const{id:Je,data:at}=ae[Qe];re&&a.getDegree(Je)<=1||(x[Je].setPos(at.x,at.y),at.x>=me&&(me=at.x),at.x<=fe&&(fe=at.x),at.y>=Te&&(Te=at.y),at.y<=Se&&(Se=at.y))}const ke=Math.max(me-fe,Te-Se),We={xmid:(me+fe)/2,ymid:(Te+Se)/2,length:ke,massCenter:te,mass:se},je=new m0(We),Ke=new p0(je);for(let Qe=0;Qe<se;Qe+=1){const{id:Je}=ae[Qe];re&&a.getDegree(Je)<=1||x[Je].in(je)&&Ke.insert(x[Je])}for(let Qe=0;Qe<se;Qe+=1){const{id:Je,data:at}=ae[Qe],ot=a.getDegree(Je);if(re&&ot<=1)continue;x[Je].resetForce(),Ke.updateForce(x[Je]),y[Je][0]-=x[Je].fx,y[Je][1]-=x[Je].fy;const ut=[at.x-te[0],at.y-te[1]];let ft=Math.hypot(ut[0],ut[1]);ft=ft<1e-4?1e-4:ft,ut[0]=ut[0]/ft,ut[1]=ut[1]/ft;const lt=z*(ot+1);y[Je][0]-=lt*ut[0],y[Je][1]-=lt*ut[1]}return y}getRepGraForces(a,y,x,b,z,te,re){const{preventOverlap:ae,kr:se,kg:fe,center:me,prune:Se}=re,Te=a.getAllNodes(),ke=Te.length;for(let We=0;We<ke;We+=1){const je=Te[We],Ke=a.getDegree(je.id);for(let ot=We+1;ot<ke;ot+=1){const ut=Te[ot],ft=a.getDegree(ut.id);if(Se&&(Ke<=1||ft<=1))continue;const lt=[ut.data.x-je.data.x,ut.data.y-je.data.y];let Dt=Math.hypot(lt[0],lt[1]);Dt=Dt<1e-4?1e-4:Dt,lt[0]=lt[0]/Dt,lt[1]=lt[1]/Dt,ae&&y<x&&(Dt=Dt-te[je.id]-te[ut.id]);let Bt=se*(Ke+1)*(ft+1)/Dt;ae&&y<x&&Dt<0?Bt=z*(Ke+1)*(ft+1):ae&&y<x&&Dt===0?Bt=0:ae&&y<x&&Dt>0&&(Bt=se*(Ke+1)*(ft+1)/Dt),b[je.id][0]-=Bt*lt[0],b[ut.id][0]+=Bt*lt[0],b[je.id][1]-=Bt*lt[1],b[ut.id][1]+=Bt*lt[1]}const Qe=[je.data.x-me[0],je.data.y-me[1]],Je=Math.hypot(Qe[0],Qe[1]);Qe[0]=Qe[0]/Je,Qe[1]=Qe[1]/Je;const at=fe*(Ke+1);b[je.id][0]-=at*Qe[0],b[je.id][1]-=at*Qe[1]}return b}updatePos(a,y,x,b,z){const{ks:te,tao:re,prune:ae,ksmax:se}=z,fe=a.getAllNodes(),me=fe.length,Se=[],Te=[];let ke=0,We=0,je=b;for(let Qe=0;Qe<me;Qe+=1){const{id:Je}=fe[Qe],at=a.getDegree(Je);if(ae&&at<=1)continue;const ot=[y[Je][0]-x[Je][0],y[Je][1]-x[Je][1]],ut=Math.hypot(ot[0],ot[1]),ft=[y[Je][0]+x[Je][0],y[Je][1]+x[Je][1]],lt=Math.hypot(ft[0],ft[1]);Se[Qe]=ut,Te[Qe]=lt/2,ke+=(at+1)*Se[Qe],We+=(at+1)*Te[Qe]}const Ke=je;je=re*We/ke,Ke!==0&&(je=je>1.5*Ke?1.5*Ke:je);for(let Qe=0;Qe<me;Qe+=1){const{id:Je,data:at}=fe[Qe],ot=a.getDegree(Je);if(ae&&ot<=1||Oi(at.fx)&&Oi(at.fy))continue;let ut=te*je/(1+je*Math.sqrt(Se[Qe])),ft=Math.hypot(y[Je][0],y[Je][1]);ft=ft<1e-4?1e-4:ft;const lt=se/ft;ut=ut>lt?lt:ut;const Dt=ut*y[Je][0],Bt=ut*y[Je][1];a.mergeNodeData(Je,{x:at.x+Dt,y:at.y+Bt})}return je}}const Cz={maxIteration:1e3,gravity:10,speed:5,clustering:!1,clusterGravity:10,width:300,height:300,nodeClusterBy:"cluster"},Pz=800;class wz{constructor(a={}){this.options=a,this.id="fruchterman",this.timeInterval=0,this.running=!1,this.options=Object.assign(Object.assign({},Cz),a)}execute(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){return this.genericFruchtermanLayout(!1,a,y)})}assign(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){yield this.genericFruchtermanLayout(!0,a,y)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(a=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let x=0;x<a;x++)this.runOneStep(this.lastGraph,this.lastClusterMap,this.lastOptions);const y={nodes:this.lastLayoutNodes,edges:this.lastLayoutEdges};return this.lastAssign&&y.nodes.forEach(x=>this.lastGraph.mergeNodeData(x.id,{x:x.data.x,y:x.data.y,z:this.options.dimensions===3?x.data.z:void 0})),y}genericFruchtermanLayout(a,y,x){return(0,Rt.mG)(this,void 0,void 0,function*(){if(this.running)return;const b=this.formatOptions(x),{dimensions:z,width:te,height:re,center:ae,clustering:se,nodeClusterBy:fe,maxIteration:me,onTick:Se}=b,Te=y.getAllNodes(),ke=y.getAllEdges();if(!(Te!=null&&Te.length)){const Je={nodes:[],edges:ke};return this.lastResult=Je,Je}if(Te.length===1){a&&y.mergeNodeData(Te[0].id,{x:ae[0],y:ae[1],z:z===3?ae[2]:void 0});const Je={nodes:[Object.assign(Object.assign({},Te[0]),{data:Object.assign(Object.assign({},Te[0].data),{x:ae[0],y:ae[1],z:z===3?ae[2]:void 0})})],edges:ke};return this.lastResult=Je,Je}const We=Te.map(Je=>Uc(Je,[te,re])),je=new Kl({nodes:We,edges:ke}),Ke={};if(se&&We.forEach(Je=>{const at=Je.data[fe];Ke[at]||(Ke[at]={name:at,cx:0,cy:0,count:0})}),this.lastLayoutNodes=We,this.lastLayoutEdges=ke,this.lastAssign=a,this.lastGraph=je,this.lastOptions=b,this.lastClusterMap=Ke,typeof window=="undefined")return;let Qe=0;return new Promise(Je=>{this.timeInterval=window.setInterval(()=>{if(!this.running){Je({nodes:We,edges:ke});return}this.runOneStep(je,Ke,b),a&&We.forEach(({id:at,data:ot})=>y.mergeNodeData(at,{x:ot.x,y:ot.y,z:z===3?ot.z:void 0})),Se==null||Se({nodes:We,edges:ke}),Qe++,Qe>=me&&(window.clearInterval(this.timeInterval),Je({nodes:We,edges:ke}))},0),this.running=!0})})}formatOptions(a={}){const y=Object.assign(Object.assign({},this.options),a),{clustering:x,nodeClusterBy:b}=y,{center:z,width:te,height:re}=y;return y.width=!te&&typeof window!="undefined"?window.innerWidth:te,y.height=!re&&typeof window!="undefined"?window.innerHeight:re,y.center=z||[y.width/2,y.height/2],y.clustering=x&&!!b,y}runOneStep(a,y,x){const{dimensions:b,height:z,width:te,gravity:re,center:ae,speed:se,clustering:fe,nodeClusterBy:me,clusterGravity:Se}=x,Te=z*te,ke=Math.sqrt(Te)/10,We=a.getAllNodes(),je=Te/(We.length+1),Ke=Math.sqrt(je),Qe={};if(this.applyCalculate(a,Qe,Ke,je),fe){for(const at in y)y[at].cx=0,y[at].cy=0,y[at].count=0;We.forEach(at=>{const{data:ot}=at,ut=y[ot[me]];Oi(ot.x)&&(ut.cx+=ot.x),Oi(ot.y)&&(ut.cy+=ot.y),ut.count++});for(const at in y)y[at].cx/=y[at].count,y[at].cy/=y[at].count;const Je=Se||re;We.forEach((at,ot)=>{const{id:ut,data:ft}=at;if(!Oi(ft.x)||!Oi(ft.y))return;const lt=y[ft[me]],Dt=Math.sqrt((ft.x-lt.cx)*(ft.x-lt.cx)+(ft.y-lt.cy)*(ft.y-lt.cy)),Bt=Ke*Je;Qe[ut].x-=Bt*(ft.x-lt.cx)/Dt,Qe[ut].y-=Bt*(ft.y-lt.cy)/Dt})}We.forEach((Je,at)=>{const{id:ot,data:ut}=Je;if(!Oi(ut.x)||!Oi(ut.y))return;const ft=.01*Ke*re;Qe[ot].x-=ft*(ut.x-ae[0]),Qe[ot].y-=ft*(ut.y-ae[1]),b===3&&(Qe[ot].z-=ft*(ut.z-ae[2]))}),We.forEach((Je,at)=>{const{id:ot,data:ut}=Je;if(Oi(ut.fx)&&Oi(ut.fy)){ut.x=ut.fx,ut.y=ut.fy,b===3&&(ut.z=ut.fz);return}if(!Oi(ut.x)||!Oi(ut.y))return;const ft=Math.sqrt(Qe[ot].x*Qe[ot].x+Qe[ot].y*Qe[ot].y+(b===3?Qe[ot].z*Qe[ot].z:0));if(ft>0){const lt=Math.min(ke*(se/Pz),ft);a.mergeNodeData(ot,{x:ut.x+Qe[ot].x/ft*lt,y:ut.y+Qe[ot].y/ft*lt,z:b===3?ut.z+Qe[ot].z/ft*lt:void 0})}})}applyCalculate(a,y,x,b){this.calRepulsive(a,y,b),this.calAttractive(a,y,x)}calRepulsive(a,y,x){const b=a.getAllNodes();b.forEach(({data:z,id:te},re)=>{y[te]={x:0,y:0,z:0},b.forEach(({data:ae,id:se},fe)=>{if(re<=fe||!Oi(z.x)||!Oi(ae.x)||!Oi(z.y)||!Oi(ae.y))return;let me=z.x-ae.x,Se=z.y-ae.y,Te=this.options.dimensions===3?z.z-ae.z:0,ke=me*me+Se*Se+Te*Te;ke===0&&(ke=1,me=.01,Se=.01,Te=.01);const We=x/ke,je=me*We,Ke=Se*We,Qe=Te*We;y[te].x+=je,y[te].y+=Ke,y[se].x-=je,y[se].y-=Ke,this.options.dimensions===3&&(y[te].z+=Qe,y[se].z-=Qe)})})}calAttractive(a,y,x){a.getAllEdges().forEach(z=>{const{source:te,target:re}=z;if(!te||!re||te===re)return;const{data:ae}=a.getNode(te),{data:se}=a.getNode(re);if(!Oi(se.x)||!Oi(ae.x)||!Oi(se.y)||!Oi(ae.y))return;const fe=se.x-ae.x,me=se.y-ae.y,Se=this.options.dimensions===3?se.z-ae.z:0,Te=Math.sqrt(fe*fe+me*me+Se*Se)/x,ke=fe*Te,We=me*Te,je=Se*Te;y[te].x+=ke,y[te].y+=We,y[re].x-=ke,y[re].y-=We,this.options.dimensions===3&&(y[te].z+=je,y[re].z-=je)})}}const Mz={begin:[0,0],preventOverlap:!0,preventOverlapPadding:10,condense:!1,rows:void 0,cols:void 0,position:void 0,sortBy:"degree",nodeSize:30,width:300,height:300};class Dz{constructor(a={}){this.options=a,this.id="grid",this.options=Object.assign(Object.assign({},Mz),a)}execute(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){return this.genericGridLayout(!1,a,y)})}assign(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){yield this.genericGridLayout(!0,a,y)})}genericGridLayout(a,y,x){return(0,Rt.mG)(this,void 0,void 0,function*(){const b=Object.assign(Object.assign({},this.options),x),{begin:z=[0,0],condense:te,preventOverlapPadding:re,preventOverlap:ae,rows:se,cols:fe,nodeSpacing:me,nodeSize:Se,width:Te,height:ke,position:We}=b;let{sortBy:je}=b;const Ke=y.getAllNodes(),Qe=y.getAllEdges(),Je=Ke==null?void 0:Ke.length;if(!Je||Je===1)return Cg(y,a,z);const at=Ke.map(wn=>Uc(wn));je!=="id"&&(!Is(je)||at[0].data[je]===void 0)&&(je="degree"),je==="degree"?at.sort((wn,qn)=>y.getDegree(qn.id,"both")-y.getDegree(wn.id,"both")):je==="id"?at.sort((wn,qn)=>Oi(qn.id)&&Oi(wn.id)?qn.id-wn.id:`${wn.id}`.localeCompare(`${qn.id}`)):at.sort((wn,qn)=>qn.data[je]-wn.data[je]);const ot=!Te&&typeof window!="undefined"?window.innerWidth:Te,ut=!ke&&typeof window!="undefined"?window.innerHeight:ke,ft=Je,lt={rows:se,cols:fe};if(se!=null&&fe!=null)lt.rows=se,lt.cols=fe;else if(se!=null&&fe==null)lt.rows=se,lt.cols=Math.ceil(ft/lt.rows);else if(se==null&&fe!=null)lt.cols=fe,lt.rows=Math.ceil(ft/lt.cols);else{const wn=Math.sqrt(ft*ut/ot);lt.rows=Math.round(wn),lt.cols=Math.round(ot/ut*wn)}if(lt.rows=Math.max(lt.rows,1),lt.cols=Math.max(lt.cols,1),lt.cols*lt.rows>ft){const wn=Ey(lt),qn=Ay(lt);(wn-1)*qn>=ft?Ey(lt,wn-1):(qn-1)*wn>=ft&&Ay(lt,qn-1)}else for(;lt.cols*lt.rows<ft;){const wn=Ey(lt),qn=Ay(lt);(qn+1)*wn>=ft?Ay(lt,qn+1):Ey(lt,wn+1)}let Dt=te?0:ot/lt.cols,Bt=te?0:ut/lt.rows;if(ae||me){const wn=bg(10,me),qn=nx(30,Se,!1);at.forEach(yn=>{(!yn.data.x||!yn.data.y)&&(yn.data.x=0,yn.data.y=0);const En=y.getNode(yn.id),[Pn,or]=wv(qn(En)||30),xn=wn!==void 0?wn(yn):re,yr=Pn+xn,na=or+xn;Dt=Math.max(Dt,yr),Bt=Math.max(Bt,na)})}const Vt={},Xt={row:0,col:0},vn={};for(let wn=0;wn<at.length;wn++){const qn=at[wn];let yn;if(We&&(yn=We(y.getNode(qn.id))),yn&&(yn.row!==void 0||yn.col!==void 0)){const En={row:yn.row,col:yn.col};if(En.col===void 0)for(En.col=0;vx(Vt,En);)En.col++;else if(En.row===void 0)for(En.row=0;vx(Vt,En);)En.row++;vn[qn.id]=En,rM(Vt,En)}Iz(qn,z,Dt,Bt,vn,lt,Xt,Vt)}const on={nodes:at,edges:Qe};return a&&at.forEach(wn=>{y.mergeNodeData(wn.id,{x:wn.data.x,y:wn.data.y})}),on})}}const Ey=(E,a)=>{let y;const x=E.rows||5,b=E.cols||5;return a==null?y=Math.min(x,b):Math.min(x,b)===E.rows?E.rows=a:E.cols=a,y},Ay=(E,a)=>{let y;const x=E.rows||5,b=E.cols||5;return a==null?y=Math.max(x,b):Math.max(x,b)===E.rows?E.rows=a:E.cols=a,y},vx=(E,a)=>E[`c-${a.row}-${a.col}`]||!1,rM=(E,a)=>E[`c-${a.row}-${a.col}`]=!0,aM=(E,a)=>{const y=E.cols||5;a.col++,a.col>=y&&(a.col=0,a.row++)},Iz=(E,a,y,x,b,z,te,re)=>{let ae,se;const fe=b[E.id];if(fe)ae=fe.col*y+y/2+a[0],se=fe.row*x+x/2+a[1];else{for(;vx(re,te);)aM(z,te);ae=te.col*y+y/2+a[0],se=te.row*x+x/2+a[1],rM(re,te),aM(z,te)}E.data.x=ae,E.data.y=se},Lz=(E,a,y)=>{try{const x=ph.mul(ph.pow(a,2),-.5),b=x.mean("row"),z=x.mean("column"),te=x.mean();x.add(te).subRowVector(b).subColumnVector(z);const re=new U5(x),ae=ph.sqrt(re.diagonalMatrix).diagonal();return re.leftSingularVectors.toJSON().map(se=>ph.mul([se],[ae]).toJSON()[0].splice(0,E))}catch(x){const b=[];for(let z=0;z<a.length;z++){const te=Math.random()*y,re=Math.random()*y;b.push([te,re])}return b}},Oz=800,Tz={iterations:10,height:10,width:10,speed:100,gravity:10,k:5},Bz=(E,a)=>{const y=Object.assign(Object.assign({},Tz),a),{positions:x,iterations:b,width:z,k:te,speed:re=100,strictRadial:ae,focusIdx:se,radii:fe=[],nodeSizeFunc:me}=y,Se=E.getAllNodes(),Te=[],ke=z/10;for(let We=0;We<b;We++)x.forEach((je,Ke)=>{Te[Ke]={x:0,y:0}}),Nz(Se,x,Te,te,fe,me),Rz(x,Te,re,ae,se,ke,z,fe);return x},Nz=(E,a,y,x,b,z)=>{a.forEach((te,re)=>{y[re]={x:0,y:0},a.forEach((ae,se)=>{if(re===se||b[re]!==b[se])return;let fe=te.x-ae.x,me=te.y-ae.y,Se=Math.sqrt(fe*fe+me*me);if(Se===0){Se=1;const Te=re>se?1:-1;fe=.01*Te,me=.01*Te}if(Se<z(E[re])/2+z(E[se])/2){const Te=x*x/Se;y[re].x+=fe/Se*Te,y[re].y+=me/Se*Te}})})},Rz=(E,a,y,x,b,z,te,re)=>{const ae=z||te/10;return x&&a.forEach((se,fe)=>{const me=E[fe].x-E[b].x,Se=E[fe].y-E[b].y,Te=Math.sqrt(me*me+Se*Se);let ke=Se/Te,We=-me/Te;const je=Math.sqrt(se.x*se.x+se.y*se.y);let Ke=Math.acos((ke*se.x+We*se.y)/je);Ke>Math.PI/2&&(Ke-=Math.PI/2,ke*=-1,We*=-1);const Qe=Math.cos(Ke)*je;se.x=ke*Qe,se.y=We*Qe}),E.forEach((se,fe)=>{if(fe===b)return;const me=Math.sqrt(a[fe].x*a[fe].x+a[fe].y*a[fe].y);if(me>0&&fe!==b){const Se=Math.min(ae*(y/Oz),me);if(se.x+=a[fe].x/me*Se,se.y+=a[fe].y/me*Se,x){let Te=se.x-E[b].x,ke=se.y-E[b].y;const We=Math.sqrt(Te*Te+ke*ke);Te=Te/We*re[fe],ke=ke/We*re[fe],se.x=E[b].x+Te,se.y=E[b].y+ke}}}),E},_z={maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,strictRadial:!0,maxPreventOverlapIteration:200,sortStrength:10};class Fz{constructor(a={}){this.options=a,this.id="radial",this.options=Object.assign(Object.assign({},_z),a)}execute(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){return this.genericRadialLayout(!1,a,y)})}assign(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){yield this.genericRadialLayout(!0,a,y)})}genericRadialLayout(a,y,x){return(0,Rt.mG)(this,void 0,void 0,function*(){const b=Object.assign(Object.assign({},this.options),x),{width:z,height:te,center:re,focusNode:ae,unitRadius:se,nodeSize:fe,nodeSpacing:me,strictRadial:Se,preventOverlap:Te,maxPreventOverlapIteration:ke,sortBy:We,linkDistance:je=50,sortStrength:Ke=10,maxIteration:Qe=1e3}=b,Je=y.getAllNodes(),at=y.getAllEdges(),ot=!z&&typeof window!="undefined"?window.innerWidth:z,ut=!te&&typeof window!="undefined"?window.innerHeight:te,ft=re||[ot/2,ut/2];if(!(Je!=null&&Je.length)||Je.length===1)return Cg(y,a,ft);let lt=Je[0];if(Is(ae)){for(let Yr=0;Yr<Je.length;Yr++)if(Je[Yr].id===ae){lt=Je[Yr];break}}else lt=ae||Je[0];const Dt=Uz(Je,lt.id),Bt=j5({nodes:Je,edges:at},!1),Vt=W5(Bt),Xt=jz(Vt,Dt);Wz(Vt,Dt,Xt+1);const vn=Vt[Dt];let on=ot-ft[0]>ft[0]?ft[0]:ot-ft[0],wn=ut-ft[1]>ft[1]?ft[1]:ut-ft[1];on===0&&(on=ot/2),wn===0&&(wn=ut/2);const qn=Math.min(on,wn),yn=Math.max(...vn),En=[],Pn=se||qn/yn;vn.forEach((Yr,fa)=>{En[fa]=Yr*Pn});const or=kz(Je,Vt,je,En,Pn,We,Ke),xn=zz(or),yr=Lz(je,or,je);let na=yr.map(([Yr,fa])=>({x:(isNaN(Yr)?Math.random()*je:Yr)-yr[Dt][0],y:(isNaN(fa)?Math.random()*je:fa)-yr[Dt][1]}));this.run(Qe,na,xn,or,En,Dt);let ea;if(Te){ea=rx(fe,me);const Yr={nodes:Je,nodeSizeFunc:ea,positions:na,radii:En,height:ut,width:ot,strictRadial:!!Se,focusIdx:Dt,iterations:ke||200,k:na.length/4.5};na=Bz(y,Yr)}const jr=[];return na.forEach((Yr,fa)=>{const Ia=Uc(Je[fa]);Ia.data.x=Yr.x+ft[0],Ia.data.y=Yr.y+ft[1],jr.push(Ia)}),a&&jr.forEach(Yr=>y.mergeNodeData(Yr.id,{x:Yr.data.x,y:Yr.data.y})),{nodes:jr,edges:at}})}run(a,y,x,b,z,te){for(let re=0;re<=a;re++){const ae=re/a;this.oneIteration(ae,y,z,b,x,te)}}oneIteration(a,y,x,b,z,te){const re=1-a;y.forEach((ae,se)=>{const fe=G5(ae,{x:0,y:0}),me=fe===0?0:1/fe;if(se===te)return;let Se=0,Te=0,ke=0;y.forEach((je,Ke)=>{if(se===Ke)return;const Qe=G5(ae,je),Je=Qe===0?0:1/Qe,at=b[Ke][se];ke+=z[se][Ke],Se+=z[se][Ke]*(je.x+at*(ae.x-je.x)*Je),Te+=z[se][Ke]*(je.y+at*(ae.y-je.y)*Je)});const We=x[se]===0?0:1/x[se];ke*=re,ke+=a*We*We,Se*=re,Se+=a*We*ae.x*me,ae.x=Se/ke,Te*=re,Te+=a*We*ae.y*me,ae.y=Te/ke})}}const kz=(E,a,y,x,b,z,te)=>{if(!E)return[];const re=[];if(a){const ae={};a.forEach((se,fe)=>{const me=[];se.forEach((Se,Te)=>{var ke,We;if(fe===Te)me.push(0);else if(x[fe]===x[Te])if(z==="data")me.push(Se*(Math.abs(fe-Te)*te)/(x[fe]/b));else if(z){let je,Ke;if(ae[E[fe].id])je=ae[E[fe].id];else{const Qe=(z==="id"?E[fe].id:(ke=E[fe].data)===null||ke===void 0?void 0:ke[z])||0;Is(Qe)?je=Qe.charCodeAt(0):je=Qe,ae[E[fe].id]=je}if(ae[E[Te].id])Ke=ae[E[Te].id];else{const Qe=(z==="id"?E[Te].id:(We=E[Te].data)===null||We===void 0?void 0:We[z])||0;Is(Qe)?Ke=Qe.charCodeAt(0):Ke=Qe,ae[E[Te].id]=Ke}me.push(Se*(Math.abs(je-Ke)*te)/(x[fe]/b))}else me.push(Se*y/(x[fe]/b));else{const je=(y+b)/2;me.push(Se*je)}}),re.push(me)})}return re},zz=E=>{const a=E.length,y=E[0].length,x=[];for(let b=0;b<a;b++){const z=[];for(let te=0;te<y;te++)E[b][te]!==0?z.push(1/(E[b][te]*E[b][te])):z.push(0);x.push(z)}return x},Uz=(E,a)=>{let y=-1;return E.forEach((x,b)=>{x.id===a&&(y=b)}),Math.max(y,0)},Wz=(E,a,y)=>{const x=E.length;for(let b=0;b<x;b++)if(E[a][b]===1/0){E[a][b]=y,E[b][a]=y;for(let z=0;z<x;z++)E[b][z]!==1/0&&E[a][z]===1/0&&(E[a][z]=y+E[b][z],E[z][a]=y+E[b][z])}for(let b=0;b<x;b++)if(b!==a){for(let z=0;z<x;z++)if(E[b][z]===1/0){let te=Math.abs(E[a][b]-E[a][z]);te=te===0?1:te,E[b][z]=te}}},jz=(E,a)=>{let y=0;for(let x=0;x<E[a].length;x++)E[a][x]!==1/0&&(y=E[a][x]>y?E[a][x]:y);return y},Gz={center:[0,0],width:300,height:300};class Vz{constructor(a={}){this.options=a,this.id="random",this.options=Object.assign(Object.assign({},Gz),a)}execute(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){return this.genericRandomLayout(!1,a,y)})}assign(a,y){return(0,Rt.mG)(this,void 0,void 0,function*(){yield this.genericRandomLayout(!0,a,y)})}genericRandomLayout(a,y,x){return(0,Rt.mG)(this,void 0,void 0,function*(){const b=Object.assign(Object.assign({},this.options),x),{center:z,width:te,height:re}=b,ae=y.getAllNodes(),se=.9,fe=!te&&typeof window!="undefined"?window.innerWidth:te,me=!re&&typeof window!="undefined"?window.innerHeight:re,Se=z||[fe/2,me/2],Te=[];return ae&&ae.forEach(We=>{Te.push({id:We.id,data:{x:(Math.random()-.5)*se*fe+Se[0],y:(Math.random()-.5)*se*me+Se[1]}})}),a&&Te.forEach(We=>y.mergeNodeData(We.id,{x:We.data.x,y:We.data.y})),{nodes:Te,edges:y.getAllEdges()}})}}function Hz(E){var a,y,x,b=E||1;function z(re,ae){++a>b&&(x=y,te(1),++a),y[re]=ae}function te(re){a=0,y=Object.create(null),re||(x=Object.create(null))}return te(),{clear:te,has:function(re){return y[re]!==void 0||x[re]!==void 0},get:function(re){var ae=y[re];if(ae!==void 0)return ae;if((ae=x[re])!==void 0)return z(re,ae),ae},set:function(re,ae){y[re]!==void 0?y[re]=ae:z(re,ae)}}}var mx=new Map;function px(E,a,y){y===void 0&&(y=128);var x=function(){for(var b=[],z=0;z<arguments.length;z++)b[z]=arguments[z];var te=a?a.apply(this,b):b[0];mx.has(E)||mx.set(E,Hz(y));var re=mx.get(E);if(re.has(te))return re.get(te);var ae=E.apply(this,b);return re.set(te,ae),ae};return x}var Kz=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class xy extends ay{constructor(){super(...arguments),this.id="fishbone"}getRoot(){const a=this.context.model.getRootsData();if(!(lf(a)||a.length>2))return a[0]}formatSize(a){const y=typeof a=="function"?a:()=>a;return x=>kc(y(x))}doLayout(a,y){const{hGap:x,getRibSep:b,vGap:z,nodeSize:te,height:re}=y,{model:ae}=this.context,se=this.formatSize(te);let fe=se(a)[0]+b(a);const me=(Je,at=0)=>{var ot;return at+=x*((Je.children||[]).length+1),(ot=Je.children)===null||ot===void 0||ot.forEach(ut=>{var ft;(ft=ae.getNodeLikeDatum(ut).children)===null||ft===void 0||ft.forEach(Dt=>{const Bt=ae.getNodeLikeDatum(Dt);at=me(Bt,at)})}),at},Se=Je=>{if(Je.depth===1)return fe;const at=ae.getParentData(Je.id,"tree");if(y0(Je)){const ot=ae.getParentData(at.id,"tree"),ut=We(Je)-We(ot);return Se(at)+ut*x/z}else{const ot=(at.children||[]).indexOf(Je.id),ut=ae.getNodeData((at.children||[]).slice(ot));return Te(at)-ut.reduce((ft,lt)=>ft+me(lt),0)-se(at)[0]/2}},Te=px(Je=>{if(yx(Je))return se(Je)[0]/2;const at=ae.getParentData(Je.id,"tree");if(y0(Je))return Se(Je)+me(Je)+se(Je)[0]/2;{const ot=We(Je)-We(at),ut=x/z;return Se(Je)+ot*ut}},Je=>Je.id),ke=Je=>We(ae.getParentData(Je,"tree")),We=px(Je=>{if(yx(Je))return re/2;if(y0(Je)){const at=ae.getParentData(Je.id,"tree"),ot=at.children.indexOf(Je.id);if(ot===0)return ke(at.id)+z;const ut=ae.getNodeLikeDatum(at.children[ot-1]);if(lf(ut.children))return We(ut)+z;const ft=ae.getDescendantsData(ut.id);return Math.max(...ft.map(lt=>y0(lt)?ke(lt.id):We(lt)))+z}else{if(lf(Je.children))return ke(Je.id)+z;const at=ae.getNodeLikeDatum(Je.children.slice(-1)[0]);if(lf(at.children))return We(at)+z;const ot=ae.getDescendantsData(Je.id).slice(-1)[0];return(y0(ot)?ke(ot.id):We(ot))+z}},Je=>Je.id);let je=0;const Ke={nodes:[],edges:[]},Qe=Je=>{var at;(at=Je.children)===null||at===void 0||at.forEach(Dt=>Qe(ae.getNodeLikeDatum(Dt)));const ot=We(Je),ut=Te(Je);if(Ke.nodes.push({id:Je.id,x:ut,y:ot}),yx(Je))return;const ft=ae.getRelatedEdgesData(Je.id,"in")[0],lt=[Se(Je),y0(Je)?ot:ke(Je.id)];Ke.edges.push({id:_r(ft),controlPoints:[lt],relatedNodeId:Je.id}),je=Math.max(je,ut+b(Je)),Je.depth===1&&(fe=je)};return Qe(a),Ke}placeAlterative(a,y){const x=(y.children||[]).filter((re,ae)=>ae%2!==0);if(x.length===0)return a;const{model:b}=this.context,z=a.nodes.find(re=>re.id===y.id).y,te=re=>{const ae=b.getAncestorsData(re,"tree");if(lf(ae))return!1;const se=ae.length===1?re:ae[ae.length-2].id;return x.includes(se)};a.nodes.forEach(re=>{te(re.id)&&(re.y=2*z-re.y)}),a.edges.forEach(re=>{te(re.relatedNodeId)&&(re.controlPoints=re.controlPoints.map(ae=>[ae[0],2*z-ae[1]]))})}rightToLeft(a,y){return a.nodes.forEach(x=>x.x=y.width-x.x),a.edges.forEach(x=>{x.controlPoints=x.controlPoints.map(b=>[y.width-b[0],b[1]])}),a}execute(a,y){return Kz(this,void 0,void 0,function*(){const x=Object.assign(Object.assign(Object.assign({},xy.defaultOptions),this.options),y),{direction:b,nodeSize:z}=x,te=this.getRoot();if(!te)return a;const re=this.formatSize(z);x.vGap||(x.vGap=Math.max(...(a.nodes||[]).map(Se=>re(Se)[1]))),x.hGap||(x.hGap=Math.max(...(a.nodes||[]).map(Se=>re(Se)[0])));let ae=this.doLayout(te,x);this.placeAlterative(ae,te),b==="RL"&&(ae=this.rightToLeft(ae,x));const{model:se}=this.context,fe=[],me=[];return ae.nodes.forEach(Se=>{const{id:Te,x:ke,y:We}=Se,je=se.getNodeLikeDatum(Te);fe.push(iM(je,{x:ke,y:We}))}),ae.edges.forEach(Se=>{const{id:Te,controlPoints:ke}=Se,We=se.getEdgeDatum(Te);me.push(iM(We,{controlPoints:ke}))}),{nodes:fe,edges:me}})}}xy.defaultOptions={direction:"RL",getRibSep:()=>60};const iM=(E,a)=>Object.assign(Object.assign({},E),{style:Object.assign(Object.assign({},E.style||{}),a)}),yx=E=>E.depth===0,y0=E=>(E.depth||(E.depth=0))%2===0;var Zz=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class Sy extends ay{constructor(){super(...arguments),this.id="snake"}formatSize(a,y){const x=typeof y=="function"?y:()=>y;return a.reduce((b,z)=>{const[te,re]=kc(x(z))||[0,0];return[Math.max(b[0],te),Math.max(b[1],re)]},[0,0])}validate(a){const{nodes:y=[],edges:x=[]}=a,b={},z={},te={};y.forEach(Se=>{b[Se.id]=0,z[Se.id]=0,te[Se.id]=[]}),x.forEach(Se=>{b[Se.target]++,z[Se.source]++,te[Se.source].push(Se.target)});const re=new Set,ae=Se=>{re.has(Se)||(re.add(Se),te[Se].forEach(ae))};if(ae(y[0].id),re.size!==y.length)return!1;const se=y.filter(Se=>b[Se.id]===0),fe=y.filter(Se=>z[Se.id]===0);return!(se.length!==1||fe.length!==1||y.filter(Se=>b[Se.id]===1&&z[Se.id]===1).length!==y.length-2)}execute(a,y){return Zz(this,void 0,void 0,function*(){var x;if(!this.validate(a))return a;const{nodeSize:b,padding:z,sortBy:te,cols:re,colGap:ae,rowGap:se,clockwise:fe,width:me,height:Se}=Object.assign({},Sy.defaultOptions,this.options,y),[Te,ke,We,je]=Id(z),Ke=this.formatSize(a.nodes||[],b),Qe=Math.ceil((a.nodes||[]).length/re);let Je=ae||(me-je-ke-re*Ke[0])/(re-1),at=se||(Se-Te-We-Qe*Ke[1])/(Qe-1);return(at===1/0||at<0)&&(at=0),(Je===1/0||Je<0)&&(Je=0),{nodes:((te?(x=a.nodes)===null||x===void 0?void 0:x.sort(te):Qz(a))||[]).map((ft,lt)=>{const Dt=Math.floor(lt/re),Bt=lt%re,Vt=fe?Dt%2===0?Bt:re-1-Bt:Dt%2===0?re-1-Bt:Bt,Xt=je+Vt*(Ke[0]+Je)+Ke[0]/2,vn=Te+Dt*(Ke[1]+at)+Ke[1]/2;return{id:ft.id,style:{x:Xt,y:vn}}})}})}}Sy.defaultOptions={padding:0,cols:5,clockwise:!0};function Qz(E){const{nodes:a=[],edges:y=[]}=E,x={},b={};a.forEach(re=>{x[re.id]=0,b[re.id]=[]}),y.forEach(re=>{x[re.target]++,b[re.source].push(re.target)});const z=[],te=[];for(a.forEach(re=>{x[re.id]===0&&z.push(re.id)});z.length>0;){const re=z.shift(),ae=a.find(se=>se.id===re);te.push(ae),b[re].forEach(se=>{x[se]--,x[se]===0&&z.push(se)})}return te}const Yz=["rgb(158, 1, 66)","rgb(213, 62, 79)","rgb(244, 109, 67)","rgb(253, 174, 97)","rgb(254, 224, 139)","rgb(255, 255, 191)","rgb(230, 245, 152)","rgb(171, 221, 164)","rgb(102, 194, 165)","rgb(50, 136, 189)","rgb(94, 79, 162)"],Xz=["rgb(78, 121, 167)","rgb(242, 142, 44)","rgb(225, 87, 89)","rgb(118, 183, 178)","rgb(89, 161, 79)","rgb(237, 201, 73)","rgb(175, 122, 161)","rgb(255, 157, 167)","rgb(156, 117, 95)","rgb(186, 176, 171)"],Jz=["rgb(255, 245, 235)","rgb(254, 230, 206)","rgb(253, 208, 162)","rgb(253, 174, 107)","rgb(253, 141, 60)","rgb(241, 105, 19)","rgb(217, 72, 1)","rgb(166, 54, 3)","rgb(127, 39, 4)"],qz=["rgb(247, 252, 245)","rgb(229, 245, 224)","rgb(199, 233, 192)","rgb(161, 217, 155)","rgb(116, 196, 118)","rgb(65, 171, 93)","rgb(35, 139, 69)","rgb(0, 109, 44)","rgb(0, 68, 27)"],$z=["rgb(247, 251, 255)","rgb(222, 235, 247)","rgb(198, 219, 239)","rgb(158, 202, 225)","rgb(107, 174, 214)","rgb(66, 146, 198)","rgb(33, 113, 181)","rgb(8, 81, 156)","rgb(8, 48, 107)"];var eU=function(E,a,y){if(!Tc(E)&&!u0(E))return E;var x=y;return Ew(E,function(b,z){x=a(x,b,z)}),x},tU=eU,Ex=function(E,a){return tU(E,function(y,x,b){return a.includes(b)||(y[b]=x),y},{})};class Lu extends yA{}function E0(E,a=!0,y){const x=document.createElement("div");return x.setAttribute("class",`g6-${E}`),Object.assign(x.style,{position:"absolute",display:"block"}),a&&Object.assign(x.style,{position:"unset",gridArea:"1 / 1 / 2 / 2",inset:"0px",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none"}),y&&Object.assign(x.style,y),x}function Ax(E,a="div",y={},x="",b=document.body){const z=document.getElementById(E);z&&z.remove();const te=document.createElement(a);return te.innerHTML=x,te.id=E,Object.assign(te.style,y),b.appendChild(te),te}var nU=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class by extends Lu{constructor(a,y){super(a,Object.assign({},by.defaultOptions,y)),this.$element=E0("background"),this.context.canvas.getContainer().prepend(this.$element),this.update(y)}update(a){const y=Object.create(null,{update:{get:()=>super.update}});return nU(this,void 0,void 0,function*(){y.update.call(this,a),Object.assign(this.$element.style,Ex(this.options,["key","type"]))})}destroy(){super.destroy(),this.$element.remove()}}by.defaultOptions={transition:"background 0.5s",backgroundSize:"cover",zIndex:"-1"};function xx(E,a,y,x,b,z){const te=E,re=a,ae=y-te,se=x-re;let fe=b-te,me=z-re,Se=fe*ae+me*se,Te=0;Se<=0?Te=0:(fe=ae-fe,me=se-me,Se=fe*ae+me*se,Se<=0?Te=0:Te=Se*Se/(ae*ae+se*se));const ke=fe*fe+me*me-Te;return ke<0?0:ke}function Eh(E,a,y,x){return(E-y)*(E-y)+(a-x)*(a-x)}function oM(E,a,y,x,b){return Eh(E,a,y,x)<b*b}function rU(E){if(!Number.isFinite(E))return y=>y;if(E===0)return Math.round;const a=Math.pow(10,E);return y=>Math.round(y*a)/a}function sM(E){const a=Math.min(E.x1,E.x2),y=Math.max(E.x1,E.x2),x=Math.min(E.y1,E.y2),b=Math.max(E.y1,E.y2);return{x:a,y:x,x2:y,y2:b,width:y-a,height:b-x}}class Eu{constructor(a,y,x,b){this.x1=a,this.y1=y,this.x2=x,this.y2=b}equals(a){return this.x1===a.x1&&this.y1===a.y1&&this.x2===a.x2&&this.y2===a.y2}draw(a){a.moveTo(this.x1,this.y1),a.lineTo(this.x2,this.y2)}toString(){return`Line(from=(${this.x1},${this.y1}),to=(${this.x2},${this.y2}))`}static from(a){return new Eu(a.x1,a.y1,a.x2,a.y2)}cuts(a,y){if(this.y1===this.y2||y<this.y1&&y<=this.y2||y>this.y1&&y>=this.y2||a>this.x1&&a>=this.x2)return!1;if(a<this.x1&&a<=this.x2)return!0;const x=this.x1+(y-this.y1)*(this.x2-this.x1)/(this.y2-this.y1);return a<=x}distSquare(a,y){return xx(this.x1,this.y1,this.x2,this.y2,a,y)}ptClose(a,y,x){if(this.x1<this.x2){if(a<this.x1-x||a>this.x2+x)return!1}else if(a<this.x2-x||a>this.x1+x)return!1;if(this.y1<this.y2){if(y<this.y1-x||y>this.y2+x)return!1}else if(y<this.y2-x||y>this.y1+x)return!1;return!0}}var Ol;(function(E){E[E.POINT=1]="POINT",E[E.PARALLEL=2]="PARALLEL",E[E.COINCIDENT=3]="COINCIDENT",E[E.NONE=4]="NONE"})(Ol||(Ol={}));class Sx{constructor(a,y=0,x=0){this.state=a,this.x=y,this.y=x}}function Cy(E,a){const y=(a.x2-a.x1)*(E.y1-a.y1)-(a.y2-a.y1)*(E.x1-a.x1),x=(E.x2-E.x1)*(E.y1-a.y1)-(E.y2-E.y1)*(E.x1-a.x1),b=(a.y2-a.y1)*(E.x2-E.x1)-(a.x2-a.x1)*(E.y2-E.y1);if(b){const z=y/b,te=x/b;return 0<=z&&z<=1&&0<=te&&te<=1?new Sx(Ol.POINT,E.x1+z*(E.x2-E.x1),E.y1+z*(E.y2-E.y1)):new Sx(Ol.NONE)}return new Sx(y===0||x===0?Ol.COINCIDENT:Ol.PARALLEL)}function lM(E,a){const y=(a.x2-a.x1)*(E.y1-a.y1)-(a.y2-a.y1)*(E.x1-a.x1),x=(E.x2-E.x1)*(E.y1-a.y1)-(E.y2-E.y1)*(E.x1-a.x1),b=(a.y2-a.y1)*(E.x2-E.x1)-(a.x2-a.x1)*(E.y2-E.y1);if(b){const z=y/b,te=x/b;if(0<=z&&z<=1&&0<=te&&te<=1)return z}return Number.POSITIVE_INFINITY}function aU(E,a){function y(b,z,te,re){let ae=lM(a,new Eu(b,z,te,re));return ae=Math.abs(ae-.5),ae>=0&&ae<=1?1:0}let x=y(E.x,E.y,E.x2,E.y);return x+=y(E.x,E.y,E.x,E.y2),x>1||(x+=y(E.x,E.y2,E.x2,E.y2),x>1)?!0:(x+=y(E.x2,E.y,E.x2,E.y2),x>0)}var Tl;(function(E){E[E.LEFT=0]="LEFT",E[E.TOP=1]="TOP",E[E.RIGHT=2]="RIGHT",E[E.BOTTOM=3]="BOTTOM"})(Tl||(Tl={}));function Py(E,a,y){const x=new Set;return E.width<=0?(x.add(Tl.LEFT),x.add(Tl.RIGHT)):a<E.x?x.add(Tl.LEFT):a>E.x+E.width&&x.add(Tl.RIGHT),E.height<=0?(x.add(Tl.TOP),x.add(Tl.BOTTOM)):y<E.y?x.add(Tl.TOP):y>E.y+E.height&&x.add(Tl.BOTTOM),x}function uM(E,a){let y=a.x1,x=a.y1;const b=a.x2,z=a.y2,te=Array.from(Py(E,b,z));if(te.length===0)return!0;let re=Py(E,y,x);for(;re.size!==0;){for(const ae of te)if(re.has(ae))return!1;if(re.has(Tl.RIGHT)||re.has(Tl.LEFT)){let ae=E.x;re.has(Tl.RIGHT)&&(ae+=E.width),x=x+(ae-y)*(z-x)/(b-y),y=ae}else{let ae=E.y;re.has(Tl.BOTTOM)&&(ae+=E.height),y=y+(ae-x)*(b-y)/(z-x),x=ae}re=Py(E,y,x)}return!0}function iU(E,a){let y=Number.POSITIVE_INFINITY,x=0;function b(z,te,re,ae){let se=lM(a,new Eu(z,te,re,ae));se=Math.abs(se-.5),se>=0&&se<=1&&(x++,se<y&&(y=se))}return b(E.x,E.y,E.x2,E.y),b(E.x,E.y,E.x,E.y2),x>1||(b(E.x,E.y2,E.x2,E.y2),x>1)?y:(b(E.x2,E.y,E.x2,E.y2),x===0?-1:y)}function oU(E,a){let y=0;const x=Cy(E,new Eu(a.x,a.y,a.x2,a.y));y+=x.state===Ol.POINT?1:0;const b=Cy(E,new Eu(a.x,a.y,a.x,a.y2));y+=b.state===Ol.POINT?1:0;const z=Cy(E,new Eu(a.x,a.y2,a.x2,a.y2));y+=z.state===Ol.POINT?1:0;const te=Cy(E,new Eu(a.x2,a.y,a.x2,a.y2));return y+=te.state===Ol.POINT?1:0,{top:x,left:b,bottom:z,right:te,count:y}}class Gu{constructor(a,y,x,b){this.x=a,this.y=y,this.width=x,this.height=b}get x2(){return this.x+this.width}get y2(){return this.y+this.height}get cx(){return this.x+this.width/2}get cy(){return this.y+this.height/2}get radius(){return Math.max(this.width,this.height)/2}static from(a){return new Gu(a.x,a.y,a.width,a.height)}equals(a){return this.x===a.x&&this.y===a.y&&this.width===a.width&&this.height===a.height}clone(){return new Gu(this.x,this.y,this.width,this.height)}add(a){const y=Math.min(this.x,a.x),x=Math.min(this.y,a.y),b=Math.max(this.x2,a.x+a.width),z=Math.max(this.y2,a.y+a.height);this.x=y,this.y=x,this.width=b-y,this.height=z-x}addPoint(a){const y=Math.min(this.x,a.x),x=Math.min(this.y,a.y),b=Math.max(this.x2,a.x),z=Math.max(this.y2,a.y);this.x=y,this.y=x,this.width=b-y,this.height=z-x}toString(){return`Rectangle[x=${this.x}, y=${this.y}, w=${this.width}, h=${this.height}]`}draw(a){a.rect(this.x,this.y,this.width,this.height)}containsPt(a,y){return a>=this.x&&a<=this.x2&&y>=this.y&&y<=this.y2}get area(){return this.width*this.height}intersects(a){return this.area<=0||a.width<=0||a.height<=0?!1:a.x+a.width>this.x&&a.y+a.height>this.y&&a.x<this.x2&&a.y<this.y2}distSquare(a,y){if(this.containsPt(a,y))return 0;const x=Py(this,a,y);return x.has(Tl.TOP)?x.has(Tl.LEFT)?Eh(a,y,this.x,this.y):x.has(Tl.RIGHT)?Eh(a,y,this.x2,this.y):(this.y-y)*(this.y-y):x.has(Tl.BOTTOM)?x.has(Tl.LEFT)?Eh(a,y,this.x,this.y2):x.has(Tl.RIGHT)?Eh(a,y,this.x2,this.y2):(y-this.y2)*(y-this.y2):x.has(Tl.LEFT)?(this.x-a)*(this.x-a):x.has(Tl.RIGHT)?(a-this.x2)*(a-this.x2):0}}function sU(E){if(E.length===0)return null;const a=E[0],y=new Gu(a.x,a.y,0,0);for(const x of E)y.addPoint(x);return y}class wy{constructor(a,y,x){this.cx=a,this.cy=y,this.radius=x}get x(){return this.cx-this.radius}get x2(){return this.cx+this.radius}get width(){return this.radius*2}get y(){return this.cy-this.radius}get y2(){return this.cy+this.radius}get height(){return this.radius*2}static from(a){return new wy(a.cx,a.cy,a.radius)}containsPt(a,y){return Eh(this.cx,this.cy,a,y)<this.radius*this.radius}distSquare(a,y){const x=Eh(this.cx,this.cy,a,y);if(x<this.radius*this.radius)return 0;const b=Math.sqrt(x)-this.radius;return b*b}draw(a){a.ellipse(this.cx,this.cy,this.radius,this.radius,0,0,Math.PI*2)}}class wg{constructor(a,y=0,x=0,b=0,z=0,te=10,re=10,ae=new Float32Array(Math.max(0,te*re)).fill(0)){this.pixelGroup=a,this.i=y,this.j=x,this.pixelX=b,this.pixelY=z,this.width=te,this.height=re,this.area=ae}createSub(a,y){return new wg(this.pixelGroup,a.x,a.y,y.x,y.y,a.width,a.height)}static fromPixelRegion(a,y){return new wg(y,0,0,a.x,a.y,Math.ceil(a.width/y),Math.ceil(a.height/y))}copy(a,y){return new wg(this.pixelGroup,this.scaleX(y.x),this.scaleY(y.y),y.x,y.y,a.width,a.height,a.area)}boundX(a){return a<this.i?this.i:a>=this.width?this.width-1:a}boundY(a){return a<this.j?this.j:a>=this.height?this.height-1:a}scaleX(a){return this.boundX(Math.floor((a-this.pixelX)/this.pixelGroup))}scaleY(a){return this.boundY(Math.floor((a-this.pixelY)/this.pixelGroup))}scale(a){const y=this.scaleX(a.x),x=this.scaleY(a.y),b=this.boundX(Math.ceil((a.x+a.width-this.pixelX)/this.pixelGroup)),z=this.boundY(Math.ceil((a.y+a.height-this.pixelY)/this.pixelGroup)),te=b-y,re=z-x;return new Gu(y,x,te,re)}invertScaleX(a){return Math.round(a*this.pixelGroup+this.pixelX)}invertScaleY(a){return Math.round(a*this.pixelGroup+this.pixelY)}addPadding(a,y){const x=Math.ceil(y/this.pixelGroup),b=this.boundX(a.x-x),z=this.boundY(a.y-x),te=this.boundX(a.x2+x),re=this.boundY(a.y2+x),ae=te-b,se=re-z;return new Gu(b,z,ae,se)}get(a,y){return a<0||y<0||a>=this.width||y>=this.height?Number.NaN:this.area[a+y*this.width]}inc(a,y,x){a<0||y<0||a>=this.width||y>=this.height||(this.area[a+y*this.width]+=x)}set(a,y,x){a<0||y<0||a>=this.width||y>=this.height||(this.area[a+y*this.width]=x)}incArea(a,y){if(a.width<=0||a.height<=0||y===0)return;const x=this.width,b=a.width,z=Math.max(0,a.i),te=Math.max(0,a.j),re=Math.min(a.i+a.width,x),ae=Math.min(a.j+a.height,this.height);if(!(ae<=0||re<=0||z>=x||ae>=this.height))for(let se=te;se<ae;se++){const fe=(se-a.j)*b,me=se*x;for(let Se=z;Se<re;Se++){const Te=a.area[Se-a.i+fe];Te!==0&&(this.area[Se+me]+=y*Te)}}}fill(a){this.area.fill(a)}fillArea(a,y){const x=a.x+a.y*this.width;for(let b=0;b<a.height;b++){const z=x+b*this.width;this.area.fill(y,z,z+a.width)}}fillHorizontalLine(a,y,x,b){const z=a+y*this.width;this.area.fill(b,z,z+x)}fillVerticalLine(a,y,x,b){const z=a+y*this.width;for(let te=0;te<x;te++)this.area[z+te*this.width]=b}clear(){this.area.fill(0)}toString(){let a="";for(let y=0;y<this.height;y++){const x=y*this.width;for(let b=0;b<this.width;b++){const z=this.area[x+b];a+=z.toFixed(1).padStart(6),a+=" "}a+=`
|
|
|
`}return a}draw(a,y=!0){if(this.width<=0||this.height<=0)return;a.save(),y&&a.translate(this.pixelX,this.pixelY);const x=this.area.reduce((te,re)=>Math.min(te,re),Number.POSITIVE_INFINITY),b=this.area.reduce((te,re)=>Math.max(te,re),Number.NEGATIVE_INFINITY),z=te=>(te-x)/(b-x);a.scale(this.pixelGroup,this.pixelGroup);for(let te=0;te<this.width;te++)for(let re=0;re<this.height;re++){const ae=this.area[te+re*this.width];a.fillStyle=`rgba(0, 0, 0, ${z(ae)})`,a.fillRect(te,re,1,1)}a.restore()}drawThreshold(a,y,x=!0){if(!(this.width<=0||this.height<=0)){a.save(),x&&a.translate(this.pixelX,this.pixelY),a.scale(this.pixelGroup,this.pixelGroup);for(let b=0;b<this.width;b++)for(let z=0;z<this.height;z++){const te=this.area[b+z*this.width];a.fillStyle=te>y?"black":"white",a.fillRect(b,z,1,1)}a.restore()}}}function cM(E,a){const y=x=>({x:x.x-a,y:x.y-a,width:x.width+2*a,height:x.height+2*a});return Array.isArray(E)?E.map(y):y(E)}function dM(E,a,y){return fM(Object.assign(sM(E),{distSquare:(x,b)=>xx(E.x1,E.y1,E.x2,E.y2,x,b)}),a,y)}function fM(E,a,y){const x=cM(E,y),b=a.scale(x),z=a.createSub(b,x);return lU(z,a,y,(te,re)=>E.distSquare(te,re)),z}function lU(E,a,y,x){const b=y*y;for(let z=0;z<E.height;z++)for(let te=0;te<E.width;te++){const re=a.invertScaleX(E.i+te),ae=a.invertScaleY(E.j+z),se=x(re,ae);if(se===0){E.set(te,z,b);continue}if(se<b){const fe=y-Math.sqrt(se);E.set(te,z,fe*fe)}}return E}function uU(E,a,y){const x=a.scale(E),b=a.addPadding(x,y),z=a.createSub(b,{x:E.x-y,y:E.y-y}),te=x.x-b.x,re=x.y-b.y,ae=b.x2-x.x2,se=b.y2-x.y2,fe=b.width-te-ae,me=b.height-re-se,Se=y*y;z.fillArea({x:te,y:re,width:fe+1,height:me+1},Se);const Te=[0],ke=Math.max(re,te,ae,se);{const Qe=a.invertScaleX(x.x+x.width/2);for(let Je=1;Je<ke;Je++){const at=a.invertScaleY(x.y-Je),ot=E.distSquare(Qe,at);if(ot<Se){const ut=y-Math.sqrt(ot);Te.push(ut*ut)}else break}}const We=[],je=Math.max(te,ae),Ke=Math.max(re,ae);for(let Qe=1;Qe<je;Qe++){const Je=a.invertScaleX(x.x-Qe),at=[];for(let ot=1;ot<Ke;ot++){const ut=a.invertScaleY(x.y-ot),ft=E.distSquare(Je,ut);if(ft<Se){const lt=y-Math.sqrt(ft);at.push(lt*lt)}else at.push(0)}We.push(at)}for(let Qe=1;Qe<Math.min(re,Te.length);Qe++){const Je=Te[Qe];z.fillHorizontalLine(te,re-Qe,fe+1,Je)}for(let Qe=1;Qe<Math.min(se,Te.length);Qe++){const Je=Te[Qe];z.fillHorizontalLine(te,re+me+Qe,fe+1,Je)}for(let Qe=1;Qe<Math.min(te,Te.length);Qe++){const Je=Te[Qe];z.fillVerticalLine(te-Qe,re,me+1,Je)}for(let Qe=1;Qe<Math.min(se,Te.length);Qe++){const Je=Te[Qe];z.fillVerticalLine(te+fe+Qe,re,me+1,Je)}for(let Qe=1;Qe<te;Qe++){const Je=We[Qe-1],at=te-Qe;for(let ot=1;ot<re;ot++)z.set(at,re-ot,Je[ot-1]);for(let ot=1;ot<se;ot++)z.set(at,re+me+ot,Je[ot-1])}for(let Qe=1;Qe<ae;Qe++){const Je=We[Qe-1],at=te+fe+Qe;for(let ot=1;ot<re;ot++)z.set(at,re-ot,Je[ot-1]);for(let ot=1;ot<se;ot++)z.set(at,re+me+ot,Je[ot-1])}return z}function Lq(E,a,y,x){return{x:E,y:a,width:y,height:x}}function Oq(E,a,y){return{cx:E,cy:a,radius:y}}function Tq(E,a,y,x){return{x1:E,y1:a,x2:y,y2:x}}function vl(E,a){return{x:E,y:a}}function cU(E,a,y,x){if(E.length===0)return[];const b=vU(E);return b.map((z,te)=>{const re=b.slice(0,te);return dU(a,z,re,y,x)}).flat()}function dU(E,a,y,x,b){const z=vl(a.cx,a.cy),te=gU(z,y,E);if(te==null)return[];const re=new Eu(z.x,z.y,te.cx,te.cy),ae=fU(re,E,x,b);return hU(ae,E)}function fU(E,a,y,x){const b=[],z=[];z.push(E);let te=!0;for(let re=0;re<y&&te;re++)for(te=!1;!te&&z.length>0;){const ae=z.pop(),se=hM(a,ae),fe=se?oU(ae,se):null;if(!se||!fe||fe.count!==2){te||b.push(ae);continue}let me=x,Se=Dy(se,me,fe,!0),Te=Ah(Se,z)||Ah(Se,b),ke=My(Se,a);for(;!Te&&ke&&me>=1;)me/=1.5,Se=Dy(se,me,fe,!0),Te=Ah(Se,z)||Ah(Se,b),ke=My(Se,a);if(Se&&!Te&&!ke&&(z.push(new Eu(ae.x1,ae.y1,Se.x,Se.y)),z.push(new Eu(Se.x,Se.y,ae.x2,ae.y2)),te=!0),te)continue;me=x,Se=Dy(se,me,fe,!1);let We=Ah(Se,z)||Ah(Se,b);for(ke=My(Se,a);!We&&ke&&me>=1;)me/=1.5,Se=Dy(se,me,fe,!1),We=Ah(Se,z)||Ah(Se,b),ke=My(Se,a);Se&&!We&&(z.push(new Eu(ae.x1,ae.y1,Se.x,Se.y)),z.push(new Eu(Se.x,Se.y,ae.x2,ae.y2)),te=!0),te||b.push(ae)}for(;z.length>0;)b.push(z.pop());return b}function hU(E,a){const y=[];for(;E.length>0;){const x=E.pop();if(E.length===0){y.push(x);break}const b=E.pop(),z=new Eu(x.x1,x.y1,b.x2,b.y2);hM(a,z)?(y.push(x),E.push(b)):E.push(z)}return y}function gU(E,a,y){let x=Number.POSITIVE_INFINITY;return a.reduce((b,z)=>{const te=Eh(E.x,E.y,z.cx,z.cy);if(te>x)return b;const re=new Eu(E.x,E.y,z.cx,z.cy),ae=mU(y,re);return te*(ae+1)*(ae+1)<x&&(b=z,x=te*(ae+1)*(ae+1)),b},null)}function vU(E){if(E.length<2)return E;let a=0,y=0;return E.forEach(x=>{a+=x.cx,y+=x.cy}),a/=E.length,y/=E.length,E.map(x=>{const b=a-x.cx,z=y-x.cy,te=b*b+z*z;return[x,te]}).sort((x,b)=>x[1]-b[1]).map(x=>x[0])}function My(E,a){return a.some(y=>y.containsPt(E.x,E.y))}function Ah(E,a){return a.some(y=>!!(oM(y.x1,y.y1,E.x,E.y,.001)||oM(y.x2,y.y2,E.x,E.y,.001)))}function hM(E,a){let y=Number.POSITIVE_INFINITY,x=null;for(const b of E){if(!uM(b,a))continue;const z=iU(b,a);z>=0&&z<y&&(x=b,y=z)}return x}function mU(E,a){return E.reduce((y,x)=>uM(x,a)&&aU(x,a)?y+1:y,0)}function Dy(E,a,y,x){const b=y.top,z=y.left,te=y.bottom,re=y.right;if(x){if(z.state===Ol.POINT){if(b.state===Ol.POINT)return vl(E.x-a,E.y-a);if(te.state===Ol.POINT)return vl(E.x-a,E.y2+a);const Se=E.width*E.height;return E.width*((z.y-E.y+(re.y-E.y))*.5)<Se*.5?z.y>re.y?vl(E.x-a,E.y-a):vl(E.x2+a,E.y-a):z.y<re.y?vl(E.x-a,E.y2+a):vl(E.x2+a,E.y2+a)}if(re.state===Ol.POINT){if(b.state===Ol.POINT)return vl(E.x2+a,E.y-a);if(te.state===Ol.POINT)return vl(E.x2+a,E.y2+a)}const fe=E.height*E.width;return E.height*((b.x-E.x+(re.x-E.x))*.5)<fe*.5?b.x>te.x?vl(E.x-a,E.y-a):vl(E.x-a,E.y2+a):b.x<te.x?vl(E.x2+a,E.y-a):vl(E.x2+a,E.y2+a)}if(z.state===Ol.POINT){if(b.state===Ol.POINT)return vl(E.x2+a,E.y2+a);if(te.state===Ol.POINT)return vl(E.x2+a,E.y-a);const fe=E.height*E.width;return E.width*((z.y-E.y+(re.y-E.y))*.5)<fe*.5?z.y>re.y?vl(E.x2+a,E.y2+a):vl(E.x-a,E.y2+a):z.y<re.y?vl(E.x2+a,E.y-a):vl(E.x-a,E.y-a)}if(re.state===Ol.POINT){if(b.state===Ol.POINT)return vl(E.x-a,E.y2+a);if(te.state===Ol.POINT)return vl(E.x-a,E.y-a)}const ae=E.height*E.width;return E.height*((b.x-E.x+(re.x-E.x))*.5)<ae*.5?b.x>te.x?vl(E.x2+a,E.y2+a):vl(E.x2+a,E.y-a):b.x<te.x?vl(E.x-a,E.y2+a):vl(E.x-a,E.y-a)}function pU(E,a,y,x){if(!(E.closed?y<E.length:y<E.length-1))return!1;const z=E.get(a),te=E.get(y+1);for(let re=a+1;re<=y;re++){const ae=E.get(re);if(xx(z.x,z.y,te.x,te.y,ae.x,ae.y)>x)return!1}return!0}function yU(E=0){return a=>{if(E<0||a.length<3)return a;const y=[];let x=0;const b=E*E;for(;x<a.length;){let z=x+1;for(;pU(a,x,z,b);)z++;y.push(a.get(x)),x=z}return new Mg(y)}}function EU(E,a){switch(E){case-2:return(((-a+3)*a-3)*a+1)/6;case-1:return((3*a-6)*a*a+4)/6;case 0:return(((-3*a+3)*a+3)*a+1)/6;case 1:return a*a*a/6;default:throw new Error("unknown error")}}function AU(E=6){function z(te,re,ae){let se=0,fe=0;for(let me=-2;me<=1;me++){const Se=te.get(re+me),Te=EU(me,ae);se+=Te*Se.x,fe+=Te*Se.y}return{x:se,y:fe}}return te=>{if(te.length<3)return te;const re=[],ae=te.closed,se=te.length+3-1+(ae?0:2);re.push(z(te,2-(ae?0:2),0));for(let fe=2-(ae?0:2);fe<se;fe++)for(let me=1;me<=E;me++)re.push(z(te,fe,me/E));return new Mg(re)}}function xU(E=8){return a=>{let y=E,x=a.length;if(y>1)for(x=Math.floor(a.length/y);x<3&&y>1;)y-=1,x=Math.floor(a.length/y);const b=[];for(let z=0,te=0;te<x;te++,z+=y)b.push(a.get(z));return new Mg(b)}}class Mg{constructor(a=[],y=!0){this.points=a,this.closed=y}get(a){const y=a,x=this.points.length;return a<0?this.closed?this.get(a+x):this.points[0]:a>=x?this.closed?this.get(a-x):this.points[x-1]:this.points[y]}get length(){return this.points.length}toString(a=1/0){const y=this.points;if(y.length===0)return"";const x=typeof a=="function"?a:rU(a);let b="M";for(const z of y)b+=`${x(z.x)},${x(z.y)} L`;return b=b.slice(0,-1),this.closed&&(b+=" Z"),b}draw(a){const y=this.points;if(y.length!==0){a.beginPath(),a.moveTo(y[0].x,y[0].y);for(const x of y)a.lineTo(x.x,x.y);this.closed&&a.closePath()}}sample(a){return xU(a)(this)}simplify(a){return yU(a)(this)}bSplines(a){return AU(a)(this)}apply(a){return a(this)}containsElements(a){const y=sU(this.points);return y?a.every(x=>y.containsPt(x.cx,x.cy)&&this.withinArea(x.cx,x.cy)):!1}withinArea(a,y){if(this.length===0)return!1;let x=0;const b=this.points[0],z=new Eu(b.x,b.y,b.x,b.y);for(let te=1;te<this.points.length;te++){const re=this.points[te];z.x1=z.x2,z.y1=z.y2,z.x2=re.x,z.y2=re.y,z.cuts(a,y)&&x++}return z.x1=z.x2,z.y1=z.y2,z.x2=b.x,z.y2=b.y,z.cuts(a,y)&&x++,x%2===1}}class SU{constructor(a=0){this.count=0,this.arr=[],this.set=new Set,this.arr.length=a}add(a){this.set.add(`${a.x}x${a.y}`),this.arr[this.count++]=a}contains(a){return this.set.has(`${a.x}x${a.y}`)}isFirst(a){if(this.count===0)return!1;const y=this.arr[0];return y!=null&&y.x===a.x&&y.y===a.y}path(){return new Mg(this.arr.slice(0,this.count))}clear(){this.set.clear(),this.count=0}get(a){return this.arr[a]}get length(){return this.count}}const Ov=0,Iy=1,Ly=2,bx=3;function bU(E,a){const y=(Math.floor(E.width)+Math.floor(E.height))*2,x=new SU(y);function b(ae,se,fe,me){const Se=E.get(ae,se);return Number.isNaN(Se)?Number.NaN:Se>a?fe+me:fe}function z(ae,se){let fe=Ov;return fe=b(ae,se,fe,1),fe=b(ae+1,se,fe,2),fe=b(ae,se+1,fe,4),fe=b(ae+1,se+1,fe,8),Number.isNaN(fe)?-1:fe}let te=Iy;function re(ae,se){let fe=ae,me=se,Se=E.invertScaleX(fe),Te=E.invertScaleY(me);for(let ke=0;ke<E.width*E.height;ke++){const We={x:Se,y:Te};if(x.contains(We)){if(x.isFirst(We))return!0}else x.add(We);const je=z(fe,me);switch(je){case-1:return!0;case 0:case 3:case 2:case 7:te=Ly;break;case 12:case 14:case 4:te=bx;break;case 6:te=te===Ov?bx:Ly;break;case 1:case 13:case 5:te=Ov;break;case 9:te=te===Ly?Ov:Iy;break;case 10:case 8:case 11:te=Iy;break;default:return console.warn("Marching squares invalid state: "+je),!0}switch(te){case Ov:me--,Te-=E.pixelGroup;break;case Iy:me++,Te+=E.pixelGroup;break;case bx:fe--,Se-=E.pixelGroup;break;case Ly:fe++,Se+=E.pixelGroup;break;default:return console.warn("Marching squares invalid state: "+je),!0}}return!0}for(let ae=0;ae<E.width;ae++)for(let se=0;se<E.height;se++){if(E.get(ae,se)<=a)continue;const fe=z(ae,se);if(!(fe<0||fe===15)&&re(ae,se))return x.path()}return null}const Oy={maxRoutingIterations:100,maxMarchingIterations:20,pixelGroup:4,edgeR0:10,edgeR1:20,nodeR0:15,nodeR1:50,morphBuffer:10,threshold:1,memberInfluenceFactor:1,edgeInfluenceFactor:1,nonMemberInfluenceFactor:-.8,virtualEdges:!0};function Tv(E){return E!=null&&typeof E.radius=="number"}function gM(E,a){if(Tv(E)!==Tv(a))return!1;if(Tv(E)){const x=a;return E.cx===x.cx&&E.cy===x.cy&&E.radius===x.radius}const y=a;return E.x===y.x&&E.y===y.y&&E.width===y.width&&E.height===y.height}var Rd;(function(E){E[E.MEMBERS=0]="MEMBERS",E[E.NON_MEMBERS=1]="NON_MEMBERS",E[E.EDGES=2]="EDGES"})(Rd||(Rd={}));class Cx{constructor(a={}){this.dirty=new Set,this.members=[],this.nonMembers=[],this.virtualEdges=[],this.edges=[],this.activeRegion=new Gu(0,0,0,0),this.potentialArea=new wg(1,0,0,0,0,0,0),this.o=Object.assign({},Oy,a)}pushMember(...a){if(a.length!==0){this.dirty.add(Rd.MEMBERS);for(const y of a)this.members.push({raw:y,obj:Tv(y)?wy.from(y):Gu.from(y),area:null})}}removeMember(a){const y=this.members.findIndex(x=>gM(x.raw,a));return y<0?!1:(this.members.splice(y,1),this.dirty.add(Rd.MEMBERS),!0)}removeNonMember(a){const y=this.nonMembers.findIndex(x=>gM(x.raw,a));return y<0?!1:(this.nonMembers.splice(y,1),this.dirty.add(Rd.NON_MEMBERS),!0)}removeEdge(a){const y=this.edges.findIndex(x=>x.obj.equals(a));return y<0?!1:(this.edges.splice(y,1),this.dirty.add(Rd.NON_MEMBERS),!0)}pushNonMember(...a){if(a.length!==0){this.dirty.add(Rd.NON_MEMBERS);for(const y of a)this.nonMembers.push({raw:y,obj:Tv(y)?wy.from(y):Gu.from(y),area:null})}}pushEdge(...a){if(a.length!==0){this.dirty.add(Rd.EDGES);for(const y of a)this.edges.push({raw:y,obj:Eu.from(y),area:null})}}update(){const a=this.dirty.has(Rd.MEMBERS),y=this.dirty.has(Rd.NON_MEMBERS);let x=this.dirty.has(Rd.EDGES);this.dirty.clear();const b=this.members.map(se=>se.obj);if(this.o.virtualEdges&&(a||y)){const se=this.nonMembers.map(Se=>Se.obj),fe=cU(b,se,this.o.maxRoutingIterations,this.o.morphBuffer),me=new Map(this.virtualEdges.map(Se=>[Se.obj.toString(),Se.area]));this.virtualEdges=fe.map(Se=>{var Te;return{raw:Se,obj:Se,area:(Te=me.get(Se.toString()))!==null&&Te!==void 0?Te:null}}),x=!0}let z=!1;if(a||x){const se=this.virtualEdges.concat(this.edges).map(Te=>Te.obj),fe=PU(b,se),me=Math.max(this.o.edgeR1,this.o.nodeR1)+this.o.morphBuffer,Se=Gu.from(cM(fe,me));Se.equals(this.activeRegion)||(z=!0,this.activeRegion=Se)}if(z){const se=Math.ceil(this.activeRegion.width/this.o.pixelGroup),fe=Math.ceil(this.activeRegion.height/this.o.pixelGroup);this.activeRegion.x!==this.potentialArea.pixelX||this.activeRegion.y!==this.potentialArea.pixelY?(this.potentialArea=wg.fromPixelRegion(this.activeRegion,this.o.pixelGroup),this.members.forEach(me=>me.area=null),this.nonMembers.forEach(me=>me.area=null),this.edges.forEach(me=>me.area=null),this.virtualEdges.forEach(me=>me.area=null)):(se!==this.potentialArea.width||fe!==this.potentialArea.height)&&(this.potentialArea=wg.fromPixelRegion(this.activeRegion,this.o.pixelGroup))}const te=new Map,re=se=>{if(se.area){const fe=`${se.obj.width}x${se.obj.height}x${se.obj instanceof Gu?"R":"C"}`;te.set(fe,se.area)}},ae=se=>{if(se.area)return;const fe=`${se.obj.width}x${se.obj.height}x${se.obj instanceof Gu?"R":"C"}`;if(te.has(fe)){const Se=te.get(fe);se.area=this.potentialArea.copy(Se,{x:se.obj.x-this.o.nodeR1,y:se.obj.y-this.o.nodeR1});return}const me=se.obj instanceof Gu?uU(se.obj,this.potentialArea,this.o.nodeR1):fM(se.obj,this.potentialArea,this.o.nodeR1);se.area=me,te.set(fe,me)};this.members.forEach(re),this.nonMembers.forEach(re),this.members.forEach(ae),this.nonMembers.forEach(se=>{this.activeRegion.intersects(se.obj)?ae(se):se.area=null}),this.edges.forEach(se=>{se.area||(se.area=dM(se.obj,this.potentialArea,this.o.edgeR1))}),this.virtualEdges.forEach(se=>{se.area||(se.area=dM(se.obj,this.potentialArea,this.o.edgeR1))})}drawMembers(a){for(const y of this.members)y.obj.draw(a)}drawNonMembers(a){for(const y of this.nonMembers)y.obj.draw(a)}drawEdges(a){for(const y of this.edges)y.obj.draw(a)}drawPotentialArea(a,y=!0){this.potentialArea.draw(a,y)}compute(){if(this.members.length===0)return new Mg([]);this.dirty.size>0&&this.update();const{o:a,potentialArea:y}=this,x=this.members.map(re=>re.area),b=this.virtualEdges.concat(this.edges).map(re=>re.area),z=this.nonMembers.filter(re=>re.area!=null).map(re=>re.area),te=this.members.map(re=>re.obj);return CU(y,x,b,z,re=>re.containsElements(te),a)}}function CU(E,a,y,x,b,z={}){const te=Object.assign({},Oy,z);let re=te.threshold,ae=te.memberInfluenceFactor,se=te.edgeInfluenceFactor,fe=te.nonMemberInfluenceFactor;const me=(te.nodeR0-te.nodeR1)*(te.nodeR0-te.nodeR1),Se=(te.edgeR0-te.edgeR1)*(te.edgeR0-te.edgeR1);for(let Te=0;Te<te.maxMarchingIterations;Te++){if(E.clear(),ae!==0){const We=ae/me;for(const je of a)E.incArea(je,We)}if(se!==0){const We=se/Se;for(const je of y)E.incArea(je,We)}if(fe!==0){const We=fe/me;for(const je of x)E.incArea(je,We)}const ke=bU(E,re);if(ke&&b(ke))return ke;if(re*=.95,Te<=te.maxMarchingIterations*.5)ae*=1.2,se*=1.2;else if(fe!==0&&x.length>0)fe*=.8;else break}return new Mg([])}function PU(E,a){if(E.length===0)return new Gu(0,0,0,0);const y=Gu.from(E[0]);for(const x of E)y.add(x);for(const x of a)y.add(sM(x));return y}function Bq(E,a=[],y=[],x={}){if(E.length===0)return new Mg([]);const b=new Cx(x);return b.pushMember(...E),b.pushNonMember(...a),b.pushEdge(...y),b.compute()}var wU=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};class Ty extends Lu{constructor(a,y){super(a,tc({},Ty.defaultOptions,y)),this.members=new Map,this.avoidMembers=new Map,this.bubbleSetOptions={},this.drawBubbleSets=()=>{const{style:x,bubbleSetOptions:b}=this.parseOptions();Vl(this.bubbleSetOptions,b)||this.init(),this.bubbleSetOptions=Object.assign({},b);const z=Object.assign(Object.assign({},x),{d:this.getPath()});this.shape?this.shape.update(z):(this.shape=new yv({style:z}),this.context.canvas.appendChild(this.shape))},this.updateBubbleSetsPath=x=>{if(!this.shape)return;const b=_r(x.data);[...this.options.members,...this.options.avoidMembers].includes(b)&&this.shape.update(Object.assign(Object.assign({},this.parseOptions().style),{d:this.getPath(b)}))},this.getPath=x=>{const{graph:b}=this.context,z=this.options.members,te=[...this.members.keys()],re=this.options.avoidMembers,ae=[...this.avoidMembers.keys()];if(!x&&Vl(z,te)&&Vl(re,ae))return this.path;const{enter:se=[],exit:fe=[]}=uh(te,z,je=>je),{enter:me=[],exit:Se=[]}=uh(ae,re,je=>je);x&&(fe.push(x),se.push(x));const Te=(je,Ke,Qe)=>{je.forEach(Je=>{const at=Qe?this.members:this.avoidMembers,ot=Qe?"pushMember":"pushNonMember",ut=Qe?"removeMember":"removeNonMember";if(Ke){let ft;b.getElementType(Je)==="edge"?([ft]=DU(b,Je),this.bubbleSets.pushEdge(ft)):([ft]=MU(b,Je),this.bubbleSets[ot](ft)),at.set(Je,ft)}else{const ft=at.get(Je);ft&&(b.getElementType(Je)==="edge"?this.bubbleSets.removeEdge(ft):this.bubbleSets[ut](ft),at.delete(Je))}})};Te(fe,!1,!0),Te(se,!0,!0),Te(Se,!1,!1),Te(me,!0,!1);const We=this.bubbleSets.compute().sample(8).simplify(0).bSplines().simplify(0);return this.path=iw(We.points.map(Du)),this.path},this.bindEvents(),this.bubbleSets=new Cx(this.options)}bindEvents(){this.context.graph.on(ci.AFTER_RENDER,this.drawBubbleSets),this.context.graph.on(ci.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath)}init(){this.bubbleSets=new Cx(this.options),this.members=new Map,this.avoidMembers=new Map}parseOptions(){const a=this.options,{type:y,key:x,members:b,avoidMembers:z}=a,te=wU(a,["type","key","members","avoidMembers"]),re=Object.keys(te).reduce((ae,se)=>(se in Oy?ae.bubbleSetOptions[se]=te[se]:ae.style[se]=te[se],ae),{style:{},bubbleSetOptions:{}});return Object.assign({type:y,key:x,members:b,avoidMembers:z},re)}addMember(a){const y=Array.isArray(a)?a:[a];y.some(x=>this.options.avoidMembers.includes(x))&&(this.options.avoidMembers=this.options.avoidMembers.filter(x=>!y.includes(x))),this.options.members=[...new Set([...this.options.members,...y])],this.drawBubbleSets()}removeMember(a){const y=Array.isArray(a)?a:[a];this.options.members=this.options.members.filter(x=>!y.includes(x)),this.drawBubbleSets()}updateMember(a){this.options.members=Gi(a)?a(this.options.members):a,this.drawBubbleSets()}getMember(){return this.options.members}addAvoidMember(a){const y=Array.isArray(a)?a:[a];y.some(x=>this.options.members.includes(x))&&(this.options.members=this.options.members.filter(x=>!y.includes(x))),this.options.avoidMembers=[...new Set([...this.options.avoidMembers,...y])],this.drawBubbleSets()}removeAvoidMember(a){const y=Array.isArray(a)?a:[a];this.options.avoidMembers.some(x=>y.includes(x))&&(this.options.avoidMembers=this.options.avoidMembers.filter(x=>!y.includes(x)),this.drawBubbleSets())}updateAvoidMember(a){this.options.avoidMembers=Array.isArray(a)?a:[a],this.drawBubbleSets()}getAvoidMember(){return this.options.avoidMembers}destroy(){this.context.graph.off(ci.AFTER_RENDER,this.drawBubbleSets),this.context.graph.off(ci.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath),this.shape.destroy(),super.destroy()}}Ty.defaultOptions=Object.assign({members:[],avoidMembers:[],fill:"lightblue",fillOpacity:.2,stroke:"blue",strokeOpacity:.2},Oy);const MU=(E,a)=>(Array.isArray(a)?a:[a]).map(x=>{const b=E.getElementRenderBounds(x);return new Gu(b.min[0],b.min[1],af(b),of(b))}),DU=(E,a)=>(Array.isArray(a)?a:[a]).map(x=>{const b=E.getEdgeData(x),z=E.getElementPosition(b.source),te=E.getElementPosition(b.target);return Eu.from({x1:z[0],y1:z[1],x2:te[0],y2:te[1]})});class Nq extends null{constructor(a,y){super(a,y),this.setOptions=x=>{const b={cameraType:"setType",near:"setNear",far:"setFar",fov:"setFov",aspect:"setAspect",projectionMode:"setProjectionMode",distance:"setDistance",minDistance:"setMinDistance",maxDistance:"setMaxDistance",roll:"setRoll",elevation:"setElevation",azimuth:"setAzimuth"},z=(te,re)=>{switch(te){case"projectionMode":return re==="perspective"?1:0;case"cameraType":return{orbiting:0,exploring:1,tracking:2}[re];case"aspect":return typeof re=="number"?re:this.getCanvasAspect();default:return re}};Object.entries(b).forEach(([te,re])=>{const ae=x[te];if(ae!==void 0){const se=z(te,ae);this.context.canvas.getCamera()[re](se)}})},this.bindEvents()}update(a){this.setOptions(a),super.update(a)}bindEvents(){this.context.graph.once(GraphEvent.BEFORE_DRAW,()=>this.setOptions(this.options))}getCanvasAspect(){const[a,y]=this.context.viewport.getCanvasSize();return a/y}}function IU(E){return`
|
|
|
<ul class="g6-contextmenu-ul">
|
|
|
${E.map(a=>`<li class="g6-contextmenu-li" value="${a.value}">${a.name}</li>`).join("")}
|
|
|
</ul>
|
|
|
`}const LU=`
|
|
|
.g6-contextmenu {
|
|
|
font-size: 12px;
|
|
|
background-color: rgba(255, 255, 255, 0.96);
|
|
|
border-radius: 4px;
|
|
|
overflow: hidden;
|
|
|
box-shadow: rgba(0, 0, 0, 0.12) 0px 6px 12px 0px;
|
|
|
transition: visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1) 0s, left 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s, top 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
|
|
|
}
|
|
|
|
|
|
.g6-contextmenu-ul {
|
|
|
max-width: 256px;
|
|
|
min-width: 96px;
|
|
|
list-style: none;
|
|
|
padding: 0;
|
|
|
margin: 0;
|
|
|
}
|
|
|
|
|
|
.g6-contextmenu-li {
|
|
|
padding: 8px 12px;
|
|
|
cursor: pointer;
|
|
|
user-select: none;
|
|
|
}
|
|
|
|
|
|
.g6-contextmenu-li:hover {
|
|
|
background-color: #f5f5f5;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
`;var vM=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class By extends Lu{constructor(a,y){super(a,Object.assign({},By.defaultOptions,y)),this.targetElement=null,this.onTriggerEvent=x=>{var b;(b=x.preventDefault)===null||b===void 0||b.call(x),this.show(x)},this.onMenuItemClick=x=>{const{onClick:b,trigger:z}=this.options;if(x.target instanceof HTMLElement&&x.target.className.includes("g6-contextmenu-li")){const te=x.target.getAttribute("value");b==null||b(te,x.target,this.targetElement),this.hide()}z!=="click"&&this.hide()},this.initElement(),this.update(y)}initElement(){this.$element=E0("contextmenu",!1,{zIndex:"99"});const{className:a}=this.options;a&&this.$element.classList.add(a),this.context.canvas.getContainer().appendChild(this.$element),Ax("g6-contextmenu-css","style",{},LU,document.head)}show(a){return vM(this,void 0,void 0,function*(){const{enable:y,offset:x}=this.options;if(typeof y=="function"&&!y(a)||!y){this.hide();return}const b=yield this.getDOMContent(a);b instanceof HTMLElement?(this.$element.innerHTML="",this.$element.appendChild(b)):this.$element.innerHTML=b;const z=this.context.graph.getCanvas().getContainer().getBoundingClientRect();this.$element.style.left=`${a.client.x-z.left+x[0]}px`,this.$element.style.top=`${a.client.y-z.top+x[1]}px`,this.$element.style.display="block",this.targetElement=a.target})}hide(){this.$element.style.display="none",this.targetElement=null}update(a){this.unbindEvents(),super.update(a),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy(),this.$element.remove()}getDOMContent(a){return vM(this,void 0,void 0,function*(){const{getContent:y,getItems:x}=this.options;return x?IU(yield x(a)):yield y(a)})}bindEvents(){const{graph:a}=this.context,{trigger:y}=this.options;a.on(`canvas:${y}`,this.onTriggerEvent),a.on(`node:${y}`,this.onTriggerEvent),a.on(`edge:${y}`,this.onTriggerEvent),a.on(`combo:${y}`,this.onTriggerEvent),document.addEventListener("click",this.onMenuItemClick)}unbindEvents(){const{graph:a}=this.context,{trigger:y}=this.options;a.off(`canvas:${y}`,this.onTriggerEvent),a.off(`node:${y}`,this.onTriggerEvent),a.off(`edge:${y}`,this.onTriggerEvent),a.off(`combo:${y}`,this.onTriggerEvent),document.removeEventListener("click",this.onMenuItemClick)}}By.defaultOptions={trigger:"contextmenu",offset:[4,4],loadingContent:'<div class="g6-contextmenu-loading">Loading...</div>',getContent:()=>"It is a empty context menu.",enable:()=>!0};class Ny extends Lu{constructor(a,y){super(a,Object.assign({},Ny.defaultOptions,y)),this.edgeBundles={},this.edgePoints={},this.onBundle=()=>{const{model:x,element:b}=this.context,z=x.getEdgeData();this.divideEdges(this.options.divisions);const{cycles:te,iterRate:re,divRate:ae}=this.options;let{lambda:se,divisions:fe,iterations:me}=this.options;for(let Se=0;Se<te;Se++){for(let Te=0;Te<me;Te++){const ke={};z.forEach(We=>{var je;if(We.source===We.target)return;const Ke=_r(We);ke[Ke]=this.getEdgeForces(We,fe,se);for(let Qe=0;Qe<fe+1;Qe++)(je=this.edgePoints)[Ke]||(je[Ke]=[]),this.edgePoints[Ke][Qe]=Ho(this.edgePoints[Ke][Qe],ke[Ke][Qe])})}se/=2,fe*=ae,me*=re,this.divideEdges(fe)}z.forEach(Se=>{const Te=_r(Se),ke=b.getElement(Te);ke==null||ke.update({d:UA(this.edgePoints[Te])})})},this.bindEvents()}get nodeMap(){const a=this.context.model.getNodeData();return Object.fromEntries(a.map(y=>[_r(y),vg(lu(y))]))}divideEdges(a){this.context.model.getEdgeData().forEach(x=>{var b;const z=_r(x);(b=this.edgePoints)[z]||(b[z]=[]);const te=this.nodeMap[x.source],re=this.nodeMap[x.target];if(a===1)this.edgePoints[z].push(te),this.edgePoints[z].push(Td(Ho(te,re),2)),this.edgePoints[z].push(re);else{const se=(this.edgePoints[z].length===0?cl(te,re):RU(this.edgePoints[z]))/(a+1);let fe=se;const me=[te];for(let Se=1;Se<this.edgePoints[z].length;Se++){const Te=this.edgePoints[z][Se-1],ke=this.edgePoints[z][Se];let We=cl(ke,Te);for(;We>fe;){const je=fe/We,Ke=Ho(Te,If(qs(ke,Te),je));me.push(Ke),We-=fe,fe=se}fe-=We}me.push(re),this.edgePoints[z]=me}})}getVectorPosition(a){const y=this.nodeMap[a.source],x=this.nodeMap[a.target],[b,z]=qs(x,y),te=cl(y,x);return{source:y,target:x,vx:b,vy:z,length:te}}measureEdgeCompatibility(a,y){const x=this.getVectorPosition(a),b=this.getVectorPosition(y),z=OU(x,b),te=TU(x,b),re=BU(x,b),ae=NU(x,b);return z*te*re*ae}getEdgeBundles(){const a={},y=this.options.bundleThreshold,x=this.context.model.getEdgeData();return x.forEach((b,z)=>{x.forEach((te,re)=>{var ae,se;if(re<=z)return;this.measureEdgeCompatibility(b,te)>=y&&(a[ae=_r(b)]||(a[ae]=[]),a[_r(b)].push(te),a[se=_r(te)]||(a[se]=[]),a[_r(te)].push(b))})}),a}getSpringForce(a,y){const{pre:x,cur:b,next:z}=a;return If(qs(Ho(x,z),If(b,2)),y)}getElectrostaticForce(a,y){lf(this.edgeBundles)&&(this.edgeBundles=this.getEdgeBundles());const x=this.edgeBundles[_r(y)];let b=[0,0];return x==null||x.forEach(z=>{const te=this.edgePoints[_r(z)][a],re=this.edgePoints[_r(y)][a],ae=qs(te,re),se=cl(te,re);b=Ho(b,If(ae,1/se))}),b}getEdgeForces(a,y,x){const b=this.nodeMap[a.source],z=this.nodeMap[a.target],te=this.options.K/(cl(b,z)*(y+1)),re=[[0,0]],ae=_r(a);for(let se=1;se<y;se++){const fe=this.getSpringForce({pre:this.edgePoints[ae][se-1],cur:this.edgePoints[ae][se],next:this.edgePoints[ae][se+1]||[0,0]},te),me=this.getElectrostaticForce(se,a);re.push(If(Ho(fe,me),x))}return re.push([0,0]),re}bindEvents(){const{graph:a}=this.context;a.on(ci.AFTER_RENDER,this.onBundle)}unbindEvents(){const{graph:a}=this.context;a.off(ci.AFTER_RENDER,this.onBundle)}destroy(){this.unbindEvents(),super.destroy()}}Ny.defaultOptions={K:.1,lambda:.1,divisions:1,divRate:2,cycles:6,iterations:90,iterRate:2/3,bundleThreshold:.6};const OU=(E,a)=>Math.abs(c_([E.vx,E.vy],[a.vx,a.vy])/(E.length*a.length)),TU=(E,a)=>{const y=(E.length+a.length)/2;return 2/(y/Math.min(E.length,a.length)+Math.max(E.length,a.length)/y)},BU=(E,a)=>{const y=(E.length+a.length)/2,x=Td(Ho(E.source,E.target),2),b=Td(Ho(a.source,a.target),2);return y/(y+cl(x,b))},mM=(E,a)=>{if(a.source[0]===a.target[0])return[a.source[0],E[1]];if(a.source[1]===a.target[1])return[E[0],a.source[1]];const y=(a.source[1]-a.target[1])/(a.source[0]-a.target[0]),x=(y*y*a.source[0]+y*(E[1]-a.source[1])+E[0])/(y*y+1),b=y*(x-a.source[0])+a.source[1];return[x,b]},pM=(E,a)=>{const y=mM(a.source,E),x=mM(a.target,E),b=Td(Ho(y,x),2),z=Td(Ho(E.source,E.target),2);return cl(y,x)===0?0:Math.max(0,1-2*cl(z,b)/cl(y,x))},NU=(E,a)=>Math.min(pM(E,a),pM(a,E)),RU=E=>{let a=0;for(let y=1;y<E.length;y++)a+=cl(E[y],E[y-1]);return a},_U={fill:"#fff",fillOpacity:1,lineWidth:1,stroke:"#000",strokeOpacity:.8,zIndex:-1/0},yM=.05;class Ry extends Lu{constructor(a,y){super(a,Object.assign({},Ry.defaultOptions,y)),this.shapes=new Map,this.r=this.options.r,this.onEdgeFilter=x=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const b=Du(x.canvas);this.renderLens(b),this.renderFocusElements()},this.renderLens=x=>{const b=Object.assign({},_U,this.options.style);this.isLensOn||(this.lens=new yg({style:b}),this.canvas.appendChild(this.lens)),Object.assign(b,Bd(x),{size:this.r*2}),this.lens.update(b)},this.getFilterData=()=>{const{filter:x}=this.options,{model:b}=this.context,z=b.getData();if(!x)return z;const{nodes:te,edges:re,combos:ae}=z;return{nodes:te.filter(se=>x(_r(se),"node")),edges:re.filter(se=>x(_r(se),"edge")),combos:ae.filter(se=>x(_r(se),"combo"))}},this.getFocusElements=x=>{const{nodes:b,edges:z}=this.getFilterData(),te=b.filter(se=>cl(lu(se),x)<this.r),re=te.map(se=>_r(se)),ae=z.filter(se=>{const{source:fe,target:me}=se,Se=re.includes(fe),Te=re.includes(me);switch(this.options.nodeType){case"both":return Se&&Te;case"either":return Se!==Te;case"source":return Se&&!Te;case"target":return!Se&&Te;default:return!1}});return{nodes:te,edges:ae}},this.renderFocusElements=()=>{const{element:x,graph:b}=this.context;if(!this.isLensOn)return;const z=this.lens.getCenter(),{nodes:te,edges:re}=this.getFocusElements(z),ae=new Set,se=fe=>{const me=_r(fe);ae.add(me);const Se=x.getElement(me);if(!Se)return;const Te=this.shapes.get(me)||Se.cloneNode();Te.setPosition(Se.getPosition()),Te.id=Se.id,this.shapes.has(me)?Object.entries(Se.attributes).forEach(([je,Ke])=>{Te.style[je]!==Ke&&(Te.style[je]=Ke)}):(this.canvas.appendChild(Te),this.shapes.set(me,Te));const ke=b.getElementType(me),We=this.getElementStyle(ke,fe);Te.update(We)};te.forEach(se),re.forEach(se),this.shapes.forEach((fe,me)=>{ae.has(me)||(fe.destroy(),this.shapes.delete(me))})},this.scaleRByWheel=x=>{var b;this.options.preventDefault&&x.preventDefault();const{clientX:z,clientY:te,deltaX:re,deltaY:ae}=x,{graph:se,canvas:fe}=this.context,me=se.getCanvasByClient([z,te]),Se=(b=this.lens)===null||b===void 0?void 0:b.getCenter();if(!this.isLensOn||cl(me,Se)>this.r)return;const{maxR:Te,minR:ke}=this.options,We=re+ae>0?1/(1-yM):1-yM,je=Math.min(...fe.getSize())/2;this.r=Math.max(ke||0,Math.min(Te||je,this.r*We)),this.renderLens(Se),this.renderFocusElements()},this.isLensDragging=!1,this.onDragStart=x=>{var b;const z=Du(x.canvas),te=(b=this.lens)===null||b===void 0?void 0:b.getCenter();!this.isLensOn||cl(z,te)>this.r||(this.isLensDragging=!0)},this.onDrag=x=>{if(!this.isLensDragging)return;const b=Du(x.canvas);this.renderLens(b),this.renderFocusElements()},this.onDragEnd=()=>{this.isLensDragging=!1},this.bindEvents()}get canvas(){return this.context.canvas.getLayer("transient")}get isLensOn(){return this.lens&&!this.lens.destroyed}getElementStyle(a,y){const x=a==="node"?this.options.nodeStyle:this.options.edgeStyle;return typeof x=="function"?x(y):x}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var a;const{graph:y}=this.context,{trigger:x,scaleRBy:b}=this.options,z=y.getCanvas().getLayer();["click","drag"].includes(x)&&z.addEventListener(ga.CLICK,this.onEdgeFilter),x==="pointermove"?z.addEventListener(ga.POINTER_MOVE,this.onEdgeFilter):x==="drag"&&(z.addEventListener(ga.DRAG_START,this.onDragStart),z.addEventListener(ga.DRAG,this.onDrag),z.addEventListener(ga.DRAG_END,this.onDragEnd)),b==="wheel"&&((a=this.graphDom)===null||a===void 0||a.addEventListener(ga.WHEEL,this.scaleRByWheel,{passive:!1}))}unbindEvents(){var a;const{graph:y}=this.context,{trigger:x,scaleRBy:b}=this.options,z=y.getCanvas().getLayer();["click","drag"].includes(x)&&z.removeEventListener(ga.CLICK,this.onEdgeFilter),x==="pointermove"?z.removeEventListener(ga.POINTER_MOVE,this.onEdgeFilter):x==="drag"&&(z.removeEventListener(ga.DRAG_START,this.onDragStart),z.removeEventListener(ga.DRAG,this.onDrag),z.removeEventListener(ga.DRAG_END,this.onDragEnd)),b==="wheel"&&((a=this.graphDom)===null||a===void 0||a.removeEventListener(ga.WHEEL,this.scaleRByWheel))}update(a){this.unbindEvents(),super.update(a),this.bindEvents()}destroy(){this.unbindEvents(),this.isLensOn&&this.lens.destroy(),this.shapes.forEach((a,y)=>{a.destroy(),this.shapes.delete(y)}),super.destroy()}}Ry.defaultOptions={trigger:"pointermove",r:60,nodeType:"both",filter:()=>!0,style:{lineWidth:2},nodeStyle:{label:!1},edgeStyle:{label:!0},scaleRBy:"wheel",preventDefault:!0};const FU={fill:"#ccc",fillOpacity:.1,lineWidth:2,stroke:"#000",strokeOpacity:.8,labelFontSize:12},EM=.05,AM=.1;class _y extends Lu{constructor(a,y){super(a,Object.assign({},_y.defaultOptions,y)),this.r=this.options.r,this.d=this.options.d,this.onCreateFisheye=x=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const b=Du(x.canvas);this.onMagnify(b)},this.onMagnify=x=>{x.some(isNaN)||(this.renderLens(x),this.renderFocusElements())},this.renderLens=x=>{const b=Object.assign({},FU,this.options.style);this.isLensOn||(this.lens=new yg({style:b}),this.canvas.appendChild(this.lens)),Object.assign(b,Bd(x),{size:this.r*2,label:this.options.showDPercent,labelText:this.getDPercent()}),this.lens.update(b)},this.getDPercent=()=>{const{minD:x,maxD:b}=this.options;return`${Math.round((this.d-x)/(b-x)*100)}%`},this.prevMagnifiedStyleMap=new Map,this.prevOriginStyleMap=new Map,this.renderFocusElements=()=>{if(!this.isLensOn)return;const{graph:x}=this.context,b=this.lens.getCenter(),z=(this.d+1)*this.r,te=new Map,re=new Map;x.getNodeData().forEach(se=>{const fe=lu(se),me=cl(fe,b);if(me>this.r)return;const Se=z*me/(this.d*me+this.r),[Te,ke]=fe,[We,je]=b,Ke=(Te-We)/me,Qe=(ke-je)/me,Je=[We+Se*Ke,je+Se*Qe],at=_r(se),ot=this.getNodeStyle(se),ut=Ag(x.getElementRenderStyle(at),Object.keys(ot));te.set(at,Object.assign(Object.assign({},Bd(Je)),ot)),re.set(at,Object.assign(Object.assign({},Bd(fe)),ut))}),this.updateStyle(te,re)},this.getNodeStyle=x=>{const{nodeStyle:b}=this.options;return typeof b=="function"?b(x):b},this.updateStyle=(x,b)=>{const{graph:z,element:te}=this.context,{enter:re,exit:ae,keep:se}=uh(Array.from(this.prevMagnifiedStyleMap.keys()),Array.from(x.keys()),Se=>Se),fe=new Set,me=(Se,Te)=>{const ke=te.getElement(Se);ke==null||ke.update(Te),z.getRelatedEdgesData(Se).forEach(We=>{fe.add(_r(We))})};[...re,...se].forEach(Se=>{me(Se,x.get(Se))}),ae.forEach(Se=>{me(Se,this.prevOriginStyleMap.get(Se)),this.prevOriginStyleMap.delete(Se)}),fe.forEach(Se=>{const Te=te.getElement(Se);Te==null||Te.update({})}),this.prevMagnifiedStyleMap=x,b.forEach((Se,Te)=>{this.prevOriginStyleMap.has(Te)||this.prevOriginStyleMap.set(Te,Se)})},this.isWheelValid=x=>{if(this.options.preventDefault&&x.preventDefault(),!this.isLensOn)return!1;const{clientX:b,clientY:z}=x,te=this.context.graph.getCanvasByClient([b,z]),re=this.lens.getCenter();return!(cl(te,re)>this.r)},this.scaleR=x=>{const{maxR:b,minR:z}=this.options,te=x?1/(1-EM):1-EM,re=Math.min(...this.context.canvas.getSize())/2;this.r=Math.max(z||0,Math.min(b||re,this.r*te))},this.scaleD=x=>{const{maxD:b,minD:z}=this.options,te=x?this.d+AM:this.d-AM;this.d=Math.max(z,Math.min(b,te))},this.scaleRByWheel=x=>{if(!this.isWheelValid(x))return;const{deltaX:b,deltaY:z}=x;this.scaleR(b+z>0);const te=this.lens.getCenter();this.onMagnify(te)},this.scaleDByWheel=x=>{if(!this.isWheelValid(x))return;const{deltaX:b,deltaY:z}=x;this.scaleD(b+z>0);const te=this.lens.getCenter();this.onMagnify(te)},this.isDragValid=x=>{if(this.options.preventDefault&&x.preventDefault(),!this.isLensOn)return!1;const b=Du(x.canvas),z=this.lens.getCenter();return!(cl(b,z)>this.r)},this.isLensDragging=!1,this.onDragStart=x=>{this.isDragValid(x)&&(this.isLensDragging=!0)},this.onDrag=x=>{if(!this.isLensDragging)return;const b=Du(x.canvas);this.onMagnify(b)},this.onDragEnd=()=>{this.isLensDragging=!1},this.scaleRByDrag=x=>{if(!this.isLensDragging)return;const{dx:b,dy:z}=x;this.scaleR(b-z>0);const te=this.lens.getCenter();this.onMagnify(te)},this.scaleDByDrag=x=>{if(!this.isLensDragging)return;const{dx:b,dy:z}=x;this.scaleD(b-z>0);const te=this.lens.getCenter();this.onMagnify(te)},this.bindEvents()}get canvas(){return this.context.canvas.getLayer("transient")}get isLensOn(){return this.lens&&!this.lens.destroyed}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var a;const{graph:y}=this.context,{trigger:x,scaleRBy:b,scaleDBy:z}=this.options,te=y.getCanvas().getLayer();if(["click","drag"].includes(x)&&te.addEventListener(ga.CLICK,this.onCreateFisheye),x==="pointermove"&&te.addEventListener(ga.POINTER_MOVE,this.onCreateFisheye),x==="drag"||b==="drag"||z==="drag"){te.addEventListener(ga.DRAG_START,this.onDragStart),te.addEventListener(ga.DRAG_END,this.onDragEnd);const re=x==="drag"?this.onDrag:b==="drag"?this.scaleRByDrag:this.scaleDByDrag;te.addEventListener(ga.DRAG,re)}if(b==="wheel"||z==="wheel"){const re=b==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(a=this.graphDom)===null||a===void 0||a.addEventListener(ga.WHEEL,re,{passive:!1})}}unbindEvents(){var a;const{graph:y}=this.context,{trigger:x,scaleRBy:b,scaleDBy:z}=this.options,te=y.getCanvas().getLayer();if(["click","drag"].includes(x)&&te.removeEventListener(ga.CLICK,this.onCreateFisheye),x==="pointermove"&&te.removeEventListener(ga.POINTER_MOVE,this.onCreateFisheye),x==="drag"||b==="drag"||z==="drag"){te.removeEventListener(ga.DRAG_START,this.onDragStart),te.removeEventListener(ga.DRAG_END,this.onDragEnd);const re=x==="drag"?this.onDrag:b==="drag"?this.scaleRByDrag:this.scaleDByDrag;te.removeEventListener(ga.DRAG,re)}if(b==="wheel"||z==="wheel"){const re=b==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(a=this.graphDom)===null||a===void 0||a.removeEventListener(ga.WHEEL,re)}}update(a){this.unbindEvents(),super.update(a),this.bindEvents()}destroy(){var a;this.unbindEvents(),this.isLensOn&&((a=this.lens)===null||a===void 0||a.destroy()),this.prevMagnifiedStyleMap.clear(),this.prevOriginStyleMap.clear(),super.destroy()}}_y.defaultOptions={trigger:"pointermove",r:120,d:1.5,maxD:5,minD:0,showDPercent:!0,style:{},nodeStyle:{label:!0},preventDefault:!0};class Fy extends Lu{constructor(a,y){super(a,Object.assign({},Fy.defaultOptions,y)),this.$el=this.context.canvas.getContainer(),this.graphSize=[0,0],this.onFullscreenChange=()=>{var x,b,z,te;const re=!!document.fullscreenElement;this.options.autoFit&&this.setGraphSize(re),re?(b=(x=this.options).onEnter)===null||b===void 0||b.call(x):(te=(z=this.options).onExit)===null||te===void 0||te.call(z)},this.shortcut=new c0(a.graph),this.bindEvents(),this.style=document.createElement("style"),document.head.appendChild(this.style),this.style.innerHTML=`
|
|
|
:not(:root):fullscreen::backdrop {
|
|
|
background: transparent;
|
|
|
}
|
|
|
`}bindEvents(){this.unbindEvents(),this.shortcut.unbindAll();const{request:a=[],exit:y=[]}=this.options.trigger;this.shortcut.bind(a,this.request),this.shortcut.bind(y,this.exit),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(b=>{document.addEventListener(b,this.onFullscreenChange,!1)})}unbindEvents(){this.shortcut.unbindAll(),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(y=>{document.removeEventListener(y,this.onFullscreenChange,!1)})}setGraphSize(a=!0){var y,x;let b,z;a?(b=((y=globalThis.screen)===null||y===void 0?void 0:y.width)||0,z=((x=globalThis.screen)===null||x===void 0?void 0:x.height)||0,this.graphSize=this.context.graph.getSize()):[b,z]=this.graphSize,this.context.graph.setSize(b,z),this.context.graph.render()}request(){document.fullscreenElement||!kU()||this.$el.requestFullscreen().catch(a=>{Ec.warn(`Error attempting to enable full-screen: ${a.message} (${a.name})`)})}exit(){document.fullscreenElement&&document.exitFullscreen()}update(a){this.unbindEvents(),super.update(a),this.bindEvents()}destroy(){this.exit(),this.style.remove(),super.destroy()}}Fy.defaultOptions={trigger:{},autoFit:!0};function kU(){return document.fullscreenEnabled||Reflect.get(document,"webkitFullscreenEnabled")||Reflect.get(document,"mozFullscreenEnabled")||Reflect.get(document,"msFullscreenEnabled")}class ky extends Lu{constructor(a,y){super(a,Object.assign({},ky.defaultOptions,y)),this.$element=E0("grid-line",!0),this.offset=[0,0],this.onTransform=b=>{if(!this.options.follow)return;const{data:{translate:z}}=b;z&&this.updateOffset(z)},this.context.canvas.getContainer().prepend(this.$element),this.updateStyle(),this.bindEvents()}update(a){super.update(a),this.updateStyle()}bindEvents(){const{graph:a}=this.context;a.on(ci.AFTER_TRANSFORM,this.onTransform)}updateStyle(){const{size:a,stroke:y,lineWidth:x,border:b,borderLineWidth:z,borderStroke:te,borderStyle:re}=this.options;Object.assign(this.$element.style,{border:b?`${z}px ${re} ${te}`:"none",backgroundImage:`linear-gradient(${y} ${x}px, transparent ${x}px), linear-gradient(90deg, ${y} ${x}px, transparent ${x}px)`,backgroundSize:`${a}px ${a}px`,backgroundRepeat:"repeat"})}updateOffset(a){this.offset=f_(Ho(this.offset,a),this.options.size),this.$element.style.backgroundPosition=`${this.offset[0]}px ${this.offset[1]}px`}destroy(){this.context.graph.off(ci.AFTER_TRANSFORM,this.onTransform),this.$element.remove(),super.destroy()}}ky.defaultOptions={border:!0,borderLineWidth:1,borderStroke:"#eee",borderStyle:"solid",lineWidth:1,size:20,stroke:"#eee"};function Px(E){const a={Added:new Map,Updated:new Map,Removed:new Map};return E.forEach(y=>{const{type:x,value:b}=y,z=_r(b);if(x==="NodeAdded"||x==="EdgeAdded"||x==="ComboAdded")a.Added.set(z,y);else if(x==="NodeUpdated"||x==="EdgeUpdated"||x==="ComboUpdated")if(a.Added.has(z))a.Added.set(z,{type:x.replace("Updated","Added"),value:b});else if(a.Updated.has(z)){const{original:te}=a.Updated.get(z);a.Updated.set(z,{type:x,value:b,original:te})}else a.Removed.has(z)||a.Updated.set(z,y);else(x==="NodeRemoved"||x==="EdgeRemoved"||x==="ComboRemoved")&&(a.Added.has(z)?a.Added.delete(z):(a.Updated.has(z)&&a.Updated.delete(z),a.Removed.set(z,y)))}),[...Array.from(a.Added.values()),...Array.from(a.Updated.values()),...Array.from(a.Removed.values())]}function xM(E){const{NodeAdded:a=[],NodeUpdated:y=[],NodeRemoved:x=[],EdgeAdded:b=[],EdgeUpdated:z=[],EdgeRemoved:te=[],ComboAdded:re=[],ComboUpdated:ae=[],ComboRemoved:se=[]}=ap(E,fe=>fe.type);return{add:{nodes:a,edges:b,combos:re},update:{nodes:y,edges:z,combos:ae},remove:{nodes:x,edges:te,combos:se}}}function SM(E,a){for(const y in E)jl(E[y])&&!Array.isArray(E[y])&&E[y]!==null?(a[y]||(a[y]={}),SM(E[y],a[y])):a[y]===void 0&&(a[y]=sv(y))}function zU(E,a=!1,y){const x={animation:a,current:{add:{},update:{},remove:{}},original:{add:{},update:{},remove:{}}},{add:b,update:z,remove:te}=xM(Px(E));return["nodes","edges","combos"].forEach(re=>{z[re]&&z[re].forEach(ae=>{var se,fe;const me=Object.assign({},ae.value);let Se=Object.assign({},ae.original);if(y){const Te=y.graph.getElementType(_r(ae.original)),ke=Te==="edge"?"stroke":"fill",We=y.element.getElementComputedStyle(Te,ae.original);Se=Object.assign(Object.assign({},ae.original),{style:Object.assign({[ke]:We[ke]},ae.original.style)})}SM(me,Se),(se=x.current.update)[re]||(se[re]=[]),x.current.update[re].push(me),(fe=x.original.update)[re]||(fe[re]=[]),x.original.update[re].push(Se)}),b[re]&&b[re].forEach(ae=>{var se,fe;const me=Object.assign({},ae.value);(se=x.current.add)[re]||(se[re]=[]),x.current.add[re].push(me),(fe=x.original.remove)[re]||(fe[re]=[]),x.original.remove[re].push(me)}),te[re]&&te[re].forEach(ae=>{var se,fe;const me=Object.assign({},ae.value);(se=x.current.remove)[re]||(se[re]=[]),x.current.remove[re].push(me),(fe=x.original.add)[re]||(fe[re]=[]),x.original.add[re].push(me)})}),x}class zy extends Lu{constructor(a,y){super(a,Object.assign({},zy.defaultOptions,y)),this.batchChanges=null,this.batchAnimation=!1,this.undoStack=[],this.redoStack=[],this.freezed=!1,this.executeCommand=(b,z=!0)=>{var te,re,ae;this.freezed=!0,(re=(te=this.options).executeCommand)===null||re===void 0||re.call(te,b);const se=z?b.original:b.current;this.context.graph.addData(se.add),this.context.graph.updateData(se.update),this.context.graph.removeData(T2(se.remove,!1)),(ae=this.context.element)===null||ae===void 0||ae.draw({silence:!0,animation:b.animation}),this.freezed=!1},this.addCommand=b=>{var z;if(!this.freezed){if(b.type===ci.AFTER_DRAW){const{dataChanges:te=[],animation:re=!0}=b.data;if(!((z=this.context.batch)===null||z===void 0)&&z.isBatching){if(!this.batchChanges)return;this.batchChanges.push(te),this.batchAnimation&&(this.batchAnimation=re);return}this.batchChanges=[te],this.batchAnimation=re}this.undoStackPush(zU(this.batchChanges.flat(),this.batchAnimation,this.context)),this.notify(ih.ADD,this.undoStack[this.undoStack.length-1])}},this.initBatchCommand=b=>{const{initiate:z}=b.data;this.batchAnimation=!1,z?this.batchChanges=[]:this.undoStack.pop()||(this.batchChanges=null)},this.emitter=new ny;const{graph:x}=this.context;x.on(ci.AFTER_DRAW,this.addCommand),x.on(ci.BATCH_START,this.initBatchCommand),x.on(ci.BATCH_END,this.addCommand)}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}undo(){var a,y,x,b;const z=this.undoStack.pop();if(z){if(this.executeCommand(z),((y=(a=this.options).beforeAddCommand)===null||y===void 0?void 0:y.call(a,z,!1))===!1)return;this.redoStack.push(z),(b=(x=this.options).afterAddCommand)===null||b===void 0||b.call(x,z,!1),this.notify(ih.UNDO,z)}return this}redo(){const a=this.redoStack.pop();return a&&(this.executeCommand(a,!1),this.undoStackPush(a),this.notify(ih.REDO,a)),this}undoAndCancel(){const a=this.undoStack.pop();return a&&(this.executeCommand(a,!1),this.redoStack=[],this.notify(ih.CANCEL,a)),this}undoStackPush(a){var y,x,b,z;const{stackSize:te}=this.options;te!==0&&this.undoStack.length>=te&&this.undoStack.shift(),((x=(y=this.options).beforeAddCommand)===null||x===void 0?void 0:x.call(y,a,!0))!==!1&&(this.undoStack.push(a),(z=(b=this.options).afterAddCommand)===null||z===void 0||z.call(b,a,!0))}clear(){this.undoStack=[],this.redoStack=[],this.batchChanges=null,this.batchAnimation=!1,this.notify(ih.CLEAR,null)}notify(a,y){this.emitter.emit(a,{cmd:y}),this.emitter.emit(ih.CHANGE,{cmd:y})}on(a,y){this.emitter.on(a,y)}destroy(){const{graph:a}=this.context;a.off(ci.AFTER_DRAW,this.addCommand),a.off(ci.BATCH_START,this.initBatchCommand),a.off(ci.BATCH_END,this.addCommand),this.emitter.off(),super.destroy(),this.undoStack=[],this.redoStack=[]}}zy.defaultOptions={stackSize:0};var UU=Oe(76117),WU=Oe.n(UU);function jU(E,a,y){if(E.length===1)return GU(E[0],a,y);if(E.length===2)return bM(E,a,y);if(E.length===3){const[x,b,z]=xA(E);if(j2(x,b,z))return bM([x,z],a,y)}switch(y){case"smooth":return HU(E,a);case"sharp":return KU(E,a);case"rounded":default:return VU(E,a)}}const GU=(E,a,y)=>{if(y==="sharp")return[["M",E[0]-a,E[1]-a],["L",E[0]+a,E[1]-a],["L",E[0]+a,E[1]+a],["L",E[0]-a,E[1]+a],["Z"]];const x=[a,a,0,0,0];return[["M",E[0],E[1]-a],["A",...x,E[0],E[1]+a],["A",...x,E[0],E[1]-a]]},bM=(E,a,y)=>{const x=[a,a,0,0,0],b=y==="sharp"?Ho(E[0],ch(Lf(qs(E[0],E[1])),a)):E[0],z=y==="sharp"?Ho(E[1],ch(Lf(qs(E[1],E[0])),a)):E[1],te=ch(Lf(xp(qs(b,z),!1)),a),re=ch(te,-1),ae=Ho(b,te),se=Ho(z,te),fe=Ho(z,re),me=Ho(b,re);return y==="sharp"?[["M",ae[0],ae[1]],["L",se[0],se[1]],["L",fe[0],fe[1]],["L",me[0],me[1]],["Z"]]:[["M",ae[0],ae[1]],["L",se[0],se[1]],["A",...x,fe[0],fe[1]],["L",me[0],me[1]],["A",...x,ae[0],ae[1]]]},VU=(E,a)=>{const y=xA(E).map((re,ae)=>{const se=(ae-2+E.length)%E.length,fe=(ae-1+E.length)%E.length,me=(ae+1)%E.length,Se=E[se],Te=E[fe],ke=E[me],We=qs(Se,Te),je=qs(Te,re),Ke=qs(re,ke),Qe=(ft,lt)=>EA(ft,lt,!0)<Math.PI,Je=Qe(We,je),at=Qe(je,Ke),ot=ft=>ch(Lf(xp(ft,!1)),a),ut=ot(je);return[{p:vg(Je?Ho(Te,ot(We)):Ho(Te,ut)),concave:Je&&Te},{p:vg(at?Ho(re,ot(Ke)):Ho(re,ut)),concave:at&&re}]}),x=[a,a,0,0,0],b=y.findIndex((re,ae)=>!y[(ae-1+y.length)%y.length][0].concave&&!y[(ae-1+y.length)%y.length][1].concave&&!re[0].concave&&!re[0].concave&&!re[1].concave),z=y.slice(b).concat(y.slice(0,b));let te=[];return z.flatMap((re,ae)=>{const se=[],fe=z[y.length-1];return ae===0&&se.push(["M",...fe[1].p]),re[0].concave?te.push(re[0].p,re[1].p):se.push(["A",...x,...re[0].p]),re[1].concave?te.unshift(re[1].p):se.push(["L",...re[1].p]),te.length===3&&(se.pop(),se.push(["C",...te.flat()]),te=[]),se})},HU=(E,a)=>{const y=xA(E).map((x,b)=>{const z=E[(b+1)%E.length];return{p:x,v:Lf(qs(z,x))}});return y.forEach((x,b)=>{const z=b>0?b-1:E.length-1,te=y[z].v,re=Lf(Ho(te,ch(x.v,EA(te,x.v,!0)<Math.PI?1:-1)));x.p=Ho(x.p,ch(re,a))}),iw(y.map(x=>x.p))},KU=(E,a)=>{const x=E.map((z,te)=>{const re=E[te===0?E.length-1:te-1],ae=fv(ch(Lf(xp(qs(re,z),!1)),a));return[Ho(re,ae),Ho(z,ae)]}).flat();return x.map((z,te)=>{if(te%2===0)return null;const re=[x[(te-1)%x.length],x[te%x.length]],ae=[x[(te+1)%x.length],x[(te+2)%x.length]];return AA(re,ae,!0)}).filter(Boolean).map((z,te)=>[te===0?"M":"L",z[0],z[1]]).concat([["Z"]])};var ZU=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};class Uy extends Lu{constructor(a,y){super(a,Object.assign({},Uy.defaultOptions,y)),this.hullMemberIds=[],this.drawHull=()=>{if(!this.shape)this.shape=new yv({style:this.getHullStyle()}),this.context.canvas.appendChild(this.shape);else{const x=!Vl(this.optionsCache,this.options);this.shape.update(this.getHullStyle(x))}this.optionsCache=Object.assign({},this.options)},this.updateHullPath=x=>{this.shape&&this.options.members.includes(_r(x.data))&&this.shape.update({d:this.getHullPath(!0)})},this.getHullPath=(x=!1)=>{const{graph:b}=this.context,z=this.getMember();if(z.length===0)return"";const te=z.map(se=>b.getNodeData(se)),re=WU()(te.map(lu),this.options.concavity).slice(1).reverse(),ae=re.flatMap(se=>te.filter(fe=>Vl(lu(fe),se)).map(_r));return Vl(ae,this.hullMemberIds)&&!x?this.path:(this.hullMemberIds=ae,this.path=jU(re,this.getPadding(),this.options.corner),this.path)},this.bindEvents()}bindEvents(){this.context.graph.on(ci.AFTER_RENDER,this.drawHull),this.context.graph.on(ci.AFTER_ELEMENT_UPDATE,this.updateHullPath)}getHullStyle(a){const y=this.options,{members:x,padding:b,corner:z}=y,te=ZU(y,["members","padding","corner"]);return Object.assign(Object.assign({},te),{d:this.getHullPath(a)})}getPadding(){const{graph:a}=this.context;return this.hullMemberIds.reduce((x,b)=>{const{halfExtents:z}=a.getElementRenderBounds(b),te=Math.max(z[0],z[1]);return Math.max(x,te)},0)+this.options.padding}addMember(a){const y=Array.isArray(a)?a:[a];this.options.members=[...new Set([...this.options.members,...y])],this.shape.update({d:this.getHullPath()})}removeMember(a){const y=Array.isArray(a)?a:[a];this.options.members=this.options.members.filter(x=>!y.includes(x)),y.some(x=>this.hullMemberIds.includes(x))&&this.shape.update({d:this.getHullPath()})}updateMember(a){this.options.members=Gi(a)?a(this.options.members):a,this.shape.update(this.getHullStyle(!0))}getMember(){return this.options.members}destroy(){this.context.graph.off(ci.AFTER_DRAW,this.drawHull),this.shape.destroy(),this.hullMemberIds=[],super.destroy()}}Uy.defaultOptions={members:[],padding:10,corner:"rounded",concavity:1/0,fill:"lightblue",fillOpacity:.2,labelOpacity:1,stroke:"blue",strokeOpacity:.2};function CM(E,a){a(E),E.children&&E.children.forEach(function(y){y&&CM(y,a)})}function Bv(E){Wy(E,!0)}function _d(E){Wy(E,!1)}function Wy(E,a){var y=a?"visible":"hidden";CM(E,function(x){x.attr("visibility",y)})}var QU=5,PM=function(E,a,y,x){y===void 0&&(y=0),x===void 0&&(x=QU),Object.entries(a).forEach(function(b){var z=(0,Rt.CR)(b,2),te=z[0],re=z[1],ae=E;Object.prototype.hasOwnProperty.call(a,te)&&(re?u0(re)?(u0(E[te])||(ae[te]={}),y<x?PM(E[te],re,y+1,x):ae[te]=a[te]):Tc(re)?(ae[te]=[],ae[te]=ae[te].concat(re)):ae[te]=re:ae[te]=re)})},Au=function(E){for(var a=[],y=1;y<arguments.length;y++)a[y-1]=arguments[y];for(var x=0;x<a.length;x+=1)PM(E,a[x]);return E},YU=function(E){(0,Rt.ZT)(a,E);function a(){for(var y=[],x=0;x<arguments.length;x++)y[x]=arguments[x];var b=E.apply(this,(0,Rt.ev)([],(0,Rt.CR)(y),!1))||this;return b.isMutationObserved=!0,b.addEventListener(is.INSERTED,function(){_d(b)}),b}return a}(su);function wM(E){var a=E.appendChild(new YU({class:"offscreen"}));return _d(a),a}function XU(E){for(var a=E;a;){if(a.className==="offscreen")return!0;a=a.parent}return!1}function JU(){Wy(this,this.attributes.visibility!=="hidden")}var Bl=function(E){(0,Rt.ZT)(a,E);function a(y,x){x===void 0&&(x={});var b=E.call(this,Au({},{style:x},y))||this;return b.initialized=!1,b._defaultOptions=x,b}return Object.defineProperty(a.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=wM(this)),this._offscreen},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"defaultOptions",{get:function(){return this._defaultOptions},enumerable:!1,configurable:!0}),a.prototype.connectedCallback=function(){this.render(this.attributes,this),this.bindEvents(this.attributes,this),this.initialized=!0},a.prototype.disconnectedCallback=function(){var y;(y=this._offscreen)===null||y===void 0||y.destroy()},a.prototype.attributeChangedCallback=function(y){y==="visibility"&&JU.call(this)},a.prototype.update=function(y,x){var b;return this.attr(Au({},this.attributes,y||{})),(b=this.render)===null||b===void 0?void 0:b.call(this,this.attributes,this,x)},a.prototype.clear=function(){this.removeChildren()},a.prototype.bindEvents=function(y,x){},a.prototype.getSubShapeStyle=function(y){var x=y.x,b=y.y,z=y.transform,te=y.transformOrigin,re=y.class,ae=y.className,se=y.zIndex,fe=(0,Rt._T)(y,["x","y","transform","transformOrigin","class","className","zIndex"]);return fe},a}(WE);function wx(E){return E.toString().charAt(0).toUpperCase()+E.toString().slice(1)}function qU(E){return E.toString().charAt(0).toLowerCase()+E.toString().slice(1)}function $U(E,a){return"".concat(a).concat(wx(E))}function MM(E,a,y){var x;y===void 0&&(y=!0);var b=a||((x=E.match(/^([a-z][a-z0-9]+)/))===null||x===void 0?void 0:x[0])||"",z=E.replace(new RegExp("^(".concat(b,")")),"");return y?qU(z):z}function eW(E,a){Object.entries(a).forEach(function(y){var x=(0,Rt.CR)(y,2),b=x[0],z=x[1];(0,Rt.ev)([E],(0,Rt.CR)(E.querySelectorAll(b)),!1).filter(function(te){return te.matches(b)}).forEach(function(te){if(te){var re=te;re.style.cssText+=Object.entries(z).reduce(function(ae,se){return"".concat(ae).concat(se.join(":"),";")},"")}})})}var jy=function(E,a){if(!(E!=null&&E.startsWith(a)))return!1;var y=E[a.length];return y>="A"&&y<="Z"};function ko(E,a,y){y===void 0&&(y=!1);var x={};return Object.entries(E).forEach(function(b){var z=(0,Rt.CR)(b,2),te=z[0],re=z[1];if(!(te==="className"||te==="class")){if(jy(te,"show")&&jy(MM(te,"show"),a)!==y)te===$U(a,"show")?x[te]=re:x[te.replace(new RegExp(wx(a)),"")]=re;else if(!jy(te,"show")&&jy(te,a)!==y){var ae=MM(te,a);ae==="filter"&&typeof re=="function"||(x[ae]=re)}}}),x}function A0(E,a){return Object.entries(E).reduce(function(y,x){var b=(0,Rt.CR)(x,2),z=b[0],te=b[1];return z.startsWith("show")?y["show".concat(a).concat(z.slice(4))]=te:y["".concat(a).concat(wx(z))]=te,y},{})}function Rf(E,a){a===void 0&&(a=["x","y","class","className"]);var y=["transform","transformOrigin","anchor","visibility","pointerEvents","zIndex","cursor","clipPath","clipPathTargets","offsetPath","offsetPathTargets","offsetDistance","draggable","droppable"],x={},b={};return Object.entries(E).forEach(function(z){var te=(0,Rt.CR)(z,2),re=te[0],ae=te[1];a.includes(re)||(y.indexOf(re)!==-1?b[re]=ae:x[re]=ae)}),[x,b]}var Mx=function(E){(0,Rt.ZT)(a,E);function a(y){y===void 0&&(y={});var x=y.style,b=(0,Rt._T)(y,["style"]);return E.call(this,(0,Rt.pi)({style:(0,Rt.pi)({text:"",fill:"black",fontFamily:"sans-serif",fontSize:16,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",lineWidth:1,textAlign:"start",textBaseline:"middle"},x)},b))||this}return Object.defineProperty(a.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=wM(this)),this._offscreen},enumerable:!1,configurable:!0}),a.prototype.disconnectedCallback=function(){var y;(y=this._offscreen)===null||y===void 0||y.destroy()},a}(cg);function tW(E,a){var y=new Map;return E.forEach(function(x){var b=a(x);y.has(b)||y.set(b,[]),y.get(b).push(x)}),y}function nW(E){throw new Error(E)}var rW=function(){function E(b,z,te,re,ae,se,fe){b===void 0&&(b=null),z===void 0&&(z=null),te===void 0&&(te=null),re===void 0&&(re=null),ae===void 0&&(ae=[null,null,null,null,null]),se===void 0&&(se=[]),fe===void 0&&(fe=[]),a.add(this),this._elements=Array.from(b),this._data=z,this._parent=te,this._document=re,this._enter=ae[0],this._update=ae[1],this._exit=ae[2],this._merge=ae[3],this._split=ae[4],this._transitions=se,this._facetElements=fe}E.prototype.selectAll=function(b){var z=typeof b=="string"?this._parent.querySelectorAll(b):b;return new y(z,null,this._elements[0],this._document)},E.prototype.selectFacetAll=function(b){var z=typeof b=="string"?this._parent.querySelectorAll(b):b;return new y(this._elements,null,this._parent,this._document,void 0,void 0,z)},E.prototype.select=function(b){var z=typeof b=="string"?this._parent.querySelectorAll(b)[0]||null:b;return new y([z],null,z,this._document)},E.prototype.append=function(b){var z=this,te=typeof b=="function"?b:function(){return z.createElement(b)},re=[];if(this._data!==null){for(var ae=0;ae<this._data.length;ae++){var se=this._data[ae],fe=(0,Rt.CR)(Array.isArray(se)?se:[se,null],2),me=fe[0],Se=fe[1],Te=te(me,ae);Te.__data__=me,Se!==null&&(Te.__fromElements__=Se),this._parent.appendChild(Te),re.push(Te)}return new y(re,null,this._parent,this._document)}for(var ae=0;ae<this._elements.length;ae++){var ke=this._elements[ae],me=ke.__data__,Te=te(me,ae);ke.appendChild(Te),re.push(Te)}return new y(re,null,re[0],this._document)},E.prototype.maybeAppend=function(b,z){var te=(0,Rt.Q_)(this,a,"m",x).call(this,b[0]==="#"?b:"#".concat(b),z);return te.attr("id",b),te},E.prototype.maybeAppendByClassName=function(b,z){var te=b.toString(),re=(0,Rt.Q_)(this,a,"m",x).call(this,te[0]==="."?te:".".concat(te),z);return re.attr("className",te),re},E.prototype.maybeAppendByName=function(b,z){var te=(0,Rt.Q_)(this,a,"m",x).call(this,'[name="'.concat(b,'"]'),z);return te.attr("name",b),te},E.prototype.data=function(b,z,te){var re,ae;z===void 0&&(z=function(Bt){return Bt}),te===void 0&&(te=function(){return null});for(var se=[],fe=[],me=new Set(this._elements),Se=[],Te=new Set,ke=new Map(this._elements.map(function(Bt,Vt){return[z(Bt.__data__,Vt),Bt]})),We=new Map(this._facetElements.map(function(Bt,Vt){return[z(Bt.__data__,Vt),Bt]})),je=tW(this._elements,function(Bt){return te(Bt.__data__)}),Ke=0;Ke<b.length;Ke++){var Qe=b[Ke],Je=z(Qe,Ke),at=te(Qe,Ke);if(ke.has(Je)){var ot=ke.get(Je);ot.__data__=Qe,ot.__facet__=!1,fe.push(ot),me.delete(ot),ke.delete(Je)}else if(We.has(Je)){var ot=We.get(Je);ot.__data__=Qe,ot.__facet__=!0,fe.push(ot),We.delete(Je)}else if(je.has(Je)){var ut=je.get(Je);Se.push([Qe,ut]);try{for(var ft=(re=void 0,(0,Rt.XA)(ut)),lt=ft.next();!lt.done;lt=ft.next()){var ot=lt.value;me.delete(ot)}}catch(Bt){re={error:Bt}}finally{try{lt&&!lt.done&&(ae=ft.return)&&ae.call(ft)}finally{if(re)throw re.error}}je.delete(Je)}else if(ke.has(at)){var ot=ke.get(at);ot.__toData__?ot.__toData__.push(Qe):ot.__toData__=[Qe],Te.add(ot),me.delete(ot)}else se.push(Qe)}var Dt=[new y([],se,this._parent,this._document),new y(fe,null,this._parent,this._document),new y(me,null,this._parent,this._document),new y([],Se,this._parent,this._document),new y(Te,null,this._parent,this._document)];return new y(this._elements,null,this._parent,this._document,Dt)},E.prototype.merge=function(b){var z=(0,Rt.ev)((0,Rt.ev)([],(0,Rt.CR)(this._elements),!1),(0,Rt.CR)(b._elements),!1),te=(0,Rt.ev)((0,Rt.ev)([],(0,Rt.CR)(this._transitions),!1),(0,Rt.CR)(b._transitions),!1);return new y(z,null,this._parent,this._document,void 0,te)},E.prototype.createElement=function(b){if(this._document)return this._document.createElement(b,{});var z=y.registry[b];return z?new z:nW("Unknown node type: ".concat(b))},E.prototype.join=function(b,z,te,re,ae){b===void 0&&(b=function(ke){return ke}),z===void 0&&(z=function(ke){return ke}),te===void 0&&(te=function(ke){return ke.remove()}),re===void 0&&(re=function(ke){return ke}),ae===void 0&&(ae=function(ke){return ke.remove()});var se=b(this._enter),fe=z(this._update),me=te(this._exit),Se=re(this._merge),Te=ae(this._split);return fe.merge(se).merge(me).merge(Se).merge(Te)},E.prototype.remove=function(){for(var b=function(re){var ae=z._elements[re],se=z._transitions[re];se?se.then(function(){return ae.remove()}):ae.remove()},z=this,te=0;te<this._elements.length;te++)b(te);return new y([],null,this._parent,this._document,void 0,this._transitions)},E.prototype.each=function(b){for(var z=0;z<this._elements.length;z++){var te=this._elements[z],re=te.__data__;b.call(te,re,z)}return this},E.prototype.attr=function(b,z){var te=typeof z!="function"?function(){return z}:z;return this.each(function(re,ae){z!==void 0&&(this[b]=te.call(this,re,ae))})},E.prototype.style=function(b,z,te){te===void 0&&(te=!0);var re=typeof z!="function"||!te?function(){return z}:z;return this.each(function(ae,se){z!==void 0&&(this.style[b]=re.call(this,ae,se))})},E.prototype.styles=function(b,z){return b===void 0&&(b={}),z===void 0&&(z=!0),this.each(function(te,re){var ae=this;Object.entries(b).forEach(function(se){var fe=(0,Rt.CR)(se,2),me=fe[0],Se=fe[1],Te=typeof Se!="function"||!z?function(){return Se}:Se;Se!==void 0&&ae.attr(me,Te.call(ae,te,re))})})},E.prototype.update=function(b,z){z===void 0&&(z=!0);var te=typeof b!="function"||!z?function(){return b}:b;return this.each(function(re,ae){b&&this.update&&this.update(te.call(this,re,ae))})},E.prototype.maybeUpdate=function(b,z){z===void 0&&(z=!0);var te=typeof b!="function"||!z?function(){return b}:b;return this.each(function(re,ae){b&&this.update&&this.update(te.call(this,re,ae))})},E.prototype.transition=function(b){var z=this._transitions;return this.each(function(te,re){z[re]=b.call(this,te,re)})},E.prototype.on=function(b,z){return this.each(function(){this.addEventListener(b,z)}),this},E.prototype.call=function(b){for(var z=[],te=1;te<arguments.length;te++)z[te-1]=arguments[te];return b.call.apply(b,(0,Rt.ev)([this._parent,this],(0,Rt.CR)(z),!1)),this},E.prototype.node=function(){return this._elements[0]},E.prototype.nodes=function(){return this._elements},E.prototype.transitions=function(){return this._transitions.filter(function(b){return!!b})},E.prototype.parent=function(){return this._parent};var a,y,x;return y=E,a=new WeakSet,x=function(z,te){var re=this._elements[0],ae=re.querySelector(z);if(ae)return new y([ae],null,this._parent,this._document);var se=typeof te=="string"?this.createElement(te):te();return re.appendChild(se),new y([se],null,this._parent,this._document)},E.registry={g:su,rect:Mu,circle:Cf,path:Nc,text:Mx,ellipse:ev,image:nv,line:lg,polygon:ug,polyline:Fm,html:tv},E}();function Vi(E){return new rW([E],null,E,E.ownerDocument)}function aW(E,a,y){return E.querySelector(a)?Vi(E).select(a):Vi(E).append(y)}var Vu=function(){function E(a,y,x,b){a===void 0&&(a=0),y===void 0&&(y=0),x===void 0&&(x=0),b===void 0&&(b=0),this.x=0,this.y=0,this.width=0,this.height=0,this.x=a,this.y=y,this.width=x,this.height=b}return Object.defineProperty(E.prototype,"bottom",{get:function(){return this.y+this.height},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"left",{get:function(){return this.x},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"right",{get:function(){return this.x+this.width},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"top",{get:function(){return this.y},enumerable:!1,configurable:!0}),E.fromRect=function(a){return new E(a.x,a.y,a.width,a.height)},E.prototype.toJSON=function(){return{x:this.x,y:this.y,width:this.width,height:this.height,top:this.top,right:this.right,bottom:this.bottom,left:this.left}},E.prototype.isPointIn=function(a,y){return a>=this.left&&a<=this.right&&y>=this.top&&y<=this.bottom},E}();function Rq(E){var a=E.getRenderBounds(),y=__read(a.min,2),x=y[0],b=y[1],z=__read(a.max,2),te=z[0],re=z[1],ae=te-x,se=re-b;return new Vu(x,b,ae,se)}var Fd=function(E,a){var y=function(b){return"".concat(a,"-").concat(b)},x=Object.fromEntries(Object.entries(E).map(function(b){var z=(0,Rt.CR)(b,2),te=z[0],re=z[1],ae=y(re);return[te,{name:ae,class:".".concat(ae),id:"#".concat(ae),toString:function(){return ae}}]}));return Object.assign(x,{prefix:y}),x};function Ou(E){if(Oi(E))return[E,E,E,E];if(Tc(E)){var a=E.length;if(a===1)return[E[0],E[0],E[0],E[0]];if(a===2)return[E[0],E[1],E[0],E[1]];if(a===3)return[E[0],E[1],E[2],E[1]];if(a===4)return E}return[0,0,0,0]}function Wc(E,a,y,x,b){return x===void 0&&(x=!0),b===void 0&&(b=function(z){z.node().removeChildren()}),E?y(a):(x&&b(a),null)}var DM=Fd({text:"text"},"title");function Gy(E){return/\S+-\S+/g.test(E)?E.split("-").map(function(a){return a[0]}):E.length>2?[E[0]]:E.split("")}function iW(E,a){var y=E.attributes,x=y.position,b=y.spacing,z=y.inset,te=y.text,re=E.getBBox(),ae=a.getBBox(),se=Gy(x),fe=(0,Rt.CR)(Ou(te?b:0),4),me=fe[0],Se=fe[1],Te=fe[2],ke=fe[3],We=(0,Rt.CR)(Ou(z),4),je=We[0],Ke=We[1],Qe=We[2],Je=We[3],at=(0,Rt.CR)([ke+Se,me+Te],2),ot=at[0],ut=at[1],ft=(0,Rt.CR)([Je+Ke,je+Qe],2),lt=ft[0],Dt=ft[1];if(se[0]==="l")return new Vu(re.x,re.y,ae.width+re.width+ot+lt,Math.max(ae.height+Dt,re.height));if(se[0]==="t")return new Vu(re.x,re.y,Math.max(ae.width+lt,re.width),ae.height+re.height+ut+Dt);var Bt=(0,Rt.CR)([a.attributes.width||ae.width,a.attributes.height||ae.height],2),Vt=Bt[0],Xt=Bt[1];return new Vu(ae.x,ae.y,Vt+re.width+ot+lt,Xt+re.height+ut+Dt)}function oW(E,a){var y=Object.entries(a).reduce(function(x,b){var z=(0,Rt.CR)(b,2),te=z[0],re=z[1],ae=E.node().attr(te);return ae||(x[te]=re),x},{});E.styles(y)}function sW(E){var a,y,x,b,z=E,te=z.width,re=z.height,ae=z.position,se=(0,Rt.CR)([+te/2,+re/2],2),fe=se[0],me=se[1],Se=(0,Rt.CR)([+fe,+me,"center","middle"],4),Te=Se[0],ke=Se[1],We=Se[2],je=Se[3],Ke=Gy(ae);return Ke.includes("l")&&(a=(0,Rt.CR)([0,"start"],2),Te=a[0],We=a[1]),Ke.includes("r")&&(y=(0,Rt.CR)([+te,"end"],2),Te=y[0],We=y[1]),Ke.includes("t")&&(x=(0,Rt.CR)([0,"top"],2),ke=x[0],je=x[1]),Ke.includes("b")&&(b=(0,Rt.CR)([+re,"bottom"],2),ke=b[0],je=b[1]),{x:Te,y:ke,textAlign:We,textBaseline:je}}var lW=function(E){(0,Rt.ZT)(a,E);function a(y){return E.call(this,y,{text:"",width:0,height:0,fill:"#4a505a",fontWeight:"bold",fontSize:12,fontFamily:"sans-serif",inset:0,spacing:0,position:"top-left"})||this}return a.prototype.getAvailableSpace=function(){var y=this,x=this.attributes,b=x.width,z=x.height,te=x.position,re=x.spacing,ae=x.inset,se=y.querySelector(DM.text.class);if(!se)return new Vu(0,0,+b,+z);var fe=se.getBBox(),me=fe.width,Se=fe.height,Te=(0,Rt.CR)(Ou(re),4),ke=Te[0],We=Te[1],je=Te[2],Ke=Te[3],Qe=(0,Rt.CR)([0,0,+b,+z],4),Je=Qe[0],at=Qe[1],ot=Qe[2],ut=Qe[3],ft=Gy(te);if(ft.includes("i"))return new Vu(Je,at,ot,ut);ft.forEach(function(qn,yn){var En,Pn,or,xn;qn==="t"&&(En=(0,Rt.CR)(yn===0?[Se+je,+z-Se-je]:[0,+z],2),at=En[0],ut=En[1]),qn==="r"&&(Pn=(0,Rt.CR)([+b-me-Ke],1),ot=Pn[0]),qn==="b"&&(or=(0,Rt.CR)([+z-Se-ke],1),ut=or[0]),qn==="l"&&(xn=(0,Rt.CR)(yn===0?[me+We,+b-me-We]:[0,+b],2),Je=xn[0],ot=xn[1])});var lt=(0,Rt.CR)(Ou(ae),4),Dt=lt[0],Bt=lt[1],Vt=lt[2],Xt=lt[3],vn=(0,Rt.CR)([Xt+Bt,Dt+Vt],2),on=vn[0],wn=vn[1];return new Vu(Je+Xt,at+Dt,ot-on,ut-wn)},a.prototype.getBBox=function(){return this.title?this.title.getBBox():new Vu(0,0,0,0)},a.prototype.render=function(y,x){var b=this,z=y.width,te=y.height,re=y.position,ae=y.spacing,se=(0,Rt._T)(y,["width","height","position","spacing"]),fe=(0,Rt.CR)(Rf(se),1),me=fe[0],Se=sW(y),Te=Se.x,ke=Se.y,We=Se.textAlign,je=Se.textBaseline;Wc(!!se.text,Vi(x),function(Ke){b.title=Ke.maybeAppendByClassName(DM.text,"text").styles(me).call(oW,{x:Te,y:ke,textAlign:We,textBaseline:je}).node()})},a}(Bl),Dx=function(){};function cd(E,a){return Gi(E)?E.apply(void 0,(0,Rt.ev)([],(0,Rt.CR)(a),!1)):E}function uW(E,a){return E.reduce(function(y,x){return(y[x[a]]=y[x[a]]||[]).push(x),y},{})}function cW(E){return typeof E=="boolean"?!1:"enter"in E&&"update"in E&&"exit"in E}function IM(E){if(!E)return{enter:!1,update:!1,exit:!1};var a=["enter","update","exit"],y=Object.fromEntries(Object.entries(E).filter(function(x){var b=(0,Rt.CR)(x,1),z=b[0];return!a.includes(z)}));return Object.fromEntries(a.map(function(x){return cW(E)?E[x]===!1?[x,!1]:[x,(0,Rt.pi)((0,Rt.pi)({},E[x]),y)]:[x,y]}))}function x0(E,a){E?E.finished.then(a):a()}function dW(E,a){E.length===0?a():Promise.all(E.map(function(y){return y==null?void 0:y.finished})).then(a)}function LM(E,a){"update"in E?E.update(a):E.attr(a)}function OM(E,a,y){if(a.length===0)return null;if(!y){var x=a.slice(-1)[0];return LM(E,{style:x}),null}return E.animate(a,y)}function fW(E,a){return!(E.nodeName!=="text"||a.nodeName!=="text"||E.attributes.text!==a.attributes.text)}function hW(E,a,y,x){if(x===void 0&&(x="destroy"),fW(E,a))return E.remove(),[null];var b=function(){x==="destroy"?E.destroy():x==="hide"&&_d(E),a.isVisible()&&Bv(a)};if(!y)return b(),[null];var z=y.duration,te=z===void 0?0:z,re=y.delay,ae=re===void 0?0:re,se=Math.ceil(+te/2),fe=+te/4,me=(0,Rt.CR)(E.getGeometryBounds().center,2),Se=me[0],Te=me[1],ke=(0,Rt.CR)(a.getGeometryBounds().center,2),We=ke[0],je=ke[1],Ke=(0,Rt.CR)([(Se+We)/2-Se,(Te+je)/2-Te],2),Qe=Ke[0],Je=Ke[1],at=E.style.opacity,ot=at===void 0?1:at,ut=a.style.opacity,ft=ut===void 0?1:ut,lt=E.style.transform||"",Dt=a.style.transform||"",Bt=E.animate([{opacity:ot,transform:"translate(0, 0) ".concat(lt)},{opacity:0,transform:"translate(".concat(Qe,", ").concat(Je,") ").concat(lt)}],(0,Rt.pi)((0,Rt.pi)({fill:"both"},y),{duration:ae+se+fe})),Vt=a.animate([{opacity:0,transform:"translate(".concat(-Qe,", ").concat(-Je,") ").concat(Dt),offset:.01},{opacity:ft,transform:"translate(0, 0) ".concat(Dt)}],(0,Rt.pi)((0,Rt.pi)({fill:"both"},y),{duration:se+fe,delay:ae+se-fe}));return x0(Vt,b),[Bt,Vt]}function kd(E,a,y){var x={},b={};return Object.entries(a).forEach(function(z){var te=(0,Rt.CR)(z,2),re=te[0],ae=te[1];if(!fo(ae)){var se=E.style[re]||E.parsedStyle[re]||0;se!==ae&&(x[re]=se,b[re]=ae)}}),y?OM(E,[x,b],(0,Rt.pi)({fill:"both"},y)):(LM(E,b),null)}function gW(E){var a;return((a=E[0])===null||a===void 0?void 0:a.map(function(y,x){return E.map(function(b){return b[x]})}))||[]}function Ix(E,a,y){y===void 0&&(y=!1);var x=E.getBBox(),b=x.width,z=x.height,te=a/Math.max(b,z);return y&&(E.style.transform="scale(".concat(te,")")),te}var TM=function(E,a,y){return[["M",E-y,a],["A",y,y,0,1,0,E+y,a],["A",y,y,0,1,0,E-y,a],["Z"]]},vW=TM,mW=function(E,a,y){return[["M",E-y,a-y],["L",E+y,a-y],["L",E+y,a+y],["L",E-y,a+y],["Z"]]},pW=function(E,a,y){return[["M",E-y,a],["L",E,a-y],["L",E+y,a],["L",E,a+y],["Z"]]},yW=function(E,a,y){var x=y*Math.sin(.3333333333333333*Math.PI);return[["M",E-y,a+x],["L",E,a-x],["L",E+y,a+x],["Z"]]},EW=function(E,a,y){var x=y*Math.sin(.3333333333333333*Math.PI);return[["M",E-y,a-x],["L",E+y,a-x],["L",E,a+x],["Z"]]},AW=function(E,a,y){var x=y/2*Math.sqrt(3);return[["M",E,a-y],["L",E+x,a-y/2],["L",E+x,a+y/2],["L",E,a+y],["L",E-x,a+y/2],["L",E-x,a-y/2],["Z"]]},xW=function(E,a,y){var x=y-1.5;return[["M",E-y,a-x],["L",E+y,a+x],["L",E+y,a-x],["L",E-y,a+x],["Z"]]},BM=function(E,a,y){return[["M",E,a+y],["L",E,a-y]]},SW=function(E,a,y){return[["M",E-y,a-y],["L",E+y,a+y],["M",E+y,a-y],["L",E-y,a+y]]},bW=function(E,a,y){return[["M",E-y/2,a-y],["L",E+y/2,a-y],["M",E,a-y],["L",E,a+y],["M",E-y/2,a+y],["L",E+y/2,a+y]]},CW=function(E,a,y){return[["M",E-y,a],["L",E+y,a],["M",E,a-y],["L",E,a+y]]},PW=function(E,a,y){return[["M",E-y,a],["L",E+y,a]]},NM=function(E,a,y){return[["M",E-y,a],["L",E+y,a]]},wW=NM,MW=function(E,a,y){return[["M",E-y,a],["A",y/2,y/2,0,1,1,E,a],["A",y/2,y/2,0,1,0,E+y,a]]},DW=function(E,a,y){return[["M",E-y-1,a-2.5],["L",E,a-2.5],["L",E,a+2.5],["L",E+y+1,a+2.5]]},IW=function(E,a,y){return[["M",E-y-1,a+2.5],["L",E,a+2.5],["L",E,a-2.5],["L",E+y+1,a-2.5]]},LW=function(E,a,y){return[["M",E-(y+1),a+2.5],["L",E-y/2,a+2.5],["L",E-y/2,a-2.5],["L",E+y/2,a-2.5],["L",E+y/2,a+2.5],["L",E+y+1,a+2.5]]};function OW(E,a){return[["M",E-5,a+2.5],["L",E-5,a],["L",E,a],["L",E,a-3],["L",E,a+3],["L",E+6.5,a+3]]}var TW=function(E,a,y){return[["M",E-y,a-y],["L",E+y,a],["L",E-y,a+y],["Z"]]},dd=Fd({prevBtnGroup:"prev-btn-group",prevBtn:"prev-btn",nextBtnGroup:"next-btn-group",nextBtn:"next-btn",pageInfoGroup:"page-info-group",pageInfo:"page-info",playWindow:"play-window",contentGroup:"content-group",controller:"controller",clipPath:"clip-path"},"navigator"),BW=function(E){(0,Rt.ZT)(a,E);function a(y){var x=E.call(this,y,{x:0,y:0,animate:{easing:"linear",duration:200,fill:"both"},buttonCursor:"pointer",buttonFill:"black",buttonD:TW(0,0,6),buttonSize:12,controllerPadding:5,controllerSpacing:5,formatter:function(b,z){return"".concat(b,"/").concat(z)},defaultPage:0,loop:!1,orientation:"horizontal",pageNumFill:"black",pageNumFontSize:12,pageNumTextAlign:"start",pageNumTextBaseline:"middle"})||this;return x.playState="idle",x.contentGroup=x.appendChild(new su({class:dd.contentGroup.name})),x.playWindow=x.contentGroup.appendChild(new su({class:dd.playWindow.name})),x.innerCurrPage=x.defaultPage,x}return Object.defineProperty(a.prototype,"defaultPage",{get:function(){var y=this.attributes.defaultPage;return bl(y,0,Math.max(this.pageViews.length-1,0))},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"pageViews",{get:function(){return this.playWindow.children},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"controllerShape",{get:function(){return this.totalPages>1?{width:55,height:0}:{width:0,height:0}},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"pageShape",{get:function(){var y=this.pageViews,x=(0,Rt.CR)(gW(y.map(function(me){var Se=me.getBBox(),Te=Se.width,ke=Se.height;return[Te,ke]})).map(function(me){return Math.max.apply(Math,(0,Rt.ev)([],(0,Rt.CR)(me),!1))}),2),b=x[0],z=x[1],te=this.attributes,re=te.pageWidth,ae=re===void 0?b:re,se=te.pageHeight,fe=se===void 0?z:se;return{pageWidth:ae,pageHeight:fe}},enumerable:!1,configurable:!0}),a.prototype.getContainer=function(){return this.playWindow},Object.defineProperty(a.prototype,"totalPages",{get:function(){return this.pageViews.length},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"currPage",{get:function(){return this.innerCurrPage},enumerable:!1,configurable:!0}),a.prototype.getBBox=function(){var y=E.prototype.getBBox.call(this),x=y.x,b=y.y,z=this.controllerShape,te=this.pageShape,re=te.pageWidth,ae=te.pageHeight;return new Vu(x,b,re+z.width,ae)},a.prototype.goTo=function(y){var x=this,b=this.attributes.animate,z=this,te=z.currPage,re=z.playState,ae=z.playWindow,se=z.pageViews;if(re!=="idle"||y<0||se.length<=0||y>=se.length)return null;se[te].setLocalPosition(0,0),this.prepareFollowingPage(y);var fe=(0,Rt.CR)(this.getFollowingPageDiff(y),2),me=fe[0],Se=fe[1];this.playState="running";var Te=OM(ae,[{transform:"translate(0, 0)"},{transform:"translate(".concat(-me,", ").concat(-Se,")")}],b);return x0(Te,function(){x.innerCurrPage=y,x.playState="idle",x.setVisiblePages([y]),x.updatePageInfo()}),Te},a.prototype.prev=function(){var y=this.attributes.loop,x=this.pageViews.length,b=this.currPage;if(!y&&b<=0)return null;var z=y?(b-1+x)%x:bl(b-1,0,x);return this.goTo(z)},a.prototype.next=function(){var y=this.attributes.loop,x=this.pageViews.length,b=this.currPage;if(!y&&b>=x-1)return null;var z=y?(b+1)%x:bl(b+1,0,x);return this.goTo(z)},a.prototype.renderClipPath=function(y){var x=this.pageShape,b=x.pageWidth,z=x.pageHeight;if(!b||!z){this.contentGroup.style.clipPath=void 0;return}this.clipPath=y.maybeAppendByClassName(dd.clipPath,"rect").styles({width:b,height:z}),this.contentGroup.attr("clipPath",this.clipPath.node())},a.prototype.setVisiblePages=function(y){this.playWindow.children.forEach(function(x,b){y.includes(b)?Bv(x):_d(x)})},a.prototype.adjustControllerLayout=function(){var y=this,x=y.prevBtnGroup,b=y.nextBtnGroup,z=y.pageInfoGroup,te=this.attributes,re=te.orientation,ae=te.controllerPadding,se=z.getBBox(),fe=se.width,me=se.height,Se=(0,Rt.CR)(re==="horizontal"?[-180,0]:[-90,90],2),Te=Se[0],ke=Se[1];x.setLocalEulerAngles(Te),b.setLocalEulerAngles(ke);var We=x.getBBox(),je=We.width,Ke=We.height,Qe=b.getBBox(),Je=Qe.width,at=Qe.height,ot=Math.max(je,fe,Je),ut=re==="horizontal"?{offset:[[0,0],[je/2+ae,0],[je+fe+ae*2,0]],textAlign:"start"}:{offset:[[ot/2,-Ke-ae],[ot/2,0],[ot/2,at+ae]],textAlign:"center"},ft=(0,Rt.CR)(ut.offset,3),lt=(0,Rt.CR)(ft[0],2),Dt=lt[0],Bt=lt[1],Vt=(0,Rt.CR)(ft[1],2),Xt=Vt[0],vn=Vt[1],on=(0,Rt.CR)(ft[2],2),wn=on[0],qn=on[1],yn=ut.textAlign,En=z.querySelector("text");En&&(En.style.textAlign=yn),x.setLocalPosition(Dt,Bt),z.setLocalPosition(Xt,vn),b.setLocalPosition(wn,qn)},a.prototype.updatePageInfo=function(){var y,x=this,b=x.currPage,z=x.pageViews,te=x.attributes.formatter;z.length<2||((y=this.pageInfoGroup.querySelector(dd.pageInfo.class))===null||y===void 0||y.attr("text",te(b+1,z.length)),this.adjustControllerLayout())},a.prototype.getFollowingPageDiff=function(y){var x=this.currPage;if(x===y)return[0,0];var b=this.attributes.orientation,z=this.pageShape,te=z.pageWidth,re=z.pageHeight,ae=y<x?-1:1;return b==="horizontal"?[ae*te,0]:[0,ae*re]},a.prototype.prepareFollowingPage=function(y){var x=this,b=x.currPage,z=x.pageViews;if(this.setVisiblePages([y,b]),y!==b){var te=(0,Rt.CR)(this.getFollowingPageDiff(y),2),re=te[0],ae=te[1];z[y].setLocalPosition(re,ae)}},a.prototype.renderController=function(y){var x=this,b=this.attributes.controllerSpacing,z=this.pageShape,te=z.pageWidth,re=z.pageHeight,ae=this.pageViews.length>=2,se=y.maybeAppendByClassName(dd.controller,"g");if(Wy(se.node(),ae),!!ae){var fe=ko(this.attributes,"button"),me=ko(this.attributes,"pageNum"),Se=(0,Rt.CR)(Rf(fe),2),Te=Se[0],ke=Se[1],We=Te.size,je=(0,Rt._T)(Te,["size"]),Ke=!se.select(dd.prevBtnGroup.class).node(),Qe=se.maybeAppendByClassName(dd.prevBtnGroup,"g").styles(ke);this.prevBtnGroup=Qe.node();var Je=Qe.maybeAppendByClassName(dd.prevBtn,"path"),at=se.maybeAppendByClassName(dd.nextBtnGroup,"g").styles(ke);this.nextBtnGroup=at.node();var ot=at.maybeAppendByClassName(dd.nextBtn,"path");[Je,ot].forEach(function(ft){ft.styles((0,Rt.pi)((0,Rt.pi)({},je),{transformOrigin:"center"})),Ix(ft.node(),We,!0)});var ut=se.maybeAppendByClassName(dd.pageInfoGroup,"g");this.pageInfoGroup=ut.node(),ut.maybeAppendByClassName(dd.pageInfo,"text").styles(me),this.updatePageInfo(),se.node().setLocalPosition(te+b,re/2),Ke&&(this.prevBtnGroup.addEventListener("click",function(){x.prev()}),this.nextBtnGroup.addEventListener("click",function(){x.next()}))}},a.prototype.render=function(y,x){var b=y.x,z=b===void 0?0:b,te=y.y,re=te===void 0?0:te;this.attr("transform","translate(".concat(z,", ").concat(re,")"));var ae=Vi(x);this.renderClipPath(ae),this.renderController(ae),this.setVisiblePages([this.defaultPage]),this.goTo(this.defaultPage)},a.prototype.bindEvents=function(){var y=this,x=bv(function(){return y.render(y.attributes,y)},50);this.playWindow.addEventListener(is.INSERTED,x),this.playWindow.addEventListener(is.REMOVED,x)},a}(Bl);function NW(E){var a="default";if(jl(E)&&E instanceof Image)a="image";else if(Gi(E))a="symbol";else if(Is(E)){var y=new RegExp("data:(image|text)");E.match(y)?a="base64":/^(https?:\/\/(([a-zA-Z0-9]+-?)+[a-zA-Z0-9]+\.)+[a-zA-Z]+)(:\d+)?(\/.*)?(\?.*)?(#.*)?$/.test(E)?a="url":a="symbol"}return a}function RW(E){var a=NW(E);return["base64","url","image"].includes(a)?"image":E&&a==="symbol"?"path":null}var al=function(E){(0,Rt.ZT)(a,E);function a(){return E!==null&&E.apply(this,arguments)||this}return a.prototype.render=function(y,x){var b=y.x,z=b===void 0?0:b,te=y.y,re=te===void 0?0:te,ae=this.getSubShapeStyle(y),se=ae.symbol,fe=ae.size,me=fe===void 0?16:fe,Se=(0,Rt._T)(ae,["symbol","size"]),Te=RW(se);Wc(!!Te,Vi(x),function(ke){ke.maybeAppendByClassName("marker",Te).attr("className","marker ".concat(Te,"-marker")).call(function(We){if(Te==="image"){var je=me*2;We.styles({img:se,width:je,height:je,x:z-me,y:re-me})}else{var je=me/2,Ke=Gi(se)?se:a.getSymbol(se);We.styles((0,Rt.pi)({d:Ke==null?void 0:Ke(z,re,je)},Se))}})})},a.MARKER_SYMBOL_MAP=new Map,a.registerSymbol=function(y,x){a.MARKER_SYMBOL_MAP.set(y,x)},a.getSymbol=function(y){return a.MARKER_SYMBOL_MAP.get(y)},a.getSymbols=function(){return Array.from(a.MARKER_SYMBOL_MAP.keys())},a}(Bl);al.registerSymbol("cross",SW),al.registerSymbol("hyphen",PW),al.registerSymbol("line",BM),al.registerSymbol("plus",CW),al.registerSymbol("tick",bW),al.registerSymbol("circle",TM),al.registerSymbol("point",vW),al.registerSymbol("bowtie",xW),al.registerSymbol("hexagon",AW),al.registerSymbol("square",mW),al.registerSymbol("diamond",pW),al.registerSymbol("triangle",yW),al.registerSymbol("triangle-down",EW),al.registerSymbol("line",BM),al.registerSymbol("dot",NM),al.registerSymbol("dash",wW),al.registerSymbol("smooth",MW),al.registerSymbol("hv",DW),al.registerSymbol("vh",IW),al.registerSymbol("hvh",LW),al.registerSymbol("vhv",OW);function _q(E,a,y){var x=Math.round((E-y)/a);return y+x*a}function _W(E,a,y){var x=1.4,b=x*y;return[["M",E-y,a-b],["L",E+y,a-b],["L",E+y,a+b],["L",E-y,a+b],["Z"]]}var RM=1.4,_M=.4;function FW(E,a,y){var x=y,b=x*RM,z=x/2,te=x/6,re=E+b*_M;return[["M",E,a],["L",re,a+z],["L",E+b,a+z],["L",E+b,a-z],["L",re,a-z],["Z"],["M",re,a+te],["L",E+b-2,a+te],["M",re,a-te],["L",E+b-2,a-te]]}function kW(E,a,y){var x=y,b=x*RM,z=x/2,te=x/6,re=a+b*_M;return[["M",E,a],["L",E-z,re],["L",E-z,a+b],["L",E+z,a+b],["L",E+z,re],["Z"],["M",E-te,re],["L",E-te,a+b-2],["M",E+te,re],["L",E+te,a+b-2]]}al.registerSymbol("hiddenHandle",_W),al.registerSymbol("verticalHandle",FW),al.registerSymbol("horizontalHandle",kW);var Fq=function(E,a,y){return E===void 0&&(E="horizontal"),E==="horizontal"?a:y};function kq(E,a,y,x){var b;x===void 0&&(x=4);var z=__read(E,2),te=z[0],re=z[1],ae=__read(a,2),se=ae[0],fe=ae[1],me=__read(y,2),Se=me[0],Te=me[1],ke=__read([se,fe],2),We=ke[0],je=ke[1],Ke=je-We;return We>je&&(b=__read([je,We],2),We=b[0],je=b[1]),Ke>re-te?[te,re]:We<te?Se===te&&Te===je?[te,je]:[te,Ke+te]:je>re?Te===re&&Se===We?[We,re]:[re-Ke,re]:[We,je]}function Lx(E,a,y){return E===void 0&&(E="horizontal"),E==="horizontal"?a:y}function zq(E){var a=E&&E.getRenderBounds();if(!a)return{width:0,height:0};var y=a.getMax(),x=a.getMin();return{width:y[0]-x[0],height:y[1]-x[1]}}function FM(E){var a=E.getLocalBounds(),y=a.min,x=a.max,b=(0,Rt.CR)([y,x],2),z=(0,Rt.CR)(b[0],2),te=z[0],re=z[1],ae=(0,Rt.CR)(b[1],2),se=ae[0],fe=ae[1];return{x:te,y:re,width:se-te,height:fe-re,left:te,bottom:fe,top:re,right:se}}function Uq(E,a){var y=select(E).append("text").node();return y.attr(__assign(__assign({},a),{visibility:"hidden"})),y}function zW(E,a){var y=(0,Rt.CR)(E,2),x=y[0],b=y[1],z=(0,Rt.CR)(a,2),te=z[0],re=z[1];return x!==te&&b===re}function Wq(E,a){var y=__read(E,2),x=y[0],b=y[1],z=__read(a,2),te=z[0],re=z[1];return x===te&&b!==re}function UW(E,a){var y,x,b=a.attributes;try{for(var z=(0,Rt.XA)(Object.entries(b)),te=z.next();!te.done;te=z.next()){var re=(0,Rt.CR)(te.value,2),ae=re[0],se=re[1];ae!=="id"&&ae!=="className"&&E.attr(ae,se)}}catch(fe){y={error:fe}}finally{try{te&&!te.done&&(x=z.return)&&x.call(z)}finally{if(y)throw y.error}}}function _f(E){return typeof E=="function"?E():Is(E)||Oi(E)?new Mx({style:{text:String(E)}}):E}var Vy,Ox;function jq(E){Ox=E}var WW=px(function(E,a){var y=a.fontSize,x=a.fontFamily,b=a.fontWeight,z=a.fontStyle,te=a.fontVariant;return Ox?Ox(E,y):(Vy||(Vy=Ga.offscreenCanvasCreator.getOrCreateContext(void 0)),Vy.font=[z,te,b,"".concat(y,"px"),x].join(" "),Vy.measureText(E).width)},function(E,a){return[E,Object.values(a||kM(E)).join()].join("")},4096),kM=function(E){var a=E.style.fontFamily||"sans-serif",y=E.style.fontWeight||"normal",x=E.style.fontStyle||"normal",b=E.style.fontVariant,z=E.style.fontSize;return z=typeof z=="object"?z.value:z,{fontSize:z,fontFamily:a,fontWeight:y,fontStyle:x,fontVariant:b}};function zM(E){return E.nodeName==="text"?E:E.nodeName==="g"&&E.children.length===1&&E.children[0].nodeName==="text"?E.children[0]:null}function UM(E,a){var y=zM(E);y&&y.attr(a)}function Tx(E,a,y){y===void 0&&(y="..."),UM(E,{wordWrap:!0,wordWrapWidth:a,maxLines:1,textOverflow:y})}var jc=Fd({layout:"flex",markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label",valueGroup:"value-group",value:"value",backgroundGroup:"background-group",background:"background"},"legend-category-item");function jW(E){var a=E.querySelector(jc.marker.class);return a?a.style:{}}var GW=function(E){(0,Rt.ZT)(a,E);function a(y){return E.call(this,y,{span:[1,1],marker:function(){return new Cf({style:{r:6}})},markerSize:10,labelFill:"#646464",valueFill:"#646464",labelFontSize:12,valueFontSize:12,labelTextBaseline:"middle",valueTextBaseline:"middle"})||this}return Object.defineProperty(a.prototype,"showValue",{get:function(){var y=this.attributes.valueText;return y?typeof y=="string"||typeof y=="number"?y!=="":typeof y=="function"?!0:y.attr("text")!=="":!1},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"actualSpace",{get:function(){var y=this.labelGroup,x=this.valueGroup,b=this.attributes.markerSize,z=y.node().getBBox(),te=z.width,re=z.height,ae=x.node().getBBox(),se=ae.width,fe=ae.height;return{markerWidth:b,labelWidth:te,valueWidth:se,height:Math.max(b,re,fe)}},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"span",{get:function(){var y=this.attributes.span;if(!y)return[1,1];var x=(0,Rt.CR)(Ou(y),2),b=x[0],z=x[1],te=this.showValue?z:0,re=b+te;return[b/re,te/re]},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"shape",{get:function(){var y,x=this.attributes,b=x.markerSize,z=x.width,te=this.actualSpace,re=te.markerWidth,ae=te.height,se=this.actualSpace,fe=se.labelWidth,me=se.valueWidth,Se=(0,Rt.CR)(this.spacing,2),Te=Se[0],ke=Se[1];if(z){var We=z-b-Te-ke,je=(0,Rt.CR)(this.span,2),Ke=je[0],Qe=je[1];y=(0,Rt.CR)([Ke*We,Qe*We],2),fe=y[0],me=y[1]}var Je=re+fe+me+Te+ke;return{width:Je,height:ae,markerWidth:re,labelWidth:fe,valueWidth:me}},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"spacing",{get:function(){var y=this.attributes.spacing;if(!y)return[0,0];var x=(0,Rt.CR)(Ou(y),2),b=x[0],z=x[1];return this.showValue?[b,z]:[b,0]},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"layout",{get:function(){var y=this.shape,x=y.markerWidth,b=y.labelWidth,z=y.valueWidth,te=y.width,re=y.height,ae=(0,Rt.CR)(this.spacing,2),se=ae[0],fe=ae[1];return{height:re,width:te,markerWidth:x,labelWidth:b,valueWidth:z,position:[x/2,x+se,x+b+se+fe]}},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"scaleSize",{get:function(){var y=jW(this.markerGroup.node()),x=this.attributes,b=x.markerSize,z=x.markerStrokeWidth,te=z===void 0?y.strokeWidth:z,re=x.markerLineWidth,ae=re===void 0?y.lineWidth:re,se=x.markerStroke,fe=se===void 0?y.stroke:se,me=+(te||ae||(fe?1:0))*Math.sqrt(2),Se=this.markerGroup.node().getBBox(),Te=Se.width,ke=Se.height;return(1-me/Math.max(Te,ke))*b},enumerable:!1,configurable:!0}),a.prototype.renderMarker=function(y){var x=this,b=this.attributes.marker,z=ko(this.attributes,"marker");this.markerGroup=y.maybeAppendByClassName(jc.markerGroup,"g").style("zIndex",0),Wc(!!b,this.markerGroup,function(){var te,re=x.markerGroup.node(),ae=(te=re.childNodes)===null||te===void 0?void 0:te[0],se=typeof b=="string"?new al({style:{symbol:b},className:jc.marker.name}):b();ae?se.nodeName===ae.nodeName?ae instanceof al?ae.update((0,Rt.pi)((0,Rt.pi)({},z),{symbol:b})):(UW(ae,se),Vi(ae).styles(z)):(ae.remove(),Vi(se).attr("className",jc.marker.name).styles(z),re.appendChild(se)):(se instanceof al||Vi(se).attr("className",jc.marker.name).styles(z),re.appendChild(se)),x.markerGroup.node().scale(1/x.markerGroup.node().getScale()[0]);var fe=Ix(x.markerGroup.node(),x.scaleSize,!0);x.markerGroup.node().style._transform="scale(".concat(fe,")")})},a.prototype.renderLabel=function(y){var x=ko(this.attributes,"label"),b=x.text,z=(0,Rt._T)(x,["text"]);this.labelGroup=y.maybeAppendByClassName(jc.labelGroup,"g").style("zIndex",0),this.labelGroup.maybeAppendByClassName(jc.label,function(){return _f(b)}).styles(z)},a.prototype.renderValue=function(y){var x=this,b=ko(this.attributes,"value"),z=b.text,te=(0,Rt._T)(b,["text"]);this.valueGroup=y.maybeAppendByClassName(jc.valueGroup,"g").style("zIndex",0),Wc(this.showValue,this.valueGroup,function(){x.valueGroup.maybeAppendByClassName(jc.value,function(){return _f(z)}).styles(te)})},a.prototype.renderBackground=function(y){var x=this.shape,b=x.width,z=x.height,te=ko(this.attributes,"background");this.background=y.maybeAppendByClassName(jc.backgroundGroup,"g").style("zIndex",-1),this.background.maybeAppendByClassName(jc.background,"rect").styles((0,Rt.pi)({width:b,height:z},te))},a.prototype.adjustLayout=function(){var y=this.layout,x=y.labelWidth,b=y.valueWidth,z=y.height,te=(0,Rt.CR)(y.position,3),re=te[0],ae=te[1],se=te[2],fe=z/2;this.markerGroup.styles({transform:"translate(".concat(re,", ").concat(fe,")").concat(this.markerGroup.node().style._transform)}),this.labelGroup.styles({transform:"translate(".concat(ae,", ").concat(fe,")")}),Tx(this.labelGroup.select(jc.label.class).node(),Math.ceil(x)),this.showValue&&(this.valueGroup.styles({transform:"translate(".concat(se,", ").concat(fe,")")}),Tx(this.valueGroup.select(jc.value.class).node(),Math.ceil(b)))},a.prototype.render=function(y,x){var b=Vi(x),z=y.x,te=z===void 0?0:z,re=y.y,ae=re===void 0?0:re;b.styles({transform:"translate(".concat(te,", ").concat(ae,")")}),this.renderMarker(b),this.renderLabel(b),this.renderValue(b),this.renderBackground(b),this.adjustLayout()},a}(Bl),Dg=Fd({page:"item-page",navigator:"navigator",item:"item"},"items"),WM=function(E,a,y){return y===void 0&&(y=!0),E?a(E):y},VW=function(E){(0,Rt.ZT)(a,E);function a(y){var x=E.call(this,y,{data:[],gridRow:1/0,gridCol:void 0,padding:0,width:1e3,height:100,rowPadding:0,colPadding:0,layout:"flex",orientation:"horizontal",click:Dx,mouseenter:Dx,mouseleave:Dx})||this;return x.navigatorShape=[0,0],x}return Object.defineProperty(a.prototype,"pageViews",{get:function(){return this.navigator.getContainer()},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"grid",{get:function(){var y=this.attributes,x=y.gridRow,b=y.gridCol,z=y.data;if(!x&&!b)throw new Error("gridRow and gridCol can not be set null at the same time");return x&&b?[x,b]:x?[x,z.length]:[z.length,b]},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"renderData",{get:function(){var y=this.attributes,x=y.data,b=y.layout,z=ko(this.attributes,"item"),te=x.map(function(re,ae){var se=re.id,fe=se===void 0?ae:se,me=re.label,Se=re.value;return{id:"".concat(fe),index:ae,style:(0,Rt.pi)({layout:b,labelText:me,valueText:Se},Object.fromEntries(Object.entries(z).map(function(Te){var ke=(0,Rt.CR)(Te,2),We=ke[0],je=ke[1];return[We,cd(je,[re,ae,x])]})))}});return te},enumerable:!1,configurable:!0}),a.prototype.getGridLayout=function(){var y=this,x=this.attributes,b=x.orientation,z=x.width,te=x.rowPadding,re=x.colPadding,ae=(0,Rt.CR)(this.navigatorShape,1),se=ae[0],fe=(0,Rt.CR)(this.grid,2),me=fe[0],Se=fe[1],Te=Se*me,ke=0;return this.pageViews.children.map(function(We,je){var Ke,Qe,Je=Math.floor(je/Te),at=je%Te,ot=y.ifHorizontal(Se,me),ut=[Math.floor(at/ot),at%ot];b==="vertical"&&ut.reverse();var ft=(0,Rt.CR)(ut,2),lt=ft[0],Dt=ft[1],Bt=(z-se-(Se-1)*re)/Se,Vt=We.getBBox().height,Xt=(0,Rt.CR)([0,0],2),vn=Xt[0],on=Xt[1];return b==="horizontal"?(Ke=(0,Rt.CR)([ke,lt*(Vt+te)],2),vn=Ke[0],on=Ke[1],ke=Dt===Se-1?0:ke+Bt+re):(Qe=(0,Rt.CR)([Dt*(Bt+re),ke],2),vn=Qe[0],on=Qe[1],ke=lt===me-1?0:ke+Vt+te),{page:Je,index:je,row:lt,col:Dt,pageIndex:at,width:Bt,height:Vt,x:vn,y:on}})},a.prototype.getFlexLayout=function(){var y=this.attributes,x=y.width,b=y.height,z=y.rowPadding,te=y.colPadding,re=(0,Rt.CR)(this.navigatorShape,1),ae=re[0],se=(0,Rt.CR)(this.grid,2),fe=se[0],me=se[1],Se=(0,Rt.CR)([x-ae,b],2),Te=Se[0],ke=Se[1],We=(0,Rt.CR)([0,0,0,0,0,0,0,0],8),je=We[0],Ke=We[1],Qe=We[2],Je=We[3],at=We[4],ot=We[5],ut=We[6],ft=We[7];return this.pageViews.children.map(function(lt,Dt){var Bt,Vt,Xt,vn,on=lt.getBBox(),wn=on.width,qn=on.height,yn=ut===0?0:te,En=ut+yn+wn;if(En<=Te&&WM(at,function(or){return or<me}))return Bt=(0,Rt.CR)([ut+yn,ft,En],3),je=Bt[0],Ke=Bt[1],ut=Bt[2],{width:wn,height:qn,x:je,y:Ke,page:Qe,index:Dt,pageIndex:Je++,row:ot,col:at++};Vt=(0,Rt.CR)([ot+1,0,0,ft+qn+z],4),ot=Vt[0],at=Vt[1],ut=Vt[2],ft=Vt[3];var Pn=ft+qn;return Pn<=ke&&WM(ot,function(or){return or<fe})?(Xt=(0,Rt.CR)([ut,ft,wn],3),je=Xt[0],Ke=Xt[1],ut=Xt[2],{width:wn,height:qn,x:je,y:Ke,page:Qe,index:Dt,pageIndex:Je++,row:ot,col:at++}):(vn=(0,Rt.CR)([0,0,wn,0,Qe+1,0,0,0],8),je=vn[0],Ke=vn[1],ut=vn[2],ft=vn[3],Qe=vn[4],Je=vn[5],ot=vn[6],at=vn[7],{width:wn,height:qn,x:je,y:Ke,page:Qe,index:Dt,pageIndex:Je++,row:ot,col:at++})})},Object.defineProperty(a.prototype,"itemsLayout",{get:function(){this.navigatorShape=[0,0];var y=this.attributes.layout==="grid"?this.getGridLayout:this.getFlexLayout,x=y.call(this);return x.slice(-1)[0].page>0?(this.navigatorShape=[55,0],y.call(this)):x},enumerable:!1,configurable:!0}),a.prototype.ifHorizontal=function(y,x){var b=this.attributes.orientation;return Lx(b,y,x)},a.prototype.flattenPage=function(y){y.querySelectorAll(Dg.item.class).forEach(function(x){y.appendChild(x)}),y.querySelectorAll(Dg.page.class).forEach(function(x){var b=y.removeChild(x);b.destroy()})},a.prototype.renderItems=function(y){var x=this.attributes,b=x.click,z=x.mouseenter,te=x.mouseleave;this.flattenPage(y);var re=this.dispatchCustomEvent.bind(this);Vi(y).selectAll(Dg.item.class).data(this.renderData,function(ae){return ae.id}).join(function(ae){return ae.append(function(se){var fe=se.style;return new GW({style:fe})}).attr("className",Dg.item.name).on("click",function(){b==null||b(this),re("itemClick",{item:this})}).on("pointerenter",function(){z==null||z(this),re("itemMouseenter",{item:this})}).on("pointerleave",function(){te==null||te(this),re("itemMouseleave",{item:this})})},function(ae){return ae.each(function(se){var fe=se.style;this.update(fe)})},function(ae){return ae.remove()})},a.prototype.relayoutNavigator=function(){var y,x=this.attributes,b=x.layout,z=x.width,te=((y=this.pageViews.children[0])===null||y===void 0?void 0:y.getBBox().height)||0,re=(0,Rt.CR)(this.navigatorShape,2),ae=re[0],se=re[1];this.navigator.update(b==="grid"?{pageWidth:z-ae,pageHeight:te-se}:{})},a.prototype.adjustLayout=function(){var y=this,x=Object.entries(uW(this.itemsLayout,"page")).map(function(z){var te=(0,Rt.CR)(z,2),re=te[0],ae=te[1];return{page:re,layouts:ae}}),b=(0,Rt.ev)([],(0,Rt.CR)(this.navigator.getContainer().children),!1);x.forEach(function(z){var te=z.layouts,re=y.pageViews.appendChild(new su({className:Dg.page.name}));te.forEach(function(ae){var se=ae.x,fe=ae.y,me=ae.index,Se=ae.width,Te=ae.height,ke=b[me];re.appendChild(ke),vv(ke,"__layout__",ae),ke.update({x:se,y:fe,width:Se,height:Te})})}),this.relayoutNavigator()},a.prototype.renderNavigator=function(y){var x=this.attributes.orientation,b=ko(this.attributes,"nav"),z=Au({orientation:x},b),te=this;return y.selectAll(Dg.navigator.class).data(["nav"]).join(function(re){return re.append(function(){return new BW({style:z})}).attr("className",Dg.navigator.name).each(function(){te.navigator=this})},function(re){return re.each(function(){this.update(z)})},function(re){return re.remove()}),this.navigator},a.prototype.getBBox=function(){return this.navigator.getBBox()},a.prototype.render=function(y,x){var b=this.attributes.data;if(!(!b||b.length===0)){var z=this.renderNavigator(Vi(x));this.renderItems(z.getContainer()),this.adjustLayout()}},a.prototype.dispatchCustomEvent=function(y,x){var b=new ql(y,{detail:x});this.dispatchEvent(b)},a}(Bl),Nv=Fd({markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label"},"handle"),jM={showLabel:!0,formatter:function(E){return E.toString()},markerSize:25,markerStroke:"#c5c5c5",markerFill:"#fff",markerLineWidth:1,labelFontSize:12,labelFill:"#c5c5c5",labelText:"",orientation:"vertical",spacing:0},Gq=function(E){(0,Rt.ZT)(a,E);function a(y){return E.call(this,y,jM)||this}return a.prototype.render=function(y,x){var b=Vi(x).maybeAppendByClassName(Nv.markerGroup,"g");this.renderMarker(b);var z=Vi(x).maybeAppendByClassName(Nv.labelGroup,"g");this.renderLabel(z)},a.prototype.renderMarker=function(y){var x=this,b=this.attributes,z=b.orientation,te=b.markerSymbol,re=te===void 0?Lx(z,"horizontalHandle","verticalHandle"):te;Wc(!!re,y,function(ae){var se=ko(x.attributes,"marker"),fe=(0,Rt.pi)({symbol:re},se);x.marker=ae.maybeAppendByClassName(Nv.marker,function(){return new al({style:fe})}).update(fe)})},a.prototype.renderLabel=function(y){var x=this,b=this.attributes,z=b.showLabel,te=b.orientation,re=b.spacing,ae=re===void 0?0:re,se=b.formatter;Wc(z,y,function(fe){var me,Se=ko(x.attributes,"label"),Te=Se.text,ke=(0,Rt._T)(Se,["text"]),We=((me=fe.select(Nv.marker.class))===null||me===void 0?void 0:me.node().getBBox())||{},je=We.width,Ke=je===void 0?0:je,Qe=We.height,Je=Qe===void 0?0:Qe,at=(0,Rt.CR)(Lx(te,[0,Je+ae,"center","top"],[Ke+ae,0,"start","middle"]),4),ot=at[0],ut=at[1],ft=at[2],lt=at[3];fe.maybeAppendByClassName(Nv.label,"text").styles((0,Rt.pi)((0,Rt.pi)({},ke),{x:ot,y:ut,text:se(Te).toString(),textAlign:ft,textBaseline:lt}))})},a}(Bl),GM={showTitle:!0,padding:0,orientation:"horizontal",backgroundFill:"transparent",titleText:"",titleSpacing:4,titlePosition:"top-left",titleFill:"#2C3542",titleFontWeight:"bold",titleFontFamily:"sans-serif",titleFontSize:12},HW=Au({},GM,{}),Vq=Au({},GM,A0(jM,"handle"),{color:["#d0e3fa","#acc7f6","#8daaf2","#6d8eea","#4d73cd","#325bb1","#5a3e75","#8c3c79","#e23455","#e7655b"],indicatorBackgroundFill:"#262626",indicatorLabelFill:"white",indicatorLabelFontSize:12,indicatorVisibility:"hidden",labelAlign:"value",labelDirection:"positive",labelSpacing:5,showHandle:!0,showIndicator:!0,showLabel:!0,slidable:!0,titleText:"",type:"continuous"}),Hq=.01,Kq=.5,Rv=Fd({title:"title",titleGroup:"title-group",items:"items",itemsGroup:"items-group",contentGroup:"content-group",ribbonGroup:"ribbon-group",ribbon:"ribbon",handlesGroup:"handles-group",handle:"handle",startHandle:"start-handle",endHandle:"end-handle",labelGroup:"label-group",label:"label",indicator:"indicator"},"legend"),KW=function(E){(0,Rt.ZT)(a,E);function a(y){return E.call(this,y,HW)||this}return a.prototype.renderTitle=function(y,x,b){var z=this.attributes,te=z.showTitle,re=z.titleText,ae=ko(this.attributes,"title"),se=(0,Rt.CR)(Rf(ae),2),fe=se[0],me=se[1];this.titleGroup=y.maybeAppendByClassName(Rv.titleGroup,"g").styles(me);var Se=(0,Rt.pi)((0,Rt.pi)({width:x,height:b},fe),{text:te?re:""});this.title=this.titleGroup.maybeAppendByClassName(Rv.title,function(){return new lW({style:Se})}).update(Se)},a.prototype.renderItems=function(y,x){var b=x.x,z=x.y,te=x.width,re=x.height,ae=ko(this.attributes,"title",!0),se=(0,Rt.CR)(Rf(ae),2),fe=se[0],me=se[1],Se=(0,Rt.pi)((0,Rt.pi)({},fe),{width:te,height:re,x:0,y:0});this.itemsGroup=y.maybeAppendByClassName(Rv.itemsGroup,"g").styles((0,Rt.pi)((0,Rt.pi)({},me),{transform:"translate(".concat(b,", ").concat(z,")")}));var Te=this;this.itemsGroup.selectAll(Rv.items.class).data(["items"]).join(function(ke){return ke.append(function(){return new VW({style:Se})}).attr("className",Rv.items.name).each(function(){Te.items=Vi(this)})},function(ke){return ke.update(Se)},function(ke){return ke.remove()})},a.prototype.adjustLayout=function(){var y=this.attributes.showTitle;if(y){var x=this.title.node().getAvailableSpace(),b=x.x,z=x.y;this.itemsGroup.node().style.transform="translate(".concat(b,", ").concat(z,")")}},Object.defineProperty(a.prototype,"availableSpace",{get:function(){var y=this.attributes,x=y.showTitle,b=y.width,z=y.height;return x?this.title.node().getAvailableSpace():new Vu(0,0,b,z)},enumerable:!1,configurable:!0}),a.prototype.getBBox=function(){var y,x,b=(y=this.title)===null||y===void 0?void 0:y.node(),z=(x=this.items)===null||x===void 0?void 0:x.node();return!b||!z?E.prototype.getBBox.call(this):iW(b,z)},a.prototype.render=function(y,x){var b=this.attributes,z=b.width,te=b.height,re=b.x,ae=re===void 0?0:re,se=b.y,fe=se===void 0?0:se,me=Vi(x);x.style.transform="translate(".concat(ae,", ").concat(fe,")"),this.renderTitle(me,z,te),this.renderItems(me,this.availableSpace),this.adjustLayout()},a}(Bl);function Bx(E){const{width:a,height:y,renderer:x}=E,b=ZW(E),z=new VE({width:a,height:y,container:b,renderer:x||new Ev});return[b,z]}function ZW(E){var a;const{container:y,className:x,graphCanvas:b}=E;if(y)return typeof y=="string"?document.getElementById(y):y;const z=E0(x,!1),{width:te,height:re,containerStyle:ae}=E,[se,fe]=QW(E);return Object.assign(z.style,Object.assign({position:"absolute",left:se+"px",top:fe+"px",width:te+"px",height:re+"px"},ae)),(a=b.getContainer())===null||a===void 0||a.appendChild(z),z}function QW(E){const{width:a,height:y,placement:x,graphCanvas:b}=E,[z,te]=b.getSize(),[re,ae]=z2(x);return[re*(z-a),ae*(te-y)]}var YW=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};class Hy extends Lu{constructor(a,y){super(a,Object.assign({},Hy.defaultOptions,y)),this.typePrefix="__data__",this.draw=!1,this.fieldMap={node:new Map,edge:new Map,combo:new Map},this.selectedItems=[],this.bindEvents=()=>{const{graph:x}=this.context;x.on(ci.AFTER_DRAW,this.createElement)},this.changeState=(x,b)=>{const{graph:z}=this.context,{typePrefix:te}=this,re=nc(x,[te,"id"]),ae=nc(x,[te,"style","labelText"]),[se]=re.split("__"),fe=this.fieldMap[se].get(ae)||[];z.setElementState(Object.fromEntries(fe==null?void 0:fe.map(me=>[me,b])))},this.click=x=>{if(this.options.trigger==="hover")return;const b=nc(x,[this.typePrefix,"id"]);this.selectedItems.includes(b)?(this.selectedItems=this.selectedItems.filter(z=>z!==b),this.changeState(x,[])):(this.selectedItems.push(b),this.changeState(x,"selected"))},this.mouseleave=x=>{this.options.trigger!=="click"&&(this.selectedItems=[],this.changeState(x,[]))},this.mouseenter=x=>{if(this.options.trigger==="click")return;const b=nc(x,[this.typePrefix,"id"]);this.selectedItems.includes(b)?this.selectedItems=this.selectedItems.filter(z=>z!==b):(this.selectedItems.push(b),this.changeState(x,"active"))},this.setFieldMap=(x,b,z)=>{if(!x)return;const te=this.fieldMap[z];if(te)if(!te.has(x))te.set(x,[b]);else{const re=te.get(x);re&&(re.push(b),te.set(x,re))}},this.getEvents=()=>({mouseenter:this.mouseenter,mouseleave:this.mouseleave,click:this.click}),this.getMarkerData=(x,b)=>{if(!x)return[];const{model:z,element:te}=this.context,{nodes:re,edges:ae,combos:se}=z.getData(),fe={},me=je=>Gi(x)?x(je):x,Se={node:"circle",edge:"line",combo:"rect"},Te={circle:"circle",ellipse:"circle",image:"bowtie",rect:"square",star:"cross",triangle:"triangle",diamond:"diamond",cubic:"dot",line:"hyphen",polyline:"hyphen",quadratic:"hv","cubic-horizontal":"hyphen","cubic-vertical":"line"},ke=(je,Ke)=>te==null?void 0:te.getElementComputedStyle(je,Ke),We=(je,Ke)=>{je.forEach(Qe=>{const{id:Je}=Qe,at=nc(Qe,["data",me(Qe)]),ot=(te==null?void 0:te.getElementType(Ke,Qe))||"circle",ut=ke(Ke,Qe),ft=(Ke==="edge"?ut==null?void 0:ut.stroke:ut==null?void 0:ut.fill)||"#1783ff";Je&&at&&at.replace(/\s+/g,"")&&(this.setFieldMap(at,Je,Ke),fe[at]||(fe[at]={id:`${Ke}__${Je}`,label:at,marker:Te[ot]||Se[Ke],elementType:Ke,lineWidth:1,stroke:ft,fill:ft}))})};switch(b){case"node":We(re,"node");break;case"edge":We(ae,"edge");break;case"combo":We(se,"combo");break;default:return[]}return Object.values(fe)},this.createElement=()=>{if(this.draw){this.updateElement();return}const x=this.options,{width:b,height:z,nodeField:te,edgeField:re,comboField:ae,trigger:se,position:fe,container:me,containerStyle:Se,className:Te}=x,ke=YW(x,["width","height","nodeField","edgeField","comboField","trigger","position","container","containerStyle","className"]),We=this.getMarkerData(te,"node"),je=this.getMarkerData(re,"edge"),Ke=this.getMarkerData(ae,"combo"),Qe=[...We,...Ke,...je],Je=Object.assign({width:b,height:z,data:Qe,itemMarkerLineWidth:({lineWidth:ut})=>ut,itemMarker:({marker:ut})=>ut,itemMarkerStroke:({stroke:ut})=>ut,itemMarkerFill:({fill:ut})=>ut,gridCol:We.length},ke,this.getEvents()),at=new KW({className:"legend",style:Je});this.category=at,this.upsertCanvas().appendChild(at),this.draw=!0},this.bindEvents()}update(a){super.update(a),this.clear(),this.createElement()}clear(){var a,y;(a=this.canvas)===null||a===void 0||a.destroy(),(y=this.container)===null||y===void 0||y.remove(),this.canvas=void 0,this.container=void 0,this.draw=!1}updateElement(){this.category&&this.category.update({itemMarkerOpacity:({id:a})=>!this.selectedItems.length||this.selectedItems.includes(a)?1:.5,itemLabelOpacity:({id:a})=>!this.selectedItems.length||this.selectedItems.includes(a)?1:.5})}upsertCanvas(){if(this.canvas)return this.canvas;const a=this.context.canvas,[y,x]=a.getSize(),{width:b=y,height:z=x,position:te,container:re,containerStyle:ae,className:se}=this.options,[fe,me]=Bx({width:b,height:z,graphCanvas:a,container:re,containerStyle:ae,placement:te,className:"legend"});return this.container=fe,se&&fe.classList.add(se),this.canvas=me,this.canvas}destroy(){this.clear(),this.context.graph.off(ci.AFTER_DRAW,this.createElement),super.destroy()}}Hy.defaultOptions={position:"bottom",trigger:"hover",orientation:"horizontal",layout:"flex",itemSpacing:4,rowPadding:10,colPadding:10,itemMarkerSize:16,itemLabelFontSize:16,width:240,height:160};class Ky extends Lu{constructor(a,y){super(a,Object.assign({},Ky.defaultOptions,y)),this.onDraw=x=>{var b;!((b=x==null?void 0:x.data)===null||b===void 0)&&b.render||this.onRender()},this.shapes=new Map,this.landmarkMap=new Map,this.mask=null,this.isMaskDragging=!1,this.onMaskDragStart=x=>{this.mask&&(this.isMaskDragging=!0,this.mask.setPointerCapture(x.pointerId),this.mask.addEventListener("pointermove",this.onMaskDrag),this.mask.addEventListener("pointerup",this.onMaskDragEnd),this.mask.addEventListener("pointercancel",this.onMaskDragEnd))},this.onMaskDrag=x=>{if(!this.mask||!this.isMaskDragging)return;const{size:[b,z]}=this.options,{movementX:te,movementY:re}=x,{left:ae,top:se,width:fe,height:me}=this.mask.style,[,,Se,Te]=this.maskBBox;let ke=parseInt(ae)+te,We=parseInt(se)+re,je=parseInt(fe),Ke=parseInt(me);ke<0&&(ke=0),We<0&&(We=0),ke+je>b&&(ke=Sh(b-je,0)),We+Ke>z&&(We=Sh(z-Ke,0)),je<Se&&(te>0?(ke=Sh(ke-te,0),je=xh(je+te,b)):te<0&&(je=xh(je-te,b))),Ke<Te&&(re>0?(We=Sh(We-re,0),Ke=xh(Ke+re,z)):re<0&&(Ke=xh(Ke-re,z))),Object.assign(this.mask.style,{left:ke+"px",top:We+"px",width:je+"px",height:Ke+"px"});const Qe=parseInt(ae)-ke,Je=parseInt(se)-We;if(Qe===0&&Je===0)return;const at=this.context.canvas.getCamera().getZoom(),ot=this.canvas.getCamera().getZoom(),ut=at/ot;this.context.graph.translateBy([Qe*ut,Je*ut],!1)},this.onMaskDragEnd=x=>{this.mask&&(this.isMaskDragging=!1,this.mask.releasePointerCapture(x.pointerId),this.mask.removeEventListener("pointermove",this.onMaskDrag),this.mask.removeEventListener("pointerup",this.onMaskDragEnd),this.mask.removeEventListener("pointercancel",this.onMaskDragEnd))},this.onTransform=ZP(()=>{this.isMaskDragging||(this.updateMask(),this.setCamera())},32,{leading:!0}),this.setOnRender(),this.bindEvents()}update(a){this.unbindEvents(),super.update(a),"delay"in a&&this.setOnRender(),this.bindEvents()}setOnRender(){this.onRender=bv(()=>{this.renderMinimap(),this.renderMask()},this.options.delay,!0)}bindEvents(){const{graph:a}=this.context;a.on(ci.AFTER_DRAW,this.onDraw),a.on(ci.AFTER_RENDER,this.onRender),a.on(ci.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:a}=this.context;a.off(ci.AFTER_DRAW,this.onDraw),a.off(ci.AFTER_RENDER,this.onRender),a.off(ci.AFTER_TRANSFORM,this.onTransform)}renderMinimap(){const a=this.getElements(),y=this.initCanvas();this.setShapes(y,a)}getElements(){const{filter:a}=this.options,{model:y}=this.context,x=y.getData();if(!a)return x;const{nodes:b,edges:z,combos:te}=x;return{nodes:b.filter(re=>a(_r(re),"node")),edges:z.filter(re=>a(_r(re),"edge")),combos:te.filter(re=>a(_r(re),"combo"))}}setShapes(a,y){const{nodes:x,edges:b,combos:z}=y,{shape:te}=this.options,{element:re}=this.context;if(te==="key"){const se=new Set,fe=me=>{const Se=_r(me);se.add(Se);const Te=re.getElement(Se);if(!Te)return;const ke=Te.getShape("key"),We=this.shapes.get(Se)||ke.cloneNode();We.setPosition(ke.getPosition()),Te.style.zIndex&&(We.style.zIndex=Te.style.zIndex),We.id=Te.id,this.shapes.has(Se)?Object.entries(ke.attributes).forEach(([je,Ke])=>{We.style[je]!==Ke&&(We.style[je]=Ke)}):(a.appendChild(We),this.shapes.set(Se,We))};b.forEach(fe),z.forEach(fe),x.forEach(fe),this.shapes.forEach((me,Se)=>{se.has(Se)||(a.removeChild(me),this.shapes.delete(Se))});return}const ae=(se,fe)=>{const Se=re.getElement(se).getPosition();return fe.setPosition(Se),fe};a.removeChildren(),b.forEach(se=>a.appendChild(te(_r(se),"edge"))),z.forEach(se=>{a.appendChild(ae(_r(se),te(_r(se),"combo")))}),x.forEach(se=>{a.appendChild(ae(_r(se),te(_r(se),"node")))})}initCanvas(){const{renderer:a,size:[y,x]}=this.options;if(this.canvas){const{width:b,height:z}=this.canvas.getConfig();(y!==b||x!==z)&&this.canvas.resize(y,x),a&&this.canvas.setRenderer(a)}else{const{className:b,position:z,container:te,containerStyle:re}=this.options,[ae,se]=Bx({renderer:a,width:y,height:x,placement:z,className:"minimap",container:te,containerStyle:re,graphCanvas:this.context.canvas});b&&ae.classList.add(b),this.container=ae,this.canvas=se}return this.setCamera(),this.canvas}createLandmark(a,y,x){const b=`${a.join(",")}-${y.join(",")}-${x}`;if(this.landmarkMap.has(b))return this.landmarkMap.get(b);const te=this.canvas.getCamera().createLandmark(b,{position:a,focalPoint:y,zoom:x});return this.landmarkMap.set(b,te),te}setCamera(){var a;const{canvas:y}=this.context,x=(a=this.canvas)===null||a===void 0?void 0:a.getCamera();if(!x)return;const{size:[b,z],padding:te}=this.options,[re,ae,se,fe]=Id(te),{min:me,max:Se,center:Te}=y.getBounds("elements"),ke=Se[0]-me[0],We=Se[1]-me[1],je=b-fe-ae,Ke=z-re-se,Qe=je/ke,Je=Ke/We,at=Math.min(Qe,Je),ot=this.createLandmark(Te,Te,at);x.gotoLandmark(ot,0)}get maskBBox(){const{canvas:a}=this.context,y=a.getSize(),x=a.getCanvasByViewport([0,0]),b=a.getCanvasByViewport(y),z=this.canvas.canvas2Viewport(Bd(x)),te=this.canvas.canvas2Viewport(Bd(b)),re=te.x-z.x,ae=te.y-z.y;return[z.x,z.y,re,ae]}calculateMaskBBox(){const{size:[a,y]}=this.options;let[x,b,z,te]=this.maskBBox;return x<0&&(z=xh(z+x,a),x=0),b<0&&(te=xh(te+b,y),b=0),x+z>a&&(z=Sh(a-x,0)),b+te>y&&(te=Sh(y-b,0)),[xh(x,a),xh(b,y),Sh(z,0),Sh(te,0)]}renderMask(){const{maskStyle:a}=this.options;this.mask||(this.mask=document.createElement("div"),this.mask.addEventListener("pointerdown",this.onMaskDragStart)),this.container.appendChild(this.mask),Object.assign(this.mask.style,Object.assign(Object.assign({},a),{cursor:"move",position:"absolute",pointerEvents:"auto"})),this.updateMask()}updateMask(){if(!this.mask)return;const[a,y,x,b]=this.calculateMaskBBox();Object.assign(this.mask.style,{top:y+"px",left:a+"px",width:x+"px",height:b+"px"})}destroy(){var a;this.unbindEvents(),this.canvas.destroy(),(a=this.mask)===null||a===void 0||a.remove(),super.destroy()}}Ky.defaultOptions={size:[240,160],shape:"key",padding:10,position:"right-bottom",maskStyle:{border:"1px solid #ddd",background:"rgba(0, 0, 0, 0.1)"},containerStyle:{border:"1px solid #ddd",background:"#fff"},delay:128};const xh=(E,a)=>Math.min(E,a),Sh=(E,a)=>Math.max(E,a);var Nx=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};const Rx={x1:0,y1:0,x2:0,y2:0,visibility:"hidden"};class Zy extends Lu{constructor(a,y){super(a,Object.assign({},Zy.defaultOptions,y)),this.initSnapline=()=>{const x=this.context.canvas.getLayer("transient");this.horizontalLine||(this.horizontalLine=x.appendChild(new lg({style:Object.assign(Object.assign({},Rx),this.options.horizontalLineStyle)}))),this.verticalLine||(this.verticalLine=x.appendChild(new lg({style:Object.assign(Object.assign({},Rx),this.options.verticalLineStyle)})))},this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!0,this.autoSnapToLine=(x,b,z)=>Nx(this,void 0,void 0,function*(){const{verticalX:te,horizontalY:re}=z,{tolerance:ae}=this.options,{min:[se,fe],max:[me,Se],center:[Te,ke]}=b;let We=0,je=0;te!==null&&(Hu(me,te)<ae&&(We=te-me),Hu(se,te)<ae&&(We=te-se),Hu(Te,te)<ae&&(We=te-Te),We!==0&&(this.isVerticalSticking=!0)),re!==null&&(Hu(Se,re)<ae&&(je=re-Se),Hu(fe,re)<ae&&(je=re-fe),Hu(ke,re)<ae&&(je=re-ke),je!==0&&(this.isHorizontalSticking=!0)),(We!==0||je!==0)&&(yield this.context.graph.translateElementBy({[x]:[We,je]},!1))}),this.enableSnap=x=>{const{target:b}=x,z=.5;if(this.isHorizontalSticking||this.isVerticalSticking){const[te,re]=this.getDelta(x);if(this.isHorizontalSticking&&this.isVerticalSticking&&Math.abs(te)<=z&&Math.abs(re)<=z)return this.context.graph.translateElementBy({[b.id]:[-te,-re]},!1),!1;if(this.isHorizontalSticking&&Math.abs(re)<=z)return this.context.graph.translateElementBy({[b.id]:[0,-re]},!1),!1;if(this.isVerticalSticking&&Math.abs(te)<=z)return this.context.graph.translateElementBy({[b.id]:[-te,0]},!1),!1;this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!1,setTimeout(()=>{this.enableStick=!0},200)}return this.enableStick},this.calcSnaplineMetadata=(x,b)=>{const{tolerance:z,shape:te}=this.options,{min:[re,ae],max:[se,fe],center:[me,Se]}=b;let Te=null,ke=null,We=null,je=null,Ke=null,Qe=null;return this.getNodes().some(Je=>{if(Vl(x.id,Je.id))return!1;const at=VM(Je,te).getRenderBounds(),{min:[ot,ut],max:[ft,lt],center:[Dt,Bt]}=at;return Te===null&&(Hu(Dt,me)<z?Te=Dt:Hu(ot,re)<z||Hu(ot,se)<z?Te=ot:(Hu(ft,se)<z||Hu(ft,re)<z)&&(Te=ft),Te!==null&&(ke=Math.min(ut,ae),We=Math.max(lt,fe))),je===null&&(Hu(Bt,Se)<z?je=Bt:Hu(ut,ae)<z||Hu(ut,fe)<z?je=ut:(Hu(lt,fe)<z||Hu(lt,ae)<z)&&(je=lt),je!==null&&(Ke=Math.min(ot,re),Qe=Math.max(ft,se))),Te!==null&&je!==null}),{verticalX:Te,verticalMinY:ke,verticalMaxY:We,horizontalY:je,horizontalMinX:Ke,horizontalMaxX:Qe}},this.onDragStart=()=>{this.initSnapline()},this.onDrag=x=>Nx(this,void 0,void 0,function*(){const{target:b}=x;if(this.options.autoSnap&&!this.enableSnap(x))return;const z=VM(b,this.options.shape).getRenderBounds(),te=this.calcSnaplineMetadata(b,z);this.hideSnapline(),(te.verticalX!==null||te.horizontalY!==null)&&this.updateSnapline(te),this.options.autoSnap&&(yield this.autoSnapToLine(b.id,z,te))}),this.onDragEnd=()=>{this.hideSnapline()},this.bindEvents()}getNodes(){var a;const{filter:y}=this.options,b=(((a=this.context.element)===null||a===void 0?void 0:a.getNodes())||[]).filter(z=>{var te;return z8(z)&&((te=this.context.viewport)===null||te===void 0?void 0:te.isInViewport(z.getRenderBounds()))});return y?b.filter(z=>y(z)):b}hideSnapline(){this.horizontalLine.style.visibility="hidden",this.verticalLine.style.visibility="hidden"}getLineWidth(a){const{lineWidth:y}=this.options[`${a}LineStyle`];return+(y||Rx.lineWidth||1)/this.context.graph.getZoom()}updateSnapline(a){const{verticalX:y,verticalMinY:x,verticalMaxY:b,horizontalY:z,horizontalMinX:te,horizontalMaxX:re}=a,[ae,se]=this.context.canvas.getSize(),{offset:fe}=this.options;z!==null?Object.assign(this.horizontalLine.style,{x1:fe===1/0?0:te-fe,y1:z,x2:fe===1/0?ae:re+fe,y2:z,visibility:"visible",lineWidth:this.getLineWidth("horizontal")}):this.horizontalLine.style.visibility="hidden",y!==null?Object.assign(this.verticalLine.style,{x1:y,y1:fe===1/0?0:x-fe,x2:y,y2:fe===1/0?se:b+fe,visibility:"visible",lineWidth:this.getLineWidth("vertical")}):this.verticalLine.style.visibility="hidden"}getDelta(a){const y=this.context.graph.getZoom();return Td([a.dx,a.dy],y)}bindEvents(){return Nx(this,void 0,void 0,function*(){const{graph:a}=this.context;a.on(sd.DRAG_START,this.onDragStart),a.on(sd.DRAG,this.onDrag),a.on(sd.DRAG_END,this.onDragEnd)})}unbindEvents(){const{graph:a}=this.context;a.off(sd.DRAG_START,this.onDragStart),a.off(sd.DRAG,this.onDrag),a.off(sd.DRAG_END,this.onDragEnd)}destroyElements(){var a,y;(a=this.horizontalLine)===null||a===void 0||a.destroy(),(y=this.verticalLine)===null||y===void 0||y.destroy()}destroy(){this.destroyElements(),this.unbindEvents(),super.destroy()}}Zy.defaultOptions={tolerance:5,offset:20,autoSnap:!0,shape:"key",verticalLineStyle:{stroke:"#1783FF"},horizontalLineStyle:{stroke:"#1783FF"},filter:()=>!0};const Hu=(E,a)=>Math.abs(E-a),VM=(E,a)=>typeof a=="function"?a(E):E.getShape(a);var HM=null,XW=null;function Qy(E){return E instanceof Date?E:new Date(E)}function JW(E){for(var a=__read(E,2),y=a[0],x=a[1],b=HM.indexOf(y),z=HM.indexOf(x),te="",re=b;re<=z;re+=1)if(te+=XW[re],re<z){var ae="-";re===2?ae=" ":re>2&&(ae=":"),te+=ae}return te}function oc(E,a){var y={YYYY:E.getFullYear(),MM:E.getMonth()+1,DD:E.getDate(),HH:E.getHours(),mm:E.getMinutes(),ss:E.getSeconds()},x=a;return Object.keys(y).forEach(function(b){var z=y[b];x=x.replace(b,b==="YYYY"?"".concat(z):"".concat(z).padStart(2,"0"))}),x}function Zq(E,a){return Qy(E).getTime()-Qy(a).getTime()}function Qq(E,a){var y=__read([Qy(E),Qy(a)],2),x=y[0],b=y[1];return x.getFullYear()!==b.getFullYear()?"year":x.getMonth()!==b.getMonth()?"month":x.getDay()!==b.getDay()?"day":x.getHours()!==b.getHours()?"hour":x.getMinutes()!==b.getMinutes()?"minute":"second"}function Yq(E,a){var y=new Date(E),x={year:function(b){b.setMonth(0),b.setHours(0,0,0,0)},month:function(b){b.setDate(1),b.setHours(0,0,0,0)},day:function(b){return b.setHours(0,0,0,0)},hour:function(b){return b.setMinutes(0,0,0)},minute:function(b){return b.setSeconds(0,0)},second:function(b){return b.setMilliseconds(0)}};return x[a](y),oc(y,JW(["year",a]))}function qW(E,a){if(E.length<=a)return E;for(var y=Math.floor(E.length/a),x=[],b=0;b<E.length;b+=y)x.push(E[b]);return x}var _x={data:[],animate:{enter:!1,update:{duration:100,easing:"ease-in-out-sine",fill:"both"},exit:{duration:100,fill:"both"}},showArrow:!0,showGrid:!0,showLabel:!0,showLine:!0,showTick:!0,showTitle:!0,showTrunc:!1,dataThreshold:100,lineLineWidth:1,lineStroke:"black",crossPadding:10,titleFill:"black",titleFontSize:12,titlePosition:"lb",titleSpacing:0,titleTextAlign:"center",titleTextBaseline:"middle",lineArrow:function(){return new Nc({style:{d:[["M",10,10],["L",-10,0],["L",10,-10],["L",0,0],["L",10,10],["Z"]],fill:"black",transformOrigin:"center"}})},labelAlign:"parallel",labelDirection:"positive",labelFontSize:12,labelSpacing:0,gridConnect:"line",gridControlAngles:[],gridDirection:"positive",gridLength:0,gridType:"segment",lineArrowOffset:15,lineArrowSize:10,tickDirection:"positive",tickLength:5,tickLineWidth:1,tickStroke:"black",labelOverlap:[]},Xq=tc({},_x,{style:{type:"arc"}}),Jq=tc({},_x,{style:{}}),$s=Fd({mainGroup:"main-group",gridGroup:"grid-group",grid:"grid",lineGroup:"line-group",line:"line",tickGroup:"tick-group",tick:"tick",tickItem:"tick-item",labelGroup:"label-group",label:"label",labelItem:"label-item",titleGroup:"title-group",title:"title",lineFirst:"line-first",lineSecond:"line-second"},"axis");function Ff(E,a){return[E[0]*a,E[1]*a]}function _v(E,a){return[E[0]+a[0],E[1]+a[1]]}function Fx(E,a){return[E[0]-a[0],E[1]-a[1]]}function Ig(E,a){return[Math.min(E[0],a[0]),Math.min(E[1],a[1])]}function Lg(E,a){return[Math.max(E[0],a[0]),Math.max(E[1],a[1])]}function Fv(E,a){return Math.sqrt(Math.pow(E[0]-a[0],2)+Math.pow(E[1]-a[1],2))}function KM(E){if(E[0]===0&&E[1]===0)return[0,0];var a=Math.sqrt(Math.pow(E[0],2)+Math.pow(E[1],2));return[E[0]/a,E[1]/a]}function qq(E,a,y){var x=__read(E,2),b=x[0],z=x[1],te=__read(a,2),re=te[0],ae=te[1],se=b-re,fe=z-ae,me=Math.sin(y),Se=Math.cos(y);return[se*Se-fe*me+re,se*me+fe*Se+ae]}function $W(E,a){return a?[E[1],-E[0]]:[-E[1],E[0]]}function S0(E){return E*Math.PI/180}function ZM(E){return Number((E*180/Math.PI).toPrecision(5))}function Yy(E,a){return E.style.opacity||(E.style.opacity=1),kd(E,{opacity:0},a)}var ej=["$el","cx","cy","d","dx","dy","fill","fillOpacity","filter","fontFamily","fontSize","fontStyle","fontVariant","fontWeight","height","img","increasedLineWidthForHitTesting","innerHTML","isBillboard","billboardRotation","isSizeAttenuation","isClosed","isOverflowing","leading","letterSpacing","lineDash","lineHeight","lineWidth","markerEnd","markerEndOffset","markerMid","markerStart","markerStartOffset","maxLines","metrics","miterLimit","offsetX","offsetY","opacity","path","points","r","radius","rx","ry","shadowColor","src","stroke","strokeOpacity","text","textAlign","textBaseline","textDecorationColor","textDecorationLine","textDecorationStyle","textOverflow","textPath","textPathSide","textPathStartOffset","transform","transformOrigin","visibility","width","wordWrap","wordWrapWidth","x","x1","x2","y","y1","y2","z1","z2","zIndex"];function tj(E){return ej.includes(E)}function QM(E){var a={};for(var y in E)tj(y)&&(a[y]=E[y]);return a}var b0=Fd({lineGroup:"line-group",line:"line",regionGroup:"region-group",region:"region"},"grid");function YM(E){return E.reduce(function(a,y,x){return a.push((0,Rt.ev)([x===0?"M":"L"],(0,Rt.CR)(y),!1)),a},[])}function nj(E,a,y){var x=a.connect,b=x===void 0?"line":x,z=a.center;if(b==="line")return YM(E);if(!z)return[];var te=Fv(E[0],z),re=y?0:1;return E.reduce(function(ae,se,fe){return fe===0?ae.push((0,Rt.ev)(["M"],(0,Rt.CR)(se),!1)):ae.push((0,Rt.ev)(["A",te,te,0,0,re],(0,Rt.CR)(se),!1)),ae},[])}function kx(E,a,y){return a.type==="surround"?nj(E,a,y):YM(E)}function rj(E,a,y){var x=y.type,b=y.connect,z=y.center,te=y.closed,re=te?[["Z"]]:[],ae=(0,Rt.CR)([kx(E,y),kx(a.slice().reverse(),y,!0)],2),se=ae[0],fe=ae[1],me=(0,Rt.CR)([E[0],a.slice(-1)[0]],2),Se=me[0],Te=me[1],ke=function(Qe,Je){return[se,Qe,fe,Je,re].flat()};if(b==="line"||x==="surround")return ke([(0,Rt.ev)(["L"],(0,Rt.CR)(Te),!1)],[(0,Rt.ev)(["L"],(0,Rt.CR)(Se),!1)]);if(!z)throw new Error("Arc grid need to specified center");var We=(0,Rt.CR)([Fv(Te,z),Fv(Se,z)],2),je=We[0],Ke=We[1];return ke([(0,Rt.ev)(["A",je,je,0,0,1],(0,Rt.CR)(Te),!1),(0,Rt.ev)(["L"],(0,Rt.CR)(Te),!1)],[(0,Rt.ev)(["A",Ke,Ke,0,0,0],(0,Rt.CR)(Se),!1),(0,Rt.ev)(["L"],(0,Rt.CR)(Se),!1)])}function aj(E,a,y,x){var b=y.animate,z=y.isBillboard,te=a.map(function(re,ae){return{id:re.id||"grid-line-".concat(ae),d:kx(re.points,y)}});return E.selectAll(b0.line.class).data(te,function(re){return re.id}).join(function(re){return re.append("path").each(function(ae,se){var fe=cd(QM((0,Rt.pi)({d:ae.d},x)),[ae,se,te]);this.attr((0,Rt.pi)({class:b0.line.name,stroke:"#D9D9D9",lineWidth:1,lineDash:[4,4],isBillboard:z},fe))})},function(re){return re.transition(function(ae,se){var fe=cd(QM((0,Rt.pi)({d:ae.d},x)),[ae,se,te]);return kd(this,fe,b.update)})},function(re){return re.transition(function(){var ae=this,se=Yy(this,b.exit);return x0(se,function(){return ae.remove()}),se})}).transitions()}function ij(E,a,y){var x=y.animate,b=y.connect,z=y.areaFill;if(a.length<2||!z||!b)return[];for(var te=Array.isArray(z)?z:[z,"transparent"],re=function(ke){return te[ke%te.length]},ae=[],se=0;se<a.length-1;se++){var fe=(0,Rt.CR)([a[se].points,a[se+1].points],2),me=fe[0],Se=fe[1],Te=rj(me,Se,y);ae.push({d:Te,fill:re(se)})}return E.selectAll(b0.region.class).data(ae,function(ke,We){return We}).join(function(ke){return ke.append("path").each(function(We,je){var Ke=cd(We,[We,je,ae]);this.attr(Ke)}).attr("className",b0.region.name)},function(ke){return ke.transition(function(We,je){var Ke=cd(We,[We,je,ae]);return kd(this,Ke,x.update)})},function(ke){return ke.transition(function(){var We=this,je=Yy(this,x.exit);return x0(je,function(){return We.remove()}),je})}).transitions()}function oj(E){var a=E.data,y=a===void 0?[]:a,x=E.closed;return x?y.map(function(b){var z=b.points,te=(0,Rt.CR)(z,1),re=te[0];return(0,Rt.pi)((0,Rt.pi)({},b),{points:(0,Rt.ev)((0,Rt.ev)([],(0,Rt.CR)(z),!1),[re],!1)})}):y}var sj=function(E){(0,Rt.ZT)(a,E);function a(){return E!==null&&E.apply(this,arguments)||this}return a.prototype.render=function(y,x){var b=y.type,z=y.center,te=y.areaFill,re=y.closed,ae=(0,Rt._T)(y,["type","center","areaFill","closed"]),se=oj(y),fe=Vi(x).maybeAppendByClassName(b0.lineGroup,"g"),me=Vi(x).maybeAppendByClassName(b0.regionGroup,"g"),Se=aj(fe,se,y,ae),Te=ij(me,se,y);return(0,Rt.ev)((0,Rt.ev)([],(0,Rt.CR)(Se),!1),(0,Rt.CR)(Te),!1)},a}(Bl),lj=function(E,a){return function(y){return E*(1-y)+a*y}};function uj(E,a){var y=a?a.length:0,x=E?Math.min(y,E.length):0;return function(b){var z=new Array(x),te=new Array(y),re=0;for(re=0;re<x;++re)z[re]=zx(E[re],a[re]);for(;re<y;++re)te[re]=a[re];for(re=0;re<x;++re)te[re]=z[re](b);return te}}function cj(E,a){E===void 0&&(E={}),a===void 0&&(a={});var y={},x={};return Object.entries(a).forEach(function(b){var z=(0,Rt.CR)(b,2),te=z[0],re=z[1];te in E?y[te]=zx(E[te],re):x[te]=re}),function(b){return Object.entries(y).forEach(function(z){var te=(0,Rt.CR)(z,2),re=te[0],ae=te[1];return x[re]=ae(b)}),x}}function zx(E,a){return typeof E=="number"&&typeof a=="number"?lj(E,a):Array.isArray(E)&&Array.isArray(a)?uj(E,a):typeof E=="object"&&typeof a=="object"?cj(E,a):function(y){return E}}function dj(E,a,y,x){if(!x)return E.attr("__keyframe_data__",y),null;var b=x.duration,z=b===void 0?0:b,te=zx(a,y),re=Math.ceil(+z/16),ae=new Array(re).fill(0).map(function(se,fe,me){return{__keyframe_data__:te(fe/(me.length-1))}});return E.animate(ae,(0,Rt.pi)({fill:"both"},x))}function XM(E,a){var y={},x=Array.isArray(a)?a:[a];for(var b in E)x.includes(b)||(y[b]=E[b]);return y}function JM(E,a){return Object.fromEntries(Object.entries(E).map(function(y){var x=(0,Rt.CR)(y,2),b=x[0],z=x[1];return[b,cd(z,a)]}))}function $q(E){if(E.type==="linear"){var a=E.startPos,y=E.endPos;return __spreadArray(__spreadArray([],__read(a),!1),__read(y),!1)}var x=E.startAngle,b=E.endAngle,z=E.center,te=E.radius;return __spreadArray(__spreadArray([x,b],__read(z),!1),[te],!1)}function Ux(E,a){return a&&Gi(a)?E.filter(a):E}function qM(E,a){var y=a.startAngle,x=a.endAngle;return(x-y)*E+y}function Xy(E,a){if(a.type==="linear"){var y=(0,Rt.CR)(a.startPos,2),x=y[0],b=y[1],z=(0,Rt.CR)(a.endPos,2),te=z[0],re=z[1],ae=(0,Rt.CR)([te-x,re-b],2),se=ae[0],fe=ae[1];return KM([se,fe])}var me=S0(qM(E,a));return[-Math.sin(me),Math.cos(me)]}function Wx(E,a,y){var x=Xy(E,y);return $W(x,a!=="positive")}function kv(E,a){return Wx(E,a.labelDirection,a)}function fj(E,a){var y=(0,Rt.CR)(a.startPos,2),x=y[0],b=y[1],z=(0,Rt.CR)(a.endPos,2),te=z[0],re=z[1],ae=(0,Rt.CR)([te-x,re-b],2),se=ae[0],fe=ae[1];return[x+se*E,b+fe*E]}function hj(E,a){var y=a.radius,x=(0,Rt.CR)(a.center,2),b=x[0],z=x[1],te=S0(qM(E,a));return[b+y*Math.cos(te),z+y*Math.sin(te)]}function Jy(E,a){return a.type==="linear"?fj(E,a):hj(E,a)}function $M(E){return Xy(0,E)[1]===0}function eD(E){return Xy(0,E)[0]===0}function tD(E,a){return a-E===360}function nD(E,a,y,x,b){var z=a-E,te=(0,Rt.CR)([b,b],2),re=te[0],ae=te[1],se=(0,Rt.CR)([S0(E),S0(a)],2),fe=se[0],me=se[1],Se=function(Bt){return[y+b*Math.cos(Bt),x+b*Math.sin(Bt)]},Te=(0,Rt.CR)(Se(fe),2),ke=Te[0],We=Te[1],je=(0,Rt.CR)(Se(me),2),Ke=je[0],Qe=je[1];if(tD(E,a)){var Je=(me+fe)/2,at=(0,Rt.CR)(Se(Je),2),ot=at[0],ut=at[1];return[["M",ke,We],["A",re,ae,0,1,0,ot,ut],["A",re,ae,0,1,0,Ke,Qe]]}var ft=z>180?1:0,lt=E>a?0:1,Dt=!1;return Dt?"M".concat(y,",").concat(x,",L").concat(ke,",").concat(We,",A").concat(re,",").concat(ae,",0,").concat(ft,",").concat(lt,",").concat(Ke,",").concat(Qe,",L").concat(y,",").concat(x):"M".concat(ke,",").concat(We,",A").concat(re,",").concat(ae,",0,").concat(ft,",").concat(lt,",").concat(Ke,",").concat(Qe)}function gj(E){var a=E.attributes,y=a.startAngle,x=a.endAngle,b=a.center,z=a.radius;return(0,Rt.ev)((0,Rt.ev)([y,x],(0,Rt.CR)(b),!1),[z],!1)}function vj(E,a,y,x){var b=a.startAngle,z=a.endAngle,te=a.center,re=a.radius;return E.selectAll($s.line.class).data([{d:nD.apply(void 0,(0,Rt.ev)((0,Rt.ev)([b,z],(0,Rt.CR)(te),!1),[re],!1))}],function(ae,se){return se}).join(function(ae){return ae.append("path").attr("className",$s.line.name).styles(a).styles({d:function(se){return se.d}})},function(ae){return ae.transition(function(){var se=this,fe=dj(this,gj(this),(0,Rt.ev)((0,Rt.ev)([b,z],(0,Rt.CR)(te),!1),[re],!1),x.update);if(fe){var me=function(){var Se=nc(se.attributes,"__keyframe_data__");se.style.d=nD.apply(void 0,(0,Rt.ev)([],(0,Rt.CR)(Se),!1))};fe.onframe=me,fe.onfinish=me}return fe}).styles(a)},function(ae){return ae.remove()}).styles(y).transitions()}function mj(E,a){var y=a.truncRange,x=a.truncShape,b=a.lineExtension}function pj(E,a,y){y===void 0&&(y=[0,0]);var x=(0,Rt.CR)([E,a,y],3),b=(0,Rt.CR)(x[0],2),z=b[0],te=b[1],re=(0,Rt.CR)(x[1],2),ae=re[0],se=re[1],fe=(0,Rt.CR)(x[2],2),me=fe[0],Se=fe[1],Te=(0,Rt.CR)([ae-z,se-te],2),ke=Te[0],We=Te[1],je=Math.sqrt(Math.pow(ke,2)+Math.pow(We,2)),Ke=(0,Rt.CR)([-me/je,Se/je],2),Qe=Ke[0],Je=Ke[1];return[Qe*ke,Qe*We,Je*ke,Je*We]}function rD(E){var a=(0,Rt.CR)(E,2),y=(0,Rt.CR)(a[0],2),x=y[0],b=y[1],z=(0,Rt.CR)(a[1],2),te=z[0],re=z[1];return{x1:x,y1:b,x2:te,y2:re}}function yj(E,a,y,x){var b=a.showTrunc,z=a.startPos,te=a.endPos,re=a.truncRange,ae=a.lineExtension,se=(0,Rt.CR)([z,te],2),fe=(0,Rt.CR)(se[0],2),me=fe[0],Se=fe[1],Te=(0,Rt.CR)(se[1],2),ke=Te[0],We=Te[1],je=(0,Rt.CR)(ae?pj(z,te,ae):new Array(4).fill(0),4),Ke=je[0],Qe=je[1],Je=je[2],at=je[3],ot=function(En){return E.selectAll($s.line.class).data(En,function(Pn,or){return or}).join(function(Pn){return Pn.append("line").attr("className",function(or){return"".concat($s.line.name," ").concat(or.className)}).styles(y).transition(function(or){return kd(this,rD(or.line),!1)})},function(Pn){return Pn.styles(y).transition(function(or){var xn=or.line;return kd(this,rD(xn),x.update)})},function(Pn){return Pn.remove()}).transitions()};if(!b||!re)return ot([{line:[[me+Ke,Se+Qe],[ke+Je,We+at]],className:$s.line.name}]);var ut=(0,Rt.CR)(re,2),ft=ut[0],lt=ut[1],Dt=ke-me,Bt=We-Se,Vt=(0,Rt.CR)([me+Dt*ft,Se+Bt*ft],2),Xt=Vt[0],vn=Vt[1],on=(0,Rt.CR)([me+Dt*lt,Se+Bt*lt],2),wn=on[0],qn=on[1],yn=ot([{line:[[me+Ke,Se+Qe],[Xt,vn]],className:$s.lineFirst.name},{line:[[wn,qn],[ke+Je,We+at]],className:$s.lineSecond.name}]);return mj(E,a),yn}function Ej(E,a,y,x){var b=y.showArrow,z=y.showTrunc,te=y.lineArrow,re=y.lineArrowOffset,ae=y.lineArrowSize,se;if(a==="arc"?se=E.select($s.line.class):z?se=E.select($s.lineSecond.class):se=E.select($s.line.class),!b||!te||y.type==="arc"&&tD(y.startAngle,y.endAngle)){var fe=se.node();fe&&(fe.style.markerEnd=void 0);return}var me=_f(te);me.attr(x),Ix(me,ae,!0),se.style("markerEnd",me).style("markerEndOffset",-re)}function Aj(E,a,y){var x=a.type,b,z=ko(a,"line");return x==="linear"?b=yj(E,a,XM(z,"arrow"),y):b=vj(E,a,XM(z,"arrow"),y),Ej(E,x,a,z),b}function xj(E,a){return Wx(E,a.gridDirection,a)}function aD(E){var a=E.type,y=E.gridCenter;return a==="linear"?y:y||E.center}function Sj(E,a){var y=a.gridLength;return E.map(function(x,b){var z=x.value,te=(0,Rt.CR)(Jy(z,a),2),re=te[0],ae=te[1],se=(0,Rt.CR)(Ff(xj(z,a),y),2),fe=se[0],me=se[1];return{id:b,points:[[re,ae],[re+fe,ae+me]]}})}function bj(E,a){var y=a.gridControlAngles,x=aD(a);if(!x)throw new Error("grid center is not provide");if(E.length<2)throw new Error("Invalid grid data");if(!y||y.length===0)throw new Error("Invalid gridControlAngles");var b=(0,Rt.CR)(x,2),z=b[0],te=b[1];return E.map(function(re,ae){var se=re.value,fe=(0,Rt.CR)(Jy(se,a),2),me=fe[0],Se=fe[1],Te=(0,Rt.CR)([me-z,Se-te],2),ke=Te[0],We=Te[1],je=[];return y.forEach(function(Ke){var Qe=S0(Ke),Je=(0,Rt.CR)([Math.cos(Qe),Math.sin(Qe)],2),at=Je[0],ot=Je[1],ut=ke*at-We*ot+z,ft=ke*ot+We*at+te;je.push([ut,ft])}),{points:je,id:ae}})}function Cj(E,a,y,x){var b=ko(y,"grid"),z=b.type,te=b.areaFill,re=aD(y),ae=Ux(a,y.gridFilter),se=z==="segment"?Sj(ae,y):bj(ae,y),fe=(0,Rt.pi)((0,Rt.pi)({},b),{center:re,areaFill:Gi(te)?ae.map(function(me,Se){return cd(te,[me,Se,ae])}):te,animate:x,data:se});return E.selectAll($s.grid.class).data([1]).join(function(me){return me.append(function(){return new sj({style:fe})}).attr("className",$s.grid.name)},function(me){return me.transition(function(){return this.update(fe)})},function(me){return me.remove()}).transitions()}function Tu(E,a,y,x,b){return x===void 0&&(x=!0),b===void 0&&(b=!1),x&&E===a||b&&E===y?!0:E>a&&E<y}function Pj(E,a,y,x){y===void 0&&(y=2),x===void 0&&(x="top"),UM(E,{wordWrap:!0,wordWrapWidth:a,maxLines:y,textBaseline:x})}function wj(E,a,y){var x=E.getBBox(),b=x.width,z=x.height,te=(0,Rt.CR)([a,y].map(function(se,fe){var me;return se.includes("%")?parseFloat(((me=se.match(/[+-]?([0-9]*[.])?[0-9]+/))===null||me===void 0?void 0:me[0])||"0")/100*(fe===0?b:z):se}),2),re=te[0],ae=te[1];return[re,ae]}function iD(E,a){if(a)try{var y=/translate\(([+-]*[\d]+[%]*),[ ]*([+-]*[\d]+[%]*)\)/g,x=a.replace(y,function(b,z,te){return"translate(".concat(wj(E,z,te),")")});E.attr("transform",x)}catch(b){}}var oD=function(E){return E!==void 0&&E!=null&&!Number.isNaN(E)},jx=function(){function E(a,y,x,b){this.set(a,y,x,b)}return Object.defineProperty(E.prototype,"left",{get:function(){return this.x1},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"top",{get:function(){return this.y1},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"right",{get:function(){return this.x2},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"bottom",{get:function(){return this.y2},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"width",{get:function(){return this.defined("x2")&&this.defined("x1")?this.x2-this.x1:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"height",{get:function(){return this.defined("y2")&&this.defined("y1")?this.y2-this.y1:void 0},enumerable:!1,configurable:!0}),E.prototype.rotatedPoints=function(a,y,x){var b=this,z=b.x1,te=b.y1,re=b.x2,ae=b.y2,se=Math.cos(a),fe=Math.sin(a),me=y-y*se+x*fe,Se=x-y*fe-x*se,Te=[[se*z-fe*ae+me,fe*z+se*ae+Se],[se*re-fe*ae+me,fe*re+se*ae+Se],[se*z-fe*te+me,fe*z+se*te+Se],[se*re-fe*te+me,fe*re+se*te+Se]];return Te},E.prototype.set=function(a,y,x,b){return x<a?(this.x2=a,this.x1=x):(this.x1=a,this.x2=x),b<y?(this.y2=y,this.y1=b):(this.y1=y,this.y2=b),this},E.prototype.defined=function(a){return this[a]!==Number.MAX_VALUE&&this[a]!==-Number.MAX_VALUE},E}();function qy(E,a){var y=E.getEulerAngles()||0;E.setEulerAngles(0);var x=E.getBounds(),b=(0,Rt.CR)(x.min,2),z=b[0],te=b[1],re=(0,Rt.CR)(x.max,2),ae=re[0],se=re[1],fe=E.getBBox(),me=fe.width,Se=fe.height,Te=Se,ke=0,We=0,je=z,Ke=te,Qe=zM(E);if(Qe){Te-=1.5;var Je=Qe.style.textAlign,at=Qe.style.textBaseline;Je==="center"?je=(z+ae)/2:(Je==="right"||Je==="end")&&(je=ae),at==="middle"?Ke=(te+se)/2:at==="bottom"&&(Ke=se)}var ot=(0,Rt.CR)(Ou(a),4),ut=ot[0],ft=ut===void 0?0:ut,lt=ot[1],Dt=lt===void 0?0:lt,Bt=ot[2],Vt=Bt===void 0?ft:Bt,Xt=ot[3],vn=Xt===void 0?Dt:Xt,on=new jx((ke+=z)-vn,(We+=te)-ft,ke+me+Dt,We+Te+Vt);return E.setEulerAngles(y),on.rotatedPoints(S0(y),je,Ke)}function zv(E,a){return a[0]<=Math.max(E[0][0],E[1][0])&&a[0]<=Math.min(E[0][0],E[1][0])&&a[1]<=Math.max(E[0][1],E[1][1])&&a[1]<=Math.min(E[0][1],E[1][1])}function Uv(E,a,y){var x=(a[1]-E[1])*(y[0]-a[0])-(a[0]-E[0])*(y[1]-a[1]);return x===0?0:x<0?2:1}function Mj(E,a){var y=Uv(E[0],E[1],a[0]),x=Uv(E[0],E[1],a[1]),b=Uv(a[0],a[1],E[0]),z=Uv(a[0],a[1],E[1]);return!!(y!==x&&b!==z||y===0&&zv(E,a[0])||x===0&&zv(E,a[1])||b===0&&zv(a,E[0])||z===0&&zv(a,E[1]))}function Dj(E,a){var y=E.length;if(y<3)return!1;var x=[a,[9999,a[1]]],b=0,z=0;do{var te=[E[z],E[(z+1)%y]];if(Mj(te,x)){if(Uv(te[0],a,te[1])===0)return zv(te,a);b++}z=(z+1)%y}while(z!==0);return!!(b&1)}function Ij(E,a){return a.every(function(y){return Dj(E,y)})}function Lj(E,a,y){var x=E.x1,b=E.x2,z=E.y1,te=E.y2,re=[[x,z],[b,z],[b,te],[x,te]],ae=qy(a,y);return Ij(re,ae)}function sD(E,a){var y=(0,Rt.CR)(E,4),x=y[0],b=y[1],z=y[2],te=y[3],re=(0,Rt.CR)(a,4),ae=re[0],se=re[1],fe=re[2],me=re[3],Se=z-x,Te=te-b,ke=fe-ae,We=me-se,je=Se*We-ke*Te;if(je===0)return!1;var Ke=je>0,Qe=x-ae,Je=b-se,at=Se*Je-Te*Qe;if(at<0===Ke)return!1;var ot=ke*Je-We*Qe;return!(ot<0===Ke||at>je===Ke||ot>je===Ke)}function lD(E,a){var y=[[E[0],E[1],E[2],E[3]],[E[2],E[3],E[4],E[5]],[E[4],E[5],E[6],E[7]],[E[6],E[7],E[0],E[1]]];return y.some(function(x){return sD(a,x)})}var e$={lineToLine:sD,intersectBoxLine:lD,getBounds:qy};function Oj(E,a,y){var x,b,z=qy(E,y).flat(1),te=qy(a,y).flat(1),re=[[z[0],z[1],z[2],z[3]],[z[0],z[1],z[4],z[5]],[z[4],z[5],z[6],z[7]],[z[2],z[3],z[6],z[7]]];try{for(var ae=(0,Rt.XA)(re),se=ae.next();!se.done;se=ae.next()){var fe=se.value;if(lD(te,fe))return!0}}catch(me){x={error:me}}finally{try{se&&!se.done&&(b=ae.return)&&b.call(ae)}finally{if(x)throw x.error}}return!1}function Tj(E,a){var y=E.type,x=E.labelDirection,b=E.crossSize;if(!b)return!1;if(y==="arc"){var z=E.center,te=E.radius,re=(0,Rt.CR)(z,2),ae=re[0],se=re[1],fe=x==="negative"?0:b,me=-te-fe,Se=te+fe,Te=(0,Rt.CR)(Ou(a),4),ke=Te[0],We=Te[1],je=Te[2],Ke=Te[3];return new jx(ae+me-Ke,se+me-ke,ae+Se+We,se+Se+je)}var Qe=(0,Rt.CR)(E.startPos,2),Je=Qe[0],at=Qe[1],ot=(0,Rt.CR)(E.endPos,2),ut=ot[0],ft=ot[1],lt=(0,Rt.CR)(eD(E)?[-a,0,a,0]:[0,a,0,-a],4),Dt=lt[0],Bt=lt[1],Vt=lt[2],Xt=lt[3],vn=kv(0,E),on=Ff(vn,b),wn=new jx(Je,at,ut,ft);return wn.x1+=Xt,wn.y1+=Dt,wn.x2+=Bt+on[0],wn.y2+=Vt+on[1],wn}function $y(E,a,y){var x,b,z=a.crossPadding,te=new Set,re=null,ae=Tj(a,z),se=function(ke){return ae?Lj(ae,ke):!0},fe=function(ke,We){return!ke||!ke.firstChild?!0:!Oj(ke.firstChild,We.firstChild,Ou(y))};try{for(var me=(0,Rt.XA)(E),Se=me.next();!Se.done;Se=me.next()){var Te=Se.value;se(Te)?!re||fe(re,Te)?re=Te:(te.add(re),te.add(Te)):te.add(Te)}}catch(ke){x={error:ke}}finally{try{Se&&!Se.done&&(b=me.return)&&b.call(me)}finally{if(x)throw x.error}}return Array.from(te)}function Gx(E,a){return a===void 0&&(a={}),fo(E)?0:typeof E=="number"?E:Math.floor(WW(E,a))}function Bj(E,a,y,x){if(!(E.length<=1)){var b=a.suffix,z=b===void 0?"...":b,te=a.minLength,re=a.maxLength,ae=re===void 0?1/0:re,se=a.step,fe=se===void 0?" ":se,me=a.margin,Se=me===void 0?[0,0,0,0]:me,Te=kM(x.getTextShape(E[0])),ke=Gx(fe,Te),We=te?Gx(te,Te):ke,je=Gx(ae,Te);(fo(je)||je===1/0)&&(je=Math.max.apply(null,E.map(function(on){return on.getBBox().width})));for(var Ke=E.slice(),Qe=(0,Rt.CR)(Se,4),Je=Qe[0],at=Je===void 0?0:Je,ot=Qe[1],ut=ot===void 0?0:ot,ft=Qe[2],lt=ft===void 0?at:ft,Dt=Qe[3],Bt=Dt===void 0?ut:Dt,Vt=function(on){if(Ke.forEach(function(wn){x.ellipsis(x.getTextShape(wn),on,z)}),Ke=$y(E,y,Se),Ke.length<1)return{value:void 0}},Xt=je;Xt>We+ke;Xt-=ke){var vn=Vt(Xt);if(typeof vn=="object")return vn.value}}}var Nj={parity:function(E,a){var y=a.seq,x=y===void 0?2:y;return E.filter(function(b,z){return z%x?(_d(b),!1):!0})}},Rj=function(E){return E.filter(oD)};function _j(E,a,y,x){var b=E.length,z=a.keepHeader,te=a.keepTail;if(!(b<=1||b===2&&z&&te)){var re=Nj.parity,ae=function(Je){return Je.forEach(x.show),Je},se=2,fe=E.slice(),me=E.slice(),Se=Math.min.apply(Math,(0,Rt.ev)([1],(0,Rt.CR)(E.map(function(Je){return Je.getBBox().width})),!1));if(y.type==="linear"&&($M(y)||eD(y))){var Te=FM(E[0]).left,ke=FM(E[b-1]).right,We=Math.abs(ke-Te)||1;se=Math.max(Math.floor(b*Se/We),se)}var je,Ke;for(z&&(je=fe.splice(0,1)[0]),te&&(Ke=fe.splice(-1,1)[0],fe.reverse()),ae(fe);se<E.length&&$y(Rj(Ke?(0,Rt.ev)((0,Rt.ev)([Ke],(0,Rt.CR)(me),!1),[je],!1):(0,Rt.ev)([je],(0,Rt.CR)(me),!1)),y,a==null?void 0:a.margin).length;){if(Ke&&!je&&se%2===0){var Qe=fe.splice(0,1);Qe.forEach(x.hide)}else if(Ke&&je){var Qe=fe.splice(0,1);Qe.forEach(x.hide)}me=re(ae(fe),{seq:se}),se++}}}function Fj(E,a,y,x){var b,z,te=a.optionalAngles,re=te===void 0?[0,45,90]:te,ae=a.margin,se=a.recoverWhenFailed,fe=se===void 0?!0:se,me=E.map(function(Ke){return Ke.getLocalEulerAngles()}),Se=function(){return $y(E,y,ae).length<1},Te=function(Ke){return E.forEach(function(Qe,Je){var at=Array.isArray(Ke)?Ke[Je]:Ke;x.rotate(Qe,+at)})};try{for(var ke=(0,Rt.XA)(re),We=ke.next();!We.done;We=ke.next()){var je=We.value;if(Te(je),Se())return}}catch(Ke){b={error:Ke}}finally{try{We&&!We.done&&(z=ke.return)&&z.call(ke)}finally{if(b)throw b.error}}fe&&Te(me)}function kj(E){var a=E.type,y=E.labelDirection;return a==="linear"&&$M(E)?y==="negative"?"bottom":"top":"middle"}function zj(E,a,y,x){var b=a.wordWrapWidth,z=b===void 0?50:b,te=a.maxLines,re=te===void 0?3:te,ae=a.recoverWhenFailed,se=ae===void 0?!0:ae,fe=a.margin,me=fe===void 0?[0,0,0,0]:fe,Se=E.map(function(Qe){return Qe.attr("maxLines")||1}),Te=Math.min.apply(Math,(0,Rt.ev)([],(0,Rt.CR)(Se),!1)),ke=function(){return $y(E,y,me).length<1},We=kj(y),je=function(Qe){return E.forEach(function(Je,at){var ot=Array.isArray(Qe)?Qe[at]:Qe;x.wrap(Je,z,ot,We)})};if(!(Te>re)){for(var Ke=Te;Ke<=re;Ke++)if(je(Ke),ke())return;se&&je(Se)}}var Uj=new Map([["hide",_j],["rotate",Fj],["ellipsis",Bj],["wrap",zj]]);function Wj(E,a,y){return a.labelOverlap.length<1?!1:y==="hide"?!XU(E[0]):y==="rotate"?!E.some(function(x){var b;return!!(!((b=x.attr("transform"))===null||b===void 0)&&b.includes("rotate"))}):y==="ellipsis"||y==="wrap"?E.filter(function(x){return x.querySelector("text")}).length>1:!0}function jj(E,a,y){var x=a.labelOverlap,b=x===void 0?[]:x;b.length&&b.forEach(function(z){var te=z.type,re=Uj.get(te);Wj(E,a,te)&&(re==null||re(E,z,a,y))})}function Gj(){for(var E=[],a=0;a<arguments.length;a++)E[a]=arguments[a];var y=function(x){return x==="positive"?-1:1};return E.reduce(function(x,b){return x*y(b)},1)}function uD(E){for(var a=E;a<0;)a+=360;return Math.round(a%360)}function Vx(E,a){var y=(0,Rt.CR)(E,2),x=y[0],b=y[1],z=(0,Rt.CR)(a,2),te=z[0],re=z[1],ae=(0,Rt.CR)([x*te+b*re,x*re-b*te],2),se=ae[0],fe=ae[1];return Math.atan2(fe,se)}function Vj(E){var a=(E+360)%180;return Tu(a,-90,90)||(a+=180),a}function Hj(E,a,y){var x,b=y.labelAlign,z=(x=a.style.transform)===null||x===void 0?void 0:x.includes("rotate");if(z)return a.getLocalEulerAngles();var te=0,re=kv(E.value,y),ae=Xy(E.value,y);return b==="horizontal"?0:(b==="perpendicular"?te=Vx([1,0],re):te=Vx([ae[0]<0?-1:1,0],ae),Vj(ZM(te)))}function cD(E,a,y){var x=y.type,b=y.labelAlign,z=kv(E,y),te=uD(a),re=uD(ZM(Vx([1,0],z))),ae="center",se="middle";return x==="linear"?[90,270].includes(re)&&te===0?(ae="center",se=z[1]===1?"top":"bottom"):!(re%180)&&[90,270].includes(te)?ae="center":re===0?(Tu(te,0,90,!1,!0)||Tu(te,0,90)||Tu(te,270,360))&&(ae="start"):re===90?Tu(te,0,90,!1,!0)?ae="start":(Tu(te,90,180)||Tu(te,270,360))&&(ae="end"):re===270?Tu(te,0,90,!1,!0)?ae="end":(Tu(te,90,180)||Tu(te,270,360))&&(ae="start"):re===180&&(te===90?ae="start":(Tu(te,0,90)||Tu(te,270,360))&&(ae="end")):b==="parallel"?Tu(re,0,180,!0)?se="top":se="bottom":b==="horizontal"?Tu(re,90,270,!1)?ae="end":(Tu(re,270,360,!1)||Tu(re,0,90))&&(ae="start"):b==="perpendicular"&&(Tu(re,90,270)?ae="end":ae="start"),{textAlign:ae,textBaseline:se}}function Kj(E,a,y){a.setLocalEulerAngles(E);var x=a.__data__.value,b=cD(x,E,y),z=a.querySelector($s.labelItem.class);z&&fD(z,b)}function dD(E,a,y){var x=y.showTick,b=y.tickLength,z=y.tickDirection,te=y.labelDirection,re=y.labelSpacing,ae=a.indexOf(E),se=cd(re,[E,ae,a]),fe=(0,Rt.CR)([kv(E.value,y),Gj(te,z)],2),me=fe[0],Se=fe[1],Te=Se===1?cd(x?b:0,[E,ae,a]):0,ke=(0,Rt.CR)(_v(Ff(me,se+Te),Jy(E.value,y)),2),We=ke[0],je=ke[1];return{x:We,y:je}}function Zj(E,a,y,x){var b=x.labelFormatter,z=Gi(b)?function(){return _f(cd(b,[E,a,y,kv(E.value,x)]))}:function(){return _f(E.label||"")};return z}function fD(E,a){E.nodeName==="text"&&E.attr(a)}function hD(E){jj(this.node().childNodes,E,{hide:_d,show:Bv,rotate:function(a,y){Kj(+y,a,E)},ellipsis:function(a,y,x){a&&Tx(a,y||1/0,x)},wrap:function(a,y,x){a&&Pj(a,y,x)},getTextShape:function(a){return a.querySelector("text")}})}function gD(E,a,y,x,b){var z=y.indexOf(a),te=Vi(E).append(Zj(a,z,y,b)).attr("className",$s.labelItem.name).node(),re=(0,Rt.CR)(Rf(JM(x,[a,z,y])),2),ae=re[0],se=re[1],fe=se.transform,me=(0,Rt._T)(se,["transform"]);iD(te,fe);var Se=Hj(a,te,b);return te.getLocalEulerAngles()||te.setLocalEulerAngles(Se),fD(te,(0,Rt.pi)((0,Rt.pi)({},cD(a.value,Se,b)),ae)),E.attr(me),te}function Qj(E,a,y,x){var b=Ux(a,y.labelFilter),z=ko(y,"label");return E.selectAll($s.label.class).data(b,function(te,re){return re}).join(function(te){return te.append("g").attr("className",$s.label.name).transition(function(re){gD(this,re,a,z,y);var ae=dD(re,a,y),se=ae.x,fe=ae.y;return this.style.transform="translate(".concat(se,", ").concat(fe,")"),null}).call(function(){hD.call(E,y)})},function(te){return te.transition(function(re){var ae=this.querySelector($s.labelItem.class),se=gD(this,re,a,z,y),fe=hW(ae,se,x.update),me=dD(re,a,y),Se=me.x,Te=me.y,ke=kd(this,{transform:"translate(".concat(Se,", ").concat(Te,")")},x.update);return(0,Rt.ev)((0,Rt.ev)([],(0,Rt.CR)(fe),!1),[ke],!1)}).call(function(re){var ae=nc(re,"_transitions").flat().filter(oD);dW(ae,function(){hD.call(E,y)})})},function(te){return te.transition(function(){var re=this,ae=Yy(this.childNodes[0],x.exit);return x0(ae,function(){return Vi(re).remove()}),ae})}).transitions()}function vD(E,a){return Wx(E,a.tickDirection,a)}function Yj(E,a){var y=(0,Rt.CR)(E,2),x=y[0],b=y[1];return[[0,0],[x*a,b*a]]}function Xj(E,a,y,x,b){var z=b.tickLength,te=(0,Rt.CR)(Yj(x,cd(z,[E,a,y])),2),re=(0,Rt.CR)(te[0],2),ae=re[0],se=re[1],fe=(0,Rt.CR)(te[1],2),me=fe[0],Se=fe[1];return{x1:ae,x2:me,y1:se,y2:Se}}function Jj(E,a,y,x,b){var z=b.tickFormatter,te=vD(a.value,b),re="line";return Gi(z)&&(re=function(){return cd(z,[a,y,x,te])}),E.append(re).attr("className",$s.tickItem.name)}function qj(E,a,y,x,b,z,te){var re=vD(E.value,z),ae=Xj(E,a,y,re,z),se=ae.x1,fe=ae.x2,me=ae.y1,Se=ae.y2,Te=(0,Rt.CR)(Rf(JM(te,[E,a,y,re])),2),ke=Te[0],We=Te[1];x.node().nodeName==="line"&&x.styles((0,Rt.pi)({x1:se,x2:fe,y1:me,y2:Se},ke)),b.attr(We),x.styles(ke)}function mD(E,a,y,x,b,z){var te=Jj(Vi(this),E,a,y,x);qj(E,a,y,te,this,x,b);var re=(0,Rt.CR)(Jy(E.value,x),2),ae=re[0],se=re[1];return kd(this,{transform:"translate(".concat(ae,", ").concat(se,")")},z)}function $j(E,a,y,x){var b=Ux(a,y.tickFilter),z=ko(y,"tick");return E.selectAll($s.tick.class).data(b,function(te){return te.id||te.label}).join(function(te){return te.append("g").attr("className",$s.tick.name).transition(function(re,ae){return mD.call(this,re,ae,b,y,z,!1)})},function(te){return te.transition(function(re,ae){return this.removeChildren(),mD.call(this,re,ae,b,y,z,x.update)})},function(te){return te.transition(function(){var re=this,ae=Yy(this.childNodes[0],x.exit);return x0(ae,function(){return re.remove()}),ae})}).transitions()}function eG(E,a,y){var x=y.titlePosition,b=x===void 0?"lb":x,z=y.titleSpacing,te=Gy(b),re=E.node().getLocalBounds(),ae=(0,Rt.CR)(re.min,2),se=ae[0],fe=ae[1],me=(0,Rt.CR)(re.halfExtents,2),Se=me[0],Te=me[1],ke=(0,Rt.CR)(a.node().getLocalBounds().halfExtents,2),We=ke[0],je=ke[1],Ke=(0,Rt.CR)([se+Se,fe+Te],2),Qe=Ke[0],Je=Ke[1],at=(0,Rt.CR)(Ou(z),4),ot=at[0],ut=at[1],ft=at[2],lt=at[3];if(["start","end"].includes(b)&&y.type==="linear"){var Dt=y.startPos,Bt=y.endPos,Vt=(0,Rt.CR)(b==="start"?[Dt,Bt]:[Bt,Dt],2),Xt=Vt[0],vn=Vt[1],on=KM([-vn[0]+Xt[0],-vn[1]+Xt[1]]),wn=(0,Rt.CR)(Ff(on,ot),2),qn=wn[0],yn=wn[1];return{x:Xt[0]+qn,y:Xt[1]+yn}}return te.includes("t")&&(Je-=Te+je+ot),te.includes("r")&&(Qe+=Se+We+ut),te.includes("l")&&(Qe-=Se+We+lt),te.includes("b")&&(Je+=Te+je+ft),{x:Qe,y:Je}}function tG(E,a,y){var x=E.getGeometryBounds().halfExtents,b=x[1]*2;if(a==="vertical"){if(y==="left")return"rotate(-90) translate(0, ".concat(b/2,")");if(y==="right")return"rotate(-90) translate(0, -".concat(b/2,")")}return""}function pD(E,a,y,x,b){var z=ko(x,"title"),te=(0,Rt.CR)(Rf(z),2),re=te[0],ae=te[1],se=ae.transform,fe=ae.transformOrigin,me=(0,Rt._T)(ae,["transform","transformOrigin"]);a.styles(me);var Se=se||tG(E.node(),re.direction,re.position);E.styles((0,Rt.pi)((0,Rt.pi)({},re),{transformOrigin:fe})),iD(E.node(),Se);var Te=eG(Vi(y._offscreen||y.querySelector($s.mainGroup.class)),a,x),ke=Te.x,We=Te.y,je=kd(a.node(),{transform:"translate(".concat(ke,", ").concat(We,")")},b);return je}function nG(E,a,y,x){var b=y.titleText;return E.selectAll($s.title.class).data([{title:b}].filter(function(z){return!!z.title}),function(z,te){return z.title}).join(function(z){return z.append(function(){return _f(b)}).attr("className",$s.title.name).transition(function(){return pD(Vi(this),E,a,y,x.enter)})},function(z){return z.transition(function(){return pD(Vi(this),E,a,y,x.update)})},function(z){return z.remove()}).transitions()}function yD(E,a,y,x){var b=E.showLine,z=E.showTick,te=E.showLabel,re=a.maybeAppendByClassName($s.lineGroup,"g"),ae=Wc(b,re,function(Te){return Aj(Te,E,x)})||[],se=a.maybeAppendByClassName($s.tickGroup,"g"),fe=Wc(z,se,function(Te){return $j(Te,y,E,x)})||[],me=a.maybeAppendByClassName($s.labelGroup,"g"),Se=Wc(te,me,function(Te){return Qj(Te,y,E,x)})||[];return(0,Rt.ev)((0,Rt.ev)((0,Rt.ev)([],(0,Rt.CR)(ae),!1),(0,Rt.CR)(fe),!1),(0,Rt.CR)(Se),!1).filter(function(Te){return!!Te})}var rG=function(E){(0,Rt.ZT)(a,E);function a(y){return E.call(this,y,_x)||this}return a.prototype.render=function(y,x,b){var z=this,te=y.titleText,re=y.data,ae=y.animate,se=y.showTitle,fe=y.showGrid,me=y.dataThreshold,Se=y.truncRange,Te=qW(re,me).filter(function(ot){var ut=ot.value;return!(Se&&ut>Se[0]&&ut<Se[1])}),ke=IM(b===void 0?ae:b),We=Vi(x).maybeAppendByClassName($s.gridGroup,"g"),je=Wc(fe,We,function(ot){return Cj(ot,Te,y,ke)})||[],Ke=Vi(x).maybeAppendByClassName($s.mainGroup,"g");te&&(!this.initialized&&ke.enter||this.initialized&&ke.update)&&yD(y,Vi(this.offscreenGroup),Te,IM(!1));var Qe=yD(y,Vi(Ke.node()),Te,ke),Je=Vi(x).maybeAppendByClassName($s.titleGroup,"g"),at=Wc(se,Je,function(ot){return nG(ot,z,y,ke)})||[];return(0,Rt.ev)((0,Rt.ev)((0,Rt.ev)([],(0,Rt.CR)(je),!1),(0,Rt.CR)(Qe),!1),(0,Rt.CR)(at),!1).flat().filter(function(ot){return!!ot})},a}(Bl);function ED(E){var a=E.canvas,y=E.touches,x=E.offsetX,b=E.offsetY;if(a){var z=a.x,te=a.y;return[z,te]}if(y){var re=y[0],ae=re.clientX,se=re.clientY;return[ae,se]}return x&&b?[x,b]:[0,0]}function Hx(E,a){return+E.toPrecision(a)}function t$(E){return E.toLocaleString()}function n$(E){return E.toExponential()}function r$(E,a){return a===void 0&&(a=0),Math.abs(E)<1e3?String(E):"".concat(Hx(E/1e3,a).toLocaleString(),"K")}var a$=function(E,a,y){return E<0&&Number.isFinite(E)?a:y},i$=function(E,a,y){return E>0&&Number.isFinite(E)?a:y},o$=function(E,a){return E*a},s$=function(E,a){return E/2+(a||0)/2},Kx=function(E){return E};class AD{constructor(a){this.options=tc({},this.getDefaultOptions()),this.update(a)}getOptions(){return this.options}update(a={}){this.options=tc({},this.options,a),this.rescale(a)}rescale(a){}}function Zx(E,a){return a-E?y=>(y-E)/(a-E):y=>.5}function e1(E,...a){return a.reduce((y,x)=>b=>y(x(b)),E)}function aG(E,a,y,x,b){let z=y||0,te=x||E.length;const re=b||(ae=>ae);for(;z<te;){const ae=Math.floor((z+te)/2);re(E[ae])>a?te=ae:z=ae+1}return z}var iG=Oe(75196),oG=Oe.n(iG);function Qx(E,a,y){let x=y;return x<0&&(x+=1),x>1&&(x-=1),x<1/6?E+(a-E)*6*x:x<1/2?a:x<2/3?E+(a-E)*(2/3-x)*6:E}function sG(E){const a=E[0]/360,y=E[1]/100,x=E[2]/100,b=E[3];if(y===0)return[x*255,x*255,x*255,b];const z=x<.5?x*(1+y):x+y-x*y,te=2*x-z,re=Qx(te,z,a+1/3),ae=Qx(te,z,a),se=Qx(te,z,a-1/3);return[re*255,ae*255,se*255,b]}function xD(E){const a=oG().get(E);if(!a)return null;const{model:y,value:x}=a;return y==="rgb"?x:y==="hsl"?sG(x):null}const t1=(E,a)=>y=>E*(1-y)+a*y,lG=(E,a)=>{const y=xD(E),x=xD(a);return y===null||x===null?y?()=>E:()=>a:b=>{const z=new Array(4);for(let fe=0;fe<4;fe+=1){const me=y[fe],Se=x[fe];z[fe]=me*(1-b)+Se*b}const[te,re,ae,se]=z;return`rgba(${Math.round(te)}, ${Math.round(re)}, ${Math.round(ae)}, ${se})`}},uG=(E,a)=>typeof E=="number"&&typeof a=="number"?t1(E,a):typeof E=="string"&&typeof a=="string"?lG(E,a):()=>E,cG=(E,a)=>{const y=t1(E,a);return x=>Math.round(y(x))};function dG(E){return E===null}function SD(E){return!Lo(E)&&!dG(E)&&!Number.isNaN(E)}const Yx=Math.sqrt(50),Xx=Math.sqrt(10),Jx=Math.sqrt(2);function n1(E,a,y){const x=(a-E)/Math.max(0,y),b=Math.floor(Math.log(x)/Math.LN10),z=x/Lh(10,b);return b>=0?(z>=Yx?10:z>=Xx?5:z>=Jx?2:1)*Lh(10,b):-Lh(10,-b)/(z>=Yx?10:z>=Xx?5:z>=Jx?2:1)}function l$(E,a,y){const x=Math.abs(a-E)/Math.max(0,y);let b=Lh(10,Math.floor(Math.log(x)/Math.LN10));const z=x/b;return z>=Yx?b*=10:z>=Xx?b*=5:z>=Jx&&(b*=2),a<E?-b:b}const fG=(E,a,y=5)=>{const x=[E,a];let b=0,z=x.length-1,te=x[b],re=x[z],ae;return re<te&&([te,re]=[re,te],[b,z]=[z,b]),ae=n1(te,re,y),ae>0?(te=Math.floor(te/ae)*ae,re=Math.ceil(re/ae)*ae,ae=n1(te,re,y)):ae<0&&(te=Math.ceil(te*ae)/ae,re=Math.floor(re*ae)/ae,ae=n1(te,re,y)),ae>0?(x[b]=Math.floor(te/ae)*ae,x[z]=Math.ceil(re/ae)*ae):ae<0&&(x[b]=Math.ceil(te*ae)/ae,x[z]=Math.floor(re*ae)/ae),x};function hG(E,a){const y=a<E?a:E,x=E>a?E:a;return b=>Math.min(Math.max(y,b),x)}const gG=(E,a,y)=>{const[x,b]=E,[z,te]=a;let re,ae;return x<b?(re=Zx(x,b),ae=y(z,te)):(re=Zx(b,x),ae=y(te,z)),e1(ae,re)},vG=(E,a,y)=>{const x=Math.min(E.length,a.length)-1,b=new Array(x),z=new Array(x),te=E[0]>E[x],re=te?[...E].reverse():E,ae=te?[...a].reverse():a;for(let se=0;se<x;se+=1)b[se]=Zx(re[se],re[se+1]),z[se]=y(ae[se],ae[se+1]);return se=>{const fe=aG(E,se,1,x)-1,me=b[fe],Se=z[fe];return e1(Se,me)(se)}},bD=(E,a,y,x)=>(Math.min(E.length,a.length)>2?vG:gG)(E,a,x?cG:y);class mG extends AD{getDefaultOptions(){return{domain:[0,1],range:[0,1],nice:!1,clamp:!1,round:!1,interpolate:t1,tickCount:5}}map(a){return SD(a)?this.output(a):this.options.unknown}invert(a){return SD(a)?this.input(a):this.options.unknown}nice(){if(!this.options.nice)return;const[a,y,x,...b]=this.getTickMethodOptions();this.options.domain=this.chooseNice()(a,y,x,...b)}getTicks(){const{tickMethod:a}=this.options,[y,x,b,...z]=this.getTickMethodOptions();return a(y,x,b,...z)}getTickMethodOptions(){const{domain:a,tickCount:y}=this.options,x=a[0],b=a[a.length-1];return[x,b,y]}chooseNice(){return fG}rescale(){this.nice();const[a,y]=this.chooseTransforms();this.composeOutput(a,this.chooseClamp(a)),this.composeInput(a,y,this.chooseClamp(y))}chooseClamp(a){const{clamp:y,range:x}=this.options,b=this.options.domain.map(a),z=Math.min(b.length,x.length);return y?hG(b[0],b[z-1]):Kx}composeOutput(a,y){const{domain:x,range:b,round:z,interpolate:te}=this.options,re=bD(x.map(a),b,te,z);this.output=e1(re,y,a)}composeInput(a,y,x){const{domain:b,range:z}=this.options,te=bD(z,b.map(a),t1);this.input=e1(y,x,te)}}const pG=(E,a,y)=>{let x,b,z=E,te=a;if(z===te&&y>0)return[z];let re=n1(z,te,y);if(re===0||!Number.isFinite(re))return[];if(re>0){z=Math.ceil(z/re),te=Math.floor(te/re),b=new Array(x=Math.ceil(te-z+1));for(let ae=0;ae<x;ae+=1)b[ae]=(z+ae)*re}else{re=-re,z=Math.ceil(z*re),te=Math.floor(te*re),b=new Array(x=Math.ceil(te-z+1));for(let ae=0;ae<x;ae+=1)b[ae]=(z+ae)/re}return b};class Wv extends mG{getDefaultOptions(){return{domain:[0,1],range:[0,1],unknown:void 0,nice:!1,clamp:!1,round:!1,interpolate:uG,tickMethod:pG,tickCount:5}}chooseTransforms(){return[Kx,Kx]}clone(){return new Wv(this.options)}}function CD({map:E,initKey:a},y){const x=a(y);return E.has(x)?E.get(x):y}function yG({map:E,initKey:a},y){const x=a(y);return E.has(x)?E.get(x):(E.set(x,y),y)}function EG({map:E,initKey:a},y){const x=a(y);return E.has(x)&&(y=E.get(x),E.delete(x)),y}function AG(E){return typeof E=="object"?E.valueOf():E}class PD extends Map{constructor(a){if(super(),this.map=new Map,this.initKey=AG,a!==null)for(const[y,x]of a)this.set(y,x)}get(a){return super.get(CD({map:this.map,initKey:this.initKey},a))}has(a){return super.has(CD({map:this.map,initKey:this.initKey},a))}set(a,y){return super.set(yG({map:this.map,initKey:this.initKey},a),y)}delete(a){return super.delete(EG({map:this.map,initKey:this.initKey},a))}}const qx=Symbol("defaultUnknown");function wD(E,a,y){for(let x=0;x<a.length;x+=1)E.has(a[x])||E.set(y(a[x]),x)}function MD(E){const{value:a,from:y,to:x,mapper:b,notFoundReturn:z}=E;let te=b.get(a);if(te===void 0){if(z!==qx)return z;te=y.push(a)-1,b.set(a,te)}return x[te%x.length]}function DD(E){return E instanceof Date?a=>`${a}`:typeof E=="object"?a=>JSON.stringify(a):a=>a}class $x extends AD{getDefaultOptions(){return{domain:[],range:[],unknown:qx}}constructor(a){super(a)}map(a){return this.domainIndexMap.size===0&&wD(this.domainIndexMap,this.getDomain(),this.domainKey),MD({value:this.domainKey(a),mapper:this.domainIndexMap,from:this.getDomain(),to:this.getRange(),notFoundReturn:this.options.unknown})}invert(a){return this.rangeIndexMap.size===0&&wD(this.rangeIndexMap,this.getRange(),this.rangeKey),MD({value:this.rangeKey(a),mapper:this.rangeIndexMap,from:this.getRange(),to:this.getDomain(),notFoundReturn:this.options.unknown})}rescale(a){const[y]=this.options.domain,[x]=this.options.range;if(this.domainKey=DD(y),this.rangeKey=DD(x),!this.rangeIndexMap){this.rangeIndexMap=new Map,this.domainIndexMap=new Map;return}(!a||a.range)&&this.rangeIndexMap.clear(),(!a||a.domain||a.compare)&&(this.domainIndexMap.clear(),this.sortedDomain=void 0)}clone(){return new $x(this.options)}getRange(){return this.options.range}getDomain(){if(this.sortedDomain)return this.sortedDomain;const{domain:a,compare:y}=this.options;return this.sortedDomain=y?[...a].sort(y):a,this.sortedDomain}}function xG(E){const a=Math.min(...E);return E.map(y=>y/a)}function SG(E,a){const y=E.length,x=a-y;return x>0?[...E,...new Array(x).fill(1)]:x<0?E.slice(0,a):E}function bG(E){return Math.round(E*1e12)/1e12}function CG(E){const{domain:a,range:y,paddingOuter:x,paddingInner:b,flex:z,round:te,align:re}=E,ae=a.length,se=SG(z,ae),[fe,me]=y,Se=me-fe,Te=2/ae*x+1-1/ae*b,ke=Se/Te,We=ke*b/ae,je=ke-ae*We,Ke=xG(se),Qe=Ke.reduce((Xt,vn)=>Xt+vn),Je=je/Qe,at=new PD(a.map((Xt,vn)=>{const on=Ke[vn]*Je;return[Xt,te?Math.floor(on):on]})),ot=new PD(a.map((Xt,vn)=>{const wn=Ke[vn]*Je+We;return[Xt,te?Math.floor(wn):wn]})),ut=Array.from(ot.values()).reduce((Xt,vn)=>Xt+vn),lt=(Se-(ut-ut/ae*b))*re,Dt=fe+lt;let Bt=te?Math.round(Dt):Dt;const Vt=new Array(ae);for(let Xt=0;Xt<ae;Xt+=1){Vt[Xt]=bG(Bt);const vn=a[Xt];Bt+=ot.get(vn)}return{valueBandWidth:at,valueStep:ot,adjustedRange:Vt}}function PG(E){var a;const{domain:y}=E,x=y.length;if(x===0)return{valueBandWidth:void 0,valueStep:void 0,adjustedRange:[]};if(!!(!((a=E.flex)===null||a===void 0)&&a.length))return CG(E);const{range:z,paddingOuter:te,paddingInner:re,round:ae,align:se}=E;let fe,me,Se=z[0];const ke=z[1]-Se,We=te*2,je=x-re;fe=ke/Math.max(1,We+je),ae&&(fe=Math.floor(fe)),Se+=(ke-fe*(x-re))*se,me=fe*(1-re),ae&&(Se=Math.round(Se),me=Math.round(me));const Ke=new Array(x).fill(0).map((Qe,Je)=>Se+Je*fe);return{valueStep:fe,valueBandWidth:me,adjustedRange:Ke}}class eS extends $x{getDefaultOptions(){return{domain:[],range:[0,1],align:.5,round:!1,paddingInner:0,paddingOuter:0,padding:0,unknown:qx,flex:[]}}constructor(a){super(a)}clone(){return new eS(this.options)}getStep(a){return this.valueStep===void 0?1:typeof this.valueStep=="number"?this.valueStep:a===void 0?Array.from(this.valueStep.values())[0]:this.valueStep.get(a)}getBandWidth(a){return this.valueBandWidth===void 0?1:typeof this.valueBandWidth=="number"?this.valueBandWidth:a===void 0?Array.from(this.valueBandWidth.values())[0]:this.valueBandWidth.get(a)}getRange(){return this.adjustedRange}getPaddingInner(){const{padding:a,paddingInner:y}=this.options;return a>0?a:y}getPaddingOuter(){const{padding:a,paddingOuter:y}=this.options;return a>0?a:y}rescale(){super.rescale();const{align:a,domain:y,range:x,round:b,flex:z}=this.options,{adjustedRange:te,valueBandWidth:re,valueStep:ae}=PG({align:a,range:x,round:b,flex:z,paddingInner:this.getPaddingInner(),paddingOuter:this.getPaddingOuter(),domain:y});this.valueStep=ae,this.valueBandWidth=re,this.adjustedRange=te}}var wG=function(E){(0,Rt.ZT)(a,E);function a(y){var x=this,b=y.style,z=(0,Rt._T)(y,["style"]);return x=E.call(this,tc({},{type:"column"},(0,Rt.pi)({style:b},z)))||this,x.columnsGroup=new su({name:"columns"}),x.appendChild(x.columnsGroup),x.render(),x}return a.prototype.render=function(){var y=this.attributes,x=y.columns,b=y.x,z=y.y;this.columnsGroup.style.transform="translate(".concat(b,", ").concat(z,")"),Vi(this.columnsGroup).selectAll(".column").data(x.flat()).join(function(te){return te.append("rect").attr("className","column").each(function(re){this.attr(re)})},function(te){return te.each(function(re){this.attr(re)})},function(te){return te.remove()})},a.prototype.update=function(y){this.attr(Au({},this.attributes,y)),this.render()},a.prototype.clear=function(){this.removeChildren()},a}(ul),MG=function(E){(0,Rt.ZT)(a,E);function a(y){var x=this,b=y.style,z=(0,Rt._T)(y,["style"]);return x=E.call(this,tc({},{type:"lines"},(0,Rt.pi)({style:b},z)))||this,x.linesGroup=x.appendChild(new su),x.areasGroup=x.appendChild(new su),x.render(),x}return a.prototype.render=function(){var y=this.attributes,x=y.lines,b=y.areas,z=y.x,te=y.y;this.style.transform="translate(".concat(z,", ").concat(te,")"),x&&this.renderLines(x),b&&this.renderAreas(b)},a.prototype.clear=function(){this.linesGroup.removeChildren(),this.areasGroup.removeChildren()},a.prototype.update=function(y){this.attr(Au({},this.attributes,y)),this.render()},a.prototype.renderLines=function(y){Vi(this.linesGroup).selectAll(".line").data(y).join(function(x){return x.append("path").attr("className","line").each(function(b){this.attr(b)})},function(x){return x.each(function(b){this.attr(b)})},function(x){return x.remove()})},a.prototype.renderAreas=function(y){Vi(this.linesGroup).selectAll(".area").data(y).join(function(x){return x.append("path").attr("className","area").each(function(b){this.attr(b)})},function(x){return x.each(function(b){this.style(b)})},function(x){return x.remove()})},a}(ul);function DG(E,a,y,x){var b,z=[],te=!!x,re,ae,se=[1/0,1/0],fe=[-1/0,-1/0],me,Se,Te;if(te){b=(0,Rt.CR)(x,2),se=b[0],fe=b[1];for(var ke=0,We=E.length;ke<We;ke+=1){var je=E[ke];se=Ig(se,je),fe=Lg(fe,je)}}for(var ke=0,Ke=E.length;ke<Ke;ke+=1){var je=E[ke];if(ke===0&&!y)Te=je;else if(ke===Ke-1&&!y)Se=je,z.push(Te),z.push(Se);else{var Qe=[ke?ke-1:Ke-1,ke-1][y?0:1];re=E[Qe],ae=E[y?(ke+1)%Ke:ke+1];var Je=[0,0];Je=Fx(ae,re),Je=Ff(Je,a);var at=Fv(je,re),ot=Fv(je,ae),ut=at+ot;ut!==0&&(at/=ut,ot/=ut);var ft=Ff(Je,-at),lt=Ff(Je,ot);Se=_v(je,ft),me=_v(je,lt),me=Ig(me,Lg(ae,je)),me=Lg(me,Ig(ae,je)),ft=Fx(me,je),ft=Ff(ft,-at/ot),Se=_v(je,ft),Se=Ig(Se,Lg(re,je)),Se=Lg(Se,Ig(re,je)),lt=Fx(je,Se),lt=Ff(lt,ot/at),me=_v(je,lt),te&&(Se=Lg(Se,se),Se=Ig(Se,fe),me=Lg(me,se),me=Ig(me,fe)),z.push(Te),z.push(Se),Te=me}}return y&&z.push(z.shift()),z}function IG(E,a,y){var x;a===void 0&&(a=!1),y===void 0&&(y=[[0,0],[1,1]]);for(var b=!!a,z=[],te=0,re=E.length;te<re;te+=2)z.push([E[te],E[te+1]]);for(var ae=DG(z,.4,b,y),se=z.length,fe=[],me,Se,Te,te=0;te<se-1;te+=1)me=ae[te*2],Se=ae[te*2+1],Te=z[te+1],fe.push(["C",me[0],me[1],Se[0],Se[1],Te[0],Te[1]]);return b&&(me=ae[se],Se=ae[se+1],x=(0,Rt.CR)(z,1),Te=x[0],fe.push(["C",me[0],me[1],Se[0],Se[1],Te[0],Te[1]])),fe}function LG(E,a){var y,x=a.x,b=a.y,z=(0,Rt.CR)(b.getOptions().range||[0,0],2),te=z[0],re=z[1];return re>te&&(y=(0,Rt.CR)([te,re],2),re=y[0],te=y[1]),E.map(function(ae){var se=ae.map(function(fe,me){return[x.map(me),bl(b.map(fe),re,te)]});return se})}function jv(E,a){a===void 0&&(a=!1);var y=a?E.length-1:0,x=E.map(function(b,z){return(0,Rt.ev)([z===y?"M":"L"],(0,Rt.CR)(b),!1)});return a?x.reverse():x}function r1(E,a){if(a===void 0&&(a=!1),E.length<=2)return jv(E);for(var y=[],x=E.length,b=0;b<x;b+=1){var z=a?E[x-b-1]:E[b];Vl(z,y.slice(-2))||y.push.apply(y,(0,Rt.ev)([],(0,Rt.CR)(z),!1))}var te=IG(y,!1);return a?te.unshift((0,Rt.ev)(["M"],(0,Rt.CR)(E[x-1]),!1)):te.unshift((0,Rt.ev)(["M"],(0,Rt.CR)(E[0]),!1)),te}function tS(E,a,y){var x=s0(E);return x.push(["L",a,y],["L",0,y],["Z"]),x}function OG(E,a,y,x){return E.map(function(b){return tS(a?r1(b):jv(b),y,x)})}function TG(E,a,y){for(var x=[],b=E.length-1;b>=0;b-=1){var z=E[b],te=jv(z),re=void 0;if(b===0)re=tS(te,a,y);else{var ae=E[b-1],se=jv(ae,!0);se[0][0]="L",re=(0,Rt.ev)((0,Rt.ev)((0,Rt.ev)([],(0,Rt.CR)(te),!1),(0,Rt.CR)(se),!1),[["Z"]],!1)}x.push(re)}return x}function BG(E,a,y){for(var x=[],b=E.length-1;b>=0;b-=1){var z=E[b],te=r1(z),re=void 0;if(b===0)re=tS(te,a,y);else{var ae=E[b-1],se=r1(ae,!0),fe=z[0];se[0][0]="L",re=(0,Rt.ev)((0,Rt.ev)((0,Rt.ev)([],(0,Rt.CR)(te),!1),(0,Rt.CR)(se),!1),[(0,Rt.ev)(["M"],(0,Rt.CR)(fe),!1),["Z"]],!1)}x.push(re)}return x}var NG=function(E,a){if(Tc(E)){for(var y,x=1/0,b=0;b<E.length;b++){var z=E[b],te=Gi(a)?a(z):z[a];te<x&&(y=z,x=te)}return y}},RG=function(E,a){if(Tc(E)){for(var y,x=-1/0,b=0;b<E.length;b++){var z=E[b],te=Gi(a)?a(z):z[a];te>x&&(y=z,x=te)}return y}};function ID(E){return E.length===0?[0,0]:[dm(NG(E,function(a){return dm(a)||0})),fm(RG(E,function(a){return fm(a)||0}))]}function LD(E){for(var a=s0(E),y=a[0].length,x=(0,Rt.CR)([Array(y).fill(0),Array(y).fill(0)],2),b=x[0],z=x[1],te=0;te<a.length;te+=1)for(var re=a[te],ae=0;ae<y;ae+=1)re[ae]>=0?(re[ae]+=b[ae],b[ae]=re[ae]):(re[ae]+=z[ae],z[ae]=re[ae]);return a}var _G=function(E){(0,Rt.ZT)(a,E);function a(y){return E.call(this,y,{type:"line",x:0,y:0,width:200,height:20,isStack:!1,color:["#83daad","#edbf45","#d2cef9","#e290b3","#6f63f4"],smooth:!0,lineLineWidth:1,areaOpacity:0,isGroup:!1,columnLineWidth:1,columnStroke:"#fff",scale:1,spacing:0})||this}return Object.defineProperty(a.prototype,"rawData",{get:function(){var y=this.attributes.data;if(!y||(y==null?void 0:y.length)===0)return[[]];var x=s0(y);return Oi(x[0])?[x]:x},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"data",{get:function(){return this.attributes.isStack?LD(this.rawData):this.rawData},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"scales",{get:function(){return this.createScales(this.data)},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"baseline",{get:function(){var y=this.scales.y,x=(0,Rt.CR)(y.getOptions().domain||[0,0],2),b=x[0],z=x[1];return z<0?y.map(z):y.map(b<0?0:b)},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"containerShape",{get:function(){var y=this.attributes,x=y.width,b=y.height;return{width:x,height:b}},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"linesStyle",{get:function(){var y=this,x=this.attributes,b=x.type,z=x.isStack,te=x.smooth;if(b!=="line")throw new Error("linesStyle can only be used in line type");var re=ko(this.attributes,"area"),ae=ko(this.attributes,"line"),se=this.containerShape.width,fe=this.data;if(fe[0].length===0)return{lines:[],areas:[]};var me=this.scales,Se=me.x,Te=me.y,ke=LG(fe,{type:"line",x:Se,y:Te}),We=[];if(re){var je=this.baseline;z?We=te?BG(ke,se,je):TG(ke,se,je):We=OG(ke,te,se,je)}return{lines:ke.map(function(Ke,Qe){return(0,Rt.pi)({stroke:y.getColor(Qe),d:te?r1(Ke):jv(Ke)},ae)}),areas:We.map(function(Ke,Qe){return(0,Rt.pi)({d:Ke,fill:y.getColor(Qe)},re)})}},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"columnsStyle",{get:function(){var y=this,x=ko(this.attributes,"column"),b=this.attributes,z=b.isStack,te=b.type,re=b.scale;if(te!=="column")throw new Error("columnsStyle can only be used in column type");var ae=this.containerShape.height,se=this.rawData;if(!se)return{columns:[]};z&&(se=LD(se));var fe=this.createScales(se),me=fe.x,Se=fe.y,Te=(0,Rt.CR)(ID(se),2),ke=Te[0],We=Te[1],je=new Wv({domain:[0,We-(ke>0?0:ke)],range:[0,ae*re]}),Ke=me.getBandWidth(),Qe=this.rawData;return{columns:se.map(function(Je,at){return Je.map(function(ot,ut){var ft=Ke/se.length,lt=function(){return{x:me.map(ut)+ft*at,y:ot>=0?Se.map(ot):Se.map(0),width:ft,height:je.map(Math.abs(ot))}},Dt=function(){return{x:me.map(ut),y:Se.map(ot),width:Ke,height:je.map(Qe[at][ut])}};return(0,Rt.pi)((0,Rt.pi)({fill:y.getColor(at)},x),z?Dt():lt())})})}},enumerable:!1,configurable:!0}),a.prototype.render=function(y,x){aW(x,".container","rect").attr("className","container").node();var b=y.type,z=y.x,te=y.y,re="spark".concat(b),ae=(0,Rt.pi)({x:z,y:te},b==="line"?this.linesStyle:this.columnsStyle);Vi(x).selectAll(".spark").data([b]).join(function(se){return se.append(function(fe){return fe==="line"?new MG({className:re,style:ae}):new wG({className:re,style:ae})}).attr("className","spark ".concat(re))},function(se){return se.update(ae)},function(se){return se.remove()})},a.prototype.getColor=function(y){var x=this.attributes.color;return Tc(x)?x[y%x.length]:Gi(x)?x.call(null,y):x},a.prototype.createScales=function(y){var x,b,z=this.attributes,te=z.type,re=z.scale,ae=z.range,se=ae===void 0?[]:ae,fe=z.spacing,me=this.containerShape,Se=me.width,Te=me.height,ke=(0,Rt.CR)(ID(y),2),We=ke[0],je=ke[1],Ke=new Wv({domain:[(x=se[0])!==null&&x!==void 0?x:We,(b=se[1])!==null&&b!==void 0?b:je],range:[Te,Te*(1-re)]});return te==="line"?{type:te,x:new Wv({domain:[0,y[0].length-1],range:[0,Se]}),y:Ke}:{type:te,x:new eS({domain:y[0].map(function(Qe,Je){return Je}),range:[0,Se],paddingInner:fe,paddingOuter:fe/2,align:.5}),y:Ke}},a.tag="sparkline",a}(Bl),OD={fill:"#fff",lineWidth:1,radius:2,size:10,stroke:"#bfbfbf",strokeOpacity:1,zIndex:0},TD={fill:"#000",fillOpacity:.45,fontSize:12,textAlign:"center",textBaseline:"middle",zIndex:1},BD={x:0,y:0,orientation:"horizontal",showLabel:!0,type:"start"},cf=Fd({foreground:"foreground",handle:"handle",selection:"selection",sparkline:"sparkline",sparklineGroup:"sparkline-group",track:"track",brushArea:"brush-area"},"slider"),bh=Fd({labelGroup:"label-group",label:"label",iconGroup:"icon-group",icon:"icon",iconRect:"icon-rect",iconLine:"icon-line"},"handle"),FG=function(E){(0,Rt.ZT)(a,E);function a(){return E!==null&&E.apply(this,arguments)||this}return a.prototype.render=function(y,x){var b=y.x,z=y.y,te=y.size,re=te===void 0?10:te,ae=y.radius,se=ae===void 0?re/4:ae,fe=y.orientation,me=(0,Rt._T)(y,["x","y","size","radius","orientation"]),Se=re,Te=Se*2.4,ke=Vi(x).maybeAppendByClassName(bh.iconRect,"rect").styles((0,Rt.pi)((0,Rt.pi)({},me),{width:Se,height:Te,radius:se,x:b-Se/2,y:z-Te/2,transformOrigin:"center"})),We=b+1/3*Se-Se/2,je=b+2/3*Se-Se/2,Ke=z+1/4*Te-Te/2,Qe=z+3/4*Te-Te/2;ke.maybeAppendByClassName("".concat(bh.iconLine,"-1"),"line").styles((0,Rt.pi)({x1:We,x2:We,y1:Ke,y2:Qe},me)),ke.maybeAppendByClassName("".concat(bh.iconLine,"-2"),"line").styles((0,Rt.pi)({x1:je,x2:je,y1:Ke,y2:Qe},me)),fe==="vertical"&&(ke.node().style.transform="rotate(90)")},a}(Bl),kG=function(E){(0,Rt.ZT)(a,E);function a(y){return E.call(this,y,BD)||this}return a.prototype.renderLabel=function(y){var x=this,b=this.attributes,z=b.x,te=b.y,re=b.showLabel,ae=ko(this.attributes,"label"),se=ae.x,fe=se===void 0?0:se,me=ae.y,Se=me===void 0?0:me,Te=ae.transform,ke=ae.transformOrigin,We=(0,Rt._T)(ae,["x","y","transform","transformOrigin"]),je=(0,Rt.CR)(Rf(We,[]),2),Ke=je[0],Qe=je[1],Je=Vi(y).maybeAppendByClassName(bh.labelGroup,"g").styles(Qe),at=(0,Rt.pi)((0,Rt.pi)({},TD),Ke),ot=at.text,ut=(0,Rt._T)(at,["text"]);Wc(!!re,Je,function(ft){x.label=ft.maybeAppendByClassName(bh.label,"text").styles((0,Rt.pi)((0,Rt.pi)({},ut),{x:z+fe,y:te+Se,transform:Te,transformOrigin:ke,text:"".concat(ot)})),x.label.on("mousedown",function(lt){lt.stopPropagation()}),x.label.on("touchstart",function(lt){lt.stopPropagation()})})},a.prototype.renderIcon=function(y){var x=this.attributes,b=x.x,z=x.y,te=x.orientation,re=x.type,ae=(0,Rt.pi)((0,Rt.pi)({x:b,y:z,orientation:te},OD),ko(this.attributes,"icon")),se=this.attributes.iconShape,fe=se===void 0?function(){return new FG({style:ae})}:se,me=Vi(y).maybeAppendByClassName(bh.iconGroup,"g");me.selectAll(bh.icon.class).data([fe]).join(function(Se){return Se.append(typeof fe=="string"?fe:function(){return fe(re)}).attr("className",bh.icon.name)},function(Se){return Se.update(ae)},function(Se){return Se.remove()})},a.prototype.render=function(y,x){this.renderIcon(x),this.renderLabel(x)},a}(Bl),zG=function(E){(0,Rt.ZT)(a,E);function a(y){var x=E.call(this,y,(0,Rt.pi)((0,Rt.pi)((0,Rt.pi)({x:0,y:0,animate:{duration:100,fill:"both"},brushable:!0,formatter:function(b){return b.toString()},handleSpacing:2,orientation:"horizontal",padding:0,autoFitLabel:!0,scrollable:!0,selectionFill:"#5B8FF9",selectionFillOpacity:.45,selectionZIndex:2,showHandle:!0,showLabel:!0,slidable:!0,trackFill:"#416180",trackLength:200,trackOpacity:.05,trackSize:20,trackZIndex:-1,values:[0,1],type:"range",selectionType:"select",handleIconOffset:0},A0(BD,"handle")),A0(OD,"handleIcon")),A0(TD,"handleLabel")))||this;return x.range=[0,1],x.onDragStart=function(b){return function(z){z.stopPropagation(),x.target=b,x.prevPos=x.getOrientVal(ED(z));var te=x.availableSpace,re=te.x,ae=te.y,se=x.getBBox(),fe=se.x,me=se.y;x.selectionStartPos=x.getRatio(x.prevPos-x.getOrientVal([re,ae])-x.getOrientVal([+fe,+me])),x.selectionWidth=0,document.addEventListener("pointermove",x.onDragging),document.addEventListener("pointerup",x.onDragEnd)}},x.onDragging=function(b){var z=x.attributes,te=z.slidable,re=z.brushable,ae=z.type;b.stopPropagation();var se=x.getOrientVal(ED(b)),fe=se-x.prevPos;if(fe){var me=x.getRatio(fe);switch(x.target){case"start":te&&x.setValuesOffset(me);break;case"end":te&&x.setValuesOffset(0,me);break;case"selection":te&&x.setValuesOffset(me,me);break;case"track":if(!re)return;x.selectionWidth+=me,ae==="range"?x.innerSetValues([x.selectionStartPos,x.selectionStartPos+x.selectionWidth].sort(),!0):x.innerSetValues([0,x.selectionStartPos+x.selectionWidth],!0);break;default:break}x.prevPos=se}},x.onDragEnd=function(){document.removeEventListener("pointermove",x.onDragging),document.removeEventListener("pointermove",x.onDragging),document.removeEventListener("pointerup",x.onDragEnd),x.target="",x.updateHandlesPosition(!1)},x.onValueChange=function(b){var z=x.attributes,te=z.onChange,re=z.type,ae=re==="range"?b:b[1],se=re==="range"?x.getValues():x.getValues()[1],fe=new ql("valuechange",{detail:{oldValue:ae,value:se}});x.dispatchEvent(fe),te==null||te(se)},x.selectionStartPos=0,x.selectionWidth=0,x.prevPos=0,x.target="",x}return Object.defineProperty(a.prototype,"values",{get:function(){return this.attributes.values},set:function(y){this.attributes.values=this.clampValues(y)},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"sparklineStyle",{get:function(){var y=this.attributes.orientation;if(y!=="horizontal")return null;var x=ko(this.attributes,"sparkline");return(0,Rt.pi)((0,Rt.pi)({zIndex:0},this.availableSpace),x)},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"shape",{get:function(){var y=this.attributes,x=y.trackLength,b=y.trackSize,z=(0,Rt.CR)(this.getOrientVal([[x,b],[b,x]]),2),te=z[0],re=z[1];return{width:te,height:re}},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"availableSpace",{get:function(){var y=this.attributes,x=y.x,b=y.y,z=y.padding,te=(0,Rt.CR)(Ou(z),4),re=te[0],ae=te[1],se=te[2],fe=te[3],me=this.shape,Se=me.width,Te=me.height;return{x:fe,y:re,width:Se-(fe+ae),height:Te-(re+se)}},enumerable:!1,configurable:!0}),a.prototype.getValues=function(){return this.values},a.prototype.setValues=function(y,x){y===void 0&&(y=[0,0]),x===void 0&&(x=!1),this.attributes.values=y;var b=x===!1?!1:this.attributes.animate;this.updateSelectionArea(b),this.updateHandlesPosition(b)},a.prototype.updateSelectionArea=function(y){var x=this.calcSelectionArea();this.foregroundGroup.selectAll(cf.selection.class).each(function(b,z){kd(this,x[z],y)})},a.prototype.updateHandlesPosition=function(y){this.attributes.showHandle&&(this.startHandle&&kd(this.startHandle,this.getHandleStyle("start"),y),this.endHandle&&kd(this.endHandle,this.getHandleStyle("end"),y))},a.prototype.innerSetValues=function(y,x){y===void 0&&(y=[0,0]),x===void 0&&(x=!1);var b=this.values,z=this.clampValues(y);this.attributes.values=z,this.setValues(z),x&&this.onValueChange(b)},a.prototype.renderTrack=function(y){var x=this.attributes,b=x.x,z=x.y,te=ko(this.attributes,"track");this.trackShape=Vi(y).maybeAppendByClassName(cf.track,"rect").styles((0,Rt.pi)((0,Rt.pi)({x:b,y:z},this.shape),te))},a.prototype.renderBrushArea=function(y){var x=this.attributes,b=x.x,z=x.y,te=x.brushable;this.brushArea=Vi(y).maybeAppendByClassName(cf.brushArea,"rect").styles((0,Rt.pi)({x:b,y:z,fill:"transparent",cursor:te?"crosshair":"default"},this.shape))},a.prototype.renderSparkline=function(y){var x=this,b=this.attributes,z=b.x,te=b.y,re=b.orientation,ae=Vi(y).maybeAppendByClassName(cf.sparklineGroup,"g");Wc(re==="horizontal",ae,function(se){var fe=(0,Rt.pi)((0,Rt.pi)({},x.sparklineStyle),{x:z,y:te});se.maybeAppendByClassName(cf.sparkline,function(){return new _G({style:fe})}).update(fe)})},a.prototype.renderHandles=function(){var y=this,x,b=this.attributes,z=b.showHandle,te=b.type,re=te==="range"?["start","end"]:["end"],ae=z?re:[],se=this;(x=this.foregroundGroup)===null||x===void 0||x.selectAll(cf.handle.class).data(ae.map(function(fe){return{type:fe}}),function(fe){return fe.type}).join(function(fe){return fe.append(function(me){var Se=me.type;return new kG({style:y.getHandleStyle(Se)})}).each(function(me){var Se=me.type;this.attr("class","".concat(cf.handle.name," ").concat(Se,"-handle"));var Te="".concat(Se,"Handle");se[Te]=this,this.addEventListener("pointerdown",se.onDragStart(Se))})},function(fe){return fe.each(function(me){var Se=me.type;this.update(se.getHandleStyle(Se))})},function(fe){return fe.each(function(me){var Se=me.type,Te="".concat(Se,"Handle");se[Te]=void 0}).remove()})},a.prototype.renderSelection=function(y){var x=this.attributes,b=x.x,z=x.y,te=x.type,re=x.selectionType;this.foregroundGroup=Vi(y).maybeAppendByClassName(cf.foreground,"g");var ae=ko(this.attributes,"selection"),se=function(me){return me.style("visibility",function(Se){return Se.show?"visible":"hidden"}).style("cursor",function(Se){return re==="select"?"grab":re==="invert"?"crosshair":"default"}).styles((0,Rt.pi)((0,Rt.pi)({},ae),{transform:"translate(".concat(b,", ").concat(z,")")}))},fe=this;this.foregroundGroup.selectAll(cf.selection.class).data(te==="value"?[]:this.calcSelectionArea().map(function(me,Se){return{style:(0,Rt.pi)({},me),index:Se,show:re==="select"?Se===1:Se!==1}}),function(me){return me.index}).join(function(me){return me.append("rect").attr("className",cf.selection.name).call(se).each(function(Se,Te){var ke=this;Te===1?(fe.selectionShape=Vi(this),this.on("pointerdown",function(We){ke.attr("cursor","grabbing"),fe.onDragStart("selection")(We)}),fe.dispatchCustomEvent(this,"pointerenter","selectionMouseenter"),fe.dispatchCustomEvent(this,"pointerleave","selectionMouseleave"),fe.dispatchCustomEvent(this,"click","selectionClick"),this.addEventListener("pointerdown",function(){ke.attr("cursor","grabbing")}),this.addEventListener("pointerup",function(){ke.attr("cursor","pointer")}),this.addEventListener("pointerover",function(){ke.attr("cursor","pointer")})):this.on("pointerdown",fe.onDragStart("track"))})},function(me){return me.call(se)},function(me){return me.remove()}),this.updateSelectionArea(!1),this.renderHandles()},a.prototype.render=function(y,x){this.renderTrack(x),this.renderSparkline(x),this.renderBrushArea(x),this.renderSelection(x)},a.prototype.clampValues=function(y,x){var b;x===void 0&&(x=4);var z=(0,Rt.CR)(this.range,2),te=z[0],re=z[1],ae=(0,Rt.CR)(this.getValues().map(function(je){return Hx(je,x)}),2),se=ae[0],fe=ae[1],me=Array.isArray(y)?y:[se,y!=null?y:fe],Se=(0,Rt.CR)((me||[se,fe]).map(function(je){return Hx(je,x)}),2),Te=Se[0],ke=Se[1];if(this.attributes.type==="value")return[0,bl(ke,te,re)];Te>ke&&(b=(0,Rt.CR)([ke,Te],2),Te=b[0],ke=b[1]);var We=ke-Te;return We>re-te?[te,re]:Te<te?se===te&&fe===ke?[te,ke]:[te,We+te]:ke>re?fe===re&&se===Te?[Te,re]:[re-We,re]:[Te,ke]},a.prototype.calcSelectionArea=function(y){var x=(0,Rt.CR)(this.clampValues(y),2),b=x[0],z=x[1],te=this.availableSpace,re=te.x,ae=te.y,se=te.width,fe=te.height;return this.getOrientVal([[{y:ae,height:fe,x:re,width:b*se},{y:ae,height:fe,x:b*se+re,width:(z-b)*se},{y:ae,height:fe,x:z*se,width:(1-z)*se}],[{x:re,width:se,y:ae,height:b*fe},{x:re,width:se,y:b*fe+ae,height:(z-b)*fe},{x:re,width:se,y:z*fe,height:(1-z)*fe}]])},a.prototype.calcHandlePosition=function(y){var x=this.attributes.handleIconOffset,b=this.availableSpace,z=b.x,te=b.y,re=b.width,ae=b.height,se=(0,Rt.CR)(this.clampValues(),2),fe=se[0],me=se[1],Se=y==="start"?-x:x,Te=(y==="start"?fe:me)*this.getOrientVal([re,ae])+Se;return{x:z+this.getOrientVal([Te,re/2]),y:te+this.getOrientVal([ae/2,Te])}},a.prototype.inferTextStyle=function(y){var x=this.attributes.orientation;return x==="horizontal"?{}:y==="start"?{transformOrigin:"left center",transform:"rotate(90)",textAlign:"start"}:y==="end"?{transformOrigin:"right center",transform:"rotate(90)",textAlign:"end"}:{}},a.prototype.calcHandleText=function(y){var x,b=this.attributes,z=b.type,te=b.orientation,re=b.formatter,ae=b.autoFitLabel,se=ko(this.attributes,"handle"),fe=ko(se,"label"),me=se.spacing,Se=this.getHandleSize(),Te=this.clampValues(),ke=y==="start"?Te[0]:Te[1],We=re(ke),je=new Mx({style:(0,Rt.pi)((0,Rt.pi)((0,Rt.pi)({},fe),this.inferTextStyle(y)),{text:We})}),Ke=je.getBBox(),Qe=Ke.width,Je=Ke.height;if(je.destroy(),!ae){if(z==="value")return{text:We,x:0,y:-Je-me};var at=me+Se+(te==="horizontal"?Qe/2:0);return x={text:We},x[te==="horizontal"?"x":"y"]=y==="start"?-at:at,x}var ot=0,ut=0,ft=this.availableSpace,lt=ft.width,Dt=ft.height,Bt=this.calcSelectionArea()[1],Vt=Bt.x,Xt=Bt.y,vn=Bt.width,on=Bt.height,wn=me+Se;if(te==="horizontal"){var qn=wn+Qe/2;if(y==="start"){var yn=Vt-wn-Qe;ot=yn>0?-qn:qn}else{var En=lt-Vt-vn-wn>Qe;ot=En?qn:-qn}}else{var Pn=wn,or=Je+wn;y==="start"?ut=Xt-Se>Je?-or:Pn:ut=Dt-(Xt+on)-Se>Je?or:-Pn}return{x:ot,y:ut,text:We}},a.prototype.getHandleLabelStyle=function(y){var x=ko(this.attributes,"handleLabel");return(0,Rt.pi)((0,Rt.pi)((0,Rt.pi)({},x),this.calcHandleText(y)),this.inferTextStyle(y))},a.prototype.getHandleIconStyle=function(){var y=this.attributes.handleIconShape,x=ko(this.attributes,"handleIcon"),b=this.getOrientVal(["ew-resize","ns-resize"]),z=this.getHandleSize();return(0,Rt.pi)({cursor:b,shape:y,size:z},x)},a.prototype.getHandleStyle=function(y){var x=this.attributes,b=x.x,z=x.y,te=x.showLabel,re=x.showLabelOnInteraction,ae=x.orientation,se=this.calcHandlePosition(y),fe=se.x,me=se.y,Se=this.calcHandleText(y),Te=te;return!te&&re&&(this.target?Te=!0:Te=!1),(0,Rt.pi)((0,Rt.pi)((0,Rt.pi)({},A0(this.getHandleIconStyle(),"icon")),A0((0,Rt.pi)((0,Rt.pi)({},this.getHandleLabelStyle(y)),Se),"label")),{transform:"translate(".concat(fe+b,", ").concat(me+z,")"),orientation:ae,showLabel:Te,type:y,zIndex:3})},a.prototype.getHandleSize=function(){var y=this.attributes,x=y.handleIconSize,b=y.width,z=y.height;return x||Math.floor((this.getOrientVal([+z,+b])+4)/2.4)},a.prototype.getOrientVal=function(y){var x=(0,Rt.CR)(y,2),b=x[0],z=x[1],te=this.attributes.orientation;return te==="horizontal"?b:z},a.prototype.setValuesOffset=function(y,x,b){x===void 0&&(x=0),b===void 0&&(b=!1);var z=this.attributes.type,te=(0,Rt.CR)(this.getValues(),2),re=te[0],ae=te[1],se=z==="range"?y:0,fe=[re+se,ae+x].sort();b?this.setValues(fe):this.innerSetValues(fe,!0)},a.prototype.getRatio=function(y){var x=this.availableSpace,b=x.width,z=x.height;return y/this.getOrientVal([b,z])},a.prototype.dispatchCustomEvent=function(y,x,b){var z=this;y.on(x,function(te){te.stopPropagation(),z.dispatchEvent(new ql(b,{detail:te}))})},a.prototype.bindEvents=function(){this.addEventListener("wheel",this.onScroll);var y=this.brushArea;this.dispatchCustomEvent(y,"click","trackClick"),this.dispatchCustomEvent(y,"pointerenter","trackMouseenter"),this.dispatchCustomEvent(y,"pointerleave","trackMouseleave"),y.on("pointerdown",this.onDragStart("track"))},a.prototype.onScroll=function(y){var x=this.attributes.scrollable;if(x){var b=y.deltaX,z=y.deltaY,te=z||b,re=this.getRatio(te);this.setValuesOffset(re,re,!0)}},a.tag="slider",a}(Bl),UG={backgroundFill:"#262626",backgroundLineCap:"round",backgroundLineWidth:1,backgroundStroke:"#333",backgroundZIndex:-1,formatter:function(E){return E.toString()},labelFill:"#fff",labelFontSize:12,labelTextBaseline:"middle",padding:[2,4],position:"right",radius:0,zIndex:999},nS=Fd({background:"background",labelGroup:"label-group",label:"label"},"indicator"),WG=function(E){(0,Rt.ZT)(a,E);function a(y){var x=E.call(this,y,UG)||this;return x.point=[0,0],x.group=x.appendChild(new su({})),x.isMutationObserved=!0,x}return a.prototype.renderBackground=function(){if(this.label){var y=this.attributes,x=y.position,b=y.padding,z=(0,Rt.CR)(Ou(b),4),te=z[0],re=z[1],ae=z[2],se=z[3],fe=this.label.node().getLocalBounds(),me=fe.min,Se=fe.max,Te=new Vu(me[0]-se,me[1]-te,Se[0]+re-me[0]+se,Se[1]+ae-me[1]+te),ke=this.getPath(x,Te),We=ko(this.attributes,"background");this.background=Vi(this.group).maybeAppendByClassName(nS.background,"path").styles((0,Rt.pi)((0,Rt.pi)({},We),{d:ke})),this.group.appendChild(this.label.node())}},a.prototype.renderLabel=function(){var y=this.attributes,x=y.formatter,b=y.labelText,z=ko(this.attributes,"label"),te=(0,Rt.CR)(Rf(z),2),re=te[0],ae=te[1],se=re.text,fe=(0,Rt._T)(re,["text"]);if(this.label=Vi(this.group).maybeAppendByClassName(nS.labelGroup,"g").styles(ae),!!b){var me=this.label.maybeAppendByClassName(nS.label,function(){return _f(x(b))}).style("text",x(b).toString());me.selectAll("text").styles(fe)}},a.prototype.adjustLayout=function(){var y=(0,Rt.CR)(this.point,2),x=y[0],b=y[1],z=this.attributes,te=z.x,re=z.y;this.group.attr("transform","translate(".concat(te-x,", ").concat(re-b,")"))},a.prototype.getPath=function(y,x){var b=this.attributes.radius,z=x.x,te=x.y,re=x.width,ae=x.height,se=[["M",z+b,te],["L",z+re-b,te],["A",b,b,0,0,1,z+re,te+b],["L",z+re,te+ae-b],["A",b,b,0,0,1,z+re-b,te+ae],["L",z+b,te+ae],["A",b,b,0,0,1,z,te+ae-b],["L",z,te+b],["A",b,b,0,0,1,z+b,te],["Z"]],fe={top:4,right:6,bottom:0,left:2},me=fe[y],Se=this.createCorner([se[me].slice(-2),se[me+1].slice(-2)]);return se.splice.apply(se,(0,Rt.ev)([me+1,1],(0,Rt.CR)(Se),!1)),se[0][0]="M",se},a.prototype.createCorner=function(y,x){x===void 0&&(x=10);var b=.8,z=zW.apply(void 0,(0,Rt.ev)([],(0,Rt.CR)(y),!1)),te=(0,Rt.CR)(y,2),re=(0,Rt.CR)(te[0],2),ae=re[0],se=re[1],fe=(0,Rt.CR)(te[1],2),me=fe[0],Se=fe[1],Te=(0,Rt.CR)(z?[me-ae,[ae,me]]:[Se-se,[se,Se]],2),ke=Te[0],We=(0,Rt.CR)(Te[1],2),je=We[0],Ke=We[1],Qe=ke/2,Je=ke/Math.abs(ke),at=x*Je,ot=at/2,ut=at*Math.sqrt(3)/2*b,ft=(0,Rt.CR)([je,je+Qe-ot,je+Qe,je+Qe+ot,Ke],5),lt=ft[0],Dt=ft[1],Bt=ft[2],Vt=ft[3],Xt=ft[4];return z?(this.point=[Bt,se-ut],[["L",lt,se],["L",Dt,se],["L",Bt,se-ut],["L",Vt,se],["L",Xt,se]]):(this.point=[ae+ut,Bt],[["L",ae,lt],["L",ae,Dt],["L",ae+ut,Bt],["L",ae,Vt],["L",ae,Xt]])},a.prototype.applyVisibility=function(){var y=this.attributes.visibility;y==="hidden"?_d(this):Bv(this)},a.prototype.bindEvents=function(){this.label.on(is.BOUNDS_CHANGED,this.renderBackground)},a.prototype.render=function(){this.renderLabel(),this.renderBackground(),this.adjustLayout(),this.applyVisibility()},a}(Bl),jG=function(E){(0,Rt.ZT)(a,E);function a(y){var x=E.call(this,Au({},a.defaultOptions,y))||this;return x.hoverColor="#f5f5f5",x.selectedColor="#e6f7ff",x.background=x.appendChild(new Mu({})),x.label=x.background.appendChild(new su({})),x}return Object.defineProperty(a.prototype,"padding",{get:function(){return Ou(this.style.padding)},enumerable:!1,configurable:!0}),a.prototype.renderLabel=function(){var y=this.style,x=y.label,b=y.value,z=ko(this.attributes,"label");Vi(this.label).maybeAppend(".label",function(){return _f(x)}).attr("className","label").styles(z),this.label.attr("__data__",b)},a.prototype.renderBackground=function(){var y=this.label.getBBox(),x=(0,Rt.CR)(this.padding,4),b=x[0],z=x[1],te=x[2],re=x[3],ae=y.width,se=y.height,fe=ae+re+z,me=se+b+te,Se=ko(this.attributes,"background"),Te=this.style,ke=Te.width,We=ke===void 0?0:ke,je=Te.height,Ke=je===void 0?0:je,Qe=Te.selected;this.background.attr((0,Rt.pi)((0,Rt.pi)({},Se),{width:Math.max(fe,We),height:Math.max(me,Ke),fill:Qe?this.selectedColor:"#fff"})),this.label.attr({transform:"translate(".concat(re,", ").concat((me-se)/2,")")})},a.prototype.render=function(){this.renderLabel(),this.renderBackground()},a.prototype.bindEvents=function(){var y=this;this.addEventListener("pointerenter",function(){y.style.selected||y.background.attr("fill",y.hoverColor)}),this.addEventListener("pointerleave",function(){y.style.selected||y.background.attr("fill",y.style.backgroundFill)});var x=this;this.addEventListener("click",function(){var b=y.style,z=b.label,te=b.value,re=b.onClick;re==null||re(te,{label:z,value:te},x)})},a.defaultOptions={style:{value:"",label:"",cursor:"pointer"}},a}(Bl),GG=function(E){(0,Rt.ZT)(a,E);function a(y){var x,b,z=E.call(this,Au({},a.defaultOptions,y))||this;z.currentValue=(x=a.defaultOptions.style)===null||x===void 0?void 0:x.defaultValue,z.isPointerInSelect=!1,z.select=z.appendChild(new Mu({className:"select",style:{cursor:"pointer",width:0,height:0}})),z.dropdown=z.appendChild(new Mu({className:"dropdown"}));var te=z.style.defaultValue;return te&&(!((b=z.style.options)===null||b===void 0)&&b.some(function(re){return re.value===te}))&&(z.currentValue=te),z}return a.prototype.setValue=function(y){this.currentValue=y,this.render()},a.prototype.getValue=function(){return this.currentValue},Object.defineProperty(a.prototype,"dropdownPadding",{get:function(){return Ou(this.style.dropdownPadding)},enumerable:!1,configurable:!0}),a.prototype.renderSelect=function(){var y=this,x,b=this.style,z=b.x,te=b.y,re=b.width,ae=b.height,se=b.bordered,fe=b.showDropdownIcon,me=ko(this.attributes,"select"),Se=ko(this.attributes,"placeholder");this.select.attr((0,Rt.pi)((0,Rt.pi)({x:z,y:te,width:re,height:ae},me),{fill:"#fff",strokeWidth:se?1:0}));var Te=this.dropdownPadding,ke=10;fe&&Vi(this.select).maybeAppend(".dropdown-icon","path").style("d","M-5,-3.5 L0,3.5 L5,-3.5").style("transform","translate(".concat(z+re-ke-Te[1]-Te[3],", ").concat(te+ae/2,")")).style("lineWidth",1).style("stroke",this.select.style.stroke);var We=(x=this.style.options)===null||x===void 0?void 0:x.find(function(Je){return Je.value===y.currentValue}),je=(0,Rt.pi)({x:z+Te[3]},Se);Vi(this.select).selectAll(".placeholder").data(We?[]:[1]).join(function(Je){return Je.append("text").attr("className","placeholder").styles(je).style("y",function(){var at=this.getBBox();return te+(ae-at.height)/2})},function(Je){return Je.styles(je)},function(Je){return Je.remove()});var Ke=ko(this.attributes,"optionLabel"),Qe=(0,Rt.pi)({x:z+Te[3]},Ke);Vi(this.select).selectAll(".value").data(We?[We]:[]).join(function(Je){return Je.append(function(at){return _f(at.label)}).attr("className","value").styles(Qe).style("y",function(){var at=this.getBBox();return te+(ae-at.height)/2})},function(Je){return Je.styles(Qe)},function(Je){return Je.remove()})},a.prototype.renderDropdown=function(){var y=this,x,b,z=this.style,te=z.x,re=z.y,ae=z.width,se=z.height,fe=z.options,me=z.onSelect,Se=z.open,Te=ko(this.attributes,"dropdown"),ke=ko(this.attributes,"option"),We=this.dropdownPadding;Vi(this.dropdown).maybeAppend(".dropdown-container","g").attr("className","dropdown-container").selectAll(".dropdown-item").data(fe,function(Qe){return Qe.value}).join(function(Qe){return Qe.append(function(Je){return new jG({className:"dropdown-item",style:(0,Rt.pi)((0,Rt.pi)((0,Rt.pi)({},Je),ke),{width:ae-We[1]-We[3],selected:Je.value===y.currentValue,onClick:function(at,ot,ut){y.setValue(at),me==null||me(at,ot,ut),y.dispatchEvent(new ql("change",{detail:{value:at,option:ot,item:ut}})),_d(y.dropdown)}})})}).each(function(Je,at){var ot,ut=(ot=this.parentNode)===null||ot===void 0?void 0:ot.children,ft=ut.reduce(function(lt,Dt,Bt){return Bt<at&&(lt+=Dt.getBBox().height),lt},0);this.attr("transform","translate(".concat(We[3],", ").concat(We[0]+ft,")"))})},function(Qe){return Qe.update(function(Je){return{selected:Je.value===y.currentValue}})},function(Qe){return Qe.remove()});var je=(b=(x=this.dropdown.getElementsByClassName("dropdown-container"))===null||x===void 0?void 0:x[0])===null||b===void 0?void 0:b.getBBox(),Ke=Te.spacing;this.dropdown.attr((0,Rt.pi)({transform:"translate(".concat(te,", ").concat(re+se+Ke,")"),width:je.width+We[1]+We[3],height:je.height+We[0]+We[2]},Te)),!Se&&_d(this.dropdown)},a.prototype.render=function(){this.renderSelect(),this.renderDropdown()},a.prototype.bindEvents=function(){var y=this;this.addEventListener("click",function(x){x.stopPropagation()}),this.select.addEventListener("click",function(){y.dropdown.style.visibility==="visible"?_d(y.dropdown):Bv(y.dropdown)}),this.addEventListener("pointerenter",function(){y.isPointerInSelect=!0}),this.addEventListener("pointerleave",function(){y.isPointerInSelect=!1}),document==null||document.addEventListener("click",function(){y.isPointerInSelect||_d(y.dropdown)})},a.defaultOptions={style:{x:0,y:0,width:140,height:32,options:[],bordered:!0,defaultValue:"",selectRadius:8,selectStroke:"#d9d9d9",showDropdownIcon:!0,placeholderText:"\u8BF7\u9009\u62E9",placeholderFontSize:12,placeholderTextBaseline:"top",placeholderFill:"#c2c2c2",dropdownFill:"#fff",dropdownStroke:"#d9d9d9",dropdownRadius:8,dropdownShadowBlur:4,dropdownShadowColor:"rgba(0, 0, 0, 0.08)",dropdownPadding:8,dropdownSpacing:10,optionPadding:[8,12],optionFontSize:12,optionTextBaseline:"top",optionBackgroundFill:"#fff",optionBackgroundRadius:4,optionLabelFontSize:12,optionLabelTextBaseline:"top"}},a}(Bl),zd=function(E){(0,Rt.ZT)(a,E);function a(y){var x=E.call(this,Au({},{style:{backgroundOpacity:a.backgroundOpacities.default}},a.defaultOptions,y))||this;return x.showBackground=!0,x.background=x.appendChild(new Mu({})),x.icon=x.appendChild(new su({})),x}return Object.defineProperty(a.prototype,"label",{get:function(){return"BaseIcon"},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"lineWidth",{get:function(){return Math.log10(this.attributes.size)},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"padding",{get:function(){return Ou(this.attributes.size/5)},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"iconSize",{get:function(){var y=this.attributes.size,x=(0,Rt.CR)(this.padding,4),b=x[0],z=x[1],te=x[2],re=x[3];return Math.max(y-Math.max(re+z,b+te),this.lineWidth*2+1)},enumerable:!1,configurable:!0}),a.prototype.renderBackground=function(){var y=this.attributes,x=y.x,b=y.y,z=y.size,te=z/2,re=ko(this.attributes,"background");this.background.attr((0,Rt.pi)({x:x-te,y:b-te,width:z,height:z},re))},a.prototype.showIndicator=function(){if(this.label){var y=this.attributes.size,x=this.background.getBBox(),b=x.x,z=x.y;this.indicator.update({x:b+y/2,y:z-5,labelText:this.label,visibility:"visible"})}},a.prototype.hideIndicator=function(){this.indicator.update({visibility:"hidden"})},a.prototype.connectedCallback=function(){var y;E.prototype.connectedCallback.call(this);var x=this.attributes.size,b=this.background.getBBox(),z=b.x,te=b.y,re=(y=this.ownerDocument)===null||y===void 0?void 0:y.defaultView;re&&(this.indicator=re.appendChild(new WG({style:{x:z+x/2,y:te-x/2,visibility:"hidden",position:"top",radius:3,zIndex:100}})))},a.prototype.disconnectedCallback=function(){this.indicator.destroy()},a.prototype.render=function(){this.renderIcon(),this.showBackground&&this.renderBackground()},a.prototype.bindEvents=function(){var y=this,x=this.attributes.onClick;if(this.addEventListener("click",function(){x==null||x(y)}),this.showBackground){var b=function(){return y.background.attr({opacity:a.backgroundOpacities.default})},z=function(){return y.background.attr({opacity:a.backgroundOpacities.hover})},te=function(){return y.background.attr({opacity:a.backgroundOpacities.active})};this.addEventListener("pointerenter",function(){z(),y.showIndicator()}),this.addEventListener("pointerleave",function(){b(),y.hideIndicator()}),this.addEventListener("pointerdown",function(){te()}),this.addEventListener("pointerup",function(){b()})}},a.tag="IconBase",a.defaultOptions={style:{x:0,y:0,size:10,color:"#565758",backgroundRadius:4,backgroundFill:"#e2e2e2"}},a.backgroundOpacities={default:0,hover:.8,active:1},a}(Bl),Gv=function(E,a){return a===void 0&&(a="#565758"),new Nc({style:{fill:a,d:"M ".concat(E,",").concat(E," L -").concat(E,",0 L ").concat(E,",-").concat(E," Z"),transformOrigin:"center"}})},VG=function(E){(0,Rt.ZT)(a,E);function a(){return E!==null&&E.apply(this,arguments)||this}return a.prototype.arcPath=function(y,x,b){var z=(0,Rt.CR)([b,b],2),te=z[0],re=z[1],ae=function(We){return[y+b*Math.cos(We),x+b*Math.sin(We)]},se=(0,Rt.CR)(ae(-5/4*Math.PI),2),fe=se[0],me=se[1],Se=(0,Rt.CR)(ae(1/4*Math.PI),2),Te=Se[0],ke=Se[1];return"M".concat(fe,",").concat(me,",A").concat(te,",").concat(re,",0,1,1,").concat(Te,",").concat(ke)},Object.defineProperty(a.prototype,"label",{get:function(){return"\u91CD\u7F6E"},enumerable:!1,configurable:!0}),a.prototype.renderIcon=function(){var y=this.attributes,x=y.x,b=y.y,z=y.color,te=this.iconSize,re=this.lineWidth,ae=re+.5;Vi(this.icon).maybeAppend(".reset","path").styles({stroke:z,lineWidth:re,d:this.arcPath(x,b,te/2-re),markerStart:Gv(ae,z)})},a}(zd),HG=function(E){(0,Rt.ZT)(a,E);function a(){return E!==null&&E.apply(this,arguments)||this}return Object.defineProperty(a.prototype,"label",{get:function(){return"\u5FEB\u9000"},enumerable:!1,configurable:!0}),a.prototype.renderIcon=function(){var y=this.attributes,x=y.x,b=y.y,z=y.color,te=this.iconSize,re=te/2,ae=te/2/Math.pow(3,.5),se=[[x,b],[x,b-ae],[x-re,b],[x,b+ae],[x,b],[x+re,b-ae],[x+re,b+ae],[x,b]];Vi(this.icon).maybeAppend(".backward","polygon").styles({points:se,fill:z})},a}(zd),KG=function(E){(0,Rt.ZT)(a,E);function a(){return E!==null&&E.apply(this,arguments)||this}return Object.defineProperty(a.prototype,"label",{get:function(){return"\u5FEB\u8FDB"},enumerable:!1,configurable:!0}),a.prototype.renderIcon=function(){var y=this.attributes,x=y.x,b=y.y,z=y.color,te=this.iconSize,re=te/2,ae=te/2/Math.pow(3,.5),se=[[x,b],[x,b-ae],[x+re,b],[x,b+ae],[x,b],[x-re,b-ae],[x-re,b+ae],[x,b]];Vi(this.icon).maybeAppend(".forward","polygon").styles({points:se,fill:z})},a}(zd),ZG=function(E){(0,Rt.ZT)(a,E);function a(){return E!==null&&E.apply(this,arguments)||this}return Object.defineProperty(a.prototype,"label",{get:function(){return"\u64AD\u653E"},enumerable:!1,configurable:!0}),a.prototype.renderIcon=function(){var y=this.attributes,x=y.x,b=y.y,z=y.color,te=this.iconSize,re=te/3*Math.pow(3,.5)*.8,ae=[[x+re,b],[x-re/2,b-te/2*.8],[x-re/2,b+te/2*.8],[x+re,b]];Vi(this.icon).maybeAppend(".play","polygon").styles({points:ae,fill:z})},a}(zd),QG=function(E){(0,Rt.ZT)(a,E);function a(){return E!==null&&E.apply(this,arguments)||this}return Object.defineProperty(a.prototype,"label",{get:function(){return"\u6682\u505C"},enumerable:!1,configurable:!0}),a.prototype.renderIcon=function(){var y=this.attributes,x=y.x,b=y.y,z=y.color,te=this.iconSize,re=te/3,ae=[[x-re,b-te/2],[x-re,b+te/2],[x-re/2,b+te/2],[x-re/2,b-te/2],[x-re,b-te/2],[x+re/2,b-te/2],[x+re/2,b+te/2],[x+re,b+te/2],[x+re,b-te/2]];Vi(this.icon).maybeAppend(".pause","polygon").styles({points:ae,fill:z})},a}(zd),YG=function(E){(0,Rt.ZT)(a,E);function a(){return E!==null&&E.apply(this,arguments)||this}return Object.defineProperty(a.prototype,"label",{get:function(){return"\u8303\u56F4\u65F6\u95F4"},enumerable:!1,configurable:!0}),a.prototype.renderIcon=function(){var y=this.attributes,x=y.x,b=y.y,z=y.color,te=this,re=te.iconSize,ae=te.lineWidth,se=ae;Vi(this.icon).maybeAppend(".left-line","line").styles({x1:x-re/2,y1:b-re/2,x2:x-re/2,y2:b+re/2,stroke:z,lineWidth:ae}),Vi(this.icon).maybeAppend(".right-line","line").styles({x1:x+re/2,y1:b-re/2,x2:x+re/2,y2:b+re/2,stroke:z,lineWidth:ae}),Vi(this.icon).maybeAppend(".left-arrow","line").styles({x1:x,y1:b,x2:x-re/2+se*2,y2:b,stroke:z,lineWidth:ae,markerEnd:Gv(ae*2,z)}),Vi(this.icon).maybeAppend(".right-arrow","line").styles({x1:x,y1:b,x2:x+re/2-se*2,y2:b,stroke:z,lineWidth:ae,markerEnd:Gv(ae*2,z)})},a}(zd),XG=function(E){(0,Rt.ZT)(a,E);function a(){return E!==null&&E.apply(this,arguments)||this}return Object.defineProperty(a.prototype,"label",{get:function(){return"\u5355\u4E00\u65F6\u95F4"},enumerable:!1,configurable:!0}),a.prototype.renderIcon=function(){var y=this.attributes,x=y.x,b=y.y,z=y.color,te=this,re=te.iconSize,ae=te.lineWidth;Vi(this.icon).maybeAppend(".line","line").styles({x1:x,y1:b-re/2,x2:x,y2:b+re/2,stroke:z,lineWidth:ae});var se=ae;Vi(this.icon).maybeAppend(".left-arrow","line").styles({x1:x-re/2-se*2,y1:b,x2:x-se*2,y2:b,stroke:z,lineWidth:ae,markerEnd:Gv(ae*2,z)}),Vi(this.icon).maybeAppend(".right-arrow","line").styles({x1:x+re/2+se*2,y1:b,x2:x+se*2,y2:b,stroke:z,lineWidth:ae,markerEnd:Gv(ae*2,z)})},a}(zd),ND=function(E){return[[-E/2,-E/2],[-E/2,E/2],[E/2,E/2]]},JG=function(E){(0,Rt.ZT)(a,E);function a(){return E!==null&&E.apply(this,arguments)||this}return Object.defineProperty(a.prototype,"label",{get:function(){return"\u6298\u7EBF\u56FE"},enumerable:!1,configurable:!0}),a.prototype.renderIcon=function(){var y=this.attributes,x=y.x,b=y.y,z=y.color,te=this,re=te.iconSize,ae=te.lineWidth,se=ae,fe=(re-se*2-ae)/4,me=(re-se*2-ae)/2,Se=(0,Rt.CR)([x-re/2+se,b+re/2-se*2],2),Te=Se[0],ke=Se[1];Vi(this.icon).maybeAppend(".coordinate","polyline").styles({points:ND(re).map(function(We){var je=(0,Rt.CR)(We,2),Ke=je[0],Qe=je[1];return[Ke+x,Qe+b]}),stroke:z,lineWidth:ae}),Vi(this.icon).maybeAppend(".line","polyline").styles({points:[[Te,ke],[Te+fe,ke-me],[Te+fe*2,ke],[Te+fe*4,ke-me*2]],stroke:z,lineWidth:ae})},a}(zd),qG=function(E){(0,Rt.ZT)(a,E);function a(){return E!==null&&E.apply(this,arguments)||this}return Object.defineProperty(a.prototype,"label",{get:function(){return"\u6761\u5F62\u56FE"},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"data",{get:function(){return[1,4,2,4,3]},enumerable:!1,configurable:!0}),a.prototype.renderIcon=function(){var y=this.data,x=this.attributes,b=x.x,z=x.y,te=x.color,re=this,ae=re.iconSize,se=re.lineWidth,fe=se,me=(ae-fe)/y.length,Se=(ae-fe*2)/4,Te=(0,Rt.CR)([b-ae/2+fe*2,z+ae/2-fe],2),ke=Te[0],We=Te[1];Vi(this.icon).maybeAppend(".coordinate","polyline").styles({points:ND(ae).map(function(je){var Ke=(0,Rt.CR)(je,2),Qe=Ke[0],Je=Ke[1];return[Qe+b,Je+z]}),stroke:te,lineWidth:se}),Vi(this.icon).maybeAppend(".bars","g").selectAll(".column").data(this.data.map(function(je,Ke){return{value:je,index:Ke}})).join(function(je){return je.append("line").attr("className","column").style("x1",function(Ke){var Qe=Ke.index;return ke+me*Qe}).style("y1",We).style("x2",function(Ke){var Qe=Ke.index;return ke+me*Qe}).style("y2",function(Ke){var Qe=Ke.value;return We-Se*Qe}).styles({y1:We,stroke:te,lineWidth:se})})},a}(zd),$G=function(E){(0,Rt.ZT)(a,E);function a(y){var x=E.call(this,Au({},{style:{color:"#d8d9d9"}},y))||this;return x.showBackground=!1,x}return a.prototype.renderIcon=function(){var y=this.attributes,x=y.x,b=y.y,z=y.color,te=this,re=te.iconSize,ae=te.lineWidth;Vi(this.icon).maybeAppend(".split","line").styles({x1:x,y1:b-re/2,x2:x,y2:b+re/2,stroke:z,lineWidth:ae})},a}(zd),rS=function(E){(0,Rt.ZT)(a,E);function a(){var y=E.apply(this,(0,Rt.ev)([],(0,Rt.CR)(arguments),!1))||this;return y.showBackground=!1,y}return Object.defineProperty(a.prototype,"padding",{get:function(){return Ou(0)},enumerable:!1,configurable:!0}),a.prototype.renderIcon=function(){var y=this.iconSize,x=this.attributes,b=x.x,z=x.y,te=x.speed,re=te===void 0?1:te,ae=Ex(this.attributes,["x","y","transform","transformOrigin","width","height","size","color","speed"]),se=bl(y,20,1/0),fe=20,me=(0,Rt.pi)((0,Rt.pi)({},ae),{x:b-se/2,y:z-fe/2,width:se,height:fe,defaultValue:re,bordered:!1,showDropdownIcon:!1,selectRadius:2,dropdownPadding:this.padding,dropdownRadius:2,dropdownSpacing:y/5,placeholderFontSize:y/2,optionPadding:0,optionLabelFontSize:y/2,optionBackgroundRadius:1,options:[{label:"1x",value:1},{label:"1.5x",value:1.5},{label:"2x",value:2}]});Vi(this.icon).maybeAppend(".speed",function(){return new GG({style:me})}).attr("className","speed").each(function(){this.update(me)})},a.tag="SpeedSelect",a}(zd),aS=function(E){(0,Rt.ZT)(a,E);function a(y){var x=E.call(this,y)||this;return x.icon=x.appendChild(new su({})),x.currentType=x.attributes.type,x}return a.prototype.getType=function(){return this.currentType},a.prototype.render=function(){var y=this,x=this.attributes,b=x.onChange,z=(0,Rt._T)(x,["onChange"]);Vi(this.icon).selectAll(".icon").data([this.currentType]).join(function(te){return te.append(function(re){var ae,se=(ae=y.toggles.find(function(fe){var me=(0,Rt.CR)(fe,1),Se=me[0];return Se===re}))===null||ae===void 0?void 0:ae[1];if(!se)throw new Error("Invalid type: ".concat(re));return new se({})}).attr("className","icon").styles(z,!1).update({})},function(te){return te.styles({restStyles:z}).update({})},function(te){return te.remove()})},a.prototype.bindEvents=function(){var y=this,x=this.attributes.onChange;this.addEventListener("click",function(b){b.preventDefault(),b.stopPropagation();var z=(y.toggles.findIndex(function(re){var ae=(0,Rt.CR)(re,1),se=ae[0];return se===y.currentType})+1)%y.toggles.length,te=y.toggles[z][0];x==null||x(y.currentType),y.currentType=te,y.render()})},a.tag="ToggleIcon",a}(Bl),iS=function(E){(0,Rt.ZT)(a,E);function a(y){var x=E.call(this,Au({},{style:{type:"play"}},y))||this;return x.toggles=[["play",ZG],["pause",QG]],x}return a}(aS),oS=function(E){(0,Rt.ZT)(a,E);function a(y){var x=E.call(this,Au({},{style:{type:"range"}},y))||this;return x.toggles=[["range",YG],["value",XG]],x}return a}(aS),sS=function(E){(0,Rt.ZT)(a,E);function a(y){var x=E.call(this,Au({},{style:{type:"column"}},y))||this;return x.toggles=[["line",JG],["column",qG]],x}return a}(aS),eV={reset:VG,speed:rS,backward:HG,playPause:iS,forward:KG,selectionType:oS,chartType:sS,split:$G},tV=function(E){(0,Rt.ZT)(a,E);function a(y){var x=E.call(this,Au({},a.defaultOptions,y))||this;return x.background=x.appendChild(new Mu({})),x.functions=x.appendChild(new su({})),x}return Object.defineProperty(a.prototype,"padding",{get:function(){return Ou(this.attributes.padding)},enumerable:!1,configurable:!0}),a.prototype.renderBackground=function(){var y=this.style,x=y.x,b=y.y,z=y.width,te=y.height,re=ko(this.attributes,"background");this.background.attr((0,Rt.pi)({x,y:b,width:z,height:te},re))},a.prototype.renderFunctions=function(){var y=this,x,b=this.attributes,z=b.functions,te=b.iconSize,re=b.iconSpacing,ae=b.x,se=b.y,fe=b.width,me=b.height,Se=b.align,Te=(0,Rt.CR)(this.padding,4),ke=Te[1],We=Te[3],je=z.reduce(function(Je,at){return Je.length&&at.length?Je.concat.apply(Je,(0,Rt.ev)(["split"],(0,Rt.CR)(at),!1)):Je.concat.apply(Je,(0,Rt.ev)([],(0,Rt.CR)(at),!1))},[]),Ke=je.length*(te+re)-re,Qe={left:We+te/2,center:(fe-Ke)/2+te/2,right:fe-Ke-We-ke+te/2}[Se]||0;(x=this.speedSelect)===null||x===void 0||x.destroy(),this.functions.removeChildren(),je.forEach(function(Je,at){var ot,ut=eV[Je],ft={x:ae+at*(te+re)+Qe,y:se+me/2,size:te};if(ut===rS?(ft.speed=y.attributes.speed,ft.onSelect=function(Dt){return y.handleFunctionChange(Je,{value:Dt})}):[iS,oS,sS].includes(ut)?(ft.onChange=function(Dt){return y.handleFunctionChange(Je,{value:Dt})},ut===iS&&(ft.type=y.attributes.state==="play"?"pause":"play"),ut===oS&&(ft.type=y.attributes.selectionType==="range"?"value":"range"),ut===sS&&(ft.type=y.attributes.chartType==="line"?"column":"line")):ft.onClick=function(){return y.handleFunctionChange(Je,{value:Je})},ut===rS){var lt=(ot=y.ownerDocument)===null||ot===void 0?void 0:ot.defaultView;lt&&(y.speedSelect=new ut({style:(0,Rt.pi)((0,Rt.pi)({},ft),{zIndex:100})}),lt.appendChild(y.speedSelect))}else y.functions.appendChild(new ut({style:ft}))})},a.prototype.disconnectedCallback=function(){var y;E.prototype.disconnectedCallback.call(this),(y=this.speedSelect)===null||y===void 0||y.destroy()},a.prototype.render=function(){this.renderBackground(),this.renderFunctions()},a.prototype.handleFunctionChange=function(y,x){var b=this.attributes.onChange;b==null||b(y,x)},a.defaultOptions={style:{x:0,y:0,width:300,height:40,padding:0,align:"center",iconSize:25,iconSpacing:0,speed:1,state:"pause",chartType:"line",selectionType:"range",backgroundFill:"#fbfdff",backgroundStroke:"#ebedf0",functions:[["reset","speed"],["backward","playPause","forward"],["selectionType","chartType"]]}},a}(Bl),nV=function(E){(0,Rt.ZT)(a,E);function a(y){var x=E.call(this,Au({},a.defaultOptions,y))||this;return x.bindEvents(),x}return a.prototype.bindEvents=function(){var y=this;this.addEventListener("mouseenter",function(){y.attr("lineWidth",Math.ceil(+(y.style.r||0)/2))}),this.addEventListener("mouseleave",function(){y.attr("lineWidth",0)})},a.defaultOptions={style:{r:5,fill:"#3f7cf7",lineWidth:0,stroke:"#3f7cf7",strokeOpacity:.5,cursor:"pointer"}},a}(Cf),rV=function(E){(0,Rt.ZT)(a,E);function a(y){return E.call(this,Au({},a.defaultOptions,y))||this}return a.prototype.renderBackground=function(){var y=this.attributes,x=y.x,b=y.y,z=y.width,te=y.height,re=ko(this.attributes,"background");Vi(this).maybeAppend("background","rect").attr("className","background").styles((0,Rt.pi)({x:x-z/2,y:b-te/2,width:z,height:te},re))},a.prototype.renderIcon=function(){var y=this.attributes,x=y.x,b=y.y,z=y.iconSize,te=ko(this.attributes,"icon"),re=1,ae=z/2;Vi(this).maybeAppend("icon-left-line","line").attr("className","icon-left-line").styles((0,Rt.pi)({x1:x-re,y1:b-ae,x2:x-re,y2:b+ae},te)),Vi(this).maybeAppend("icon-right-line","line").attr("className","icon-right-line").styles((0,Rt.pi)({x1:x+re,y1:b-ae,x2:x+re,y2:b+ae},te))},a.prototype.renderBorder=function(){var y=this.attributes,x=y.x,b=y.y,z=y.width,te=y.height,re=y.type,ae=ko(this.attributes,"border"),se=re==="start"?+z/2:-z/2;Vi(this).maybeAppend("border","line").attr("className","border").styles((0,Rt.pi)({x1:se+x,y1:b-te/2,x2:se+x,y2:b+te/2},ae))},a.prototype.render=function(){this.renderBackground(),this.renderIcon(),this.renderBorder()},a.defaultOptions={style:{x:0,y:0,width:10,height:50,iconSize:10,type:"start",backgroundFill:"#fff",backgroundFillOpacity:.5,iconStroke:"#9a9a9a",iconLineWidth:1,borderStroke:"#e8e8e8",borderLineWidth:1}},a}(Bl);function aV(E,a){return typeof E=="number"?RD(E):iV(E,a)}function iV(E,a){var y=new Date(E);switch(a){case"half-hour":case"hour":case"four-hour":return[0,6,12,18].includes(y.getHours())&&y.getMinutes()===0?oc(y,`HH:mm
|
|
|
YYYY-MM-DD`):oc(y,"HH:mm");case"half-day":return y.getHours()<12?`AM
|
|
|
`.concat(oc(y,"YYYY-MM-DD")):"PM";case"day":return[1,10,20].includes(y.getDate())?oc(y,`DD
|
|
|
YYYY-MM`):oc(y,"DD");case"week":return y.getDate()<=7?oc(y,`DD
|
|
|
YYYY-MM`):oc(y,"DD");case"month":return[0,6].includes(y.getMonth())?oc(y,`MM\u6708
|
|
|
YYYY`):oc(y,"MM\u6708");case"season":return[0].includes(y.getMonth())?oc(y,`MM\u6708
|
|
|
YYYY`):oc(y,"MM\u6708");case"year":return oc(y,"YYYY");default:return oc(y,"YYYY-MM-DD HH:mm")}}function RD(E){var a=String(Math.floor(E/3600)).padStart(2,"0"),y=String(Math.floor(E%3600/60)).padStart(2,"0"),x=String(Math.floor(E%60)).padStart(2,"0");return E<3600?"".concat(y,":").concat(x):"".concat(a,":").concat(y,":").concat(x)}var oV=function(E){(0,Rt.ZT)(a,E);function a(y){var x=E.call(this,Au({},a.defaultOptions,y))||this;x.axis=x.appendChild(new rG({style:{type:"linear",startPos:[0,0],endPos:[0,0],data:[],showArrow:!1,animate:!1}})),x.timeline=x.appendChild(new zG({style:{onChange:function(me){x.handleSliderChange(me)}}})),x.controller=x.appendChild(new tV({})),x.states={},x.handleSliderChange=function(me){var Se=function(){var Te=x.states.values;return Array.isArray(Te)?(0,Rt.ev)([],(0,Rt.CR)(Te),!1):Te}();x.setBySliderValues(me),x.dispatchOnChange(Se)};var b=x.attributes,z=b.selectionType,te=b.chartType,re=b.speed,ae=b.state,se=b.playMode,fe=b.values;return x.states={chartType:te,playMode:se,selectionType:z,speed:re,state:ae},x.setByTimebarValues(fe),x}return Object.defineProperty(a.prototype,"data",{get:function(){var y=this.attributes.data,x=function(b,z){return b.time<z.time?-1:b.time>z.time?1:0};return y.sort(x)},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"space",{get:function(){var y=this.attributes,x=y.x,b=y.y,z=y.width,te=y.height,re=y.type,ae=y.controllerHeight,se=bl(+te-ae,0,+te),fe=new Vu(x,b+ +te-ae,+z,ae),me,Se=0;re==="chart"?(Se=35,me=new Vu(x,b+se-Se,+z,Se)):me=new Vu;var Te=re==="time"?10:se,ke=new Vu(x,b+(re==="time"?se:se-Te),+z,Te-Se);return{axisBBox:me,controllerBBox:fe,timelineBBox:ke}},enumerable:!1,configurable:!0}),a.prototype.setBySliderValues=function(y){var x,b,z=this.data,te=(0,Rt.CR)(Array.isArray(y)?y:[0,y],2),re=te[0],ae=te[1],se=z.length,fe=z[Math.floor(re*se)],me=z[Math.ceil(ae*se)-(Array.isArray(y)?0:1)];this.states.values=[(x=fe==null?void 0:fe.time)!==null&&x!==void 0?x:z[0].time,(b=me==null?void 0:me.time)!==null&&b!==void 0?b:1/0]},a.prototype.setByTimebarValues=function(y){var x,b,z,te=this.data,re=(0,Rt.CR)(Array.isArray(y)?y:[void 0,y],2),ae=re[0],se=re[1],fe=te.find(function(Se){var Te=Se.time;return Te===ae}),me=te.find(function(Se){var Te=Se.time;return Te===se});this.states.values=[(x=fe==null?void 0:fe.time)!==null&&x!==void 0?x:(b=te[0])===null||b===void 0?void 0:b.time,(z=me==null?void 0:me.time)!==null&&z!==void 0?z:1/0]},a.prototype.setByIndex=function(y){var x,b,z,te,re=this.data,ae=(0,Rt.CR)(y,2),se=ae[0],fe=ae[1];this.states.values=[(b=(x=re[se])===null||x===void 0?void 0:x.time)!==null&&b!==void 0?b:re[0].time,(te=(z=this.data[fe])===null||z===void 0?void 0:z.time)!==null&&te!==void 0?te:1/0]},Object.defineProperty(a.prototype,"sliderValues",{get:function(){var y=this.states,x=y.values,b=y.selectionType,z=(0,Rt.CR)(Array.isArray(x)?x:[void 0,x],2),te=z[0],re=z[1],ae=this.data,se=ae.length,fe=b==="value",me=function(){var Te=ae.findIndex(function(ke){var We=ke.time;return We===te});return fe?0:Te>-1?Te/se:0},Se=function(){if(re===1/0)return 1;var Te=ae.findIndex(function(ke){var We=ke.time;return We===re});return Te>-1?Te/se:fe?.5:1};return[me(),Se()]},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"values",{get:function(){var y=this.states,x=y.values,b=y.selectionType,z=(0,Rt.CR)(Array.isArray(x)?x:[this.data[0].time,x],2),te=z[0],re=z[1];return b==="value"?re:[te,re]},enumerable:!1,configurable:!0}),a.prototype.getDatumByRatio=function(y){var x=this.data,b=x.length,z=Math.floor(y*(b-1));return x[z]},Object.defineProperty(a.prototype,"chartHandleIconShape",{get:function(){var y=this.states.selectionType,x=this.space.timelineBBox.height;return y==="range"?function(b){return new rV({style:{type:b,height:x,iconSize:x/6}})}:function(){return new lg({style:{x1:0,y1:-x/2,x2:0,y2:x/2,lineWidth:2,stroke:"#c8c8c8"}})}},enumerable:!1,configurable:!0}),a.prototype.getChartStyle=function(y){var x=this,b=y.x,z=y.y,te=y.width,re=y.height,ae=this.states,se=ae.selectionType,fe=ae.chartType,me=this.data,Se=this.attributes,Te=Se.type,ke=Se.labelFormatter,We=ko(this.attributes,"chart"),je=We.type,Ke=(0,Rt._T)(We,["type"]),Qe=se==="range";if(Te==="time")return(0,Rt.pi)({handleIconShape:function(){return new nV({})},selectionFill:"#2e7ff8",selectionFillOpacity:1,showLabelOnInteraction:!0,handleLabelDy:Qe?-15:0,autoFitLabel:Qe,handleSpacing:Qe?-15:0,trackFill:"#edeeef",trackLength:te,trackOpacity:.5,trackRadius:re/2,trackSize:re/2,type:se,values:this.sliderValues,formatter:function(ot){if(ke)return ke(ot);var ut=x.getDatumByRatio(ot).time;return typeof ut=="number"?RD(ut):oc(ut,"YYYY-MM-DD HH:mm:ss")},transform:"translate(".concat(b,", ").concat(z,")"),zIndex:1},Ke);var Je=se==="range"?5:0,at=me.map(function(ot){var ut=ot.value;return ut});return(0,Rt.pi)({handleIconOffset:Je,handleIconShape:this.chartHandleIconShape,selectionFill:"#fff",selectionFillOpacity:.5,selectionType:"invert",sparklineSpacing:.1,sparklineColumnLineWidth:0,sparklineColor:"#d4e5fd",sparklineAreaOpacity:1,sparklineAreaLineWidth:0,sparklineData:at,sparklineType:fe,sparklineScale:.8,trackLength:te,trackSize:re,type:se,values:this.sliderValues,transform:"translate(".concat(b,", ").concat(z,")"),zIndex:1},Ke)},a.prototype.renderChart=function(y){y===void 0&&(y=this.space.timelineBBox),this.timeline.update(this.getChartStyle(y))},a.prototype.updateSelection=function(){this.timeline.setValues(this.sliderValues,!0),this.handleSliderChange(this.sliderValues)},a.prototype.getAxisStyle=function(y){var x=this.data,b=this.attributes,z=b.interval,te=b.labelFormatter,re=ko(this.attributes,"axis"),ae=y.x,se=y.y,fe=y.width,me=(0,Rt.ev)((0,Rt.ev)([],(0,Rt.CR)(x),!1),[{time:0}],!1).map(function(Te,ke,We){var je=Te.time;return{label:"".concat(je),value:ke/(We.length-1),time:je}}),Se=(0,Rt.pi)({startPos:[ae,se],endPos:[ae+fe,se],data:me,labelFilter:function(Te,ke){return ke<me.length-1},labelFormatter:function(Te){var ke=Te.time;return te?te(ke):aV(ke,z)}},re);return Se},a.prototype.renderAxis=function(y){y===void 0&&(y=this.space.axisBBox);var x=this.attributes.type;x==="chart"&&this.axis.update(this.getAxisStyle(y))},a.prototype.renderController=function(y){y===void 0&&(y=this.space.controllerBBox);var x=this.attributes.type,b=this.states,z=b.state,te=b.speed,re=b.selectionType,ae=b.chartType,se=ko(this.attributes,"controller"),fe=this,me=(0,Rt.pi)((0,Rt.pi)((0,Rt.pi)({},y),{iconSize:20,speed:te,state:z,selectionType:re,chartType:ae,onChange:function(Se,Te){var ke=Te.value;switch(Se){case"reset":fe.internalReset();break;case"speed":fe.handleSpeedChange(ke);break;case"backward":fe.internalBackward();break;case"playPause":ke==="play"?fe.internalPlay():fe.internalPause();break;case"forward":fe.internalForward();break;case"selectionType":fe.handleSelectionTypeChange(ke);break;case"chartType":fe.handleChartTypeChange(ke);break;default:break}}}),se);x==="time"&&(me.functions=[["reset","speed"],["backward","playPause","forward"],["selectionType"]]),this.controller.update(me)},a.prototype.dispatchOnChange=function(y){var x=this.data,b=this.attributes.onChange,z=this.states,te=z.values,re=z.selectionType,ae=(0,Rt.CR)(te,2),se=ae[0],fe=ae[1],me=fe===1/0?x.at(-1).time:fe,Se=re==="range"?[se,me]:me,Te=function(ke,We){return Array.isArray(ke)?Array.isArray(We)?ke[0]===We[0]&&(ke[1]===We[1]||ke[1]===1/0||We[1]===1/0):!1:Array.isArray(We)?!1:ke===We};(!y||!Te(y,Se))&&(b==null||b(re==="range"?[se,me]:me))},a.prototype.internalReset=function(y){var x,b,z=this.states.selectionType;this.internalPause(),this.setBySliderValues(z==="range"?[0,1]:[0,0]),this.renderController(),this.updateSelection(),y||((b=(x=this.attributes)===null||x===void 0?void 0:x.onReset)===null||b===void 0||b.call(x),this.dispatchOnChange())},a.prototype.reset=function(){this.internalReset()},a.prototype.moveSelection=function(y,x){var b=this.data,z=b.length,te=this.states,re=te.values,ae=te.selectionType,se=te.playMode,fe=(0,Rt.CR)(re,2),me=fe[0],Se=fe[1],Te=b.findIndex(function(Je){var at=Je.time;return at===me}),ke=b.findIndex(function(Je){var at=Je.time;return at===Se});ke===-1&&(ke=z);var We=y==="backward"?-1:1,je;ae==="range"?se==="acc"?(je=[Te,ke+We],We===-1&&Te===ke&&(je=[Te,z])):je=[Te+We,ke+We]:je=[Te,ke+We];var Ke=function(Je){var at=(0,Rt.CR)(Je.sort(function(lt,Dt){return lt-Dt}),2),ot=at[0],ut=at[1],ft=function(lt){return bl(lt,0,z)};return ut>z?ae==="value"?[0,0]:se==="acc"?[ft(ot),ft(ot)]:[0,ft(ut-ot)]:ot<0?se==="acc"?[0,ft(ut)]:[ft(ot+z-ut),z]:[ft(ot),ft(ut)]},Qe=Ke(je);return this.setByIndex(Qe),this.updateSelection(),Qe},a.prototype.internalBackward=function(y){var x,b,z=this.moveSelection("backward",y);return y||((b=(x=this.attributes)===null||x===void 0?void 0:x.onBackward)===null||b===void 0||b.call(x),this.dispatchOnChange()),z},a.prototype.backward=function(){this.internalBackward()},a.prototype.internalPlay=function(y){var x=this,b,z,te=this.data,re=this.attributes.loop,ae=this.states.speed,se=ae===void 0?1:ae;this.playInterval=window.setInterval(function(){var fe=x.internalForward();fe[1]===te.length&&!re&&(x.internalPause(),x.renderController())},1e3/se),this.states.state="play",!y&&((z=(b=this.attributes)===null||b===void 0?void 0:b.onPlay)===null||z===void 0||z.call(b))},a.prototype.play=function(){this.internalPlay()},a.prototype.internalPause=function(y){var x,b;clearInterval(this.playInterval),this.states.state="pause",!y&&((b=(x=this.attributes)===null||x===void 0?void 0:x.onPause)===null||b===void 0||b.call(x))},a.prototype.pause=function(){this.internalPause()},a.prototype.internalForward=function(y){var x,b,z=this.moveSelection("forward",y);return y||((b=(x=this.attributes)===null||x===void 0?void 0:x.onForward)===null||b===void 0||b.call(x),this.dispatchOnChange()),z},a.prototype.forward=function(){this.internalForward()},a.prototype.handleSpeedChange=function(y){var x,b;this.states.speed=y;var z=this.states.state;z==="play"&&(this.internalPause(!0),this.internalPlay(!0)),(b=(x=this.attributes)===null||x===void 0?void 0:x.onSpeedChange)===null||b===void 0||b.call(x,y)},a.prototype.handleSelectionTypeChange=function(y){var x,b;this.states.selectionType=y,this.renderChart(),(b=(x=this.attributes)===null||x===void 0?void 0:x.onSelectionTypeChange)===null||b===void 0||b.call(x,y)},a.prototype.handleChartTypeChange=function(y){var x,b;this.states.chartType=y,this.renderChart(),(b=(x=this.attributes)===null||x===void 0?void 0:x.onChartTypeChange)===null||b===void 0||b.call(x,y)},a.prototype.render=function(){var y=this.space,x=y.axisBBox,b=y.controllerBBox,z=y.timelineBBox;this.renderController(b),this.renderAxis(x),this.renderChart(z),this.states.state==="play"&&this.internalPlay()},a.prototype.destroy=function(){E.prototype.destroy.call(this),this.internalPause(!0)},a.defaultOptions={style:{x:0,y:0,axisLabelFill:"#6e6e6e",axisLabelTextAlign:"left",axisLabelTextBaseline:"top",axisLabelTransform:"translate(5, -12)",axisLineLineWidth:1,axisLineStroke:"#cacdd1",axisTickLength:15,axisTickLineWidth:1,axisTickStroke:"#cacdd1",chartShowLabel:!1,chartType:"line",controllerAlign:"center",controllerHeight:40,data:[],interval:"day",loop:!1,playMode:"acc",selectionType:"range",type:"time"}},a}(Bl);function sV(E){return E instanceof Date}var lV=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})},uV=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};const cV=["timestamp","time","date","datetime"];class a1 extends Lu{get padding(){return Id(this.options.padding)}constructor(a,y){super(a,Object.assign({},a1.defaultOptions,y)),this.backup(),this.upsertTimebar()}play(){var a;(a=this.timebar)===null||a===void 0||a.play()}pause(){var a;(a=this.timebar)===null||a===void 0||a.pause()}forward(){var a;(a=this.timebar)===null||a===void 0||a.forward()}backward(){var a;(a=this.timebar)===null||a===void 0||a.backward()}reset(){var a;(a=this.timebar)===null||a===void 0||a.reset()}update(a){super.update(a),this.backup(),this.upsertTimebar()}backup(){this.originalData=_D(this.context.graph.getData())}upsertTimebar(){const{canvas:a}=this.context,y=this.options,{onChange:x,timebarType:b,data:z,x:te,y:re,width:ae,height:se,mode:fe}=y,me=uV(y,["onChange","timebarType","data","x","y","width","height","mode"]),Se=a.getSize(),[Te]=this.padding;this.upsertCanvas().ready.then(()=>{var ke;const We=Object.assign(Object.assign({x:Se[0]/2-ae/2,y:Te,onChange:je=>{const Ke=(Tc(je)?je:[je,je]).map(Qe=>sV(Qe)?Qe.getTime():Qe);this.options.mode==="modify"?this.filterElements(Ke):this.hiddenElements(Ke),x==null||x(Ke)}},me),{data:z.map(je=>Oi(je)?{time:je,value:0}:je),width:ae,height:se,type:b});this.timebar?this.timebar.update(We):(this.timebar=new oV({style:We}),(ke=this.canvas)===null||ke===void 0||ke.appendChild(this.timebar))})}upsertCanvas(){if(this.canvas)return this.canvas;const{className:a,height:y,position:x}=this.options,b=this.context.canvas,[z]=b.getSize(),[te,,re]=this.padding,[ae,se]=Bx({width:z,height:y+te+re,graphCanvas:b,className:"timebar",placement:x});return this.container=ae,a&&ae.classList.add(a),this.canvas=se,this.canvas}filterElements(a){return lV(this,void 0,void 0,function*(){var y;if(!this.originalData)return;const{elementTypes:x,getTime:b}=this.options,{graph:z,element:te}=this.context,re=_D(this.originalData);x.forEach(se=>{const fe=`${se}s`;re[fe]=(this.originalData[fe]||[]).filter(me=>{const Se=b(me);return!!FD(Se,a)})});const ae=[...re.nodes,...re.combos].map(se=>_r(se));re.edges=re.edges.filter(se=>{const fe=se.source,me=se.target;return ae.includes(fe)&&ae.includes(me)}),z.setData(re),yield(y=te.draw({animation:!1,silence:!0}))===null||y===void 0?void 0:y.finished})}hiddenElements(a){const{graph:y}=this.context,{elementTypes:x,getTime:b}=this.options,z=[],te=[];x.forEach(re=>{var ae;const se=`${re}s`;(((ae=this.originalData)===null||ae===void 0?void 0:ae[se])||[]).forEach(me=>{const Se=_r(me),Te=b(me);FD(Te,a)?te.push(Se):z.push(Se)})}),y.hideElement(z,!1),y.showElement(te,!1)}destroy(){var a,y,x;const{graph:b}=this.context;this.originalData&&b.setData(Object.assign({},this.originalData)),(a=this.timebar)===null||a===void 0||a.destroy(),(y=this.canvas)===null||y===void 0||y.destroy(),(x=this.container)===null||x===void 0||x.remove(),this.originalData=void 0,this.container=void 0,this.timebar=void 0,this.canvas=void 0,super.destroy()}}a1.defaultOptions={position:"bottom",enable:!0,timebarType:"time",className:"g6-timebar",width:450,height:60,zIndex:3,elementTypes:["node"],padding:10,mode:"modify",getTime:E=>dV(E,cV,void 0),loop:!1};const _D=E=>{const{nodes:a=[],edges:y=[],combos:x=[]}=E;return{nodes:[...a],edges:[...y],combos:[...x]}},FD=(E,a)=>{if(Oi(a))return E===a;const[y,x]=a;return E>=y&&E<=x},dV=(E,a,y)=>{var x;for(let b=0;b<a.length;b++){const z=a[b],te=(x=E.data)===null||x===void 0?void 0:x[z];if(te)return te}return y};function fV(E){const a={top:"unset",right:"unset",bottom:"unset",left:"unset"};return E.split("-").forEach(x=>{a[x]="8px"}),a.flexDirection=E.startsWith("top")||E.startsWith("bottom")?"row":"column",a}const hV=`
|
|
|
.g6-toolbar {
|
|
|
position: absolute;
|
|
|
z-index: 100;
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
border-radius: 4px;
|
|
|
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
|
|
|
opacity: 0.65;
|
|
|
}
|
|
|
.g6-toolbar .g6-toolbar-item {
|
|
|
display: inline-block;
|
|
|
width: 16px;
|
|
|
height: 16px;
|
|
|
padding: 4px;
|
|
|
cursor: pointer;
|
|
|
box-sizing: content-box;
|
|
|
}
|
|
|
|
|
|
.g6-toolbar .g6-toolbar-item:hover {
|
|
|
background-color: #f0f0f0;
|
|
|
}
|
|
|
|
|
|
.g6-toolbar .g6-toolbar-item svg {
|
|
|
display: inline-block;
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
pointer-events: none;
|
|
|
}
|
|
|
`,gV=`
|
|
|
<svg>
|
|
|
<symbol id="zoom-in" viewBox="64 64 896 896">
|
|
|
<path d="M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="zoom-out" viewBox="64 64 896 896">
|
|
|
<path d="M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="edit" viewBox="64 64 896 896">
|
|
|
<path d="M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="delete" viewBox="64 64 896 896">
|
|
|
<path d="M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="redo" viewBox="64 64 896 896">
|
|
|
<path d="M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-9.3 9.3-19.1 18-29.3 26L668.2 724a8 8 0 00-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 .8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="undo" viewBox="64 64 896 896">
|
|
|
<path d="M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 00-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 00-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="export" viewBox="64 64 896 896">
|
|
|
<path d="M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM770.87 199.13l-52.2-52.2a8.01 8.01 0 014.7-13.6l179.4-21c5.1-.6 9.5 3.7 8.9 8.9l-21 179.4c-.8 6.6-8.9 9.4-13.6 4.7l-52.4-52.4-256.2 256.2a8.03 8.03 0 01-11.3 0l-42.4-42.4a8.03 8.03 0 010-11.3l256.1-256.3z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="auto-fit" viewBox="64 64 896 896">
|
|
|
<path d="M952 474H829.8C812.5 327.6 696.4 211.5 550 194.2V72c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v122.2C327.6 211.5 211.5 327.6 194.2 474H72c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h122.2C211.5 696.4 327.6 812.5 474 829.8V952c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V829.8C696.4 812.5 812.5 696.4 829.8 550H952c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM512 756c-134.8 0-244-109.2-244-244s109.2-244 244-244 244 109.2 244 244-109.2 244-244 244z"></path>
|
|
|
<path d="M512 392c-32.1 0-62.1 12.4-84.8 35.2-22.7 22.7-35.2 52.7-35.2 84.8s12.5 62.1 35.2 84.8C449.9 619.4 480 632 512 632s62.1-12.5 84.8-35.2C619.4 574.1 632 544 632 512s-12.5-62.1-35.2-84.8A118.57 118.57 0 00512 392z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="reset" viewBox="64 64 896 896">
|
|
|
<path d="M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"></path>
|
|
|
</symbol>
|
|
|
<symbol id="exit-fullscreen" viewBox="0 0 1024 1024">
|
|
|
<path d="M418.13333333 361.43786666c0 0.2048-0.13653333 0.4096-0.13653334 0.68266667C417.99679999 362.32533333 418.13333333 362.53013333 418.13333333 362.73493333 418.13333333 371.54133333 414.44693333 379.392 408.78079999 385.39946666 408.43946666 385.7408 408.30293333 386.21866666 408.02986666 386.49173333c-1.09226667 1.09226667-2.59413333 1.77493333-3.82293333 2.73066667C398.40426666 393.65973333 391.64586666 396.8 383.93173333 396.8 383.72693333 396.8 383.59039999 396.73173333 383.38559999 396.73173333S382.97599999 396.8 382.77119999 396.8L112.29866666 396.8C92.50133333 396.8 76.79999999 381.50826666 76.79999999 362.66666666 76.66346666 343.89333333 92.63786666 328.53333333 112.16213333 328.53333333l189.44 0L87.44959999 114.51733333C73.59146666 100.59093333 73.25013333 78.5408 86.63039999 65.29706666c13.17546667-13.44853333 35.36213333-12.97066667 49.152 0.88746667l214.08426667 214.08426667L349.86666666 90.89706666C349.79839999 71.23626666 365.22666666 55.46666666 383.99999999 55.46666666 402.77333333 55.33013333 418.13333333 71.30453333 418.13333333 90.8288L418.13333333 361.43786666zM928.90453333 328.53333333l-189.44 0 214.15253333-214.08426667c13.85813333-13.9264 14.19946667-35.90826667 0.88746667-49.22026666-13.17546667-13.44853333-35.36213333-12.97066667-49.152 0.88746666l-214.08426667 214.08426667L691.26826666 90.89706666C691.26826666 71.23626666 675.83999999 55.46666666 657.06666666 55.46666666 638.29333333 55.33013333 622.93333333 71.30453333 622.93333333 90.8288l0 270.60906666c0 0.2048 0.13653333 0.4096 0.13653333 0.68266667C623.06986666 362.32533333 622.93333333 362.53013333 622.93333333 362.73493333 622.93333333 371.54133333 626.61973333 379.392 632.28586666 385.39946666c0.34133333 0.34133333 0.47786667 0.8192 0.8192 1.09226667 1.09226667 1.09226667 2.59413333 1.77493333 3.8912 2.73066667C642.66239999 393.65973333 649.42079999 396.8 657.13493333 396.8c0.2048 0 0.34133333-0.06826667 0.54613333-0.06826667S658.09066666 396.8 658.29546666 396.8l270.5408 0C948.56533333 396.8 964.26666666 381.50826666 964.26666666 362.66666666 964.40319999 343.89333333 948.42879999 328.53333333 928.90453333 328.53333333zM418.13333333 635.73333333c0-8.8064-3.6864-16.5888-9.35253334-22.66453333C408.43946666 612.72746666 408.30293333 612.2496 408.02986666 611.90826666 406.86933333 610.88426666 405.43573333 610.2016 404.20693333 609.24586666 398.47253333 604.80853333 391.64586666 601.6 383.93173333 601.6 383.72693333 601.6 383.59039999 601.73653333 383.38559999 601.73653333S382.97599999 601.6 382.77119999 601.6L112.29866666 601.6C92.50133333 601.6 76.79999999 616.96 76.79999999 635.73333333 76.66346666 654.50666666 92.63786666 669.86666666 112.16213333 669.86666666l189.44 0-214.15253334 214.15253334c-13.85813333 13.85813333-14.19946667 35.84-0.88746666 49.22026666 13.17546667 13.44853333 35.36213333 12.9024 49.152-0.95573333l214.08426666-214.08426667 0 189.37173334c0 19.59253333 15.42826667 35.49866667 34.2016 35.36213333C402.77333333 943.2064 418.13333333 927.232 418.13333333 907.5712L418.13333333 637.09866666c0-0.27306667-0.13653333-0.47786667-0.13653334-0.68266666C417.99679999 636.14293333 418.13333333 635.93813333 418.13333333 635.73333333zM739.46453333 669.86666666l189.44 0c19.456 0 35.49866667-15.36 35.36213333-34.13333333C964.26666666 616.96 948.56533333 601.6 928.76799999 601.6L658.29546666 601.6C658.09066666 601.6 657.88586666 601.73653333 657.68106666 601.73653333S657.33973333 601.6 657.13493333 601.6C649.42079999 601.6 642.59413333 604.80853333 636.85973333 609.24586666 635.63093333 610.2016 634.19733333 610.88426666 633.03679999 611.90826666 632.76373333 612.2496 632.62719999 612.72746666 632.28586666 613.0688 626.61973333 619.14453333 622.93333333 626.92693333 622.93333333 635.73333333c0 0.2048 0.13653333 0.4096 0.13653333 0.68266667C623.06986666 636.6208 622.93333333 636.8256 622.93333333 637.09866666l0 270.5408C622.93333333 927.232 638.29333333 943.2064 657.06666666 942.93333333c18.77333333 0.13653333 34.2016-15.70133333 34.2016-35.36213333l0-189.37173334 214.08426667 214.08426667c13.78986667 13.85813333 35.90826667 14.40426667 49.152 0.95573333 13.312-13.312 12.97066667-35.36213333-0.88746667-49.22026666L739.46453333 669.86666666z" ></path></symbol>
|
|
|
<symbol id="request-fullscreen" viewBox="0 0 1024 1024">
|
|
|
<path d="M69.818182 87.598545v273.128728a34.909091 34.909091 0 0 0 69.818182 0V163.653818l221.928727 222.021818a33.512727 33.512727 0 0 0 47.383273-47.383272L186.926545 116.363636h197.073455a34.909091 34.909091 0 0 0 0-69.818181H110.871273C85.364364 46.545455 69.818182 59.671273 69.818182 87.598545zM938.542545 46.545455H665.413818a34.909091 34.909091 0 0 0 0 69.818181h197.073455L640.465455 338.292364a33.512727 33.512727 0 0 0 47.383272 47.383272l221.928728-222.021818v197.073455a34.909091 34.909091 0 0 0 69.818181 0V87.598545c0-27.927273-15.453091-41.053091-40.96-41.05309z m-827.671272 907.636363h273.128727a34.909091 34.909091 0 0 0 0-69.818182H186.926545l222.021819-221.928727a33.512727 33.512727 0 0 0-47.383273-47.383273L139.636364 837.073455V640a34.909091 34.909091 0 0 0-69.818182 0v273.128727c0 27.927273 15.546182 41.053091 41.053091 41.053091z m868.724363-41.053091V640a34.909091 34.909091 0 0 0-69.818181 0v197.073455L687.941818 615.051636a33.512727 33.512727 0 0 0-47.383273 47.383273L862.487273 884.363636H665.413818a34.909091 34.909091 0 0 0 0 69.818182h273.128727c25.6 0 41.053091-13.125818 41.053091-41.053091z" ></path></symbol>
|
|
|
</svg>
|
|
|
`;var kD=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class i1 extends Lu{constructor(a,y){super(a,Object.assign({},i1.defaultOptions,y)),this.$element=E0("toolbar",!1),this.onToolbarItemClick=b=>{const{onClick:z}=this.options;if(b.target instanceof Element&&b.target.className.includes("g6-toolbar-item")){const te=b.target.getAttribute("value");z==null||z(te,b.target)}};const x=this.context.canvas.getContainer();this.$element.style.display="flex",x.appendChild(this.$element),Ax("g6-toolbar-css","style",{},hV,document.head),Ax("g6-toolbar-svgicon","div",{display:"none"},gV),this.$element.addEventListener("click",this.onToolbarItemClick),this.update(y)}update(a){const y=Object.create(null,{update:{get:()=>super.update}});return kD(this,void 0,void 0,function*(){y.update.call(this,a);const{className:x,position:b,style:z}=this.options;this.$element.className=`g6-toolbar ${x||""}`,Object.assign(this.$element.style,z,fV(b)),this.$element.innerHTML=yield this.getDOMContent()})}destroy(){this.$element.removeEventListener("click",this.onToolbarItemClick),this.$element.remove(),super.destroy()}getDOMContent(){return kD(this,void 0,void 0,function*(){return(yield this.options.getItems()).map(y=>`
|
|
|
<div class="g6-toolbar-item" value="${y.value}">
|
|
|
<svg aria-hidden="true" focusable="false">
|
|
|
<use xlink:href="#${y.id}"></use>
|
|
|
</svg>
|
|
|
</div>`).join("")})}}i1.defaultOptions={position:"top-left"};function lS(E){var a=document.createElement("div");a.innerHTML=E;var y=a.childNodes[0];return y&&a.contains(y)&&a.removeChild(y),y}function vV(E,a){return!E||!a?E:E.replace(/\\?\{([^{}]+)\}/g,function(y,x){return y.charAt(0)==="\\"?y.slice(1):a[x]===void 0?"":a[x]})}var mV=vV,zD=function(E,a){if(a==null){E.innerHTML="";return}E.replaceChildren?Array.isArray(a)?E.replaceChildren.apply(E,(0,Rt.ev)([],(0,Rt.CR)(a),!1)):E.replaceChildren(a):(E.innerHTML="",Array.isArray(a)?a.forEach(function(y){return E.appendChild(y)}):E.appendChild(a))};function uS(E){return E===void 0&&(E=""),{CONTAINER:"".concat(E,"tooltip"),TITLE:"".concat(E,"tooltip-title"),LIST:"".concat(E,"tooltip-list"),LIST_ITEM:"".concat(E,"tooltip-list-item"),NAME:"".concat(E,"tooltip-list-item-name"),MARKER:"".concat(E,"tooltip-list-item-marker"),NAME_LABEL:"".concat(E,"tooltip-list-item-name-label"),VALUE:"".concat(E,"tooltip-list-item-value"),CROSSHAIR_X:"".concat(E,"tooltip-crosshair-x"),CROSSHAIR_Y:"".concat(E,"tooltip-crosshair-y")}}var UD={overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis"};function pV(E){var a;E===void 0&&(E="");var y=uS(E);return a={},a[".".concat(y.CONTAINER)]={position:"absolute",visibility:"visible","z-index":8,transition:"visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1), left 0.4s cubic-bezier(0.23, 1, 0.32, 1), top 0.4s cubic-bezier(0.23, 1, 0.32, 1)","background-color":"rgba(255, 255, 255, 0.96)","box-shadow":"0 6px 12px 0 rgba(0, 0, 0, 0.12)","border-radius":"4px",color:"rgba(0, 0, 0, 0.65)","font-size":"12px","line-height":"20px",padding:"12px","min-width":"120px","max-width":"360px","font-family":"Roboto-Regular"},a[".".concat(y.TITLE)]={color:"rgba(0, 0, 0, 0.45)"},a[".".concat(y.LIST)]={margin:"0px","list-style-type":"none",padding:"0px"},a[".".concat(y.LIST_ITEM)]={"list-style-type":"none",display:"flex","line-height":"2em","align-items":"center","justify-content":"space-between","white-space":"nowrap"},a[".".concat(y.MARKER)]={width:"8px",height:"8px","border-radius":"50%",display:"inline-block","margin-right":"4px"},a[".".concat(y.NAME)]={display:"flex","align-items":"center","max-width":"216px"},a[".".concat(y.NAME_LABEL)]=(0,Rt.pi)({flex:1},UD),a[".".concat(y.VALUE)]=(0,Rt.pi)({display:"inline-block",float:"right",flex:1,"text-align":"right","min-width":"28px","margin-left":"30px",color:"rgba(0, 0, 0, 0.85)"},UD),a[".".concat(y.CROSSHAIR_X)]={position:"absolute",width:"1px","background-color":"rgba(0, 0, 0, 0.25)"},a[".".concat(y.CROSSHAIR_Y)]={position:"absolute",height:"1px","background-color":"rgba(0, 0, 0, 0.25)"},a}var yV=function(E){(0,Rt.ZT)(a,E);function a(y){var x=this,b,z,te=(z=(b=y.style)===null||b===void 0?void 0:b.template)===null||z===void 0?void 0:z.prefixCls,re=uS(te);return x=E.call(this,y,{data:[],x:0,y:0,visibility:"visible",title:"",position:"bottom-right",offset:[5,5],enterable:!1,container:{x:0,y:0},bounding:null,template:{prefixCls:"",container:'<div class="'.concat(re.CONTAINER,'"></div>'),title:'<div class="'.concat(re.TITLE,'"></div>'),item:'<li class="'.concat(re.LIST_ITEM,`" data-index={index}>
|
|
|
<span class="`).concat(re.NAME,`">
|
|
|
<span class="`).concat(re.MARKER,`" style="background:{color}"></span>
|
|
|
<span class="`).concat(re.NAME_LABEL,`" title="{name}">{name}</span>
|
|
|
</span>
|
|
|
<span class="`).concat(re.VALUE,`" title="{value}">{value}</span>
|
|
|
</li>`)},style:pV(te)})||this,x.timestamp=-1,x.prevCustomContentKey=x.attributes.contentKey,x.initShape(),x.render(x.attributes,x),x}return Object.defineProperty(a.prototype,"HTMLTooltipElement",{get:function(){return this.element},enumerable:!1,configurable:!0}),a.prototype.getContainer=function(){return this.element},Object.defineProperty(a.prototype,"elementSize",{get:function(){var y=this.element.offsetWidth,x=this.element.offsetHeight;return{width:y,height:x}},enumerable:!1,configurable:!0}),Object.defineProperty(a.prototype,"HTMLTooltipItemsElements",{get:function(){var y=this.attributes,x=y.data,b=y.template;return x.map(function(z,te){var re=z.name,ae=re===void 0?"":re,se=z.color,fe=se===void 0?"black":se,me=z.index,Se=(0,Rt._T)(z,["name","color","index"]),Te=(0,Rt.pi)({name:ae,color:fe,index:me!=null?me:te},Se);return lS(mV(b.item,Te))})},enumerable:!1,configurable:!0}),a.prototype.render=function(y,x){this.renderHTMLTooltipElement(),this.updatePosition()},a.prototype.destroy=function(){var y;(y=this.element)===null||y===void 0||y.remove(),E.prototype.destroy.call(this)},a.prototype.show=function(y,x){var b=this;if(y!==void 0&&x!==void 0){var z=this.element.style.visibility==="hidden",te=function(){b.attributes.x=y!=null?y:b.attributes.x,b.attributes.y=x!=null?x:b.attributes.y,b.updatePosition()};z?this.closeTransition(te):te()}this.element.style.visibility="visible"},a.prototype.hide=function(y,x){y===void 0&&(y=0),x===void 0&&(x=0);var b=this.attributes.enterable;b&&this.isCursorEntered(y,x)||(this.element.style.visibility="hidden")},a.prototype.initShape=function(){var y=this.attributes.template;this.element=lS(y.container),this.id&&this.element.setAttribute("id",this.id)},a.prototype.renderCustomContent=function(){if(!(this.prevCustomContentKey!==void 0&&this.prevCustomContentKey===this.attributes.contentKey)){this.prevCustomContentKey=this.attributes.contentKey;var y=this.attributes.content;y&&(typeof y=="string"?this.element.innerHTML=y:zD(this.element,y))}},a.prototype.renderHTMLTooltipElement=function(){var y,x,b=this.attributes,z=b.template,te=b.title,re=b.enterable,ae=b.style,se=b.content,fe=uS(z.prefixCls),me=this.element;if(this.element.style.pointerEvents=re?"auto":"none",se)this.renderCustomContent();else{te?(me.innerHTML=z.title,me.getElementsByClassName(fe.TITLE)[0].innerHTML=te):(x=(y=me.getElementsByClassName(fe.TITLE))===null||y===void 0?void 0:y[0])===null||x===void 0||x.remove();var Se=this.HTMLTooltipItemsElements,Te=document.createElement("ul");Te.className=fe.LIST,zD(Te,Se);var ke=this.element.querySelector(".".concat(fe.LIST));ke?ke.replaceWith(Te):me.appendChild(Te)}eW(me,ae)},a.prototype.getRelativeOffsetFromCursor=function(y){var x=this.attributes,b=x.position,z=x.offset,te=y||b,re=te.split("-"),ae={left:[-1,0],right:[1,0],top:[0,-1],bottom:[0,1]},se=this.elementSize,fe=se.width,me=se.height,Se=[-fe/2,-me/2];return re.forEach(function(Te){var ke=(0,Rt.CR)(Se,2),We=ke[0],je=ke[1],Ke=(0,Rt.CR)(ae[Te],2),Qe=Ke[0],Je=Ke[1];Se=[We+(fe/2+z[0])*Qe,je+(me/2+z[1])*Je]}),Se},a.prototype.setOffsetPosition=function(y){var x=(0,Rt.CR)(y,2),b=x[0],z=x[1],te=this.attributes,re=te.x,ae=re===void 0?0:re,se=te.y,fe=se===void 0?0:se,me=te.container,Se=me.x,Te=me.y;this.element.style.left="".concat(+ae+Se+b,"px"),this.element.style.top="".concat(+fe+Te+z,"px")},a.prototype.updatePosition=function(){var y=this.attributes.showDelay,x=y===void 0?60:y,b=Date.now();this.timestamp>0&&b-this.timestamp<x||(this.timestamp=b,this.setOffsetPosition(this.autoPosition(this.getRelativeOffsetFromCursor())))},a.prototype.autoPosition=function(y){var x=(0,Rt.CR)(y,2),b=x[0],z=x[1],te=this.attributes,re=te.x,ae=te.y,se=te.bounding,fe=te.position;if(!se)return[b,z];var me=this.element,Se=me.offsetWidth,Te=me.offsetHeight,ke=(0,Rt.CR)([+re+b,+ae+z],2),We=ke[0],je=ke[1],Ke={left:"right",right:"left",top:"bottom",bottom:"top"},Qe=se.x,Je=se.y,at=se.width,ot=se.height,ut={left:We<Qe,right:We+Se>Qe+at,top:je<Je,bottom:je+Te>Je+ot},ft=[];fe.split("-").forEach(function(Dt){ut[Dt]?ft.push(Ke[Dt]):ft.push(Dt)});var lt=ft.join("-");return this.getRelativeOffsetFromCursor(lt)},a.prototype.isCursorEntered=function(y,x){if(this.element){var b=this.element.getBoundingClientRect(),z=b.x,te=b.y,re=b.width,ae=b.height;return new Vu(z,te,re,ae).isPointIn(y,x)}return!1},a.prototype.closeTransition=function(y){var x=this,b=this.element.style.transition;this.element.style.transition="none",y(),setTimeout(function(){x.element.style.transition=b},10)},a.tag="tooltip",a}(Bl),WD=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class o1 extends Lu{constructor(a,y){super(a,Object.assign({},o1.defaultOptions,y)),this.currentTarget=null,this.tooltipElement=null,this.container=null,this.isEnable=(x,b)=>{const{enable:z}=this.options;return typeof z=="function"?z(x,b):z},this.onClick=x=>{const{target:{id:b}}=x;this.currentTarget===b?this.hide(x):this.show(x)},this.onPointerMove=x=>{const{target:b}=x;!this.currentTarget||b.id===this.currentTarget||this.show(x)},this.onPointerLeave=x=>{this.hide(x)},this.onCanvasMove=x=>{this.hide(x)},this.onPointerEnter=x=>{this.show(x)},this.showById=x=>WD(this,void 0,void 0,function*(){const b={target:{id:x}};yield this.show(b)}),this.getElementData=(x,b)=>{const{model:z}=this.context;switch(b){case"node":return z.getNodeData([x]);case"edge":return z.getEdgeData([x]);case"combo":return z.getComboData([x]);default:return[]}},this.show=x=>WD(this,void 0,void 0,function*(){var b,z;const{client:te,target:{id:re}}=x;if(Yp(x.target))return;const ae=this.context.graph.getElementType(re),{getContent:se,title:fe}=this.options,me=this.getElementData(re,ae);if(!this.tooltipElement||!this.isEnable(x,me))return;let Se={};if(se){if(Se.content=yield se(x,me),!Se.content)return}else{const We=this.context.graph.getElementRenderStyle(re),je=ae==="node"?We.fill:We.stroke;Se={title:fe||ae,data:me.map(Ke=>({name:"ID",value:Ke.id||`${Ke.source} -> ${Ke.target}`,color:je}))}}this.currentTarget=re;let Te,ke;if(te)Te=te.x,ke=te.y;else{const We=nc(me,"0.style",{x:0,y:0});Te=We.x,ke=We.y}(z=(b=this.options).onOpenChange)===null||z===void 0||z.call(b,!0),this.tooltipElement.update(Object.assign(Object.assign(Object.assign({},this.tooltipStyleProps),{x:Te,y:ke,style:{".tooltip":{visibility:"visible"}}}),Se))}),this.hide=x=>{var b,z,te,re,ae;if(!x){(z=(b=this.options).onOpenChange)===null||z===void 0||z.call(b,!1),(te=this.tooltipElement)===null||te===void 0||te.hide(),this.currentTarget=null;return}if(!this.tooltipElement||!this.currentTarget)return;const{client:{x:se,y:fe}}=x;(ae=(re=this.options).onOpenChange)===null||ae===void 0||ae.call(re,!1),this.tooltipElement.hide(se,fe),this.currentTarget=null},this.initTooltip=()=>{var x;const b=new yV({className:"tooltip",style:this.tooltipStyleProps});return(x=this.container)===null||x===void 0||x.appendChild(b.HTMLTooltipElement),b},this.render(),this.bindEvents()}getEvents(){return this.options.trigger==="click"?{"node:click":this.onClick,"edge:click":this.onClick,"combo:click":this.onClick,"canvas:click":this.onPointerLeave,contextmenu:this.onPointerLeave,drag:this.onPointerLeave}:{"node:pointerenter":this.onPointerEnter,"node:pointermove":this.onPointerMove,"canvas:pointermove":this.onCanvasMove,"edge:pointerenter":this.onPointerEnter,"edge:pointermove":this.onPointerMove,"combo:pointerenter":this.onPointerEnter,"combo:pointermove":this.onPointerMove,contextmenu:this.onPointerLeave,"node:drag":this.onPointerLeave}}update(a){var y;this.unbindEvents(),super.update(a),this.tooltipElement&&((y=this.container)===null||y===void 0||y.removeChild(this.tooltipElement.HTMLTooltipElement)),this.tooltipElement=this.initTooltip(),this.bindEvents()}render(){const{canvas:a}=this.context,y=a.getContainer();y&&(this.container=y,this.tooltipElement=this.initTooltip())}unbindEvents(){const{graph:a}=this.context,y=this.getEvents();Object.keys(y).forEach(x=>{a.off(x,y[x])})}bindEvents(){const{graph:a}=this.context,y=this.getEvents();Object.keys(y).forEach(x=>{a.on(x,y[x])})}get tooltipStyleProps(){const{canvas:a}=this.context,{center:y}=a.getBounds(),x=a.getContainer(),{top:b,left:z}=x.getBoundingClientRect(),{style:te,position:re,enterable:ae,container:se={x:-z,y:-b},title:fe,offset:me}=this.options,[Se,Te]=y,[ke,We]=a.getSize();return{x:Se,y:Te,container:se,title:fe,bounding:{x:0,y:0,width:ke,height:We},position:re,enterable:ae,offset:me,style:te}}destroy(){var a;this.unbindEvents(),this.tooltipElement&&((a=this.container)===null||a===void 0||a.removeChild(this.tooltipElement.HTMLTooltipElement)),super.destroy()}}o1.defaultOptions={trigger:"hover",position:"top-right",enterable:!1,enable:!0,offset:[10,10],style:{".tooltip":{visibility:"hidden"}}};var jD=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};let C0;function GD(E,a){return C0||(C0=document.createElement("canvas")),C0.width=E,C0.height=a,C0.getContext("2d").clearRect(0,0,E,a),C0}function EV(E,a,y,x){return jD(this,void 0,void 0,function*(){const b=GD(E,a),z=b.getContext("2d"),{rotate:te,opacity:re,textFill:ae,textFontSize:se,textFontFamily:fe,textFontVariant:me,textFontWeight:Se,textAlign:Te,textBaseline:ke}=x;return z.textAlign=Te,z.textBaseline=ke,z.translate(E/2,a/2),z.font=`${se}px ${fe} ${me} ${Se}`,te&&z.rotate(te),re&&(z.globalAlpha=re),ae&&(z.fillStyle=ae,z.fillText(`${y}`,0,0)),b.toDataURL()})}function AV(E,a,y,x){return jD(this,void 0,void 0,function*(){const b=GD(E,a),z=b.getContext("2d"),{rotate:te,opacity:re}=x;te&&z.rotate(te),re&&(z.globalAlpha=re);const ae=new Image;return ae.crossOrigin="anonymous",ae.src=y,new Promise(se=>{ae.onload=function(){const fe=E>ae.width?(E-ae.width)/2:0,me=a>ae.height?(a-ae.height)/2:0;z.drawImage(ae,0,0,ae.width,ae.height,fe,me,E-fe*2,a-me*2),se(b.toDataURL())}})})}var xV=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})},SV=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};class s1 extends Lu{constructor(a,y){super(a,Object.assign({},s1.defaultOptions,y)),this.$element=E0("watermark"),this.context.canvas.getContainer().appendChild(this.$element),this.update(y)}update(a){const y=Object.create(null,{update:{get:()=>super.update}});return xV(this,void 0,void 0,function*(){y.update.call(this,a);const x=this.options,{width:b,height:z,text:te,imageURL:re}=x,ae=SV(x,["width","height","text","imageURL"]);Object.keys(ae).forEach(fe=>{fe.startsWith("background")&&(this.$element.style[fe]=a[fe])});const se=re?yield AV(b,z,re,ae):yield EV(b,z,te,ae);this.$element.style.backgroundImage=`url(${se})`})}destroy(){super.destroy(),this.$element.remove()}}s1.defaultOptions={width:200,height:100,opacity:.2,rotate:Math.PI/12,text:"",textFill:"#000",textFontSize:16,textAlign:"center",textBaseline:"middle",backgroundRepeat:"repeat"};const bV=["#7E92B5","#F4664A","#FFBE3A"],CV={type:"group",color:["#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]},PV={type:"group",color:["#99ADD1","#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]};function VD(E){const{bgColor:a,textColor:y,nodeColor:x,nodeColorDisabled:b,nodeStroke:z,nodeHaloStrokeOpacityActive:te=.15,nodeHaloStrokeOpacitySelected:re=.25,nodeOpacityDisabled:ae=.06,nodeIconOpacityInactive:se=.85,nodeOpacityInactive:fe=.25,nodeBadgePalette:me=bV,nodePaletteOptions:Se=CV,edgeColor:Te,edgeColorDisabled:ke,edgePaletteOptions:We=PV,comboColor:je,comboColorDisabled:Ke,comboStroke:Qe,comboStrokeDisabled:Je,edgeColorInactive:at}=E;return{background:a,node:{palette:Se,style:{donutOpacity:1,badgeBackgroundOpacity:1,badgeFill:"#fff",badgeFontSize:8,badgePadding:[0,4],badgePalette:me,fill:x,fillOpacity:1,halo:!1,iconFill:"#fff",iconOpacity:1,labelBackground:!1,labelBackgroundFill:a,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelFill:y,labelFillOpacity:.85,labelLineHeight:16,labelPadding:[0,2],labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelOffsetY:2,lineWidth:0,portFill:x,portLineWidth:1,portStroke:z,portStrokeOpacity:.65,size:32,stroke:z,strokeOpacity:1,zIndex:2},state:{selected:{halo:!0,haloLineWidth:24,haloStrokeOpacity:re,labelFontSize:12,labelFontWeight:"bold",lineWidth:4,stroke:z},active:{halo:!0,haloLineWidth:12,haloStrokeOpacity:te},highlight:{labelFontWeight:"bold",lineWidth:4,stroke:z,strokeOpacity:.85},inactive:{badgeBackgroundOpacity:fe,donutOpacity:fe,fillOpacity:fe,iconOpacity:se,labelFill:y,labelFillOpacity:fe,strokeOpacity:fe},disabled:{badgeBackgroundOpacity:.25,donutOpacity:ae,fill:b,fillOpacity:ae,iconFill:b,iconOpacity:.25,labelFill:y,labelFillOpacity:.25,strokeOpacity:ae}},animation:{enter:"fade",exit:"fade",show:"fade",hide:"fade",expand:"node-expand",collapse:"node-collapse",update:[{fields:["x","y","fill","stroke"]}],translate:[{fields:["x","y"]}]}},edge:{palette:We,style:{badgeBackgroundFill:Te,badgeFill:"#fff",badgeFontSize:8,badgeOffsetX:10,fillOpacity:1,halo:!1,haloLineWidth:12,haloStrokeOpacity:1,increasedLineWidthForHitTesting:2,labelBackground:!1,labelBackgroundFill:a,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[4,4,4,4],labelFill:y,labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelPlacement:"center",labelTextBaseline:"middle",lineWidth:1,stroke:Te,strokeOpacity:1,zIndex:1},state:{selected:{halo:!0,haloStrokeOpacity:.25,labelFontSize:14,labelFontWeight:"bold",lineWidth:3},active:{halo:!0,haloStrokeOpacity:.15},highlight:{labelFontWeight:"bold",lineWidth:3},inactive:{stroke:at,fillOpacity:.08,labelOpacity:.25,strokeOpacity:.08,badgeBackgroundOpacity:.25},disabled:{stroke:ke,fillOpacity:.45,strokeOpacity:.45,labelOpacity:.25,badgeBackgroundOpacity:.45}},animation:{enter:"fade",exit:"fade",expand:"path-in",collapse:"path-out",show:"fade",hide:"fade",update:[{fields:["sourceNode","targetNode"]},{fields:["stroke"],shape:"key"}],translate:[{fields:["sourceNode","targetNode"]}]}},combo:{style:{collapsedMarkerFill:a,collapsedMarkerFontSize:12,collapsedMarkerFillOpacity:1,collapsedSize:32,collapsedFillOpacity:1,fill:je,halo:!1,haloLineWidth:12,haloStroke:Qe,haloStrokeOpacity:.25,labelBackground:!1,labelBackgroundFill:a,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[2,4,2,4],labelFill:y,labelFontSize:12,labelFontWeight:400,labelOpacity:1,lineDash:0,lineWidth:1,fillOpacity:.04,strokeOpacity:1,padding:10,stroke:Qe},state:{selected:{halo:!0,labelFontSize:14,labelFontWeight:700,lineWidth:4},active:{halo:!0},highlight:{labelFontWeight:700,lineWidth:4},inactive:{fillOpacity:.65,labelOpacity:.25,strokeOpacity:.65},disabled:{fill:Ke,fillOpacity:.25,labelOpacity:.25,stroke:Je,strokeOpacity:.25}},animation:{enter:"fade",exit:"fade",show:"fade",hide:"fade",expand:"combo-expand",collapse:"combo-collapse",update:[{fields:["x","y"]},{fields:["fill","stroke","lineWidth"],shape:"key"}],translate:[{fields:["x","y"]}]}}}}const wV=VD({bgColor:"#000000",comboColor:"#fdfdfd",comboColorDisabled:"#d0e4ff",comboStroke:"#99add1",comboStrokeDisabled:"#969696",edgeColor:"#637088",edgeColorDisabled:"#637088",edgeColorInactive:"#D0E4FF",edgePaletteOptions:{type:"group",color:["#637088","#0F55A6","#008383","#9C5D38","#8B53A6","#4E40A6","#8F6608","#3E801D","#A65383","#175E75","#0F8248"]},nodeColor:"#1783ff",nodeColorDisabled:"#D0E4FF",nodeHaloStrokeOpacityActive:.25,nodeHaloStrokeOpacitySelected:.45,nodeIconOpacityInactive:.45,nodeOpacityDisabled:.25,nodeOpacityInactive:.45,nodeStroke:"#d0e4ff",textColor:"#ffffff"}),MV=VD({bgColor:"#ffffff",comboColor:"#99ADD1",comboColorDisabled:"#f0f0f0",comboStroke:"#99add1",comboStrokeDisabled:"#d9d9d9",edgeColor:"#99add1",edgeColorDisabled:"#d9d9d9",edgeColorInactive:"#1B324F",nodeColor:"#1783ff",nodeColorDisabled:"#1B324F",nodeHaloStrokeOpacityActive:.15,nodeHaloStrokeOpacitySelected:.25,nodeIconOpacityInactive:.85,nodeOpacityDisabled:.06,nodeOpacityInactive:.25,nodeStroke:"#000000",textColor:"#000000"});class Ch extends yA{beforeDraw(a,y){return a}afterLayout(a,y){}}class DV extends Ch{beforeDraw(a){const{model:y}=this.context,x=a.add.combos,b=z=>{const te=[];return z.forEach((re,ae)=>{const fe=y.getAncestorsData(ae,"combo").map(me=>_r(me)).reverse();te.push([ae,re,fe.length])}),new Map(te.sort(([,,re],[,,ae])=>ae-re).map(([re,ae])=>[re,ae]))};return a.add.combos=b(x),a.update.combos=b(a.update.combos),a}}function Gc(E,a,y,x,b){const z=_r(x),te=`${y}s`,re=b?x:E.add[te].get(z)||E.update[te].get(z)||E.remove[te].get(z)||x;Object.entries(E).forEach(([ae,se])=>{a===ae?se[te].set(z,re):se[te].delete(z)})}function l1(E,a){return Object.keys(E).every(y=>E[y]===a[y])}class IV extends Ch{beforeDraw(a,y){if(y.stage==="visibility"||!this.context.model.model.hasTreeStructure(rl))return a;const{model:x}=this.context,{add:b,update:z}=a,te=[...a.update.combos.entries(),...a.add.combos.entries()];for(;te.length;){const[re,ae]=te.pop();if(Ac(ae)){const se=x.getDescendantsData(re),fe=se.map(_r),{internal:me,external:Se}=WA(fe,Te=>x.getRelatedEdgesData(Te));se.forEach(Te=>{const ke=_r(Te),We=te.findIndex(([Ke])=>Ke===ke);We!==-1&&te.splice(We,1);const je=x.getElementType(ke);Gc(a,"remove",je,Te)}),me.forEach(Te=>Gc(a,"remove","edge",Te)),Se.forEach(Te=>{var ke;const We=_r(Te);((ke=this.context.element)===null||ke===void 0?void 0:ke.getElement(We))?z.edges.set(We,Te):b.edges.set(We,Te)})}else{const se=x.getChildrenData(re),fe=se.map(_r),{edges:me}=WA(fe,Se=>x.getRelatedEdgesData(Se));[...se,...me].forEach(Se=>{var Te;const ke=_r(Se),We=x.getElementType(ke);((Te=this.context.element)===null||Te===void 0?void 0:Te.getElement(ke))?Gc(a,"update",We,Se):Gc(a,"add",We,Se),We==="combo"&&te.push([ke,Se])})}}return a}}const HD=(E,a,y,x)=>{const b=`${y}s`,z=_r(x);!E.add[b].has(z)&&!E.update[b].has(z)&&E[a][b].set(_r(x),x)};class LV extends Ch{getElement(a){return this.context.element.getElement(a)}handleExpand(a,y){if(HD(y,"add","node",a),Ac(a))return;const x=_r(a);HD(y,"add","node",a),this.context.model.getRelatedEdgesData(x,"out").forEach(te=>{Gc(y,"add","edge",te)}),this.context.model.getChildrenData(x).forEach(te=>{this.handleExpand(te,y)})}beforeDraw(a){const{graph:y,model:x}=this.context;if(!x.model.hasTreeStructure(_c))return a;const{add:{nodes:b,edges:z},update:{nodes:te}}=a,re=new Map,ae=new Map;b.forEach((fe,me)=>{Ac(fe)&&re.set(me,fe)}),z.forEach(fe=>{if(y.getElementType(fe.source)!=="node")return;const me=y.getNodeData(fe.source);Ac(me)&&re.set(fe.source,me)}),te.forEach((fe,me)=>{const Se=this.getElement(me);if(!Se)return;const Te=Se.attributes.collapsed;Ac(fe)?Te||re.set(me,fe):Te&&ae.set(me,fe)});const se=new Set;return re.forEach((fe,me)=>{x.getDescendantsData(me).forEach(Te=>{const ke=_r(Te);if(se.has(ke))return;Gc(a,"remove","node",Te),x.getRelatedEdgesData(ke).forEach(je=>{Gc(a,"remove","edge",je)}),se.add(ke)})}),ae.forEach((fe,me)=>{if(x.getAncestorsData(me,_c).some(Ac)){Gc(a,"remove","node",fe);return}this.handleExpand(fe,a)}),a}}const cS=new WeakMap;function f$(E,a,y){cS.has(E)||cS.set(E,{});const x=cS.get(E);if(!x[a])return x[a]=y,!0;const b=x[a];return KD(b,y)?!1:(x[a]=y,!0)}const KD=(E,a,y=2)=>{if(typeof E!="object"||typeof a!="object")return E===a;const x=Object.keys(E),b=Object.keys(a);if(x.length!==b.length)return!1;for(const z of x){const te=E[z],re=a[z];if(y>1&&typeof te=="object"&&typeof re=="object"){if(!KD(te,re,y-1))return!1}else if(te!==re)return!1}return!0};function OV(E,a,y,x=!1){const b=tA[E][a];!x&&b?b!==y&&Ec.warn(`The extension ${a} of ${E} has been registered before.`):Object.assign(tA[E],{[a]:y})}var ZD=function(){function E(a){(0,Ar.Z)(this,E),this.dragndropPluginOptions=a}return(0,$n.Z)(E,[{key:"apply",value:function(y){var x=this,b=y.renderingService,z=y.renderingContext,te=z.root.ownerDocument,re=te.defaultView,ae=function(fe){var me=fe.target,Se=me===te,Te=Se&&x.dragndropPluginOptions.isDocumentDraggable?te:me.closest&&me.closest("[draggable=true]");if(Te){var ke=!1,We=fe.timeStamp,je=[fe.clientX,fe.clientY],Ke=null,Qe=[fe.clientX,fe.clientY],Je=function(){var ot=(0,eh.Z)((0,ju.Z)().mark(function ut(ft){var lt,Dt,Bt,Vt,Xt,vn;return(0,ju.Z)().wrap(function(wn){for(;;)switch(wn.prev=wn.next){case 0:if(ke){wn.next=8;break}if(lt=ft.timeStamp-We,Dt=hc([ft.clientX,ft.clientY],je),!(lt<=x.dragndropPluginOptions.dragstartTimeThreshold||Dt<=x.dragndropPluginOptions.dragstartDistanceThreshold)){wn.next=5;break}return wn.abrupt("return");case 5:ft.type="dragstart",Te.dispatchEvent(ft),ke=!0;case 8:if(ft.type="drag",ft.dx=ft.clientX-Qe[0],ft.dy=ft.clientY-Qe[1],Te.dispatchEvent(ft),Qe=[ft.clientX,ft.clientY],Se){wn.next=21;break}return Bt=x.dragndropPluginOptions.overlap==="pointer"?[ft.canvasX,ft.canvasY]:me.getBounds().center,wn.next=17,te.elementsFromPoint(Bt[0],Bt[1]);case 17:Vt=wn.sent,Xt=Vt[Vt.indexOf(me)+1],vn=(Xt==null?void 0:Xt.closest("[droppable=true]"))||(x.dragndropPluginOptions.isDocumentDroppable?te:null),Ke!==vn&&(Ke&&(ft.type="dragleave",ft.target=Ke,Ke.dispatchEvent(ft)),vn&&(ft.type="dragenter",ft.target=vn,vn.dispatchEvent(ft)),Ke=vn,Ke&&(ft.type="dragover",ft.target=Ke,Ke.dispatchEvent(ft)));case 21:case"end":return wn.stop()}},ut)}));return function(ft){return ot.apply(this,arguments)}}();re.addEventListener("pointermove",Je);var at=function(ut){if(ke){ut.detail={preventClick:!0};var ft=ut.clone();Ke&&(ft.type="drop",ft.target=Ke,Ke.dispatchEvent(ft)),ft.type="dragend",Te.dispatchEvent(ft),ke=!1}re.removeEventListener("pointermove",Je)};me.addEventListener("pointerup",at,{once:!0}),me.addEventListener("pointerupoutside",at,{once:!0})}};b.hooks.init.tap(E.tag,function(){re.addEventListener("pointerdown",ae)}),b.hooks.destroy.tap(E.tag,function(){re.removeEventListener("pointerdown",ae)})}}])}();ZD.tag="Dragndrop";var TV=function(E){function a(){var y,x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,Ar.Z)(this,a),y=Tr(this,a),y.name="dragndrop",y.options=x,y}return(0,da.Z)(a,E),(0,$n.Z)(a,[{key:"init",value:function(){this.addRenderingPlugin(new ZD((0,Cr.Z)({overlap:"pointer",isDocumentDraggable:!1,isDocumentDroppable:!1,dragstartDistanceThreshold:0,dragstartTimeThreshold:0},this.options)))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}},{key:"setOptions",value:function(x){Object.assign(this.plugins[0].dragndropPluginOptions,x)}}])}(th),QD=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})},YD=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};const XD=["main"],JD=["background","main","label","transient"];function BV(E){return E.main}class qD{getConfig(){return this.config}getLayer(a="main"){return this.extends.layers[a]||BV(this.getLayers())}getLayers(){return this.extends.layers}getRenderer(a){return this.extends.renderers[a]}getCamera(a="main"){return this.getLayer(a).getCamera()}getRoot(a="main"){return this.getLayer(a).getRoot()}getContextService(a="main"){return this.getLayer(a).getContextService()}setCursor(a){this.config.cursor=a,this.getLayer().setCursor(a)}get document(){return this.getLayer().document}get context(){return this.getLayer().context}constructor(a){this.config={enableMultiLayer:!0},Object.assign(this.config,a);const y=this.config,{renderer:x,background:b,cursor:z,enableMultiLayer:te}=y,re=YD(y,["renderer","background","cursor","enableMultiLayer"]),ae=te?JD:XD,se=$D(x,ae),fe=Object.fromEntries(ae.map(me=>{const Se=new VE(Object.assign(Object.assign({},re),{supportsMutipleCanvasesInOneContainer:te,renderer:se[me],background:te?me==="background"?b:void 0:b}));return[me,Se]}));e3(fe),this.extends={config:this.config,renderer:x,renderers:se,layers:fe}}get ready(){return Promise.all(Object.entries(this.getLayers()).map(([,a])=>a.ready))}resize(a,y){Object.assign(this.extends.config,{width:a,height:y}),Object.values(this.getLayers()).forEach(x=>{const b=x.getCamera(),z=b.getPosition(),te=b.getFocalPoint();x.resize(a,y),b.setPosition(z),b.setFocalPoint(te)})}getBounds(a){return lv(Object.values(this.getLayers()).map(y=>a?y.getRoot().childNodes.find(b=>b.classList.includes(a)):y.getRoot()).filter(y=>(y==null?void 0:y.childNodes.length)>0).map(y=>y.getBounds()))}getContainer(){const a=this.extends.config.container;return typeof a=="string"?document.getElementById(a):a}getSize(){return[this.extends.config.width||0,this.extends.config.height||0]}appendChild(a,y){var x;const b=((x=a.style)===null||x===void 0?void 0:x.$layer)||"main";return this.getLayer(b).appendChild(a,y)}setRenderer(a){if(a===this.extends.renderer)return;const y=$D(a,this.config.enableMultiLayer?JD:XD);this.extends.renderers=y,Object.entries(y).forEach(([x,b])=>this.getLayer(x).setRenderer(b)),e3(this.getLayers())}getCanvasByViewport(a){return Du(this.getLayer().viewport2Canvas(Bd(a)))}getViewportByCanvas(a){return Du(this.getLayer().canvas2Viewport(Bd(a)))}getViewportByClient(a){return Du(this.getLayer().client2Viewport(Bd(a)))}getClientByViewport(a){return Du(this.getLayer().viewport2Client(Bd(a)))}getClientByCanvas(a){return this.getClientByViewport(this.getViewportByCanvas(a))}getCanvasByClient(a){const y=this.getLayer(),x=y.client2Viewport(Bd(a));return Du(y.viewport2Canvas(x))}toDataURL(){return QD(this,arguments,void 0,function*(a={}){const y=globalThis.devicePixelRatio||1,{mode:x="viewport"}=a,b=YD(a,["mode"]);let[z,te,re,ae]=[0,0,0,0];if(x==="viewport")[re,ae]=this.getSize();else if(x==="overall"){const Ke=this.getBounds(),Qe=oh(Ke);[z,te]=Ke.min,[re,ae]=Qe}const se=lS('<div id="virtual-image"></div>'),fe=new VE({width:re,height:ae,renderer:new Ev,devicePixelRatio:y,container:se,background:this.extends.config.background});yield fe.ready,fe.appendChild(this.getLayer("background").getRoot().cloneNode(!0)),fe.appendChild(this.getRoot().cloneNode(!0));const me=this.getLayer("label").getRoot().cloneNode(!0),Se=fe.viewport2Canvas({x:0,y:0}),Te=this.getCanvasByViewport([0,0]);me.translate([Te[0]-Se.x,Te[1]-Se.y]),me.scale(1/this.getCamera().getZoom()),fe.appendChild(me),fe.appendChild(this.getLayer("transient").getRoot().cloneNode(!0));const ke=this.getCamera(),We=fe.getCamera();if(x==="viewport")We.setZoom(ke.getZoom()),We.setPosition(ke.getPosition()),We.setFocalPoint(ke.getFocalPoint());else if(x==="overall"){const[Ke,Qe,Je]=We.getPosition(),[at,ot,ut]=We.getFocalPoint();We.setPosition([Ke+z,Qe+te,Je]),We.setFocalPoint([at+z,ot+te,ut])}const je=fe.getContextService();return new Promise(Ke=>{fe.addEventListener(Rc.RERENDER,()=>QD(this,void 0,void 0,function*(){yield new Promise(Je=>setTimeout(Je,300));const Qe=yield je.toDataURL(b);Ke(Qe)}))})})}destroy(){Object.values(this.getLayers()).forEach(a=>{a.getCamera().cancelLandmarkAnimation(),a.destroy()})}}function $D(E,a){return Object.fromEntries(a.map(y=>{const x=(E==null?void 0:E(y))||new Ev;return x instanceof Ev&&x.setConfig({enableDirtyRectangleRendering:!1}),y==="main"?x.registerPlugin(new TV({isDocumentDraggable:!0,isDocumentDroppable:!0,dragstartDistanceThreshold:10,dragstartTimeThreshold:100})):x.unregisterPlugin(x.getPlugin("dom-interaction")),[y,x]}))}function e3(E){Object.entries(E).forEach(([a,y])=>{const x=y.getContextService().getDomElement();x!=null&&x.style&&(x.style.gridArea="1 / 1 / 2 / 2",x.style.outline="none",x.tabIndex=1,a!=="main"&&(x.style.pointerEvents="none")),x!=null&&x.parentElement&&(x.parentElement.style.display="grid")})}const P0=E=>E?parseInt(E):0;function NV(E){const a=getComputedStyle(E),y=E.clientWidth||P0(a.width),x=E.clientHeight||P0(a.height),b=P0(a.paddingLeft)+P0(a.paddingRight),z=P0(a.paddingTop)+P0(a.paddingBottom);return[y-b,x-z]}function t3(E){if(!E)return[0,0];let a=640,y=480;const[x,b]=NV(E);a=x||a,y=b||y;const z=1,te=1;return[Math.max(Oi(a)?a:z,z),Math.max(Oi(y)?y:te,te)]}class u1{constructor(a){this.type=a}}class tu extends u1{constructor(a,y){super(a),this.data=y}}class fd extends u1{constructor(a,y,x,b){super(a),this.animationType=y,this.animation=x,this.data=b}}class w0 extends u1{constructor(a,y,x){super(a),this.elementType=y,this.data=x}}class c1 extends u1{constructor(a,y){super(a),this.data=y}}function cu(E,a){E.emit(a.type,a)}function RV(E){if(!E)return null;if(E instanceof pP)return{type:"canvas",element:E};let a=E;for(;a;){if(xv(a))return{type:"node",element:a};if(_w(a))return{type:"edge",element:a};if(jA(a))return{type:"combo",element:a};a=a.parentElement}return null}function n3(E){var a;return((a=E==null?void 0:E.style)===null||a===void 0?void 0:a.zIndex)||0}const M0="cachedStyle",d1=E=>`__${E}__`;function _V(E,a){const y=Array.isArray(a)?a:[a];nc(E,M0)||vv(E,M0,{}),y.forEach(x=>{vv(nc(E,M0),d1(x),E.attributes[x])})}function r3(E,a){return nc(E,[M0,d1(a)])}function FV(E,a){return d1(a)in(nc(E,M0)||{})}function h$(E,a,y){set(E,[M0,d1(a)],y)}class kV{constructor(a){this.tasks=[],this.animations=new Set,this.context=a}getTasks(){const a=[...this.tasks];return this.tasks=[],a}add(a,y){this.tasks.push([a,y])}animate(a,y,x){var b,z,te;(b=y==null?void 0:y.before)===null||b===void 0||b.call(y);const re=this.getTasks().map(([se,fe])=>{var me,Se,Te;const{element:ke,elementType:We,stage:je}=se,Ke=iR(this.context.options,We,je,a);(me=fe==null?void 0:fe.before)===null||me===void 0||me.call(fe);const Qe=Ke.length?sR(ke,this.inferStyle(se,x),Ke):null;return Qe?((Se=fe==null?void 0:fe.beforeAnimate)===null||Se===void 0||Se.call(fe,Qe),Qe.finished.then(()=>{var Je,at;(Je=fe==null?void 0:fe.afterAnimate)===null||Je===void 0||Je.call(fe,Qe),(at=fe==null?void 0:fe.after)===null||at===void 0||at.call(fe),this.animations.delete(Qe)})):(Te=fe==null?void 0:fe.after)===null||Te===void 0||Te.call(fe),Qe}).filter(Boolean);re.forEach(se=>this.animations.add(se));const ae=nA(re);return ae?((z=y==null?void 0:y.beforeAnimate)===null||z===void 0||z.call(y,ae),ae.finished.then(()=>{var se,fe;(se=y==null?void 0:y.afterAnimate)===null||se===void 0||se.call(y,ae),(fe=y==null?void 0:y.after)===null||fe===void 0||fe.call(y),this.release()})):(te=y==null?void 0:y.after)===null||te===void 0||te.call(y),ae}inferStyle(a,y){var x,b;const{element:z,elementType:te,stage:re,originalStyle:ae,updatedStyle:se={}}=a;a.modifiedStyle||(a.modifiedStyle=Object.assign(Object.assign({},ae),se));const{modifiedStyle:fe}=a,me={},Se={};if(re==="enter")Object.assign(me,{opacity:0});else if(re==="exit")Object.assign(Se,{opacity:0});else if(re==="show")Object.assign(me,{opacity:0}),Object.assign(Se,{opacity:(x=r3(z,"opacity"))!==null&&x!==void 0?x:sv("opacity")});else if(re==="hide")Object.assign(me,{opacity:(b=r3(z,"opacity"))!==null&&b!==void 0?b:sv("opacity")}),Object.assign(Se,{opacity:0});else if(re==="collapse"){const{collapse:Te}=y||{},{target:ke,descendants:We,position:je}=Te;if(te==="node"){if(We.includes(z.id)){const[Ke,Qe,Je]=je;Object.assign(Se,{x:Ke,y:Qe,z:Je})}}else if(te==="combo"){if(z.id===ke||We.includes(z.id)){const[Ke,Qe]=je;Object.assign(Se,{x:Ke,y:Qe,childrenNode:ae.childrenNode})}}else te==="edge"&&Object.assign(Se,{sourceNode:fe.sourceNode,targetNode:fe.targetNode})}else if(re==="expand"){const{expand:Te}=y||{},{target:ke,descendants:We,position:je}=Te;if(te==="node"){if(z.id===ke||We.includes(z.id)){const[Ke,Qe,Je]=je;Object.assign(me,{x:Ke,y:Qe,z:Je})}}else if(te==="combo"){if(z.id===ke||We.includes(z.id)){const[Ke,Qe,Je]=je;Object.assign(me,{x:Ke,y:Qe,z:Je,childrenNode:fe.childrenNode})}}else te==="edge"&&Object.assign(me,{sourceNode:fe.sourceNode,targetNode:fe.targetNode})}return[Object.keys(me).length>0?Object.assign({},ae,me):ae,Object.keys(Se).length>0?Object.assign({},fe,Se):fe]}stop(){this.animations.forEach(a=>a.cancel())}clear(){this.tasks=[]}release(){var a,y;const{canvas:x}=this.context,b=(y=(a=x.document)===null||a===void 0?void 0:a.timeline)===null||y===void 0?void 0:y.animationsWithPromises;b&&(x.document.timeline.animationsWithPromises=b.filter(z=>z.playState!=="finished"))}destroy(){this.stop(),this.animations.clear(),this.tasks=[]}}class zV{constructor(a){this.batchCount=0,this.context=a}emit(a){const{graph:y}=this.context;y.emit(a.type,a)}startBatch(a=!0){this.batchCount++,this.batchCount===1&&this.emit(new tu(ci.BATCH_START,{initiate:a}))}endBatch(){this.batchCount--,this.batchCount===0&&this.emit(new tu(ci.BATCH_END))}get isBatching(){return this.batchCount>0}destroy(){this.context=null}}class UV extends pA{constructor(a){super(a),this.currentTarget=null,this.currentTargetType=null,this.category="behavior",this.forwardCanvasEvents=y=>{const{target:x}=y,b=RV(x);if(!b)return;const{graph:z,canvas:te}=this.context,{type:re,element:ae}=b;if("destroyed"in ae&&(Yp(ae)||ae.destroyed))return;const{type:se,detail:fe,button:me}=y,Se=Object.assign(Object.assign({},y),{target:ae,targetType:re,originalTarget:x});se===ga.POINTER_MOVE&&(this.currentTarget!==ae&&(this.currentTarget&&z.emit(`${this.currentTargetType}:${ga.POINTER_LEAVE}`,Object.assign(Object.assign({},Se),{type:ga.POINTER_LEAVE,target:this.currentTarget,targetType:this.currentTargetType})),ae&&(Object.assign(Se,{type:ga.POINTER_ENTER}),z.emit(`${re}:${ga.POINTER_ENTER}`,Se))),this.currentTarget=ae,this.currentTargetType=re),se===ga.CLICK&&me===2||(z.emit(`${re}:${se}`,Se),z.emit(se,Se)),se===ga.CLICK&&fe===2&&(Object.assign(Se,{type:ga.DBLCLICK}),z.emit(`${re}:${ga.DBLCLICK}`,Se),z.emit(ga.DBLCLICK,Se)),se===ga.POINTER_DOWN&&me===2&&(Object.assign(Se,{type:ga.CONTEXT_MENU,preventDefault:()=>{var Te;(Te=te.getContainer())===null||Te===void 0||Te.addEventListener(ga.CONTEXT_MENU,ke=>ke.preventDefault(),{once:!0})}}),z.emit(`${re}:${ga.CONTEXT_MENU}`,Se),z.emit(ga.CONTEXT_MENU,Se))},this.forwardContainerEvents=y=>{this.context.graph.emit(y.type,y)},this.forwardEvents(),this.setBehaviors(this.context.options.behaviors||[])}setBehaviors(a){this.setExtensions(a)}forwardEvents(){const a=this.context.canvas.getContainer();a&&[o0.KEY_DOWN,o0.KEY_UP].forEach(x=>{a.addEventListener(x,this.forwardContainerEvents)});const y=this.context.canvas.document;y&&[ga.CLICK,ga.DBLCLICK,ga.POINTER_OVER,ga.POINTER_LEAVE,ga.POINTER_ENTER,ga.POINTER_MOVE,ga.POINTER_OUT,ga.POINTER_DOWN,ga.POINTER_UP,ga.CONTEXT_MENU,ga.DRAG_START,ga.DRAG,ga.DRAG_END,ga.DRAG_ENTER,ga.DRAG_OVER,ga.DRAG_LEAVE,ga.DROP,ga.WHEEL].forEach(x=>{y.addEventListener(x,this.forwardCanvasEvents)})}destroy(){const a=this.context.canvas.getContainer();a&&[o0.KEY_DOWN,o0.KEY_UP].forEach(y=>{a.removeEventListener(y,this.forwardContainerEvents)}),this.context.canvas.document.removeAllEventListeners(),super.destroy()}}function WV(E,a){a===void 0&&(a=new Map);var y=[];if(Array.isArray(E))for(var x=0,b=E.length;x<b;x++){var z=E[x];a.has(z)||(y.push(z),a.set(z,!0))}return y}var Vv=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};function Ph(E,a){const{data:y,style:x}=E,b=Vv(E,["data","style"]),{data:z,style:te}=a,re=Vv(a,["data","style"]),ae=Object.assign(Object.assign({},b),re);return(y||z)&&Object.assign(ae,{data:Object.assign(Object.assign({},y),z)}),(x||te)&&Object.assign(ae,{style:Object.assign(Object.assign({},x),te)}),ae}function dS(E){const{data:a,style:y}=E,b=Vv(E,["data","style"]);return a&&(b.data=Object.assign({},a)),y&&(b.style=Object.assign({},y)),b}function g$(E){return!get(E,["nodes","length"])&&!get(E,["edges","length"])&&!get(E,["combos","length"])}function D0(E={},a={}){const{states:y=[],data:x={},style:b={},children:z=[]}=E,te=Vv(E,["states","data","style","children"]),{states:re=[],data:ae={},style:se={},children:fe=[]}=a,me=Vv(a,["states","data","style","children"]),Se=(ke,We)=>ke.length!==We.length?!1:ke.every((je,Ke)=>je===We[Ke]),Te=(ke,We)=>{const je=Object.keys(ke),Ke=Object.keys(We);return je.length!==Ke.length?!1:je.every(Qe=>ke[Qe]===We[Qe])};return!(!Te(te,me)||!Se(z,fe)||!Se(y,re)||!Te(x,ae)||!Te(b,se))}var jV=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};function fS(E){const{id:a=_r(E),style:y,data:x}=E,b=jV(E,["id","style","data"]),z=Object.assign(Object.assign({},E),{style:Object.assign({},y),data:Object.assign({},x)});return vR(E)?Object.assign({id:a,data:z},b):{id:a,data:z}}function xu(E){return E.data}function GV(E){if(E.hasTreeStructure(_c))return;E.attachTreeStructure(_c);const a=E.getAllEdges();for(const y of a){const{source:x,target:b}=y;E.setParent(b,x,_c)}}class VV{constructor(){this.latestRemovedComboIds=new Set,this.comboIds=new Set,this.changes=[],this.batchCount=0,this.isTraceless=!1,this.enableUpdateNodeLikeHierarchy=!0,this.model=new Kl}pushChange(a){if(this.isTraceless)return;const{type:y}=a;if(y===gl.NodeUpdated||y===gl.EdgeUpdated||y===gl.ComboUpdated){const{value:x,original:b}=a;this.changes.push({value:dS(x),original:dS(b),type:y})}else this.changes.push({value:dS(a.value),type:y})}getChanges(){return this.changes}clearChanges(){this.changes=[]}batch(a){this.batchCount++,this.model.batch(a),this.batchCount--}isBatching(){return this.batchCount>0}silence(a){this.isTraceless=!0,a(),this.isTraceless=!1}isCombo(a){return this.comboIds.has(a)||this.latestRemovedComboIds.has(a)}getData(){return{nodes:this.getNodeData(),edges:this.getEdgeData(),combos:this.getComboData()}}getNodeData(a){return this.model.getAllNodes().reduce((y,x)=>{const b=xu(x);return this.isCombo(_r(b))||(a===void 0||a.includes(_r(b)))&&y.push(b),y},[])}getEdgeDatum(a){return xu(this.model.getEdge(a))}getEdgeData(a){return this.model.getAllEdges().reduce((y,x)=>{const b=xu(x);return(a===void 0||a.includes(_r(b)))&&y.push(b),y},[])}getComboData(a){return this.model.getAllNodes().reduce((y,x)=>{const b=xu(x);return this.isCombo(_r(b))&&(a===void 0||a.includes(_r(b)))&&y.push(b),y},[])}getRootsData(a=_c){return this.model.getRoots(a).map(xu)}getAncestorsData(a,y){const{model:x}=this;return!x.hasNode(a)||!x.hasTreeStructure(y)?[]:x.getAncestors(a,y).map(xu)}getDescendantsData(a){const y=this.getElementDataById(a),x=[];return pg(y,b=>{b!==y&&x.push(b)},b=>this.getChildrenData(_r(b)),"TB"),x}getParentData(a,y){const{model:x}=this;if(!y){Ec.warn("The hierarchy structure key is not specified");return}if(!x.hasNode(a)||!x.hasTreeStructure(y))return;const b=x.getParent(a,y);return b?xu(b):void 0}getChildrenData(a){const y=this.getElementType(a)==="node"?_c:rl,{model:x}=this;return!x.hasNode(a)||!x.hasTreeStructure(y)?[]:x.getChildren(a,y).map(xu)}getElementsDataByType(a){return a==="node"?this.getNodeData():a==="edge"?this.getEdgeData():a==="combo"?this.getComboData():[]}getElementDataById(a){return this.getElementType(a)==="edge"?this.getEdgeDatum(a):this.getNodeLikeDatum(a)}getNodeLikeDatum(a){const y=this.model.getNode(a);return xu(y)}getNodeLikeData(a){return this.model.getAllNodes().reduce((y,x)=>{const b=xu(x);return a?a.includes(_r(b))&&y.push(b):y.push(b),y},[])}getElementDataByState(a,y){return this.getElementsDataByType(a).filter(b=>{var z;return(z=b.states)===null||z===void 0?void 0:z.includes(y)})}getElementState(a){var y;return((y=this.getElementDataById(a))===null||y===void 0?void 0:y.states)||[]}hasNode(a){return this.model.hasNode(a)&&!this.isCombo(a)}hasEdge(a){return this.model.hasEdge(a)}hasCombo(a){return this.model.hasNode(a)&&this.isCombo(a)}getRelatedEdgesData(a,y="both"){return this.model.getRelatedEdges(a,y).map(xu)}getNeighborNodesData(a){return this.model.getNeighbors(a).map(xu)}setData(a){const{nodes:y=[],edges:x=[],combos:b=[]}=a,{nodes:z,edges:te,combos:re}=this.getData(),ae=uh(z,y,me=>_r(me),D0),se=uh(te,x,me=>_r(me),D0),fe=uh(re,b,me=>_r(me),D0);this.batch(()=>{const me={nodes:ae.enter,edges:se.enter,combos:fe.enter};this.addData(me),this.computeZIndex(me,"add",!0);const Se={nodes:ae.update,edges:se.update,combos:fe.update};this.updateData(Se),this.computeZIndex(Se,"update",!0);const Te={nodes:ae.exit.map(_r),edges:se.exit.map(_r),combos:fe.exit.map(_r)};this.removeData(Te)})}addData(a){const{nodes:y,edges:x,combos:b}=a;this.batch(()=>{this.addComboData(b),this.addNodeData(y),this.addEdgeData(x)}),this.computeZIndex(a,"add")}addNodeData(a=[]){a.length&&(this.model.addNodes(a.map(y=>(this.pushChange({value:y,type:gl.NodeAdded}),fS(y)))),this.updateNodeLikeHierarchy(a),this.computeZIndex({nodes:a},"add"))}addEdgeData(a=[]){a.length&&(this.model.addEdges(a.map(y=>(this.pushChange({value:y,type:gl.EdgeAdded}),fS(y)))),this.computeZIndex({edges:a},"add"))}addComboData(a=[]){if(!a.length)return;const{model:y}=this;y.hasTreeStructure(rl)||y.attachTreeStructure(rl),y.addNodes(a.map(x=>(this.comboIds.add(_r(x)),this.pushChange({value:x,type:gl.ComboAdded}),fS(x)))),this.updateNodeLikeHierarchy(a),this.computeZIndex({combos:a},"add")}addChildrenData(a,y){const x=this.getNodeLikeDatum(a),b=y.map(_r);this.addNodeData(y),this.updateNodeData([{id:a,children:[...x.children||[],...b]}]),this.addEdgeData(b.map(z=>({source:a,target:z})))}computeZIndex(a,y,x=!1){!x&&this.isBatching()||this.batch(()=>{const{nodes:b=[],edges:z=[],combos:te=[]}=a;te.forEach(re=>{var ae,se,fe;const me=_r(re);if(y==="add"&&Oi((ae=re.style)===null||ae===void 0?void 0:ae.zIndex)||y==="update"&&!("combo"in re))return;const Se=this.getParentData(me,rl),Te=Se?((fe=(se=Se.style)===null||se===void 0?void 0:se.zIndex)!==null&&fe!==void 0?fe:0)+1:0;this.preventUpdateNodeLikeHierarchy(()=>{this.updateComboData([{id:me,style:{zIndex:Te}}])})}),b.forEach(re=>{var ae,se,fe;const me=_r(re);if(y==="add"&&Oi((ae=re.style)===null||ae===void 0?void 0:ae.zIndex)||y==="update"&&!("combo"in re)&&!("children"in re))return;let Se=0;const Te=this.getParentData(me,rl);if(Te)Se=(((se=Te.style)===null||se===void 0?void 0:se.zIndex)||0)+1;else{const ke=this.getParentData(me,_c);ke&&(Se=((fe=ke==null?void 0:ke.style)===null||fe===void 0?void 0:fe.zIndex)||0)}this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:me,style:{zIndex:Se}}])})}),z.forEach(re=>{var ae,se,fe,me,Se;if(Oi((ae=re.style)===null||ae===void 0?void 0:ae.zIndex))return;let{id:Te,source:ke,target:We}=re;if(!Te)Te=_r(re);else{const Qe=this.getEdgeDatum(Te);ke=Qe.source,We=Qe.target}if(!ke||!We)return;const je=((fe=(se=this.getNodeLikeDatum(ke))===null||se===void 0?void 0:se.style)===null||fe===void 0?void 0:fe.zIndex)||0,Ke=((Se=(me=this.getNodeLikeDatum(We))===null||me===void 0?void 0:me.style)===null||Se===void 0?void 0:Se.zIndex)||0;this.updateEdgeData([{id:_r(re),style:{zIndex:Math.max(je,Ke)-1}}])})})}getFrontZIndex(a){var y;const x=this.getElementType(a),b=this.getElementDataById(a),z=this.getData();if(Object.assign(z,{[`${x}s`]:z[`${x}s`].filter(te=>_r(te)!==a)}),x==="combo"&&!Ac(b)){const te=new Set(this.getAncestorsData(a,rl).map(_r));z.nodes=z.nodes.filter(re=>!te.has(_r(re))),z.combos=z.combos.filter(re=>!te.has(_r(re))),z.edges=z.edges.filter(({source:re,target:ae})=>!te.has(re)&&!te.has(ae))}return Math.max(((y=b.style)===null||y===void 0?void 0:y.zIndex)||0,0,...Object.values(z).flat().map(te=>{var re;return(((re=te==null?void 0:te.style)===null||re===void 0?void 0:re.zIndex)||0)+1}))}updateNodeLikeHierarchy(a){if(!this.enableUpdateNodeLikeHierarchy)return;const{model:y}=this;a.forEach(x=>{const b=_r(x),z=yp(x);z!==void 0&&(y.hasTreeStructure(rl)||y.attachTreeStructure(rl),z===null&&this.refreshComboData(b),this.setParent(b,yp(x),rl));const te=x.children||[];if(te.length){y.hasTreeStructure(_c)||y.attachTreeStructure(_c);const re=te.filter(ae=>y.hasNode(ae));re.forEach(ae=>this.setParent(ae,b,_c)),re.length!==te.length&&this.updateNodeData([{id:b,children:re}])}})}preventUpdateNodeLikeHierarchy(a){this.enableUpdateNodeLikeHierarchy=!1,a(),this.enableUpdateNodeLikeHierarchy=!0}updateData(a){const{nodes:y,edges:x,combos:b}=a;this.batch(()=>{this.updateNodeData(y),this.updateComboData(b),this.updateEdgeData(x)}),this.computeZIndex(a,"update")}updateNodeData(a=[]){if(!a.length)return;const{model:y}=this;this.batch(()=>{const x=[];a.forEach(b=>{const z=_r(b),te=xu(y.getNode(z));if(D0(te,b))return;const re=Ph(te,b);this.pushChange({value:re,original:te,type:gl.NodeUpdated}),y.mergeNodeData(z,re),x.push(re)}),this.updateNodeLikeHierarchy(x)}),this.computeZIndex({nodes:a},"update")}refreshData(){const{nodes:a,edges:y,combos:x}=this.getData();a.forEach(b=>{this.pushChange({value:b,original:b,type:gl.NodeUpdated})}),y.forEach(b=>{this.pushChange({value:b,original:b,type:gl.EdgeUpdated})}),x.forEach(b=>{this.pushChange({value:b,original:b,type:gl.ComboUpdated})})}syncNodeLikeDatum(a){const{model:y}=this,x=_r(a);if(!y.hasNode(x))return;const b=xu(y.getNode(x)),z=Ph(b,a);y.mergeNodeData(x,z)}syncEdgeDatum(a){const{model:y}=this,x=_r(a);if(!y.hasEdge(x))return;const b=xu(y.getEdge(x)),z=Ph(b,a);y.mergeEdgeData(x,z)}updateEdgeData(a=[]){if(!a.length)return;const{model:y}=this;this.batch(()=>{a.forEach(x=>{const b=_r(x),z=xu(y.getEdge(b));if(D0(z,x))return;x.source&&z.source!==x.source&&y.updateEdgeSource(b,x.source),x.target&&z.target!==x.target&&y.updateEdgeTarget(b,x.target);const te=Ph(z,x);this.pushChange({value:te,original:z,type:gl.EdgeUpdated}),y.mergeEdgeData(b,te)})}),this.computeZIndex({edges:a},"update")}updateComboData(a=[]){if(!a.length)return;const{model:y}=this;y.batch(()=>{const x=[];a.forEach(b=>{const z=_r(b),te=xu(y.getNode(z));if(D0(te,b))return;const re=Ph(te,b);this.pushChange({value:re,original:te,type:gl.ComboUpdated}),y.mergeNodeData(z,re),x.push(re)}),this.updateNodeLikeHierarchy(x)}),this.computeZIndex({combos:a},"update")}setParent(a,y,x,b=!0){if(a===y)return;const z=this.getNodeLikeDatum(a),te=yp(z);if(te!==y&&x===rl){const re={id:a,combo:y};this.isCombo(a)?this.syncNodeLikeDatum(re):this.syncNodeLikeDatum(re)}this.model.setParent(a,y,x),b&&x===rl&&WV([te,y]).forEach(re=>{re!==void 0&&this.refreshComboData(re)})}refreshComboData(a){const y=this.getComboData([a])[0],x=this.getAncestorsData(a,rl);y&&this.pushChange({value:y,original:y,type:gl.ComboUpdated}),x.forEach(b=>{this.pushChange({value:b,original:b,type:gl.ComboUpdated})})}getElementPosition(a){const y=this.getElementDataById(a);return lu(y)}translateNodeLikeBy(a,y){this.isCombo(a)?this.translateComboBy(a,y):this.translateNodeBy(a,y)}translateNodeLikeTo(a,y){this.isCombo(a)?this.translateComboTo(a,y):this.translateNodeTo(a,y)}translateNodeBy(a,y){const x=this.getElementPosition(a),b=Ho(x,[...y,0].slice(0,3));this.translateNodeTo(a,b)}translateNodeTo(a,y){const[x=0,b=0,z=0]=y;this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:a,style:{x,y:b,z}}])})}translateComboBy(a,y){const[x=0,b=0,z=0]=y;if([x,b,z].some(isNaN)||[x,b,z].every(ae=>ae===0))return;const te=this.getComboData([a])[0];if(!te)return;const re=new Set;pg(te,ae=>{const se=_r(ae);if(re.has(se))return;re.add(se);const[fe,me,Se]=lu(ae),Te=Ph(ae,{style:{x:fe+x,y:me+b,z:Se+z}});this.pushChange({value:Te,original:ae,type:this.isCombo(se)?gl.ComboUpdated:gl.NodeUpdated}),this.model.mergeNodeData(se,Te)},ae=>this.getChildrenData(_r(ae)),"BT")}translateComboTo(a,y){var x;if(y.some(isNaN))return;const[b=0,z=0,te=0]=y,re=(x=this.getComboData([a]))===null||x===void 0?void 0:x[0];if(!re)return;const[ae,se,fe]=lu(re),me=b-ae,Se=z-se,Te=te-fe;pg(re,ke=>{const We=_r(ke),[je,Ke,Qe]=lu(ke),Je=Ph(ke,{style:{x:je+me,y:Ke+Se,z:Qe+Te}});this.pushChange({value:Je,original:ke,type:this.isCombo(We)?gl.ComboUpdated:gl.NodeUpdated}),this.model.mergeNodeData(We,Je)},ke=>this.getChildrenData(_r(ke)),"BT")}removeData(a){const{nodes:y,edges:x,combos:b}=a;this.batch(()=>{this.removeEdgeData(x),this.removeNodeData(y),this.removeComboData(b),this.latestRemovedComboIds=new Set(b)})}removeNodeData(a=[]){a.length&&this.batch(()=>{a.forEach(y=>{this.removeEdgeData(this.getRelatedEdgesData(y).map(_r)),this.pushChange({value:this.getNodeData([y])[0],type:gl.NodeRemoved}),this.removeNodeLikeHierarchy(y)}),this.model.removeNodes(a)})}removeEdgeData(a=[]){a.length&&(a.forEach(y=>this.pushChange({value:this.getEdgeData([y])[0],type:gl.EdgeRemoved})),this.model.removeEdges(a))}removeComboData(a=[]){a.length&&this.batch(()=>{a.forEach(y=>{this.pushChange({value:this.getComboData([y])[0],type:gl.ComboRemoved}),this.removeNodeLikeHierarchy(y),this.comboIds.delete(y)}),this.model.removeNodes(a)})}removeNodeLikeHierarchy(a){if(this.model.hasTreeStructure(rl)){const y=yp(this.getNodeLikeDatum(a));this.setParent(a,void 0,rl,!1),this.model.getChildren(a,rl).forEach(x=>{const b=xu(x),z=_r(b);this.setParent(_r(b),y,rl,!1);const te=Ph(b,{id:_r(b),combo:y});this.pushChange({value:te,original:b,type:this.isCombo(z)?gl.ComboUpdated:gl.NodeUpdated}),this.model.mergeNodeData(_r(b),te)}),fo(y)||this.refreshComboData(y)}}getElementType(a){if(this.model.hasNode(a))return this.isCombo(a)?"combo":"node";if(this.model.hasEdge(a))return"edge";throw new Error(Df(`Unknown element type of id: ${a}`))}destroy(){const{model:a}=this,y=a.getAllNodes(),x=a.getAllEdges();a.removeEdges(x.map(b=>b.id)),a.removeNodes(y.map(b=>b.id)),this.context={}}}var Hv=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class HV{constructor(a){this.elementMap={},this.shapeTypeMap={},this.paletteStyle={},this.defaultStyle={},this.stateStyle={},this.visibilityCache=new WeakMap,this.context=a}init(){this.initContainer()}initContainer(){if(!this.container||this.container.destroyed){const{canvas:a}=this.context;this.container=a.appendChild(new su({className:"elements"}))}}emit(a,y){y.silence||cu(this.context.graph,a)}forEachElementData(a){mg.forEach(y=>{const x=this.context.model.getElementsDataByType(y);a(y,x)})}getElementType(a,y){var x;const{options:b,graph:z}=this.context,te=((x=b[a])===null||x===void 0?void 0:x.type)||y.type;return te?typeof te=="string"?te:te.call(z,y):a==="edge"?"line":"circle"}getTheme(a){return WP(this.context.options)[a]||{}}getThemeStyle(a){return this.getTheme(a).style||{}}getThemeStateStyle(a,y){const{state:x={}}=this.getTheme(a);return Object.assign({},...y.map(b=>x[b]||{}))}computePaletteStyle(){const{options:a}=this.context;this.paletteStyle={},this.forEachElementData((y,x)=>{var b,z;const te=Object.assign({},$2((b=this.getTheme(y))===null||b===void 0?void 0:b.palette),$2((z=a[y])===null||z===void 0?void 0:z.palette));te!=null&&te.field&&Object.assign(this.paletteStyle,I_(x,te))})}getPaletteStyle(a,y){const x=this.paletteStyle[y];return x?a==="edge"?{stroke:x}:{fill:x}:{}}computeElementDefaultStyle(a,y){var x;const{options:b}=this.context,z=((x=b[a])===null||x===void 0?void 0:x.style)||{};"transform"in z&&Array.isArray(z.transform)&&(z.transform=[...z.transform]),this.defaultStyle[_r(y.datum)]=q2(z,y)}computeElementsDefaultStyle(a){const{graph:y}=this.context;this.forEachElementData((x,b)=>{const z=b.length;for(let te=0;te<z;te++){const re=b[te];(a===void 0||a.includes(_r(re)))&&this.computeElementDefaultStyle(x,{datum:re,graph:y})}})}getDefaultStyle(a){return this.defaultStyle[a]||{}}getElementState(a){try{const{model:y}=this.context;return y.getElementState(a)}catch(y){return[]}}getElementStateStyle(a,y,x){var b,z;const{options:te}=this.context,re=((z=(b=te[a])===null||b===void 0?void 0:b.state)===null||z===void 0?void 0:z[y])||{};return q2(re,x)}computeElementStatesStyle(a,y,x){this.stateStyle[_r(x.datum)]=Object.assign({},...y.map(b=>this.getElementStateStyle(a,b,x)))}computeElementsStatesStyle(a){const{graph:y}=this.context;this.forEachElementData((x,b)=>{const z=b.length;for(let te=0;te<z;te++){const re=b[te];if(a===void 0||a.includes(_r(re))){const ae=this.getElementState(_r(re));this.computeElementStatesStyle(x,ae,{datum:re,graph:y})}}})}getStateStyle(a){return this.stateStyle[a]||{}}computeStyle(a,y){a&&["translate","zIndex"].includes(a)||(this.computePaletteStyle(),this.computeElementsDefaultStyle(y),this.computeElementsStatesStyle(y))}getElement(a){return this.elementMap[a]}getNodes(){return this.context.model.getNodeData().map(({id:a})=>this.elementMap[a])}getEdges(){return this.context.model.getEdgeData().map(a=>this.elementMap[_r(a)])}getCombos(){return this.context.model.getComboData().map(({id:a})=>this.elementMap[a])}getElementComputedStyle(a,y){const x=_r(y),b=this.getThemeStyle(a),z=this.getPaletteStyle(a,x),te=y.style||{},re=this.getDefaultStyle(x),ae=this.getThemeStateStyle(a,this.getElementState(x)),se=this.getStateStyle(x),fe=Object.assign({},b,z,te,re,ae,se);if(a==="combo"){const me=this.context.model.getChildrenData(x),Te=!!fe.collapsed?[]:me.map(_r).filter(ke=>this.getElement(ke));Object.assign(fe,{childrenNode:Te,childrenData:me})}return fe}getDrawData(a){this.init();const y=this.computeChangesAndDrawData(a);if(!y)return null;const{type:x="draw",stage:b=x}=a;return this.markDestroyElement(y.drawData),this.computeStyle(b),{type:x,stage:b,data:y}}draw(a={animation:!0}){const y=this.getDrawData(a);if(!y)return;const{data:{drawData:{add:x,update:b,remove:z}}}=y;return this.destroyElements(z,a),this.createElements(x,a),this.updateElements(b,a),this.setAnimationTask(a,y)}preLayoutDraw(){return Hv(this,arguments,void 0,function*(a={animation:!0}){var y,x;const b=this.getDrawData(a);if(!b)return;const{data:{drawData:z}}=b;yield(x=(y=this.context.layout)===null||y===void 0?void 0:y.preLayout)===null||x===void 0?void 0:x.call(y,z);const{add:te,update:re,remove:ae}=z;return this.destroyElements(ae,a),this.createElements(te,a),this.updateElements(re,a),this.setAnimationTask(a,b)})}setAnimationTask(a,y){const{animation:x,silence:b}=a,{data:{dataChanges:z,drawData:te},stage:re,type:ae}=y;return this.context.animation.animate(x,b?{}:{before:()=>this.emit(new tu(ci.BEFORE_DRAW,{dataChanges:z,animation:x,stage:re,render:ae==="render"}),a),beforeAnimate:se=>this.emit(new fd(ci.BEFORE_ANIMATE,yc.DRAW,se,te),a),afterAnimate:se=>this.emit(new fd(ci.AFTER_ANIMATE,yc.DRAW,se,te),a),after:()=>this.emit(new tu(ci.AFTER_DRAW,{dataChanges:z,animation:x,stage:re,render:ae==="render",firstRender:this.context.graph.rendered===!1}),a)})}computeChangesAndDrawData(a){const{model:y}=this.context,x=y.getChanges(),b=Px(x);if(b.length===0)return null;const{NodeAdded:z=[],NodeUpdated:te=[],NodeRemoved:re=[],EdgeAdded:ae=[],EdgeUpdated:se=[],EdgeRemoved:fe=[],ComboAdded:me=[],ComboUpdated:Se=[],ComboRemoved:Te=[]}=ap(b,Ke=>Ke.type),ke=Ke=>new Map(Ke.map(Qe=>{const Je=Qe.value;return[_r(Je),Je]})),We={add:{nodes:ke(z),edges:ke(ae),combos:ke(me)},update:{nodes:ke(te),edges:ke(se),combos:ke(Se)},remove:{nodes:ke(re),edges:ke(fe),combos:ke(Te)}},je=this.transformData(We,a);return y.clearChanges(),{dataChanges:x,drawData:je}}transformData(a,y){const x=this.context.transform.getTransformInstance();return Object.values(x).reduce((b,z)=>z.beforeDraw(b,y),a)}createElement(a,y,x){var b;const z=_r(y);if(this.getElement(z))return;const re=this.getElementType(a,y),ae=this.getElementComputedStyle(a,y),se=Mf(a,re);if(!se)return Ec.warn(`The element ${re} of ${a} is not registered.`);this.emit(new w0(ci.BEFORE_ELEMENT_CREATE,a,y),x);const fe=this.container.appendChild(new se({id:z,context:this.context,style:ae}));this.shapeTypeMap[z]=re,this.elementMap[z]=fe;const{stage:me="enter"}=x;(b=this.context.animation)===null||b===void 0||b.add({element:fe,elementType:a,stage:me,originalStyle:Object.assign({},fe.attributes),updatedStyle:ae},{after:()=>{var Se;this.emit(new w0(ci.AFTER_ELEMENT_CREATE,a,y),x),(Se=fe.onCreate)===null||Se===void 0||Se.call(fe)}})}createElements(a,y){const{nodes:x,edges:b,combos:z}=a;[["node",x],["combo",z],["edge",b]].forEach(([re,ae])=>{ae.forEach(se=>this.createElement(re,se,y))})}getUpdateStageStyle(a,y,x){const{stage:b="update"}=x;if(b==="translate")if(a==="node"||a==="combo"){const{style:{x:z=0,y:te=0,z:re=0}={}}=y;return{x:z,y:te,z:re}}else return{};return this.getElementComputedStyle(a,y)}updateElement(a,y,x){var b;const z=_r(y),{stage:te="update"}=x,re=this.getElement(z);if(!re)return()=>null;this.emit(new w0(ci.BEFORE_ELEMENT_UPDATE,a,y),x);const ae=this.getElementType(a,y),se=this.getUpdateStageStyle(a,y,x);this.shapeTypeMap[z]!==ae&&(re.destroy(),delete this.shapeTypeMap[z],delete this.elementMap[z],this.createElement(a,y,{animation:!1,silence:!0}));const fe=te!=="visibility"?te:se.visibility==="hidden"?"hide":"show";fe==="hide"&&delete se.visibility,(b=this.context.animation)===null||b===void 0||b.add({element:re,elementType:a,stage:fe,originalStyle:Object.assign({},re.attributes),updatedStyle:se},{before:()=>{const me=this.elementMap[z];te!=="collapse"&&KA(me,se),te==="visibility"&&(FV(me,"opacity")||_V(me,"opacity"),this.visibilityCache.set(me,fe==="show"?"visible":"hidden"),fe==="show"&&gg(me,"visible"))},after:()=>{var me;const Se=this.elementMap[z];te==="collapse"&&KA(Se,se),fe==="hide"&&gg(Se,this.visibilityCache.get(Se)),this.emit(new w0(ci.AFTER_ELEMENT_UPDATE,a,y),x),(me=Se.onUpdate)===null||me===void 0||me.call(Se)}})}updateElements(a,y){const{nodes:x,edges:b,combos:z}=a;[["node",x],["combo",z],["edge",b]].forEach(([re,ae])=>{ae.forEach(se=>this.updateElement(re,se,y))})}markDestroyElement(a){Object.values(a.remove).forEach(y=>{y.forEach(x=>{const b=_r(x),z=this.getElement(b);z&&j8(z)})})}destroyElement(a,y,x){var b;const{stage:z="exit"}=x,te=_r(y),re=this.elementMap[te];if(!re)return()=>null;this.emit(new w0(ci.BEFORE_ELEMENT_DESTROY,a,y),x),(b=this.context.animation)===null||b===void 0||b.add({element:re,elementType:a,stage:z,originalStyle:Object.assign({},re.attributes),updatedStyle:{}},{after:()=>{var ae;this.clearElement(te),re.destroy(),(ae=re.onDestroy)===null||ae===void 0||ae.call(re),this.emit(new w0(ci.AFTER_ELEMENT_DESTROY,a,y),x)}})}destroyElements(a,y){const{nodes:x,edges:b,combos:z}=a;[["combo",z],["edge",b],["node",x]].forEach(([re,ae])=>{ae.forEach(se=>this.destroyElement(re,se,y))})}clearElement(a){delete this.paletteStyle[a],delete this.defaultStyle[a],delete this.stateStyle[a],delete this.elementMap[a],delete this.shapeTypeMap[a]}alignLayoutResultToElement(a,y){var x,b;const z=(x=a.nodes)===null||x===void 0?void 0:x.find(te=>_r(te)===y);if(z){const te=lu(this.context.model.getNodeLikeDatum(y)),re=lu(z),ae=qs(te,re);(b=a.nodes)===null||b===void 0||b.forEach(se=>{var fe,me,Se;!((fe=se.style)===null||fe===void 0)&&fe.x&&(se.style.x+=ae[0]),!((me=se.style)===null||me===void 0)&&me.y&&(se.style.y+=ae[1]),!((Se=se.style)===null||Se===void 0)&&Se.z&&(se.style.z+=ae[2]||0)})}}collapseNode(a,y){return Hv(this,void 0,void 0,function*(){var x;const{animation:b,align:z}=y,{model:te,layout:re}=this.context,ae=this.computeChangesAndDrawData({stage:"collapse",animation:b});if(!ae)return;this.markDestroyElement(ae.drawData);const se=yield re.simulate();z&&this.alignLayoutResultToElement(se,a),te.updateData(se);const fe=this.computeChangesAndDrawData({stage:"collapse",animation:b});if(!fe)return;const{drawData:me}=fe,{add:Se,remove:Te,update:ke}=me;this.markDestroyElement(me);const We={animation:b,stage:"collapse",data:me};this.destroyElements(Te,We),this.createElements(Se,We),this.updateElements(ke,We),yield(x=this.context.animation.animate(b,{beforeAnimate:je=>this.emit(new fd(ci.BEFORE_ANIMATE,yc.COLLAPSE,je,me),We),afterAnimate:je=>this.emit(new fd(ci.AFTER_ANIMATE,yc.COLLAPSE,je,me),We)},{collapse:{target:a,descendants:Array.from(Te.nodes).map(([,je])=>_r(je)),position:lu(ke.nodes.get(a))}}))===null||x===void 0?void 0:x.finished})}expandNode(a,y){return Hv(this,void 0,void 0,function*(){var x;const{model:b,layout:z}=this.context,{animation:te,align:re}=y,ae=lu(b.getNodeData([a])[0]),se=this.computeChangesAndDrawData({stage:"expand",animation:te});if(!se)return;const{drawData:{add:fe}}=se;this.createElements(fe,{animation:!1,stage:"expand",target:a}),this.context.animation.clear();const me=yield z.simulate();re&&this.alignLayoutResultToElement(me,a),b.updateData(me),this.computeStyle("expand");const Se=this.computeChangesAndDrawData({stage:"collapse",animation:te});if(!Se)return;const{drawData:Te}=Se,{update:ke}=Te,We={animation:te,stage:"expand",data:Te};fe.edges.forEach(je=>ke.edges.set(_r(je),je)),fe.nodes.forEach(je=>ke.nodes.set(_r(je),je)),this.updateElements(ke,We),yield(x=this.context.animation.animate(te,{beforeAnimate:je=>this.emit(new fd(ci.BEFORE_ANIMATE,yc.EXPAND,je,Te),We),afterAnimate:je=>this.emit(new fd(ci.AFTER_ANIMATE,yc.EXPAND,je,Te),We)},{expand:{target:a,descendants:Array.from(fe.nodes).map(([,je])=>_r(je)),position:ae}}))===null||x===void 0?void 0:x.finished})}collapseCombo(a,y){return Hv(this,void 0,void 0,function*(){var x;const{model:b,element:z}=this.context;if(b.getAncestorsData(a,rl).some(We=>Ac(We)))return;const te=z.getElement(a),re=te.getComboPosition(Object.assign(Object.assign({},te.attributes),{collapsed:!0})),ae=this.computeChangesAndDrawData({stage:"collapse",animation:y});if(!ae)return;const{dataChanges:se,drawData:fe}=ae;this.markDestroyElement(fe);const{update:me,remove:Se}=fe,Te={animation:y,stage:"collapse",data:fe};this.destroyElements(Se,Te),this.updateElements(me,Te);const ke=We=>Array.from(We).map(([,je])=>_r(je));yield(x=this.context.animation.animate(y,{before:()=>this.emit(new tu(ci.BEFORE_DRAW,{dataChanges:se,animation:y}),Te),beforeAnimate:We=>this.emit(new fd(ci.BEFORE_ANIMATE,yc.COLLAPSE,We,fe),Te),afterAnimate:We=>this.emit(new fd(ci.AFTER_ANIMATE,yc.COLLAPSE,We,fe),Te),after:()=>this.emit(new tu(ci.AFTER_DRAW,{dataChanges:se,animation:y}),Te)},{collapse:{target:a,descendants:[...ke(Se.nodes),...ke(Se.combos)],position:re}}))===null||x===void 0?void 0:x.finished})}expandCombo(a,y){return Hv(this,void 0,void 0,function*(){var x;const{model:b}=this.context,z=lu(b.getComboData([a])[0]);this.computeStyle("expand");const te=this.computeChangesAndDrawData({stage:"expand",animation:y});if(!te)return;const{dataChanges:re,drawData:ae}=te,{add:se,update:fe}=ae,me={animation:y,stage:"expand",data:ae,target:a};this.createElements(se,me),this.updateElements(fe,me);const Se=Te=>Array.from(Te).map(([,ke])=>_r(ke));yield(x=this.context.animation.animate(y,{before:()=>this.emit(new tu(ci.BEFORE_DRAW,{dataChanges:re,animation:y}),me),beforeAnimate:Te=>this.emit(new fd(ci.BEFORE_ANIMATE,yc.EXPAND,Te,ae),me),afterAnimate:Te=>this.emit(new fd(ci.AFTER_ANIMATE,yc.EXPAND,Te,ae),me),after:()=>this.emit(new tu(ci.AFTER_DRAW,{dataChanges:re,animation:y}),me)},{expand:{target:a,descendants:[...Se(se.nodes),...Se(se.combos)],position:z}}))===null||x===void 0?void 0:x.finished})}clear(){this.container.destroy(),this.initContainer(),this.elementMap={},this.shapeTypeMap={},this.defaultStyle={},this.stateStyle={},this.paletteStyle={}}destroy(){this.clear(),this.container.destroy(),this.context={}}}const a3=Symbol("Comlink.proxy"),KV=Symbol("Comlink.endpoint"),i3=Symbol("Comlink.releaseProxy"),hS=Symbol("Comlink.finalizer"),f1=Symbol("Comlink.thrown"),o3=E=>typeof E=="object"&&E!==null||typeof E=="function",ZV={canHandle:E=>o3(E)&&E[a3],serialize(E){const{port1:a,port2:y}=new MessageChannel;return l3(E,a),[y,[y]]},deserialize(E){return E.start(),c3(E)}},QV={canHandle:E=>o3(E)&&f1 in E,serialize({value:E}){let a;return E instanceof Error?a={isError:!0,value:{message:E.message,name:E.name,stack:E.stack}}:a={isError:!1,value:E},[a,[]]},deserialize(E){throw E.isError?Object.assign(new Error(E.value.message),E.value):E.value}},s3=new Map([["proxy",ZV],["throw",QV]]);function YV(E,a){for(const y of E)if(a===y||y==="*"||y instanceof RegExp&&y.test(a))return!0;return!1}function l3(E,a=globalThis,y=["*"]){a.addEventListener("message",function x(b){if(!b||!b.data)return;if(!YV(y,b.origin)){console.warn(`Invalid origin '${b.origin}' for comlink proxy`);return}const{id:z,type:te,path:re}=Object.assign({path:[]},b.data),ae=(b.data.argumentList||[]).map(Og);let se;try{const fe=re.slice(0,-1).reduce((Se,Te)=>Se[Te],E),me=re.reduce((Se,Te)=>Se[Te],E);switch(te){case"GET":se=me;break;case"SET":fe[re.slice(-1)[0]]=Og(b.data.value),se=!0;break;case"APPLY":se=me.apply(fe,ae);break;case"CONSTRUCT":{const Se=new me(...ae);se=tH(Se)}break;case"ENDPOINT":{const{port1:Se,port2:Te}=new MessageChannel;l3(E,Te),se=eH(Se,[Se])}break;case"RELEASE":se=void 0;break;default:return}}catch(fe){se={value:fe,[f1]:0}}Promise.resolve(se).catch(fe=>({value:fe,[f1]:0})).then(fe=>{const[me,Se]=m1(fe);a.postMessage(Object.assign(Object.assign({},me),{id:z}),Se),te==="RELEASE"&&(a.removeEventListener("message",x),u3(a),hS in E&&typeof E[hS]=="function"&&E[hS]())}).catch(fe=>{const[me,Se]=m1({value:new TypeError("Unserializable return value"),[f1]:0});a.postMessage(Object.assign(Object.assign({},me),{id:z}),Se)})}),a.start&&a.start()}function XV(E){return E.constructor.name==="MessagePort"}function u3(E){XV(E)&&E.close()}function c3(E,a){const y=new Map;return E.addEventListener("message",function(b){const{data:z}=b;if(!z||!z.id)return;const te=y.get(z.id);if(te)try{te(z)}finally{y.delete(z.id)}}),gS(E,y,[],a)}function h1(E){if(E)throw new Error("Proxy has been released and is not useable")}function d3(E){return I0(E,new Map,{type:"RELEASE"}).then(()=>{u3(E)})}const g1=new WeakMap,v1="FinalizationRegistry"in globalThis&&new FinalizationRegistry(E=>{const a=(g1.get(E)||0)-1;g1.set(E,a),a===0&&d3(E)});function JV(E,a){const y=(g1.get(a)||0)+1;g1.set(a,y),v1&&v1.register(E,a,E)}function qV(E){v1&&v1.unregister(E)}function gS(E,a,y=[],x=function(){}){let b=!1;const z=new Proxy(x,{get(te,re){if(h1(b),re===i3)return()=>{qV(z),d3(E),a.clear(),b=!0};if(re==="then"){if(y.length===0)return{then:()=>z};const ae=I0(E,a,{type:"GET",path:y.map(se=>se.toString())}).then(Og);return ae.then.bind(ae)}return gS(E,a,[...y,re])},set(te,re,ae){h1(b);const[se,fe]=m1(ae);return I0(E,a,{type:"SET",path:[...y,re].map(me=>me.toString()),value:se},fe).then(Og)},apply(te,re,ae){h1(b);const se=y[y.length-1];if(se===KV)return I0(E,a,{type:"ENDPOINT"}).then(Og);if(se==="bind")return gS(E,a,y.slice(0,-1));const[fe,me]=f3(ae);return I0(E,a,{type:"APPLY",path:y.map(Se=>Se.toString()),argumentList:fe},me).then(Og)},construct(te,re){h1(b);const[ae,se]=f3(re);return I0(E,a,{type:"CONSTRUCT",path:y.map(fe=>fe.toString()),argumentList:ae},se).then(Og)}});return JV(z,E),z}function $V(E){return Array.prototype.concat.apply([],E)}function f3(E){const a=E.map(m1);return[a.map(y=>y[0]),$V(a.map(y=>y[1]))]}const h3=new WeakMap;function eH(E,a){return h3.set(E,a),E}function tH(E){return Object.assign(E,{[a3]:!0})}function v$(E,a=globalThis,y="*"){return{postMessage:(x,b)=>E.postMessage(x,y,b),addEventListener:a.addEventListener.bind(a),removeEventListener:a.removeEventListener.bind(a)}}function m1(E){for(const[a,y]of s3)if(y.canHandle(E)){const[x,b]=y.serialize(E);return[{type:"HANDLER",name:a,value:x},b]}return[{type:"RAW",value:E},h3.get(E)||[]]}function Og(E){switch(E.type){case"HANDLER":return s3.get(E.name).deserialize(E.value);case"RAW":return E.value}}function I0(E,a,y,x){return new Promise(b=>{const z=nH();a.set(z,b),E.start&&E.start(),E.postMessage(Object.assign({id:z},y),x)})}function nH(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}class rH extends ny{constructor(a,y,x){super(),this.graph=a,this.layout=y,this.options=x,this.spawnWorker()}spawnWorker(){this.proxy=c3(new Worker(new URL(Oe.p+Oe.u(1175),Oe.b),{type:void 0})),this.running&&(this.running=!1,this.execute())}execute(){var a;return(0,Rt.mG)(this,void 0,void 0,function*(){if(this.running)return this;this.running=!0;const y=this.layout.options,{onTick:x}=y,b=(0,Rt._T)(y,["onTick"]),z={};Object.keys(b).forEach(se=>{Gi(b[se])||(z[se]=b[se])});const te={layout:{id:this.layout.id,options:z,iterations:(a=this.options)===null||a===void 0?void 0:a.iterations},nodes:this.graph.getAllNodes(),edges:this.graph.getAllEdges()},re=new Float32Array([0]),[ae]=yield this.proxy.calculateLayout(te,[re]);return ae})}stop(){return this.running=!1,this.proxy.stopLayout(),this}kill(){this.proxy[i3]()}isRunning(){return this.running}}var L0=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})},aH=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};class iH{get presetOptions(){return{animation:!!jP(this.context.options,!0)}}get options(){const{options:a}=this.context;return a.layout}constructor(a){this.instances=[],this.context=a}getLayoutInstance(){return this.instances}preLayout(a){return L0(this,void 0,void 0,function*(){var y,x,b,z;const{graph:te,model:re}=this.context,{add:ae}=a;cu(te,new tu(ci.BEFORE_LAYOUT,{type:"pre"}));const se=yield(y=this.context.layout)===null||y===void 0?void 0:y.simulate();(x=se==null?void 0:se.nodes)===null||x===void 0||x.forEach(fe=>{const me=_r(fe),Se=ae.nodes.get(me);re.syncNodeLikeDatum(fe),Se&&Object.assign(Se.style,fe.style)}),(b=se==null?void 0:se.edges)===null||b===void 0||b.forEach(fe=>{const me=_r(fe),Se=ae.edges.get(me);re.syncEdgeDatum(fe),Se&&Object.assign(Se.style,fe.style)}),(z=se==null?void 0:se.combos)===null||z===void 0||z.forEach(fe=>{const me=_r(fe),Se=ae.combos.get(me);re.syncNodeLikeDatum(fe),Se&&Object.assign(Se.style,fe.style)}),cu(te,new tu(ci.AFTER_LAYOUT,{type:"pre"})),this.transformDataAfterLayout("pre",a)})}postLayout(){return L0(this,arguments,void 0,function*(a=this.options){if(!a)return;const y=Array.isArray(a)?a:[a],{graph:x}=this.context;cu(x,new tu(ci.BEFORE_LAYOUT,{type:"post"}));for(const b of y){const z=y.indexOf(b),te=this.getLayoutData(b),re=Object.assign(Object.assign({},this.presetOptions),b);cu(x,new tu(ci.BEFORE_STAGE_LAYOUT,{options:re,index:z}));const ae=yield this.stepLayout(te,re,z);cu(x,new tu(ci.AFTER_STAGE_LAYOUT,{options:re,index:z})),b.animation||this.updateElementPosition(ae,!1)}cu(x,new tu(ci.AFTER_LAYOUT,{type:"post"})),this.transformDataAfterLayout("post")})}transformDataAfterLayout(a,y){const x=this.context.transform.getTransformInstance();Object.values(x).forEach(b=>b.afterLayout(a,y))}simulate(){return L0(this,void 0,void 0,function*(){if(!this.options)return{};const a=Array.isArray(this.options)?this.options:[this.options];let y={};for(const x of a){const b=a.indexOf(x),z=this.getLayoutData(x);y=yield this.stepLayout(z,Object.assign(Object.assign(Object.assign({},this.presetOptions),x),{animation:!1}),b)}return y})}stepLayout(a,y,x){return L0(this,void 0,void 0,function*(){return q8(y)?yield this.treeLayout(a,y,x):yield this.graphLayout(a,y,x)})}graphLayout(a,y,x){return L0(this,void 0,void 0,function*(){const{animation:b,enableWorker:z,iterations:te=300}=y,re=this.initGraphLayout(y);if(!re)return{};if(this.instances[x]=re,this.instance=re,z){const se=re;return this.supervisor=new rH(se.graphData2LayoutModel(a),se.instance,{iterations:te}),iy(yield this.supervisor.execute())}if(dx(re))return b?yield re.execute(a,{onTick:se=>{this.updateElementPosition(se,!1)}}):(re.execute(a),re.stop(),re.tick(te));const ae=yield re.execute(a);if(b){const se=this.updateElementPosition(ae,b);yield se==null?void 0:se.finished}return ae})}treeLayout(a,y,x){return L0(this,void 0,void 0,function*(){const{type:b,animation:z}=y,te=Mf("layout",b);if(!te)return{};const{nodes:re=[],edges:ae=[]}=a,se=new Kl({nodes:re.map(ke=>({id:_r(ke),data:ke.data||{}})),edges:ae.map(ke=>({id:_r(ke),source:ke.source,target:ke.target,data:ke.data||{}}))});GV(se);const fe={nodes:[],edges:[]},me={nodes:[],edges:[]};se.getRoots(_c).forEach(ke=>{pg(ke,Je=>{Je.children=se.getSuccessors(Je.id)},Je=>se.getSuccessors(Je.id),"TB");const We=te(ke,y),{x:je,y:Ke,z:Qe=0}=We;pg(We,Je=>{const{id:at,x:ot,y:ut,z:ft=0}=Je;fe.nodes.push({id:at,style:{x:je,y:Ke,z:Qe}}),me.nodes.push({id:at,style:{x:ot,y:ut,z:ft}})},Je=>Je.children,"TB")});const Te=this.inferTreeLayoutOffset(me);if(g3(me,Te),z){g3(fe,Te),this.updateElementPosition(fe,!1);const ke=this.updateElementPosition(me,z);yield ke==null?void 0:ke.finished}return me})}inferTreeLayoutOffset(a){var y;let[x,b]=[1/0,-1/0],[z,te]=[1/0,-1/0];(y=a.nodes)===null||y===void 0||y.forEach(We=>{const{x:je=0,y:Ke=0}=We.style||{};x=Math.min(x,je),b=Math.max(b,je),z=Math.min(z,Ke),te=Math.max(te,Ke)});const{canvas:re}=this.context,ae=re.getSize(),[se,fe]=re.getCanvasByViewport([0,0]),[me,Se]=re.getCanvasByViewport(ae);if(x>=se&&b<=me&&z>=fe&&te<=Se)return[0,0];const Te=(se+me)/2,ke=(fe+Se)/2;return[Te-(x+b)/2,ke-(z+te)/2]}stopLayout(){this.instance&&dx(this.instance)&&(this.instance.stop(),this.instance=void 0),this.supervisor&&(this.supervisor.stop(),this.supervisor=void 0),this.animationResult&&(this.animationResult.finish(),this.animationResult=void 0)}getLayoutData(a){const{nodeFilter:y=()=>!0,preLayout:x=!1,isLayoutInvisibleNodes:b=!1}=a,{nodes:z,edges:te,combos:re}=this.context.model.getData(),{element:ae,model:se}=this.context,fe=We=>ae.getElement(We),me=x?We=>{var je;return!b&&(((je=We.style)===null||je===void 0?void 0:je.visibility)==="hidden"||se.getAncestorsData(We.id,_c).some(Ac)||se.getAncestorsData(We.id,rl).some(Ac))?!1:y(We)}:We=>{const je=_r(We),Ke=fe(je);return!Ke||Yp(Ke)?!1:y(We)},Se=z.filter(me),Te=new Map(Se.map(We=>[_r(We),We]));re.forEach(We=>Te.set(_r(We),We));const ke=te.filter(({source:We,target:je})=>Te.has(We)&&Te.has(je));return{nodes:Se,edges:ke,combos:re}}initGraphLayout(a){var y;const{element:x,viewport:b}=this.context,{type:z,enableWorker:te,animation:re,iterations:ae}=a,se=aH(a,["type","enableWorker","animation","iterations"]),[fe,me]=b.getCanvasSize(),Se=[fe/2,me/2],Te=(y=a==null?void 0:a.nodeSize)!==null&&y!==void 0?y:Qe=>{const Je=x==null?void 0:x.getElement(Qe.id);return Je?Je.attributes.size:x==null?void 0:x.getElementComputedStyle("node",Qe).size},ke=Mf("layout",z);if(!ke)return Ec.warn(`The layout of ${z} is not registered.`);const We=Object.getPrototypeOf(ke.prototype)===ay.prototype?ke:e7(ke,this.context),je=new We(this.context),Ke={nodeSize:Te,width:fe,height:me,center:Se};switch(je.id){case"d3-force":case"d3-force-3d":Object.assign(Ke,{center:{x:fe/2,y:me/2,z:0}});break;default:break}return tc(je.options,Ke,se),je}updateElementPosition(a,y){const{model:x,element:b}=this.context;return b?(x.updateData(a),b.draw({animation:y,silence:!0})):null}destroy(){var a;this.stopLayout(),this.context={},(a=this.supervisor)===null||a===void 0||a.kill(),this.supervisor=void 0,this.instance=void 0,this.instances=[],this.animationResult=void 0}}const g3=(E,a)=>{var y;const[x,b]=a;(y=E.nodes)===null||y===void 0||y.forEach(z=>{if(z.style){const{x:te=0,y:re=0}=z.style;z.style.x=te+x,z.style.y=re+b}else z.style={x,y:b}})};function oH(E){return[sH].reduce((y,x)=>x(y),E)}function sH(E){return!E.layout||Array.isArray(E.layout)||"preLayout"in E.layout||["antv-dagre","combo-combined","compact-box","circular","concentric","dagre","fishbone","grid","indented","mds","radial","random","snake","dendrogram","mindmap"].includes(E.layout.type)&&(E.layout.preLayout=!0),E}class lH extends pA{constructor(a){super(a),this.category="plugin",this.setPlugins(this.context.options.plugins||[])}setPlugins(a){this.setExtensions(a)}getPluginInstance(a){const y=this.extensionMap[a];if(y)return y;Ec.warn(`Cannot find the plugin ${a}, will try to find it by type.`);const x=this.extensions.find(b=>b.type===a);if(x)return this.extensionMap[x.key]}}const p1=["update-related-edges","collapse-expand-node","collapse-expand-combo","get-edge-actual-ends","arrange-draw-order"];class uH extends pA{constructor(a){super(a),this.category="transform",this.setTransforms(this.context.options.transforms||[])}getTransforms(){}setTransforms(a){this.setExtensions([...p1.slice(0,p1.length-1),...a,p1[p1.length-1]])}getTransformInstance(a){return a?this.extensionMap[a]:this.extensionMap}}var Kv=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class cH{get padding(){return Id(this.context.options.padding)}get paddingOffset(){const[a,y,x,b]=this.padding,[z,te,re]=[(b-y)/2,(a-x)/2,0];return[z,te,re]}constructor(a){this.landmarkCounter=0,this.context=a;const[y,x]=this.paddingOffset,{zoom:b,rotation:z,x:te=y,y:re=x}=a.options;this.transform({mode:"absolute",scale:b,translate:[te,re],rotate:z},!1)}get camera(){const{canvas:a}=this.context;return new Proxy(a.getCamera(),{get:(y,x)=>{const z=Object.entries(a.getLayers()).filter(([re])=>!["main"].includes(re)).map(([,re])=>re.getCamera()),te=y[x];if(typeof te=="function")return(...re)=>{const ae=te.apply(y,re);return z.forEach(se=>{se[x].apply(se,re)}),ae}}})}createLandmark(a){return this.camera.createLandmark(`landmark-${this.landmarkCounter++}`,a)}getAnimation(a){const y=jP(this.context.options,a);return y?Ag(Object.assign({},y),["easing","duration"]):!1}getCanvasSize(){const{canvas:a}=this.context,{width:y=0,height:x=0}=a.getConfig();return[y,x]}getCanvasCenter(){const{canvas:a}=this.context,{width:y=0,height:x=0}=a.getConfig();return[y/2,x/2,0]}getViewportCenter(){const[a,y]=this.camera.getPosition();return[a,y,0]}getGraphCenter(){return this.context.graph.getViewportByCanvas(this.getCanvasCenter())}getZoom(){return this.camera.getZoom()}getRotation(){return this.camera.getRoll()}getTranslateOptions(a){const{camera:y}=this,{mode:x,translate:b=[]}=a,z=this.getZoom(),te=y.getPosition(),re=y.getFocalPoint(),[ae,se]=this.getCanvasCenter(),[fe=0,me=0,Se=0]=b,Te=Td([-fe,-me,-Se],z);return x==="relative"?{position:Ho(te,Te),focalPoint:Ho(re,Te)}:{position:Ho([ae,se,te[2]],Te),focalPoint:Ho([ae,se,re[2]],Te)}}getRotateOptions(a){const{mode:y,rotate:x=0}=a;return{roll:y==="relative"?this.camera.getRoll()+x:x}}getZoomOptions(a){const{zoomRange:y}=this.context.options,x=this.camera.getZoom(),{mode:b,scale:z=1}=a;return bl(b==="relative"?x*z:z,...y)}transform(a,y){return Kv(this,void 0,void 0,function*(){const{graph:x}=this.context,{translate:b,rotate:z,scale:te,origin:re}=a;this.cancelAnimation();const ae=this.getAnimation(y);if(cu(x,new c1(ci.BEFORE_TRANSFORM,a)),!z&&te&&!b&&re&&!ae){this.camera.setZoomByViewportPoint(this.getZoomOptions(a),re),cu(x,new c1(ci.AFTER_TRANSFORM,a));return}const se={};if(b&&Object.assign(se,this.getTranslateOptions(a)),Oi(z)&&Object.assign(se,this.getRotateOptions(a)),Oi(te)&&Object.assign(se,{zoom:this.getZoomOptions(a)}),ae)return cu(x,new fd(ci.BEFORE_ANIMATE,yc.TRANSFORM,null,a)),new Promise(fe=>{this.transformResolver=fe,this.camera.gotoLandmark(this.createLandmark(se),Object.assign(Object.assign({},ae),{onfinish:()=>{cu(x,new fd(ci.AFTER_ANIMATE,yc.TRANSFORM,null,a)),cu(x,new c1(ci.AFTER_TRANSFORM,a)),this.transformResolver=void 0,fe()}}))});this.camera.gotoLandmark(this.createLandmark(se),{duration:0}),cu(x,new c1(ci.AFTER_TRANSFORM,a))})}fitView(a,y){return Kv(this,void 0,void 0,function*(){const[x,b,z,te]=this.padding,{when:re="always",direction:ae="both"}=a||{},[se,fe]=this.context.canvas.getSize(),me=se-te-b,Se=fe-x-z,Te=this.context.canvas.getBounds(),ke=this.getBBoxInViewport(Te),[We,je]=oh(ke),Ke=ae==="x"&&We>=me||ae==="y"&&je>=Se||ae==="both"&&We>=me&&je>=Se;if(re==="overflow"&&!Ke)return yield this.fitCenter({animation:y});const Qe=me/We,Je=Se/je,at=ae==="x"?Qe:ae==="y"?Je:Math.min(Qe,Je),ot=this.getAnimation(y);yield this.transform({mode:"relative",scale:at,translate:Ho(qs(this.getCanvasCenter(),this.getBBoxInViewport(Te).center),Td(this.paddingOffset,at))},ot)})}fitCenter(a){return Kv(this,void 0,void 0,function*(){const y=this.context.canvas.getBounds();yield this.focus(y,a)})}focusElements(a){return Kv(this,arguments,void 0,function*(y,x={}){const{element:b}=this.context;if(!b)return;const z=re=>x.shapes?re.getShape(x.shapes).getRenderBounds():re.getRenderBounds(),te=lv(y.map(re=>z(b.getElement(re))));yield this.focus(te,x)})}focus(a,y){return Kv(this,void 0,void 0,function*(){const x=this.context.graph.getViewportByCanvas(a.center),b=y.position||this.getCanvasCenter(),z=qs(b,x);yield this.transform({mode:"relative",translate:Ho(z,this.paddingOffset)},y.animation)})}getBBoxInViewport(a){const{min:y,max:x}=a,{graph:b}=this.context,[z,te]=b.getViewportByCanvas(y),[re,ae]=b.getViewportByCanvas(x),se=new il;return se.setMinMax([z,te,0],[re,ae,0]),se}isInViewport(a,y=!1,x=0){const{graph:b}=this.context,z=this.getCanvasSize(),[te,re]=b.getCanvasByViewport([0,0]),[ae,se]=b.getCanvasByViewport(z);let fe=new il;return fe.setMinMax([te,re,0],[ae,se,0]),x&&(fe=lh(fe,x)),l0(a)?Ld(a,fe):y?yR(a,fe):fe.intersects(a)}cancelAnimation(){var a,y;!((a=this.camera.landmarks)===null||a===void 0)&&a.length&&this.camera.cancelLandmarkAnimation(),(y=this.transformResolver)===null||y===void 0||y.call(this)}}var sl=function(E,a,y,x){function b(z){return z instanceof y?z:new y(function(te){te(z)})}return new(y||(y=Promise))(function(z,te){function re(fe){try{se(x.next(fe))}catch(me){te(me)}}function ae(fe){try{se(x.throw(fe))}catch(me){te(me)}}function se(fe){fe.done?z(fe.value):b(fe.value).then(re,ae)}se((x=x.apply(E,a||[])).next())})};class O0 extends ny{constructor(a){var y;super(),this.options={},this.rendered=!1,this.destroyed=!1,this.context={model:new VV},this.isCollapsingExpanding=!1,this.onResize=bv(()=>{this.resize()},300),this._setOptions(Object.assign({},O0.defaultOptions,a),!0),this.context.graph=this,this.options.autoResize&&((y=globalThis.addEventListener)===null||y===void 0||y.call(globalThis,"resize",this.onResize))}getOptions(){return this.options}setOptions(a){this._setOptions(a,!1)}_setOptions(a,y){if(this.updateCanvas(a),Object.assign(this.options,oH(a)),y){const{data:Se}=a;Se&&this.addData(Se);return}const{behaviors:x,combo:b,data:z,edge:te,layout:re,node:ae,plugins:se,theme:fe,transforms:me}=a;x&&this.setBehaviors(x),z&&this.setData(z),ae&&this.setNode(ae),te&&this.setEdge(te),b&&this.setCombo(b),re&&this.setLayout(re),fe&&this.setTheme(fe),se&&this.setPlugins(se),me&&this.setTransforms(me)}getSize(){return this.context.canvas?this.context.canvas.getSize():[this.options.width||0,this.options.height||0]}setSize(a,y){a&&(this.options.width=a),y&&(this.options.height=y),this.resize(a,y)}setZoomRange(a){this.options.zoomRange=a}getZoomRange(){return this.options.zoomRange}setNode(a){this.options.node=a,this.context.model.refreshData()}setEdge(a){this.options.edge=a,this.context.model.refreshData()}setCombo(a){this.options.combo=a,this.context.model.refreshData()}getTheme(){return this.options.theme}setTheme(a){this.options.theme=Gi(a)?a(this.getTheme()):a}setLayout(a){this.options.layout=Gi(a)?a(this.getLayout()):a}getLayout(){return this.options.layout}setBehaviors(a){var y;this.options.behaviors=Gi(a)?a(this.getBehaviors()):a,(y=this.context.behavior)===null||y===void 0||y.setBehaviors(this.options.behaviors)}updateBehavior(a){this.setBehaviors(y=>y.map(x=>typeof x=="object"&&x.key===a.key?Object.assign(Object.assign({},x),a):x))}getBehaviors(){return this.options.behaviors||[]}setPlugins(a){var y;this.options.plugins=Gi(a)?a(this.getPlugins()):a,(y=this.context.plugin)===null||y===void 0||y.setPlugins(this.options.plugins)}updatePlugin(a){this.setPlugins(y=>y.map(x=>typeof x=="object"&&x.key===a.key?Object.assign(Object.assign({},x),a):x))}getPlugins(){return this.options.plugins||[]}getPluginInstance(a){return this.context.plugin.getPluginInstance(a)}setTransforms(a){var y;this.options.transforms=Gi(a)?a(this.getTransforms()):a,(y=this.context.transform)===null||y===void 0||y.setTransforms(this.options.transforms)}updateTransform(a){this.setTransforms(y=>y.map(x=>typeof x=="object"&&x.key===a.key?Object.assign(Object.assign({},x),a):x)),this.context.model.refreshData()}getTransforms(){return this.options.transforms||[]}getData(){return this.context.model.getData()}getElementData(a){return Array.isArray(a)?a.map(y=>this.context.model.getElementDataById(y)):this.context.model.getElementDataById(a)}getNodeData(a){var y;return a===void 0?this.context.model.getNodeData():Array.isArray(a)?this.context.model.getNodeData(a):(y=this.context.model.getNodeData([a]))===null||y===void 0?void 0:y[0]}getEdgeData(a){var y;return a===void 0?this.context.model.getEdgeData():Array.isArray(a)?this.context.model.getEdgeData(a):(y=this.context.model.getEdgeData([a]))===null||y===void 0?void 0:y[0]}getComboData(a){var y;return a===void 0?this.context.model.getComboData():Array.isArray(a)?this.context.model.getComboData(a):(y=this.context.model.getComboData([a]))===null||y===void 0?void 0:y[0]}setData(a){this.context.model.setData(Gi(a)?a(this.getData()):a)}addData(a){this.context.model.addData(Gi(a)?a(this.getData()):a)}addNodeData(a){this.context.model.addNodeData(Gi(a)?a(this.getNodeData()):a)}addEdgeData(a){this.context.model.addEdgeData(Gi(a)?a(this.getEdgeData()):a)}addComboData(a){this.context.model.addComboData(Gi(a)?a(this.getComboData()):a)}addChildrenData(a,y){this.context.model.addChildrenData(a,y)}updateData(a){this.context.model.updateData(Gi(a)?a(this.getData()):a)}updateNodeData(a){this.context.model.updateNodeData(Gi(a)?a(this.getNodeData()):a)}updateEdgeData(a){this.context.model.updateEdgeData(Gi(a)?a(this.getEdgeData()):a)}updateComboData(a){this.context.model.updateComboData(Gi(a)?a(this.getComboData()):a)}removeData(a){this.context.model.removeData(Gi(a)?a(this.getData()):a)}removeNodeData(a){this.context.model.removeNodeData(Gi(a)?a(this.getNodeData()):a)}removeEdgeData(a){this.context.model.removeEdgeData(Gi(a)?a(this.getEdgeData()):a)}removeComboData(a){this.context.model.removeComboData(Gi(a)?a(this.getComboData()):a)}getElementType(a){return this.context.model.getElementType(a)}getRelatedEdgesData(a,y="both"){return this.context.model.getRelatedEdgesData(a,y)}getNeighborNodesData(a){return this.context.model.getNeighborNodesData(a)}getAncestorsData(a,y){return this.context.model.getAncestorsData(a,y)}getParentData(a,y){return this.context.model.getParentData(a,y)}getChildrenData(a){return this.context.model.getChildrenData(a)}getDescendantsData(a){return this.context.model.getDescendantsData(a)}getElementDataByState(a,y){return this.context.model.getElementDataByState(a,y)}initCanvas(){return sl(this,void 0,void 0,function*(){var a;if(this.context.canvas)return yield this.context.canvas.ready;const{container:y="container",width:x,height:b,renderer:z,cursor:te,background:re,canvas:ae,devicePixelRatio:se=(a=globalThis.devicePixelRatio)!==null&&a!==void 0?a:1}=this.options;if(y instanceof qD)this.context.canvas=y,te&&y.setCursor(te),z&&y.setRenderer(z),yield y.ready;else{const fe=Is(y)?document.getElementById(y):y,me=t3(fe);this.emit(ci.BEFORE_CANVAS_INIT,{container:fe,width:x,height:b});const Se=Object.assign(Object.assign({},ae),{container:fe,width:x||me[0],height:b||me[1],background:re,renderer:z,cursor:te,devicePixelRatio:se}),Te=new qD(Se);this.context.canvas=Te,yield Te.ready,this.emit(ci.AFTER_CANVAS_INIT,{canvas:Te})}})}updateCanvas(a){var y,x;const{renderer:b,cursor:z,height:te,width:re}=a,ae=this.context.canvas;ae&&(b&&(this.emit(ci.BEFORE_RENDERER_CHANGE,{renderer:this.options.renderer}),ae.setRenderer(b),this.emit(ci.AFTER_RENDERER_CHANGE,{renderer:b})),z&&ae.setCursor(z),(Oi(re)||Oi(te))&&this.setSize((y=re!=null?re:this.options.width)!==null&&y!==void 0?y:0,(x=te!=null?te:this.options.height)!==null&&x!==void 0?x:0))}initRuntime(){this.context.options=this.options,this.context.batch||(this.context.batch=new zV(this.context)),this.context.plugin||(this.context.plugin=new lH(this.context)),this.context.viewport||(this.context.viewport=new cH(this.context)),this.context.transform||(this.context.transform=new uH(this.context)),this.context.element||(this.context.element=new HV(this.context)),this.context.animation||(this.context.animation=new kV(this.context)),this.context.layout||(this.context.layout=new iH(this.context)),this.context.behavior||(this.context.behavior=new UV(this.context))}prepare(){return sl(this,void 0,void 0,function*(){if(yield Promise.resolve(),this.destroyed)throw new Error(Df("The graph instance has been destroyed"));yield this.initCanvas(),this.initRuntime()})}render(){return sl(this,void 0,void 0,function*(){if(yield this.prepare(),cu(this,new tu(ci.BEFORE_RENDER)),this.options.layout)if(!this.rendered&&$8(this.options.layout)){const a=yield this.context.element.preLayoutDraw({type:"render"});yield Promise.all([a==null?void 0:a.finished,this.autoFit()])}else{const a=this.context.element.draw({type:"render"});yield Promise.all([a==null?void 0:a.finished,this.context.layout.postLayout()]),yield this.autoFit()}else{const a=this.context.element.draw({type:"render"});yield Promise.all([a==null?void 0:a.finished,this.autoFit()])}this.rendered=!0,cu(this,new tu(ci.AFTER_RENDER))})}draw(){return sl(this,void 0,void 0,function*(){var a;yield this.prepare(),yield(a=this.context.element.draw())===null||a===void 0?void 0:a.finished})}layout(a){return sl(this,void 0,void 0,function*(){yield this.context.layout.postLayout(a)})}stopLayout(){this.context.layout.stopLayout()}clear(){return sl(this,void 0,void 0,function*(){const{model:a,element:y}=this.context;a.setData({}),a.clearChanges(),y==null||y.clear()})}destroy(){var a;cu(this,new tu(ci.BEFORE_DESTROY));const{layout:y,animation:x,element:b,model:z,canvas:te,behavior:re,plugin:ae}=this.context;ae==null||ae.destroy(),re==null||re.destroy(),y==null||y.destroy(),x==null||x.destroy(),b==null||b.destroy(),z.destroy(),te==null||te.destroy(),this.options={},this.context={},this.off(),(a=globalThis.removeEventListener)===null||a===void 0||a.call(globalThis,"resize",this.onResize),this.destroyed=!0,cu(this,new tu(ci.AFTER_DESTROY))}getCanvas(){return this.context.canvas}resize(a,y){var x;const b=t3((x=this.context.canvas)===null||x===void 0?void 0:x.getContainer()),z=[a||b[0],y||b[1]];if(!this.context.canvas)return;const te=this.context.canvas.getSize();Vl(z,te)||(cu(this,new tu(ci.BEFORE_SIZE_CHANGE,{size:z})),this.context.canvas.resize(...z),cu(this,new tu(ci.AFTER_SIZE_CHANGE,{size:z})))}fitView(a,y){return sl(this,void 0,void 0,function*(){var x;yield(x=this.context.viewport)===null||x===void 0?void 0:x.fitView(a,y)})}fitCenter(a){return sl(this,void 0,void 0,function*(){var y;yield(y=this.context.viewport)===null||y===void 0?void 0:y.fitCenter({animation:a})})}autoFit(){return sl(this,void 0,void 0,function*(){const{autoFit:a}=this.context.options;if(a)if(Is(a))a==="view"?yield this.fitView():a==="center"&&(yield this.fitCenter());else{const{type:y,animation:x}=a;y==="view"?yield this.fitView(a.options,x):y==="center"&&(yield this.fitCenter(x))}})}focusElement(a,y){return sl(this,void 0,void 0,function*(){var x;yield(x=this.context.viewport)===null||x===void 0?void 0:x.focusElements(Array.isArray(a)?a:[a],{animation:y})})}zoomBy(a,y,x){return sl(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",scale:a,origin:x},y)})}zoomTo(a,y,x){return sl(this,void 0,void 0,function*(){this.context.viewport.transform({mode:"absolute",scale:a,origin:x},y)})}getZoom(){return this.context.viewport.getZoom()}rotateBy(a,y,x){return sl(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",rotate:a,origin:x},y)})}rotateTo(a,y,x){return sl(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",rotate:a,origin:x},y)})}getRotation(){return this.context.viewport.getRotation()}translateBy(a,y){return sl(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",translate:a},y)})}translateTo(a,y){return sl(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",translate:a},y)})}getPosition(){return qs([0,0],this.getCanvasByViewport([0,0]))}translateElementBy(a,y){return sl(this,arguments,void 0,function*(x,b,z=!0){var te,re;const[ae,se]=jl(x)?[x,(te=b)!==null&&te!==void 0?te:!0]:[{[x]:b},z];Object.entries(ae).forEach(([fe,me])=>this.context.model.translateNodeLikeBy(fe,me)),yield(re=this.context.element.draw({animation:se,stage:"translate"}))===null||re===void 0?void 0:re.finished})}translateElementTo(a,y){return sl(this,arguments,void 0,function*(x,b,z=!0){var te,re;const[ae,se]=jl(x)?[x,(te=b)!==null&&te!==void 0?te:!0]:[{[x]:b},z];Object.entries(ae).forEach(([fe,me])=>this.context.model.translateNodeLikeTo(fe,me)),yield(re=this.context.element.draw({animation:se,stage:"translate"}))===null||re===void 0?void 0:re.finished})}getElementPosition(a){return this.context.model.getElementPosition(a)}getElementRenderStyle(a){return Ex(this.context.element.getElement(a).attributes,["context"])}setElementVisibility(a,y){return sl(this,arguments,void 0,function*(x,b,z=!0){var te,re;const[ae,se]=jl(x)?[x,(te=b)!==null&&te!==void 0?te:!0]:[{[x]:b},z],fe={nodes:[],edges:[],combos:[]};Object.entries(ae).forEach(([Te,ke])=>{const We=this.getElementType(Te);fe[`${We}s`].push({id:Te,style:{visibility:ke}})});const{model:me,element:Se}=this.context;me.preventUpdateNodeLikeHierarchy(()=>{me.updateData(fe)}),yield(re=Se.draw({animation:se,stage:"visibility"}))===null||re===void 0?void 0:re.finished})}showElement(a,y){return sl(this,void 0,void 0,function*(){const x=Array.isArray(a)?a:[a];yield this.setElementVisibility(Object.fromEntries(x.map(b=>[b,"visible"])),y)})}hideElement(a,y){return sl(this,void 0,void 0,function*(){const x=Array.isArray(a)?a:[a];yield this.setElementVisibility(Object.fromEntries(x.map(b=>[b,"hidden"])),y)})}getElementVisibility(a){var y,x;const b=this.context.element.getElement(a);return(x=(y=b==null?void 0:b.style)===null||y===void 0?void 0:y.visibility)!==null&&x!==void 0?x:"visible"}setElementZIndex(a,y){return sl(this,void 0,void 0,function*(){var x;const b={nodes:[],edges:[],combos:[]},z=jl(a)?a:{[a]:y};Object.entries(z).forEach(([ae,se])=>{const fe=this.getElementType(ae);b[`${fe}s`].push({id:ae,style:{zIndex:se}})});const{model:te,element:re}=this.context;te.preventUpdateNodeLikeHierarchy(()=>te.updateData(b)),yield(x=re.draw({animation:!1,stage:"zIndex"}))===null||x===void 0?void 0:x.finished})}frontElement(a){return sl(this,void 0,void 0,function*(){const y=Array.isArray(a)?a:[a],{model:x}=this.context,b={};y.map(z=>{const te=x.getFrontZIndex(z);if(x.getElementType(z)==="combo"){const ae=x.getAncestorsData(z,rl).at(-1)||this.getComboData(z),se=[ae,...x.getDescendantsData(_r(ae))],fe=te-n3(ae);se.forEach(Se=>{b[_r(Se)]=this.getElementZIndex(_r(Se))+fe});const{internal:me}=WA(se.map(_r),Se=>x.getRelatedEdgesData(Se));me.forEach(Se=>{const Te=_r(Se);b[Te]=this.getElementZIndex(Te)+fe})}else b[z]=te}),yield this.setElementZIndex(b)})}getElementZIndex(a){return n3(this.context.model.getElementDataById(a))}setElementState(a,y){return sl(this,arguments,void 0,function*(x,b,z=!0){var te,re;const[ae,se]=jl(x)?[x,(te=b)!==null&&te!==void 0?te:!0]:[{[x]:b},z],fe=Se=>Se?Array.isArray(Se)?Se:[Se]:[],me={nodes:[],edges:[],combos:[]};Object.entries(ae).forEach(([Se,Te])=>{const ke=this.getElementType(Se);me[`${ke}s`].push({id:Se,states:fe(Te)})}),this.updateData(me),yield(re=this.context.element.draw({animation:se,stage:"state"}))===null||re===void 0?void 0:re.finished})}getElementState(a){return this.context.model.getElementState(a)}getElementRenderBounds(a){return this.context.element.getElement(a).getRenderBounds()}collapseElement(a){return sl(this,arguments,void 0,function*(y,x=!0){const{model:b,element:z}=this.context;if(Ac(b.getNodeLikeData([y])[0])||this.isCollapsingExpanding)return;typeof x=="boolean"&&(x={animation:x,align:!0});const te=b.getElementType(y);yield this.frontElement(y),this.isCollapsingExpanding=!0,this.setElementCollapsibility(y,!0),te==="node"?yield z.collapseNode(y,x):te==="combo"&&(yield z.collapseCombo(y,!!x.animation)),this.isCollapsingExpanding=!1})}expandElement(a){return sl(this,arguments,void 0,function*(y,x=!0){const{model:b,element:z}=this.context;if(!Ac(b.getNodeLikeData([y])[0])||this.isCollapsingExpanding)return;typeof x=="boolean"&&(x={animation:x,align:!0});const te=b.getElementType(y);this.isCollapsingExpanding=!0,this.setElementCollapsibility(y,!1),te==="node"?yield z.expandNode(y,x):te==="combo"&&(yield z.expandCombo(y,!!x.animation)),this.isCollapsingExpanding=!1})}setElementCollapsibility(a,y){const x=this.getElementType(a);x==="node"?this.updateNodeData([{id:a,style:{collapsed:y}}]):x==="combo"&&this.updateComboData([{id:a,style:{collapsed:y}}])}toDataURL(){return sl(this,arguments,void 0,function*(a={}){return this.context.canvas.toDataURL(a)})}getCanvasByViewport(a){return this.context.canvas.getCanvasByViewport(a)}getViewportByCanvas(a){return this.context.canvas.getViewportByCanvas(a)}getClientByCanvas(a){return this.context.canvas.getClientByCanvas(a)}getCanvasByClient(a){return this.context.canvas.getCanvasByClient(a)}getViewportCenter(){return this.context.viewport.getViewportCenter()}getCanvasCenter(){return this.context.viewport.getCanvasCenter()}on(a,y,x){return super.on(a,y,x)}once(a,y){return super.once(a,y)}off(a,y){return super.off(a,y)}}O0.defaultOptions={autoResize:!1,theme:"light",rotation:0,zoom:1,zoomRange:[.01,10]};var dH=function(E,a){var y={};for(var x in E)Object.prototype.hasOwnProperty.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,x=Object.getOwnPropertySymbols(E);b<x.length;b++)a.indexOf(x[b])<0&&Object.prototype.propertyIsEnumerable.call(E,x[b])&&(y[x[b]]=E[x[b]]);return y};function vS(E,a){const{getNodeData:y=(re,ae)=>{if(re.depth=ae,!re.children)return re;const{children:se}=re,fe=dH(re,["children"]);return Object.assign(Object.assign({},fe),{children:se.map(me=>me.id)})},getEdgeData:x=(re,ae)=>({source:re.id,target:ae.id}),getChildren:b=re=>re.children||[]}=a||{},z=[],te=[];return pg(E,(re,ae)=>{z.push(y(re,ae));const se=b(re);for(const fe of se)te.push(x(re,fe))},re=>b(re),"TB"),{nodes:z,edges:te}}class fH extends Ch{beforeDraw(a){const{add:y,update:x}=a,{model:b}=this.context;return[...y.edges.entries(),...x.edges.entries()].forEach(([,z])=>{v3(b,z)}),a}}const v3=(E,a)=>{const{source:y,target:x}=a,b=E.getElementDataById(y),z=E.getElementDataById(x),te=Lw(b,me=>E.getParentData(me,rl)),re=Lw(z,me=>E.getParentData(me,rl)),ae=_r(te),se=_r(re),fe={sourceNode:ae,targetNode:se};return a.style?Object.assign(a.style,fe):a.style=fe,a},hH=(E,a,y)=>{const[x,b]=a,[z,te]=y;if(b===x)return z;const re=(E-x)/(b-x);return z+re*(te-z)},gH=(E,a,y)=>{const[x,b]=a,[z,te]=y,re=Math.log(E-x+1)/Math.log(b-x+1);return z+re*(te-z)},vH=(E,a,y,x=2)=>{const[b,z]=a,[te,re]=y,ae=Math.pow((E-b)/(z-b),x);return te+ae*(re-te)},mH=(E,a,y)=>{const[x,b]=a,[z,te]=y,re=Math.sqrt((E-x)/(b-x));return z+re*(te-z)};class y1 extends Ch{constructor(a,y){super(a,tc({},y1.defaultOptions,y)),this.assignSizeByCentrality=(x,b,z,te,re,ae)=>{const se=[b,z],fe=[te[0],re[0]],me=[te[1],re[1]],Se=[te[2],re[2]],Te=(ke,We)=>{if(typeof ae=="function")return ae(ke,se,We);switch(ae){case"linear":return hH(ke,se,We);case"log":return gH(ke,se,We);case"pow":return vH(ke,se,We,2);case"sqrt":return mH(ke,se,We);default:return We[0]}};return[Te(x,fe),Te(x,me),Te(x,Se)]}}beforeDraw(a){const{model:y}=this.context,x=y.getNodeData(),b=kc(this.options.maxSize),z=kc(this.options.minSize),te=this.getCentralities(this.options.centrality),re=te.size>0?Math.max(...te.values()):0,ae=te.size>0?Math.min(...te.values()):0;return x.forEach(se=>{var fe;const me=this.assignSizeByCentrality(te.get(_r(se))||0,ae,re,z,b,this.options.scale),Se=(fe=this.context.element)===null||fe===void 0?void 0:fe.getElement(_r(se)),Te={size:me};this.assignLabelStyle(Te,me,se,Se),(!Se||!l1(Te,Se.attributes))&&Gc(a,Se?"update":"add","node",tc(se,{style:Te}),!0)}),a}assignLabelStyle(a,y,x,b){var z;const te=b?b.config.style:(z=this.context.element)===null||z===void 0?void 0:z.getElementComputedStyle("node",x);if(Object.assign(a,Ag(te,["labelFontSize","labelLineHeight"])),this.options.mapLabelSize){const re=this.getLabelSizeByNodeSize(y,1/0,Number(a.labelFontSize));Object.assign(a,{labelFontSize:re,labelLineHeight:re+pR(a.labelPadding)})}return a}getLabelSizeByNodeSize(a,y,x){const b=Math.min(...a)/2,[z,te]=Array.isArray(this.options.mapLabelSize)?this.options.mapLabelSize:[x,y];return Math.min(te,Math.max(b,z))}getCentralities(a){const{model:y}=this.context,x=y.getData();if(typeof a=="function")return a(x);const b=y.getRelatedEdgesData.bind(y);return B2(x,b,a)}}y1.defaultOptions={centrality:{type:"degree"},maxSize:80,minSize:20,scale:"linear",mapLabelSize:!1};class E1 extends Ch{constructor(a,y){super(a,Object.assign({},E1.defaultOptions,y))}get ref(){return this.context.model.getRootsData()[0]}afterLayout(){var a;const y=lu(this.ref),{graph:x,model:b}=this.context;(a=b.getData().nodes)===null||a===void 0||a.forEach(te=>{var re;if(_r(te)===_r(this.ref))return;const ae=F2(qs(lu(te),y)),se=Math.abs(ae)>Math.PI/2,fe=!te.children||te.children.length===0,me=_r(te),Se=(re=this.context.element)===null||re===void 0?void 0:re.getElement(me);if(!Se||!Se.isVisible())return;const Te=kc(x.getElementRenderStyle(me).size)[0]/2,ke=(fe?1:-1)*(Te+this.options.offset),We=[["translate",ke*Math.cos(ae),ke*Math.sin(ae)],["rotate",se?gc(ae)+180:gc(ae)]];b.updateNodeData([{id:_r(te),style:{labelTextAlign:se===fe?"right":"left",labelTextBaseline:"middle",labelTransform:We}}])}),x.draw()}}E1.defaultOptions={offset:5};const pH="quadratic",m3=["top","top-right","right","right-bottom","bottom","bottom-left","left","left-top"];class A1 extends Ch{constructor(a,y){super(a,Object.assign({},A1.defaultOptions,y)),this.cacheMergeStyle=new Map,this.getAffectedParallelEdges=x=>{const{add:{edges:b},update:{nodes:z,edges:te,combos:re},remove:{edges:ae}}=x,{model:se}=this.context,fe=new Map,me=(ke,We)=>{se.getRelatedEdgesData(We).forEach(Ke=>!fe.has(_r(Ke))&&fe.set(_r(Ke),Ke))};z.forEach(me),re.forEach(me);const Se=ke=>{const We=se.getEdgeData().map(Ke=>v3(se,Ke));yH(ke,We,!0).forEach(Ke=>!fe.has(_r(Ke))&&fe.set(_r(Ke),Ke))};if(ae.size&&ae.forEach(Se),b.size&&b.forEach(Se),te.size){const ke=xM(Px(se.getChanges())).update.edges;te.forEach(We=>{var je;Se(We);const Ke=(je=ke.find(Qe=>_r(Qe.value)===_r(We)))===null||je===void 0?void 0:je.original;Ke&&!mS(We,Ke)&&Se(Ke)})}lf(this.options.edges)||fe.forEach((ke,We)=>!this.options.edges.includes(We)&&fe.delete(We));const Te=se.getEdgeData().map(_r);return new Map([...fe].sort((ke,We)=>Te.indexOf(ke[0])-Te.indexOf(We[0])))},this.applyBundlingStyle=(x,b,z)=>{const{edgeMap:te,reverses:re}=p3(b);te.forEach(ae=>{ae.forEach((se,fe,me)=>{var Se;const Te=me.length,ke=se.style||{};if(se.source===se.target){const Ke=m3.length;ke.loopPlacement=m3[fe%Ke],ke.loopDist=Math.floor(fe/Ke)*z+50}else if(Te===1)ke.curveOffset=0;else{const Ke=(fe%2===0?1:-1)*(re[`${se.source}|${se.target}|${fe}`]?-1:1);ke.curveOffset=Te%2===1?Ke*Math.ceil(fe/2)*z*2:Ke*(Math.floor(fe/2)*z*2+z)}const We=Object.assign(se,{type:pH,style:ke}),je=(Se=this.context.element)===null||Se===void 0?void 0:Se.getElement(_r(se));(!je||!l1(We.style,je.attributes))&&Gc(x,je?"update":"add","edge",We,!0)})})},this.resetEdgeStyle=x=>{const b=x.style||{},z=this.cacheMergeStyle.get(_r(x))||{};return Object.keys(z).forEach(te=>{Vl(b[te],z[te])&&(x[te]?b[te]=x[te]:delete b[te])}),Object.assign(x,{style:b})},this.applyMergingStyle=(x,b)=>{const{edgeMap:z,reverses:te}=p3(b);z.forEach(re=>{var ae;if(re.length===1){const fe=re[0],me=(ae=this.context.element)===null||ae===void 0?void 0:ae.getElement(_r(fe)),Se=this.resetEdgeStyle(fe);(!me||!l1(Se,me.attributes))&&Gc(x,me?"update":"add","edge",Se);return}const se=re.map(({source:fe,target:me,style:Se={}},Te)=>{const{startArrow:ke,endArrow:We}=Se,je={},[Ke,Qe]=te[`${fe}|${me}|${Te}`]?["endArrow","startArrow"]:["startArrow","endArrow"];return gm(ke)&&(je[Ke]=ke),gm(We)&&(je[Qe]=We),je}).reduce((fe,me)=>Object.assign(Object.assign({},fe),me),{});re.forEach((fe,me,Se)=>{var Te;if(me!==0){Gc(x,"remove","edge",fe);return}const ke=Object.assign({},Gi(this.options.style)?this.options.style(Se):this.options.style,{childrenData:Se});this.cacheMergeStyle.set(_r(fe),ke);const We=Object.assign(Object.assign({},fe),{type:"line",style:Object.assign(Object.assign(Object.assign({},fe.style),se),ke)}),je=(Te=this.context.element)===null||Te===void 0?void 0:Te.getElement(_r(fe));(!je||!l1(We.style,je.attributes))&&Gc(x,je?"update":"add","edge",We,!0)})})}}beforeDraw(a){const y=this.getAffectedParallelEdges(a);return y.size===0||(this.options.mode==="bundle"?this.applyBundlingStyle(a,y,this.options.distance):this.applyMergingStyle(a,y)),a}}A1.defaultOptions={mode:"bundle",distance:15};const p3=E=>{const a=new Map,y=new Set,x={};for(const[b,z]of E){if(y.has(b))continue;const{source:te,target:re}=z,ae=`${te}-${re}`;a.has(ae)||a.set(ae,[]),a.get(ae).push(z),y.add(b);for(const[se,fe]of E)y.has(se)||mS(z,fe)&&(a.get(ae).push(fe),y.add(se),te===fe.target&&re===fe.source&&(x[`${fe.source}|${fe.target}|${a.get(ae).length-1}`]=!0))}return{edgeMap:a,reverses:x}},yH=(E,a,y)=>a.filter(x=>(y||_r(x)!==_r(E))&&mS(x,E)),mS=(E,a)=>{const{sourceNode:y,targetNode:x}=E.style||{},{sourceNode:b,targetNode:z}=a.style||{};return y===b&&x===z||y===z&&x===b};class EH extends Ch{beforeDraw(a,y){const{stage:x}=y;if(x==="visibility")return a;const{model:b}=this.context,{update:{nodes:z,edges:te,combos:re}}=a,ae=(se,fe)=>{b.getRelatedEdgesData(fe).forEach(Se=>!te.has(_r(Se))&&te.set(_r(Se),Se))};return z.forEach(ae),re.forEach(ae),a}}const AH={animation:{"combo-collapse":KP,"combo-expand":fR,"node-collapse":VP,"node-expand":cR,"path-in":HP,"path-out":dR,fade:lR,translate:uR},behavior:{"brush-select":gv,"click-select":Pp,"collapse-expand":Xp,"create-edge":ey,"drag-canvas":ty,"drag-element-force":n7,"drag-element":Cv,"fix-element-size":oy,"focus-element":sy,"hover-activate":ly,"lasso-select":a7,"auto-adapt-label":Ep,"optimize-viewport-transform":uy,"scroll-canvas":cy,"zoom-canvas":dy},combo:{circle:ZF,rect:QF},edge:{cubic:xg,line:Kp,polyline:Zp,quadratic:Qp,"cubic-horizontal":Gp,"cubic-radial":Vp,"cubic-vertical":Hp},layout:{"antv-dagre":Gk,"combo-combined":Z9,"compact-box":fy.compactBox,"d3-force":Az,"force-atlas2":bz,circular:Kk,concentric:ix,dagre:yy,dendrogram:fy.dendrogram,fishbone:xy,force:F5,fruchterman:wz,grid:Dz,indented:fy.indented,mds:V5,mindmap:fy.mindmap,radial:Fz,random:Vz,snake:Sy},node:{circle:yg,diamond:Q_,ellipse:Lp,hexagon:$_,html:kp,image:zp,rect:HF,star:KF,donut:Dp,triangle:Up},palette:{spectral:Yz,tableau:Xz,oranges:Jz,greens:qz,blues:$z},theme:{dark:wV,light:MV},plugin:{"bubble-sets":Ty,"edge-bundling":Ny,"edge-filter-lens":Ry,"grid-line":ky,background:by,contextmenu:By,fisheye:_y,fullscreen:Fy,history:zy,hull:Uy,legend:Hy,minimap:Ky,snapline:Zy,timebar:a1,toolbar:i1,tooltip:o1,watermark:s1},transform:{"arrange-draw-order":DV,"collapse-expand-combo":IV,"collapse-expand-node":LV,"get-edge-actual-ends":fH,"map-node-size":y1,"place-radial-labels":E1,"process-parallel-edges":A1,"update-related-edges":EH},shape:{circle:Cf,ellipse:ev,group:su,html:tv,image:wA,line:lg,path:Nc,polygon:ug,polyline:Fm,rect:Mu,text:cg,label:fh,badge:d0}};function xH(){Object.entries(AH).forEach(([E,a])=>{Object.entries(a).forEach(([y,x])=>{OV(E,y,x)})})}xH();const m$={css:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.css",js:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.js"};var pS=Oe(59301),SH=Object.defineProperty,bH=Object.defineProperties,CH=Object.getOwnPropertyDescriptors,y3=Object.getOwnPropertySymbols,PH=Object.prototype.hasOwnProperty,wH=Object.prototype.propertyIsEnumerable,E3=(E,a,y)=>a in E?SH(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,yS=(E,a)=>{for(var y in a||(a={}))PH.call(a,y)&&E3(E,y,a[y]);if(y3)for(var y of y3(a))wH.call(a,y)&&E3(E,y,a[y]);return E},ES=(E,a)=>bH(E,CH(a)),MH=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});const DH=(E,a)=>{const y=E.getParentData(a.id,"tree");return y?a.style.x>y.style.x?"right":"left":"center"},IH=[3,2,1];let x1=[{name:"\u6839\u8282\u70B9",src:"/images/one.svg",color:"#CC7CF5"},{name:"\u8BFE\u7A0B",src:"/images/kc.svg",color:"#3241F7"},{name:"\u7AE0\u8282",src:"/images/zj.svg",color:"#5e54e7"},{name:"\u77E5\u8BC6\u70B9",src:"/images/zsd.svg",color:"#FFDF55"},{name:"\u5B9E\u8BAD",src:"/images/sx.svg",color:"#4E9DFF"},{name:"\u4F5C\u4E1A",src:"/images/zy.svg",color:"#445DF3"},{name:"\u89C6\u9891",src:"/images/sp.svg",color:"#6BC4DE"},{name:"\u8BFE\u4EF6",src:"/images/fj.svg",color:"#6BDE73"},{name:"\u8BD5\u5377",src:"/images/sj.svg",color:"#2D9534"},{name:"\u5176\u4ED6",src:"/images/qt.svg",color:"#2D947C"}];const LH=(E,a)=>{const y={};let x=null;return E.forEach(b=>{y[b.properties.uuid]=ES(yS({},b),{id:b.properties.uuid,children:[]})}),a.forEach(b=>{const z=y[b.startNodeUuid],te=y[b.endNodeUuid];z&&(z.id=z.properties.uuid),z&&te&&z.children.push(te)}),E.forEach(b=>{!a.some(te=>te.endNodeUuid===b.properties.uuid)&&(x=y[b.properties.uuid])}),x};var OH=(0,Re.forwardRef)(({nodeUuid:E,subject_id:a,setshowdetail:y,setitems:x,setzoomsize:b},z)=>{const[te,re]=(0,Re.useState)(!1),ae=(0,Re.useRef)(0),se=(0,Re.useRef)(null),fe=(0,Re.useRef)();(0,Re.useEffect)(()=>{je()},[]);function me(Qe){fe.current.zoomBy(Qe)}function Se(){setTimeout(()=>{var Qe;b((((Qe=fe==null?void 0:fe.current)==null?void 0:Qe.getZoom())*100).toFixed(0))},300)}function Te(Qe){var Je;let at=fe.current.getElementDataByState("node","selected");(at==null?void 0:at.length)>0&&fe.current.setElementState((Je=at==null?void 0:at[0])==null?void 0:Je.id,[""]),fe.current.setElementState(Qe,["selected"])}function ke(Qe,Je){try{const at={},ot={};fe.current.getEdgeData().map(ut=>{at[ut.id]=Qe==="Enter"?"inactive":"active"}),fe.current.getNodeData().map(ut=>{Qe==="Enter"?ot[ut.id]=ut.colornodeType===Je?"highlight":"inactive":ot[ut.id]="active"}),fe.current.setElementState(at),fe.current.setElementState(ot)}catch(at){}}function We(Qe,Je){var at;(at=fe==null?void 0:fe.current)==null||at.fitView(Qe,Je)}(0,Re.useImperativeHandle)(z,()=>({zoomBy:me,getData:je,selectall:Te,onMouse:ke,fitView:We,getZooms:Se}));const je=()=>MH(void 0,null,function*(){var Qe,Je,at,ot,ut,ft,lt,Dt,Bt;re(!0);let Vt=yield(0,ee.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:E,subject_id:a,depth:-1,relationshipFilter:"\u5305\u542B>"}});re(!1);let Xt=(Je=(Qe=Vt==null?void 0:Vt.data)==null?void 0:Qe.nodes)==null?void 0:Je.map(yn=>{var En,Pn,or,xn,yr,na,ea,jr,Or,Yr,fa,Ia;return ES(yS({},yn==null?void 0:yn.properties),{rootNodeUuid:(En=yn==null?void 0:yn.properties)==null?void 0:En.rootNodeUuid,id:(Pn=yn==null?void 0:yn.properties)==null?void 0:Pn.uuid,name:(or=yn==null?void 0:yn.properties)==null?void 0:or.name,description:(xn=yn==null?void 0:yn.properties)==null?void 0:xn.description,nodeType:(yr=yn==null?void 0:yn.properties)==null?void 0:yr.nodeType,tags:((na=yn==null?void 0:yn.properties)==null?void 0:na.tags)&&((Or=(jr=(ea=yn==null?void 0:yn.properties)==null?void 0:ea.tags)==null?void 0:jr.split("\uFF0C"))==null?void 0:Or.map(oi=>({name:oi})))||[],colorType:parseInt((Yr=yn==null?void 0:yn.properties)==null?void 0:Yr.color)>3?"3":(fa=yn==null?void 0:yn.properties)==null?void 0:fa.color,activeColor:"#FA6400",size:IH[((Ia=yn==null?void 0:yn.properties)==null?void 0:Ia.color)-1]||1,shape:"circle",hide:!1,isExtendedState:!0})}),vn=LH((ot=(at=Vt==null?void 0:Vt.data)==null?void 0:at.nodes)==null?void 0:ot.map((yn,En)=>{var Pn,or,xn,yr,na;return ES(yS({},yn),{key:En,title:(Pn=yn==null?void 0:yn.properties)==null?void 0:Pn.name,newcolor:parseInt((or=yn==null?void 0:yn.properties)==null?void 0:or.color)===1?"#CC7CF5":((xn=x1==null?void 0:x1.find(ea=>{var jr;return(ea==null?void 0:ea.name)===((jr=yn==null?void 0:yn.properties)==null?void 0:jr.nodeType)}))==null?void 0:xn.color)||"#2D947C",colornodeType:parseInt((yr=yn==null?void 0:yn.properties)==null?void 0:yr.color)===1?"\u6839\u8282\u70B9":((na=x1==null?void 0:x1.find(ea=>{var jr;return(ea==null?void 0:ea.name)===((jr=yn==null?void 0:yn.properties)==null?void 0:jr.nodeType)}))==null?void 0:na.name)||"\u5176\u4ED6"})}),(ft=(ut=Vt==null?void 0:Vt.data)==null?void 0:ut.relationships)==null?void 0:ft.filter(yn=>yn.type==="\u5305\u542B"));fe!=null&&fe.current&&((lt=fe==null?void 0:fe.current)==null||lt.destroy());let on=vS(vn),wn=(Dt=on.nodes)==null?void 0:Dt.filter((yn,En,Pn)=>En===Pn.findIndex(or=>or.id===yn.id)),qn=(Bt=on.edges)==null?void 0:Bt.filter((yn,En,Pn)=>En===Pn.findIndex(or=>or.source===yn.source&&or.target===yn.target));Ke({nodes:wn,edges:qn},Xt)}),Ke=(Qe,Je)=>{var at,ot;fe.current=null,fe.current=new O0({container:se.current,autoResize:!0,autoFit:{type:((at=Qe==null?void 0:Qe.nodes)==null?void 0:at.length)>20?"view":"center",options:{direction:"both",when:"always"}},animation:!(((ot=Qe==null?void 0:Qe.nodes)==null?void 0:ot.length)>300),data:Qe,node:{style:{labelText:ut=>ut.title,labelFill:"#ffffff",fill:ut=>ut.newcolor,labelBackground:!1,labelPlacement:function(ut){const ft=DH(this,ut);return ft==="center"?"right":ft},halo:!0,haloStrokeOpacity:.5,haloLineWidth:10,ports:[{placement:"right"},{placement:"left"}]},animation:{enter:!1}},edge:{type:"cubic-horizontal",animation:{enter:!1}},layout:{type:"mindmap",direction:"H",getHeight:()=>32,getWidth:()=>32,getVGap:()=>4,getHGap:()=>64,getSide:ut=>(ae.current++,ae.current%2==0?"left":"right")},behaviors:["drag-element",{type:"zoom-canvas",onFinish:()=>{setTimeout(()=>{var ut;b((((ut=fe==null?void 0:fe.current)==null?void 0:ut.getZoom())*100).toFixed(0))},300)}},"collapse-expand","drag-canvas",{type:"click-select",state:"selected",onClick:ut=>{let ft=Je.filter(lt=>{var Dt,Bt;return(lt==null?void 0:lt.id)===((Bt=(Dt=ut.target)==null?void 0:Dt.config)==null?void 0:Bt.id)});if((ft==null?void 0:ft.length)===0){y(!1);return}x(ft==null?void 0:ft[0]),y(!0),ut.view.setCursor("pointer")},multiple:!1}]}),fe.current.render(),setTimeout(()=>{var ut;b((((ut=fe==null?void 0:fe.current)==null?void 0:ut.getZoom())*100).toFixed(0))},300)};return pS.createElement("div",{style:{height:"100%"}},pS.createElement(de.Z,{spinning:te,className:"mt60 w100",tip:"\u52A0\u8F7D\u4E2D..."}),pS.createElement("div",{style:{height:"100%"},ref:se}))}),dl={flex_box_center:"flex_box_center___mORrQ",flex_space_between:"flex_space_between___AGgBm",flex_box_vertical_center:"flex_box_vertical_center____H93g",flex_box_center_end:"flex_box_center_end___VPK8Q",flex_box_column:"flex_box_column___qksG3",autocomp:"autocomp___H_feM",autocompwidth:"autocompwidth___RMYtG",hoverone:"hoverone___j7m8k",name:"name___qwPqM",img:"img___WHKD_",autopop:"autopop___YCC3k",studentHead:"studentHead___DeVom",headLi:"headLi___qiYnp",btn:"btn___s7HI8",tupugx:"tupugx___JCYSy",textname:"textname___iEAMA",dropdownst:"dropdownst___ca1cn"},AS=Oe(20736),A3=Oe(59301),TH=Object.defineProperty,BH=Object.defineProperties,NH=Object.getOwnPropertyDescriptors,S1=Object.getOwnPropertySymbols,x3=Object.prototype.hasOwnProperty,S3=Object.prototype.propertyIsEnumerable,b3=(E,a,y)=>a in E?TH(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,C3=(E,a)=>{for(var y in a||(a={}))x3.call(a,y)&&b3(E,y,a[y]);if(S1)for(var y of S1(a))S3.call(a,y)&&b3(E,y,a[y]);return E},RH=(E,a)=>BH(E,NH(a)),_H=(E,a)=>{var y={};for(var x in E)x3.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&S1)for(var x of S1(E))a.indexOf(x)<0&&S3.call(E,x)&&(y[x]=E[x]);return y},FH=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});let b1=[{name:"\u6839\u8282\u70B9",src:"/images/one.svg",color:"#CC7CF5",bordercolor:"#A150CB"},{name:"\u8BFE\u7A0B",src:"/images/kc.svg",color:"#3241F7",bordercolor:"#3437D9"},{name:"\u7AE0\u8282",src:"/images/zj.svg",color:"#5e54e7",bordercolor:"#7f77f9"},{name:"\u77E5\u8BC6\u70B9",src:"/images/zsd.svg",color:"#FFDF55",bordercolor:"#FFD60F"},{name:"\u5B9E\u8BAD",src:"/images/sx.svg",color:"#4E9DFF",bordercolor:"#0882FB"},{name:"\u4F5C\u4E1A",src:"/images/zy.svg",color:"#445DF3",bordercolor:"#3149D5"},{name:"\u89C6\u9891",src:"/images/sp.svg",color:"#6BC4DE",bordercolor:"#339DC4"},{name:"\u8BFE\u4EF6",src:"/images/fj.svg",color:"#6BDE73",bordercolor:"#33C448"},{name:"\u8BD5\u5377",src:"/images/sj.svg",color:"#2D9534",bordercolor:"#077A04"},{name:"\u5176\u4ED6",src:"/images/qt.svg",color:"#2D947C",bordercolor:"#157660"}];const y$=null;let E$=null;const kH=E=>{var a=E,{pathsDetail:y,user:x,globalSetting:b,loading:z,dispatch:te,datas:re}=a,ae=_H(a,["pathsDetail","user","globalSetting","loading","dispatch","datas"]);const se=(0,Re.useRef)(),fe=(0,Re.useRef)(null);(0,Re.useEffect)(()=>{me()},[re]);function me(){return FH(this,null,function*(){var Se,Te,ke,We,je,Ke,Qe;if(((Se=re==null?void 0:re.nodes)==null?void 0:Se.length)>0){let Je=(0,vt.fX)((Te=re==null?void 0:re.nodes)==null?void 0:Te.map((lt,Dt)=>{var Bt,Vt,Xt,vn,on,wn,qn,yn,En,Pn,or,xn,yr,na,ea,jr;return RH(C3(C3({},lt),lt==null?void 0:lt.properties),{rootNodeUuid:(Bt=lt==null?void 0:lt.properties)==null?void 0:Bt.rootNodeUuid,id:(Vt=lt==null?void 0:lt.properties)==null?void 0:Vt.uuid,name:(Xt=lt==null?void 0:lt.properties)==null?void 0:Xt.name,labelstype:(vn=lt==null?void 0:lt.labels)==null?void 0:vn[1],description:(on=lt==null?void 0:lt.properties)==null?void 0:on.description,nodeType:(wn=lt==null?void 0:lt.properties)==null?void 0:wn.nodeType,colornodeType:parseInt((qn=lt==null?void 0:lt.properties)==null?void 0:qn.color)===1?"\u6839\u8282\u70B9":((yn=b1==null?void 0:b1.find(Or=>{var Yr;return(Or==null?void 0:Or.name)===((Yr=lt==null?void 0:lt.properties)==null?void 0:Yr.nodeType)}))==null?void 0:yn.name)||"\u5176\u4ED6",newcolor:parseInt((En=lt==null?void 0:lt.properties)==null?void 0:En.color)===1?"#CC7CF5":((Pn=b1==null?void 0:b1.find(Or=>{var Yr;return(Or==null?void 0:Or.name)===((Yr=lt==null?void 0:lt.properties)==null?void 0:Yr.nodeType)}))==null?void 0:Pn.color)||"#2D947C",tags:((or=lt==null?void 0:lt.properties)==null?void 0:or.tags)&&((na=(yr=(xn=lt==null?void 0:lt.properties)==null?void 0:xn.tags)==null?void 0:yr.split("\uFF0C"))==null?void 0:na.map(Or=>({name:Or})))||[],colorType:parseInt((ea=lt==null?void 0:lt.properties)==null?void 0:ea.color)>3?"3":(jr=lt==null?void 0:lt.properties)==null?void 0:jr.color})}),(je=(We=(ke=re==null?void 0:re.relationships)==null?void 0:ke.filter(lt=>{var Dt,Bt,Vt;return(lt==null?void 0:lt.endNodeUuid)!==((Vt=(Bt=(Dt=re==null?void 0:re.nodes)==null?void 0:Dt[0])==null?void 0:Bt.properties)==null?void 0:Vt.rootNodeUuid)}))==null?void 0:We.filter(lt=>{var Dt,Bt,Vt;return(lt==null?void 0:lt.startNodeUuid)!==((Vt=(Bt=(Dt=re==null?void 0:re.nodes)==null?void 0:Dt[0])==null?void 0:Bt.properties)==null?void 0:Vt.rootNodeUuid)}))==null?void 0:je.filter(lt=>lt.type==="\u5305\u542B")),at=vS(Je),ot=(Ke=at.nodes)==null?void 0:Ke.filter((lt,Dt,Bt)=>Dt===Bt.findIndex(Vt=>Vt.id===lt.id)),ut=(Qe=at.edges)==null?void 0:Qe.filter((lt,Dt,Bt)=>Dt===Bt.findIndex(Vt=>Vt.source===lt.source&&Vt.target===lt.target));ot.map(lt=>(lt.transformd=!0,lt.style={labelWordWrap:!0,labelPlacement:lt.depth===0?"center":lt.depth<3?"top-left":"top",haloLineWidth:Math.max(20-lt.depth*6,0),labelMaxWidth:lt.depth===0?300:200,labelFontSize:lt.depth===0?22:ot.length>300?12:14,labelLineHeight:100,halo:lt.depth<3},lt)),se.current=null;let ft=ot==null?void 0:ot.length;se.current=new O0({container:fe.current,autoResize:!0,background:"#010A23",autoFit:{type:ot.length>50?"view":"center",options:{direction:"both",when:"always"}},animation:!1,padding:50,data:{nodes:ot,edges:ut},node:{type:"circle",style:{size:lt=>lt.colorType==1?100:lt.depth<2?50:ft>250?10:20,fill:lt=>lt.newcolor,labelText:lt=>lt.name,labelFill:"#ffffff"},state:{highlight:{stroke:"transparent"},selected:{stroke:"transparent"},inactive:{fill:lt=>lt.newcolor,port:!1,labelBackground:!1,halo:!1,badgeBackground:!1}}},edge:{style:{labelBackground:!1,halo:!1,stroke:"#A150CB",strokeOpacity:.5},state:{inactive:{stroke:"#f9f0ff",strokeOpacity:.5,halo:!1,labelBackground:!1,lineWidth:1},highlight:{stroke:"#43E93F",strokeOpacity:1,halo:!1,lineWidth:1},selected:{stroke:"#43E93F",strokeOpacity:1,halo:!1,lineWidth:1},active:{halo:!1},disable:{halo:!1}}},layout:[{type:"dendrogram",radial:!0,nodeSep:40,rankSep:ot.length>250?360:240,direction:"RL",unitRadius:90,linkDistance:200,preventOverlap:!0,maxPreventOverlapIteration:100,strictRadial:!1}],plugins:[{type:"tooltip",enable:lt=>lt.targetType==="node",getContent:(lt,Dt)=>{let Bt="";return Dt.forEach(Vt=>{Bt+=`<div>${Vt.name||""}</div>`}),Bt}}],behaviors:["drag-canvas",{type:"zoom-canvas"},"drag-element",{type:"collapse-expand",onExpand:(lt,Dt)=>{console.log("----",lt,Dt)}},{type:"fix-element-size",state:"fix-element-size",enable:!0}],transforms:[{type:"place-radial-labels"}]}),se.current.render()}})}return A3.createElement("div",{style:{background:"#fff",height:"800rem"}},A3.createElement("div",{style:{width:"100%",height:"800rem"},ref:fe}))};var zH=(0,be.connect)(({pathsDetail:E,user:a,loading:y,globalSetting:x})=>({pathsDetail:E,user:a,globalSetting:x,loading:y.models.index}))(kH),wa=Oe(59301),UH=Object.defineProperty,WH=Object.defineProperties,jH=Object.getOwnPropertyDescriptors,C1=Object.getOwnPropertySymbols,P3=Object.prototype.hasOwnProperty,w3=Object.prototype.propertyIsEnumerable,M3=(E,a,y)=>a in E?UH(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,Tg=(E,a)=>{for(var y in a||(a={}))P3.call(a,y)&&M3(E,y,a[y]);if(C1)for(var y of C1(a))w3.call(a,y)&&M3(E,y,a[y]);return E},GH=(E,a)=>WH(E,jH(a)),VH=(E,a)=>{var y={};for(var x in E)P3.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&C1)for(var x of C1(E))a.indexOf(x)<0&&w3.call(E,x)&&(y[x]=E[x]);return y},wh=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});let Zv=[{name:"\u6839\u8282\u70B9",src:"/images/one.svg",color:"#CC7CF5",bordercolor:"#A150CB"},{name:"\u8BFE\u7A0B",src:"/images/kc.svg",color:"#3241F7",bordercolor:"#3437D9"},{name:"\u7AE0\u8282",src:"/images/zj.svg",color:"#5e54e7",bordercolor:"#7f77f9"},{name:"\u77E5\u8BC6\u70B9",src:"/images/zsd.svg",color:"#FFDF55",bordercolor:"#FFD60F"},{name:"\u5B9E\u8BAD",src:"/images/sx.svg",color:"#4E9DFF",bordercolor:"#0882FB"},{name:"\u4F5C\u4E1A",src:"/images/zy.svg",color:"#445DF3",bordercolor:"#3149D5"},{name:"\u89C6\u9891",src:"/images/sp.svg",color:"#6BC4DE",bordercolor:"#339DC4"},{name:"\u8BFE\u4EF6",src:"/images/fj.svg",color:"#6BDE73",bordercolor:"#33C448"},{name:"\u8BD5\u5377",src:"/images/sj.svg",color:"#2D9534",bordercolor:"#077A04"},{name:"\u5176\u4ED6",src:"/images/qt.svg",color:"#2D947C",bordercolor:"#157660"}];const HH=E=>{var a=E,{pathsDetail:y,user:x,globalSetting:b,loading:z,dispatch:te,uuid:re,Tabsdatas:ae,initdata:se,setactivied:fe,tpacti:me}=a,Se=VH(a,["pathsDetail","user","globalSetting","loading","dispatch","uuid","Tabsdatas","initdata","setactivied","tpacti"]),Te,ke,We,je,Ke,Qe,Je,at;const ot=(0,Re.useRef)(),ut=(0,Re.useRef)(),ft=(0,Re.useRef)(),[lt,Dt]=(0,Re.useState)([]),[Bt,Vt]=(0,Re.useState)(!0),[Xt,vn]=(0,Re.useState)([]),[on,wn]=(0,Re.useState)(""),[qn,yn]=(0,Re.useState)(!1),En=(0,Re.useRef)(null),[Pn,or]=(0,Re.useState)(),[xn,yr]=(0,Re.useState)(!1),[na,ea]=(0,Re.useState)([]);let[jr,Or]=(0,Re.useState)(!1);const[Yr,fa]=(0,Re.useState)(!1),[Ia,oi]=(0,Re.useState)(!1),[Eo,to]=(0,Re.useState)([]),[ri,Qi]=(0,Re.useState)(!1),[Ri,Ji]=(0,Re.useState)([]),[lo]=(0,be.useSearchParams)(),[Xo,Oo]=(0,Re.useState)(!1),[si,Di]=(0,Re.useState)(0),[ya,La]=(0,Re.useState)("\u5168\u90E8");let[Ya,zi]=(0,Re.useState)({page:1,limit:10});const[Ca,oo]=(0,Re.useState)({}),[Ui,gs]=(0,Re.useState)([]),Ko=(0,Re.useRef)(null),rs=(0,Re.useRef)(null),[as,Jo]=(0,Re.useState)(!1),mo=window.ENV==="build"?"/react/build":"";(0,Re.useEffect)(()=>(jr=!1,Or(!1),Ss(2),Fe.ZP.config({getContainer:()=>En.current}),()=>{Vt(!1),vn([]),yr(!1),wn("")}),[re]);const xc=()=>wa.createElement("div",{className:dl.studentHead},wa.createElement("div",{className:dl.headLi},wa.createElement("img",{src:Ze}),wa.createElement("aside",null,wa.createElement("span",null,"\u8D44\u6E90\u603B\u6570"),wa.createElement("b",null,Ca==null?void 0:Ca.resource_count))),wa.createElement("div",{className:dl.headLi},wa.createElement("img",{src:xt}),wa.createElement("aside",null,wa.createElement("span",null,"\u5B66\u4E60\u5B8C\u6210\u7387"),wa.createElement("b",{style:{color:"#F7B500"}},Ca==null?void 0:Ca.complete_rate,"%"))),wa.createElement("div",{className:dl.headLi},wa.createElement("img",{src:bt}),wa.createElement("aside",null,wa.createElement("span",null,"\u5B66\u4E60\u638C\u63E1\u7387"),wa.createElement("b",{style:{color:"#3AFFC8"}},Ca==null?void 0:Ca.grasp_rate,"%"))),wa.createElement("div",{className:dl.headLi},wa.createElement("img",{src:Yt}),wa.createElement("aside",null,wa.createElement("span",{style:{marginBottom:"10rem"}},"\u4E0A\u6B21\u5B66\u5230"),wa.createElement(tn.Z,{title:Ca==null?void 0:Ca.last_knowledge_name},wa.createElement("b",{style:{color:"#7FAAFF",fontSize:"16rem"}},(0,vt.Pq)(Ca==null?void 0:Ca.last_knowledge_name,13))))),wa.createElement("div",{onClick:()=>handleClickDetails({knowledge_uuid:Ca==null?void 0:Ca.last_knowledge_uuid}),className:dl.btn},"\u7EE7\u7EED\u5B66\u4E60")),Sc={onRemove:()=>{to([])},beforeUpload:qa=>{if(console.log(qa),(qa==null?void 0:qa.size)>1024*1024*50)return Fe.ZP.info("\u6587\u4EF6\u8D85\u8FC750M\uFF0C\u4E0D\u7B26\u5408\u4E0A\u4F20\u8981\u6C42"),!1;let Yi=[];return Yi.push(qa),to([...Yi]),!1},fileList:Eo,accept:".xls,.xlsx"};(0,Re.useEffect)(()=>{},[jr]),(0,Re.useEffect)(()=>(window.addEventListener("resize",wl),()=>{window.removeEventListener("resize",wl)}),[]);function wl(){var qa,Yi;(Yi=(qa=ot.current)==null?void 0:qa.update)==null||Yi.call(qa)}function Ss(qa){return wh(this,null,function*(){var Yi,Po,To,vo,Rl,Vc,gd,Bg,Dh,B0,Ih;Oo(!0);let sc=yield(0,ee.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:re,subject_id:(Yi=y==null?void 0:y.detail)==null?void 0:Yi.id,depth:qa===0?qa:qa||-1,relationshipFilter:"\u5305\u542B>"}});if(Oo(!1),(sc==null?void 0:sc.status)===0){if(lo.get("type")==="classrooms"?te({type:"pathsDetail/getCourseDetail",payload:Tg({id:(Po=y==null?void 0:y.detail)==null?void 0:Po.id,knowledge:!0},(0,vt.oP)())}):te({type:"pathsDetail/getPathsDetail",payload:Tg({id:(To=y==null?void 0:y.detail)==null?void 0:To.id,knowledge:!0},(0,vt.oP)())}),jr){ut.current.getData();return}Vt(!0);let Bs=(0,vt.fX)((Rl=(vo=sc==null?void 0:sc.data)==null?void 0:vo.nodes)==null?void 0:Rl.map((Si,Nu)=>{var fu,Ru,Ud,Ng,T1,Qv,B1,Yv,Hc,N1,no,Kc,R1,_1,F1,k1;return GH(Tg(Tg({},Si),Si==null?void 0:Si.properties),{rootNodeUuid:(fu=Si==null?void 0:Si.properties)==null?void 0:fu.rootNodeUuid,id:(Ru=Si==null?void 0:Si.properties)==null?void 0:Ru.uuid,name:(Ud=Si==null?void 0:Si.properties)==null?void 0:Ud.name,labelstype:(Ng=Si==null?void 0:Si.labels)==null?void 0:Ng[1],description:(T1=Si==null?void 0:Si.properties)==null?void 0:T1.description,nodeType:(Qv=Si==null?void 0:Si.properties)==null?void 0:Qv.nodeType,colornodeType:parseInt((B1=Si==null?void 0:Si.properties)==null?void 0:B1.color)===1?"\u6839\u8282\u70B9":((Yv=Zv==null?void 0:Zv.find(Zc=>{var Rg;return(Zc==null?void 0:Zc.name)===((Rg=Si==null?void 0:Si.properties)==null?void 0:Rg.nodeType)}))==null?void 0:Yv.name)||"\u5176\u4ED6",newcolor:parseInt((Hc=Si==null?void 0:Si.properties)==null?void 0:Hc.color)===1?"#CC7CF5":((N1=Zv==null?void 0:Zv.find(Zc=>{var Rg;return(Zc==null?void 0:Zc.name)===((Rg=Si==null?void 0:Si.properties)==null?void 0:Rg.nodeType)}))==null?void 0:N1.color)||"#2D947C",tags:((no=Si==null?void 0:Si.properties)==null?void 0:no.tags)&&((_1=(R1=(Kc=Si==null?void 0:Si.properties)==null?void 0:Kc.tags)==null?void 0:R1.split("\uFF0C"))==null?void 0:_1.map(Zc=>({name:Zc})))||[],colorType:parseInt((F1=Si==null?void 0:Si.properties)==null?void 0:F1.color)>3?"3":(k1=Si==null?void 0:Si.properties)==null?void 0:k1.color})}),(gd=(Vc=sc==null?void 0:sc.data)==null?void 0:Vc.relationships)==null?void 0:gd.filter(Si=>Si.type==="\u5305\u542B"));console.log("----types",Bs,sc==null?void 0:sc.data);let ks=vS(Bs),cs=(Bg=ks.nodes)==null?void 0:Bg.filter((Si,Nu,fu)=>Nu===fu.findIndex(Ru=>Ru.id===Si.id));Dt(cs);let El=(Dh=ks.edges)==null?void 0:Dh.filter((Si,Nu,fu)=>Nu===fu.findIndex(Ru=>Ru.source===Si.source&&Ru.target===Si.target));cs.map(Si=>(Si.transformd=!0,Si.style={labelWordWrap:!0,labelPlacement:Si.depth===0?"center":Si.depth<3?"top-left":"top",haloLineWidth:Math.max(20-Si.depth*6,0),labelMaxWidth:Si.depth===0?300:200,labelFontSize:Si.depth===0?22:cs.length>300?12:14,labelLineHeight:100,halo:Si.depth<3},Si)),ft.current=null;let vd=cs==null?void 0:cs.length;ft.current=new O0({container:rs.current,autoResize:!0,background:"#010A23",autoFit:{type:cs.length>50?"view":"center",options:{direction:"both",when:"always"}},animation:!1,padding:50,data:{nodes:cs,edges:El},node:{type:"circle",style:{size:Si=>Si.colorType==1?100:Si.depth<2?50:vd>250?10:20,fill:Si=>Si.newcolor,labelText:Si=>Si.name,labelFill:"#ffffff"},state:{highlight:{stroke:"transparent"},selected:{stroke:"transparent"},inactive:{fill:Si=>Si.newcolor,port:!1,labelBackground:!1,halo:!1,badgeBackground:!1}}},edge:{style:{labelBackground:!1,halo:!1,stroke:"#A150CB",strokeOpacity:.5},state:{inactive:{stroke:"#f9f0ff",strokeOpacity:.5,halo:!1,labelBackground:!1,lineWidth:1},highlight:{stroke:"#43E93F",strokeOpacity:1,halo:!1,lineWidth:1},selected:{stroke:"#43E93F",strokeOpacity:1,halo:!1,lineWidth:1},active:{halo:!1},disable:{halo:!1}}},layout:[{type:"dendrogram",radial:!0,nodeSep:40,rankSep:cs.length>250?360:240,direction:"RL",unitRadius:90,linkDistance:200,preventOverlap:!0,maxPreventOverlapIteration:100,strictRadial:!1}],plugins:[{type:"tooltip",enable:Si=>Si.targetType==="node",getContent:(Si,Nu)=>{let fu="";return Nu.forEach(Ru=>{fu+=`<div>${Ru.name||""}</div>`}),fu}}],behaviors:["drag-canvas",{type:"zoom-canvas",onFinish:()=>{setTimeout(()=>{var Si;Di((((Si=ft==null?void 0:ft.current)==null?void 0:Si.getZoom())*100).toFixed(0))},300)}},"drag-element",{type:"collapse-expand",onExpand:(Si,Nu)=>{console.log("----",Si,Nu)}},{type:"fix-element-size",state:"fix-element-size",enable:!0},{type:"click-select",state:"selected",onClick:Si=>{Ko.current?(clearTimeout(Ko.current),Ko.current=null):Ko.current=setTimeout(()=>{let Nu=cs.filter(fu=>{var Ru,Ud;return(fu==null?void 0:fu.id)===((Ud=(Ru=Si.target)==null?void 0:Ru.config)==null?void 0:Ud.id)});if((Nu==null?void 0:Nu.length)===0){yr(!1);return}or(Nu==null?void 0:Nu[0]),yr(!0),Si.view.setCursor("pointer"),Ko.current=null},300)},multiple:!1},{type:"hover-activate",enable:Si=>Si.targetType==="node",degree:1,state:"highlight",direction:"both",inactiveState:"inactive",onHover:Si=>{Si.view.setCursor("pointer")},onHoverEnd:Si=>{Si.view.setCursor("default")}}],transforms:[{type:"place-radial-labels"}]}),ft.current.render(),rs.current.style.opacity=1,(B0=ft==null?void 0:ft.current)==null||B0.fitView(),setTimeout(()=>{var Si;Di((((Si=ft==null?void 0:ft.current)==null?void 0:Si.getZoom())*100).toFixed(0))},300);var bc=ft.current.getOptions();setTimeout(()=>{bc.animation=!0,ft.current.setOptions(bc)},2500),window.graphsRef=ft.current}let lc=yield(0,ee.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:3,subject_id:(Ih=y==null?void 0:y.detail)==null?void 0:Ih.id}});(lc==null?void 0:lc.status)===0&&gs(lc==null?void 0:lc.data)})}const Bu=(qa,Yi)=>{if(ft.current){if(jr){ut.current.onMouse(qa,Yi.name);return}try{const Po={},To={};ft.current.getEdgeData().map(vo=>{Po[vo.id]=qa==="Enter"?"inactive":"active"}),ft.current.getNodeData().map(vo=>{qa==="Enter"?To[vo.id]=vo.colornodeType===Yi.name?"highlight":"inactive":To[vo.id]="active"}),ft.current.setElementState(Po),ft.current.setElementState(To)}catch(Po){}}},bs=(qa,Yi)=>{if(ft.current){if(jr){ut.current.onMouse(qa,Yi.name);return}try{const Po={},To={};ft.current.getEdgeData().map(vo=>{Po[vo.id]=qa==="Enter"?"inactive":"active"}),ft.current.getNodeData().map(vo=>{var Rl,Vc;qa==="Enter"?To[vo.id]=(Vc=(Rl=vo.tags)==null?void 0:Rl.map(gd=>gd==null?void 0:gd.name))!=null&&Vc.includes(Yi.name)?"highlight":"inactive":To[vo.id]="active"}),ft.current.setElementState(Po),ft.current.setElementState(To)}catch(Po){}}};return wa.createElement(de.Z,{spinning:Xo},wa.createElement("div",{ref:En,style:{background:"#010A23",height:"100vh",overflow:"hidden",position:"relative"}},wa.createElement("div",{style:{color:"#fff",display:"flex",alignItems:"center",marginLeft:"10rem",position:"fixed",bottom:"30px",zIndex:1}},(Te=Zv.filter(qa=>{var Yi;return(Yi=lt==null?void 0:lt.map(Po=>Po==null?void 0:Po.colornodeType))==null?void 0:Yi.includes(qa==null?void 0:qa.name)}))==null?void 0:Te.map(qa=>wa.createElement("div",{onMouseLeave:()=>Bu("Leave",qa),onMouseEnter:()=>Bu("Enter",qa),style:{display:"flex",alignItems:"center",margin:"0 2px",cursor:"pointer"}},wa.createElement("span",{style:{display:"inline-flex",marginLeft:"10rem",width:"20rem",height:"20rem",borderRadius:"50%",background:qa.color}}),wa.createElement("span",{style:{marginLeft:"5rem"}},qa==null?void 0:qa.name)))),wa.createElement("div",{style:{color:"#fff",display:"flex",alignItems:"center",marginLeft:"10rem",position:"fixed",bottom:"30px",zIndex:1,right:40}},wa.createElement(jt.Z,{overlayClassName:dl.dropdownst,getPopupContainer:()=>En.current,menu:{items:[{label:wa.createElement("div",{onClick:()=>{Ss()}},"\u5C55\u5F00\u5168\u90E8"),key:"1"},{label:wa.createElement("div",{onClick:()=>{Ss(3)}},"\u5C55\u5F003\u5C42"),key:"2"},{label:wa.createElement("div",{onClick:()=>{Ss(2)}},"\u5C55\u5F002\u5C42"),key:"3"},{label:wa.createElement("div",{onClick:()=>{Ss(1)}},"\u5C55\u5F001\u5C42"),key:"4"},{label:wa.createElement("div",{onClick:()=>{Ss(0)}},"\u6536\u8D77\u5168\u90E8"),key:"5"}]}},wa.createElement("img",{style:{cursor:"pointer"},onClick:()=>{},src:as===7?`${mo}/images/xscjxz.png`:`${mo}/images/xscj.png`,onMouseOut:()=>{Jo(!1)},onMouseOver:()=>{Jo(7)}})),wa.createElement(tn.Z,{title:"\u5C45\u4E2D\u663E\u793A"},wa.createElement("img",{onClick:()=>{Vt(!1),Ss()},style:{marginLeft:"10rem",cursor:"pointer"},src:as===8?`${mo}/images/jzxsxz.png`:`${mo}/images/jzxs.png`,onMouseOut:()=>{Jo(!1)},onMouseOver:()=>{Jo(8)},className:dl.img})),wa.createElement("div",{style:{marginLeft:"10rem",background:"#202F4F",borderRadius:"4px",alignItems:"center"}},wa.createElement("img",{style:{cursor:"pointer"},onClick:()=>{jr?(ut.current.zoomBy(.9),ut.current.getZooms()):(ft.current.zoomBy(.9),setTimeout(()=>{var qa;Di((((qa=ft==null?void 0:ft.current)==null?void 0:qa.getZoom())*100).toFixed(0))},300))},src:as===9?`${mo}/images/newsxxz.png`:`${mo}/images/newsx.png`,onMouseOut:()=>{Jo(!1)},onMouseOver:()=>{Jo(9)}}),wa.createElement("span",{style:{display:"inline-flex",width:"46px",justifyContent:"center"},onClick:()=>{}}," ",si+"%"),wa.createElement("img",{style:{cursor:"pointer"},onClick:()=>{jr?(ut.current.zoomBy(1.1),ut.current.getZooms()):(ft.current.zoomBy(1.1),setTimeout(()=>{var qa;Di((((qa=ft==null?void 0:ft.current)==null?void 0:qa.getZoom())*100).toFixed(0))},300))},src:as===12?`${mo}/images/newfdxz.png`:`${mo}/images/newfd.png`,onMouseOut:()=>{Jo(!1)},onMouseOver:()=>{Jo(12)}}))),wa.createElement("div",{style:{display:"flex",justifyContent:"start",width:"1840rem",left:"40rem",paddingTop:"25rem",position:"absolute",zIndex:1}},wa.createElement("span",{className:dl.tupugx,onClick:()=>{fe()}},wa.createElement("img",{src:`${mo}/images/tpgx.svg`,style:{marginRight:"10rem",width:"16rem"}}),"\u56FE\u8C31\u5173\u7CFB"),wa.createElement("div",{className:dl.autocomp},Bt&&wa.createElement("div",{style:{display:"flex",alignItems:"center"}},wa.createElement(wr.Z,{className:dl.autocompwidth,options:Xt,popupClassName:dl.autopop,getPopupContainer:()=>En.current,value:on,onSelect:(qa,Yi)=>{var Po;if(wn(lt.find(To=>To.id===qa).name),or(lt.find(To=>To.id===qa)),yr(!0),jr)ut.current.selectall(qa);else{let To=ft.current.getElementDataByState("node","selected");(To==null?void 0:To.length)>0&&ft.current.setElementState((Po=To==null?void 0:To[0])==null?void 0:Po.id,[""]),ft.current.setElementState(qa,["selected"])}},onChange:qa=>{wn(qa)},onSearch:qa=>{vn(()=>{var Yi,Po,To;return ya==="\u5168\u90E8"?(Yi=lt==null?void 0:lt.filter(vo=>vo.name.includes(qa)))==null?void 0:Yi.map(vo=>({label:wa.createElement("div",{style:{display:"flex",alignItems:"center"}},wa.createElement("span",{style:{marginRight:"10rem",height:"20rem",lineHeight:"20rem",padding:"0rem 6rem",color:"#fff",fontSize:"12rem",background:"#1890FF",borderRadius:"2rem"}},vo==null?void 0:vo.nodeType)," ",wa.createElement("div",{style:{color:"#fff"},dangerouslySetInnerHTML:{__html:vo==null?void 0:vo.name.replaceAll(qa,`<span style= "color: #00B187" >${qa}</span>`)}})),value:vo==null?void 0:vo.id})):(To=(Po=lt==null?void 0:lt.filter(vo=>{var Rl;return(Rl=vo==null?void 0:vo.tags)==null?void 0:Rl.find(Vc=>Vc.name===ya)}))==null?void 0:Po.filter(vo=>vo.name.includes(qa)))==null?void 0:To.map(vo=>({label:wa.createElement("div",{style:{display:"flex",alignItems:"center"}},wa.createElement("span",{style:{marginRight:"10rem",height:"20rem",padding:"2rem 6rem",color:"#fff",fontSize:"12rem",background:"#1890FF",borderRadius:"2rem"}},vo==null?void 0:vo.nodeType)," ",wa.createElement("div",{style:{color:"#fff"},dangerouslySetInnerHTML:{__html:vo==null?void 0:vo.name.replaceAll(qa,`<span style= "color: #00B187" >${qa}</span>`)}})),value:vo==null?void 0:vo.id}))})}},wa.createElement(Pe.default,{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22",addonBefore:wa.createElement(jt.Z,{overlayClassName:dl.dropdownst,menu:{items:[{label:wa.createElement("div",{onClick:()=>{La("\u5168\u90E8"),bs("\u5168\u90E8","")}},"\u5168\u90E8"),key:"1"},...Ui==null?void 0:Ui.map(qa=>({label:wa.createElement("div",{onClick:()=>{La(qa.name),bs("Enter",qa)}},qa==null?void 0:qa.name),key:qa.id}))]}},wa.createElement("div",{style:{display:"flex",alignItems:"center"}},wa.createElement("div",{className:dl.textname,style:{width:"60rem"}},ya),wa.createElement("div",{style:{height:"22rem",background:"linear-gradient( 180deg, rgba(255,255,255,0) 0%, #AEAEAE 52%, rgba(255,255,255,0) 100%)",width:"1rem"}})))})))),wa.createElement("div",{style:{display:"flex",position:"absolute",right:"0rem",zIndex:"3"}},((ke=y==null?void 0:y.detail)==null?void 0:ke.sync_uuid)&&((We=y==null?void 0:y.detail)==null?void 0:We.sync_uuid)===re&&((je=y==null?void 0:y.detail)==null?void 0:je.can_managed)&&wa.createElement(tn.Z,{title:"\u540C\u6B65"},wa.createElement("img",{className:"current",onClick:(0,md.debounce)(()=>{Ce.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,getContainer:()=>En.current,content:"\u8BF7\u786E\u5B9A\u662F\u5426\u5C06\u540C\u6B65\u8BFE\u7A0B\u7AE0\u8282\u5185\u5BB9\uFF0C\u66F4\u65B0\u540E\u539F\u6709\u77E5\u8BC6\u56FE\u8C31\u5185\u5BB9\u5C06\u88AB\u8986\u76D6\uFF0C\u8986\u76D6\u540E\u53EF\u5728\u7248\u672C\u7BA1\u7406\u4E2D\u9009\u62E9\u6062\u590D\u3002",onOk:()=>wh(void 0,null,function*(){var qa,Yi;const Po=(qa=ae==null?void 0:ae.find(vo=>(vo==null?void 0:vo.uuid)===re))==null?void 0:qa.name;let To=yield(0,ee.ZP)("/api/knowledge/v2/sync.json",{method:"post",body:{subject_id:(Yi=y==null?void 0:y.detail)==null?void 0:Yi.id,uuid:re,name:Po}});To.status===0&&Fe.ZP.info(To==null?void 0:To.message)})})},500),src:as===1?`${mo}/images/gxxz.png`:`${mo}/images/gx.png`,onMouseOut:()=>{Jo(!1)},onMouseOver:()=>{Jo(1)},style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem"}})),((Ke=y==null?void 0:y.detail)==null?void 0:Ke.can_managed)&&wa.createElement("div",{className:dl.hoverone},wa.createElement("div",{onClick:()=>wh(void 0,null,function*(){var qa;let Yi=yield(0,ee.ZP)("/api/knowledge/v2/backup.json",{method:"POST",body:{subject_id:(qa=y==null?void 0:y.detail)==null?void 0:qa.id,parentNodeUuid:re}});(Yi==null?void 0:Yi.status)===0&&Fe.ZP.info("\u56FE\u8C31\u4FDD\u5B58\u6210\u529F")})},wa.createElement("img",{src:as===2?`${mo}/images/bcbbxz.png`:`${mo}/images/bcbb.png`,onMouseOut:()=>{Jo(!1)},onMouseOver:()=>{Jo(2)}}),wa.createElement("div",{className:dl.name},"\u4FDD\u5B58\u7248\u672C")),wa.createElement("div",{onClick:()=>wh(void 0,null,function*(){var qa;Ya.page=1,Ya.limit=10;let Yi=yield(0,ee.ZP)("/api/knowledge/v2/knowledge_histories.json",{mehtod:"get",params:Tg({subject_id:(qa=y==null?void 0:y.detail)==null?void 0:qa.id,nodeUuid:re},Ya)});zi(Ya),(Yi==null?void 0:Yi.status)===0&&(Qi(!0),Ji(Yi))})},wa.createElement("img",{src:as===3?`${mo}/images/qhbbxz.png`:`${mo}/images/qhbb.png`,onMouseOut:()=>{Jo(!1)},onMouseOver:()=>{Jo(3)},className:dl.img}),wa.createElement("div",{className:dl.name},"\u5207\u6362\u7248\u672C"))),wa.createElement("div",{className:dl.hoverone},wa.createElement("div",{onClick:()=>{jr=!1,Or(!1),Vt(!1),Ss()}},wa.createElement("img",{src:as===4?`${mo}/images/gxtxz.png`:`${mo}/images/gxt.png`,onMouseOut:()=>{Jo(!1)},onMouseOver:()=>{Jo(4)}}),wa.createElement("div",{className:dl.name},"\u5173\u7CFB\u56FE")),wa.createElement("div",{onClick:()=>{jr=!0,Or(!0)}},wa.createElement("img",{src:as===5?`${mo}/images/zssxz.png`:`${mo}/images/zss.png`,onMouseOut:()=>{Jo(!1)},onMouseOver:()=>{Jo(5)},className:dl.img}),wa.createElement("div",{className:dl.name},"\u77E5\u8BC6\u6811"))),wa.createElement(tn.Z,{title:"\u5168\u5C4F"},wa.createElement("img",{className:"current",onClick:()=>{var qa,Yi,Po,To;(0,AS.vp)()?(yn(!1),(0,AS.BU)(),!jr&&Bt?(qa=ft==null?void 0:ft.current)==null||qa.fitCenter():(Yi=ut==null?void 0:ut.current)==null||Yi.fitView()):(yn(!0),(0,AS.Dj)(En.current),!jr&&Bt?(Po=ft==null?void 0:ft.current)==null||Po.fitCenter():(To=ut==null?void 0:ut.current)==null||To.fitView())},src:as===6?`${mo}/images/qpxz.png`:`${mo}/images/qp.png`,onMouseOut:()=>{Jo(!1)},onMouseOver:()=>{Jo(6)},style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem"}})),((Qe=y==null?void 0:y.detail)==null?void 0:Qe.can_managed)&&wa.createElement("div",{className:dl.hoverone,style:{marginRight:"0rem"}},wa.createElement("div",{onClick:()=>{fa(!0)}},wa.createElement("img",{src:as===10?`${mo}/images/drxz.png`:`${mo}/images/dr.png`,onMouseOut:()=>{Jo(!1)},onMouseOver:()=>{Jo(10)}}),wa.createElement("div",{className:dl.name},"\u5BFC\u5165")),wa.createElement("div",{onClick:()=>{var qa;(0,vt.FH)("",Dn.Z.API_SERVER+`/api/knowledge/v2/export.json?subject_id=${(qa=y==null?void 0:y.detail)==null?void 0:qa.id}&fileType=xlsx&parentNodeUuid=${re}`)}},wa.createElement("img",{src:as===11?`${mo}/images/dcxz.png`:`${mo}/images/dc.png`,onMouseOut:()=>{Jo(!1)},onMouseOver:()=>{Jo(11)},className:dl.img}),wa.createElement("div",{className:dl.name},"\u5BFC\u51FA"))))),Bt&&!jr&&wa.createElement("div",{style:{width:"100%",height:"100vh",opacity:0},ref:rs}),wa.createElement("div",{id:"myDiagramDiv",style:{height:"100vh",width:"100%",visibility:jr?"visible":"hidden"}},jr?wa.createElement(OH,{ref:ut,setzoomsize:Di,setshowdetail:yr,setitems:or,nodeUuid:re,subject_id:(Je=y==null?void 0:y.detail)==null?void 0:Je.id}):""),wa.createElement(bn,{tpacti:me,initdata:se,uuid:re,Tabsdatas:ae,setshow:Vt,getData:Ss,containerRef:En,showdetail:xn,setshowdetail:yr,items:Pn}),wa.createElement(Ce.default,{title:"\u6587\u4EF6\u5BFC\u5165",open:Yr,centered:!0,getContainer:()=>En.current,okButtonProps:{loading:Ia},onCancel:()=>{fa(!1),to([])},onOk:()=>wh(void 0,null,function*(){var qa,Yi,Po,To;const vo=new FormData;if(Eo.length>0)vo.append("file",Eo[0]);else{Fe.ZP.warning("\u8BF7\u9009\u62E9\u6587\u4EF6");return}oi(!0),vo.append("subject_id",((qa=y.detail)==null?void 0:qa.id)+""),vo.append("parentNodeUuid",re);let Rl=yield(0,ee.ZP)("/api/knowledge/v2/import.json",{method:"post",body:vo},!0);oi(!1),(Rl==null?void 0:Rl.status)===0&&((Yi=Rl==null?void 0:Rl.data)!=null&&Yi.importErrorFilePath?Ce.default.confirm({icon:null,title:"\u5BFC\u5165\u5931\u8D25",centered:!0,content:wa.createElement("span",null,"\u68C0\u6D4B\u5230\u672C\u6B21\u5BFC\u5165\u5B58\u5728\u4E0D\u7B26\u5408\u8981\u6C42\u7684\u6570\u636E\uFF0C\u70B9\u51FB\u4E0B\u8F7D",wa.createElement("a",{href:`${Dn.Z.API_SERVER}${(Po=Rl==null?void 0:Rl.data)==null?void 0:Po.importErrorFilePath}`,download:"\u5931\u8D25\u6570\u636E.xlsx"},"\u5BFC\u5165\u5931\u8D25\u7684\u6570\u636E"),"\u67E5\u770B")}):(Ss(),Vt(!1),(To=Rl==null?void 0:Rl.data)!=null&&To.has_route?Fe.ZP.info("\u77E5\u8BC6\u56FE\u8C31\u6570\u636E\u5BFC\u5165\u6210\u529F\uFF0C\u4E3A\u4FDD\u8BC1\u5B66\u4E60\u8DEF\u5F84\u7684\u8282\u70B9\u4E0E\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u7ED1\u5B9A\uFF0C\u8BF7\u66F4\u65B0\u5B66\u4E60\u8DEF\u5F84"):Fe.ZP.info("\u5BFC\u5165\u6210\u529F"),to([]),or({}),fa(!1)))})},(lt==null?void 0:lt.length)>0&&wa.createElement("div",{style:{marginBottom:30,color:"#333333"}},"\u68C0\u6D4B\u5F53\u524D\u5DF2\u5B58\u5728\u6570\u636E\uFF0C\u5BFC\u5165\u540E\u539F\u6570\u636E\u5C06\u4F1A\u88AB\u8986\u76D6\uFF0C\u6309\u7167\u6700\u65B0\u5BFC\u5165\u7684\u4E3A\u4E3B\uFF0C\u5982\u9700\u7EE7\u7EED\u5BFC\u5165\uFF0C\u8BF7\u6309\u7167\u4E0B\u65B9\u6B65\u9AA4\u8FDB\u884C"),wa.createElement("p",{style:{color:"#5F6368"}},"\u6B65\u9AA41\uFF1A",wa.createElement("span",{style:{color:"#000000"}},"\u4E0B\u8F7D"),wa.createElement("a",{href:`${Dn.Z.API_SERVER}/api/knowledge/v2/down_template.json`,download:"\u6A21\u7248.xlsx"},"\u77E5\u8BC6\u56FE\u8C31\u5BFC\u5165\u6A21\u7248")),wa.createElement(ir.Z,null,wa.createElement(Kr.Z,{style:{color:"#5F6368"}},"\u6B65\u9AA42\uFF1A",wa.createElement("span",{style:{color:"#000000"}},"\u4E0A\u4F20\u586B\u5199\u597D\u7684\u300A\u77E5\u8BC6\u56FE\u8C31\u5BFC\u5165\u6A21\u7248\u300B"))),wa.createElement(ir.Z,{style:{marginTop:10,marginLeft:50}},wa.createElement(Uo.default,Tg({},Sc),wa.createElement("span",{style:{padding:"0px 16px",color:"#1b8565",cursor:"pointer",height:32,alignItems:"center",display:"inline-flex",borderRadius:2,border:"1px solid #1b8565",background:"#1b8565 linear-gradient(180deg, #FFFFFF 0%, #F6F7F9 100%)",boxShadow:"0px 2px 4px 0px #E0DFE1, inset 0px 1px 3px 0px rgba(255,255,255,0.5)"}},wa.createElement("i",{style:{fontSize:12,marginRight:6},className:"iconfont icon-tianjiashitixiaojiahao"})," \u9009\u62E9\u6587\u4EF6")))),wa.createElement(Gt,null,wa.createElement(wa.Fragment,null,wa.createElement(Ce.default,{title:"\u7248\u672C\u8BB0\u5F55",centered:!0,width:1200,open:ri,footer:!1,getContainer:()=>En.current,onCancel:()=>{Qi(!1)}},wa.createElement(Fl.default,{dataSource:Ri==null?void 0:Ri.data,pagination:!1,columns:[{title:"\u7248\u672C\u4FDD\u5B58\u65F6\u95F4",dataIndex:"created_at",ellipsis:!0,key:"created_at",render:(qa,Yi)=>wa.createElement("div",null,wa.createElement("span",null,qa),(Yi==null?void 0:Yi.is_now_version)&&wa.createElement("span",{style:{background:"#2BAC8E",padding:"4rem",fontSize:"12rem",marginLeft:"5rem",color:"#fff"}},"\u5F53\u524D\u4F7F\u7528\u7248\u672C"))},{title:"\u4FDD\u5B58\u4EBA",dataIndex:"username",ellipsis:!0,key:"username"},{title:"\u64CD\u4F5C",dataIndex:"name",ellipsis:!0,key:"name",render:(qa,Yi)=>wa.createElement("div",null,wa.createElement("span",{style:{color:"#1B8565",marginRight:"30rem",cursor:"pointer"},onClick:()=>wh(void 0,null,function*(){var Po,To;let vo=yield(0,ee.ZP)(`${Yi==null?void 0:Yi.url}`,{method:"get"});(vo==null?void 0:vo.status)===0&&((To=(Po=vo==null?void 0:vo.data)==null?void 0:Po.nodes)==null?void 0:To.length)>0&&ea(vo==null?void 0:vo.data)})},"\u67E5\u770B"),wa.createElement("span",{onClick:()=>wh(void 0,null,function*(){var Po;if(Yi!=null&&Yi.is_now_version)return;let To=yield(0,ee.ZP)("/api/knowledge/v2/restore.json",{method:"post",body:{subject_id:(Po=y==null?void 0:y.detail)==null?void 0:Po.id,backupFilePath:Yi==null?void 0:Yi.backupFilePath}});(To==null?void 0:To.status)===0&&(Ss(),Qi(!1),Vt(!1),Fe.ZP.info("\u5207\u6362\u6210\u529F"))}),style:{color:Yi!=null&&Yi.is_now_version?"#999999":"#1B8565",cursor:"pointer"}},"\u5207\u6362\u81F3\u5F53\u524D\u7248\u672C"))}]}),wa.createElement(rn.Z,{hideOnSinglePage:!0,style:{marginTop:"20rem"},pageSize:Ya.limit,total:Ri==null?void 0:Ri.total_count,current:Ya.page,onChange:(qa,Yi)=>wh(void 0,null,function*(){var Po;Ya.page=qa,Ya.limit=Yi,zi(Ya);let To=yield(0,ee.ZP)("/api/knowledge/v2/knowledge_histories.json",{mehtod:"get",params:Tg({subject_id:(Po=y==null?void 0:y.detail)==null?void 0:Po.id,nodeUuid:re},Ya)});(To==null?void 0:To.status)===0&&(Qi(!0),Ji(To))})})),wa.createElement(Ce.default,{open:((at=na==null?void 0:na.nodes)==null?void 0:at.length)>0,title:"\u5386\u53F2\u56FE\u8C31",width:"1200rem",footer:null,getContainer:()=>En.current,destroyOnClose:!0,onCancel:()=>{ea({})}},wa.createElement(zH,{datas:na}))))))};var KH=(0,be.connect)(({pathsDetail:E,user:a,loading:y,globalSetting:x})=>({pathsDetail:E,user:a,globalSetting:x,loading:y.models.index}))(HH),kf={wrap:"wrap___HuFFi",add:"add___GrP2R",dimensionalBall:"dimensionalBall___flm6B",archer:"archer___biVqC",svg:"svg___hXxGw",modal:"modal___DR9M_",mHead:"mHead___I923K",form:"form___W2fTe",mType:"mType___hoISa",listItem:"listItem___JCZwd"},hd={flex_box_center:"flex_box_center___aEG4A",flex_space_between:"flex_space_between___O70yE",flex_box_vertical_center:"flex_box_vertical_center___rEvY1",flex_box_center_end:"flex_box_center_end___Xp3ui",flex_box_column:"flex_box_column___McZmY",largeBall:"largeBall___SbxSR",middleBall:"middleBall___eKLzh",smallBall:"smallBall___r7xv5",largeBallDish:"largeBallDish___EeTGm",middleBallDish:"middleBallDish___hca4h",smallBallDish:"smallBallDish___rrHxf",smallBallGather:"smallBallGather___hHHqa",box:"box___yWjPn",spectrum:"spectrum___r9a7p",pedestal:"pedestal___Grjvz",spectrumHover:"spectrumHover___OibBM",pedestalHover:"pedestalHover___EcKUJ"};const ZH="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjkxcHgiIGhlaWdodD0iMTk0cHgiIHZpZXdCb3g9IjAgMCAyOTEgMTk0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA2MSAoODk1ODEpIC0gaHR0cHM6Ly9za2V0Y2guY29tIC0tPgogICAgPHRpdGxlPuWfuuW6pzwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjcuNzcyODY0MyUiIHkxPSI0My4xNzgwNjE3JSIgeDI9Ijk3LjIyMjIyMjIlIiB5Mj0iNTAlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMzMTdDRDMiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzI3MkE5NSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjE0LjI3MTI2ODMlIiB5MT0iMzEuNjQ0NzI5NyUiIHgyPSIxMDAlIiB5Mj0iNzMuMTEyMDA3OCUiIGlkPSJsaW5lYXJHcmFkaWVudC0yIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzI3NzFEQiIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjg0REIwIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTAwJSIgeTE9IjM1LjA0MTMwMTklIiB4Mj0iMCUiIHkyPSI2NS41NDY3MzEzJSIgaWQ9ImxpbmVhckdyYWRpZW50LTMiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMzA2NkI0IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMxNDM4OTQiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIyNy43NzI4NjQzJSIgeTE9IjQzLjE1NTA2NzMlIiB4Mj0iOTcuMjIyMjIyMiUiIHkyPSI1MCUiIGlkPSJsaW5lYXJHcmFkaWVudC00Ij4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzMxN0NEMyIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjcyQTk1IiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMCUiIHkxPSI1MCUiIHgyPSI1MCUiIHkyPSI2NC4yMTc0OTQ1JSIgaWQ9ImxpbmVhckdyYWRpZW50LTUiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMkY3MEM5IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM1QjVGRkYiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtNiIgcG9pbnRzPSIxNDQuNzQ1OSAxNi40Njc5NzAxIDI2MC4xMzI5MzUgNzIuOTI3OTU1NiAxNDYuMTg4MjM4IDEzOC43NTc4OTYgMzAuODAxMjAzMyA3Mi4yMDcxODk5Ij48L3BvbHlnb24+CiAgICAgICAgPGZpbHRlciB4PSItMS41JSIgeT0iLTIuOSUiIHdpZHRoPSIxMDMuMSUiIGhlaWdodD0iMTA1LjclIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItNyI+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dCbHVySW5uZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSI1IiBpbj0ic2hhZG93Qmx1cklubmVyMSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRJbm5lcjEiPjwvZmVPZmZzZXQ+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93T2Zmc2V0SW5uZXIxIiBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIgcmVzdWx0PSJzaGFkb3dJbm5lcklubmVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAuNzk2ODM2ODkgICAwIDAgMCAwIDAuOTc0NjYwMTA4ICAgMCAwIDAgMCAxICAwIDAgMCAwLjUgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93SW5uZXJJbm5lcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSLpobXpnaItMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IjA4MjAtM0Tlm77osLEt5YiH5Zu+VjQuMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQ0OS4wMDAwMDAsIC0xMzQ0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0i5Z+65bqnIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NDkuMDAwMDAwLCAxMzQ0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9IuefqeW9oiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSIgb3BhY2l0eT0iMC4zMjA4NzA1MzYiIHBvaW50cz0iMTQ0LjU4NDkwNiAzOC45MDI0MTk0IDI5MSAxMTAuNDY0MzA1IDE0Ni40MTUwOTQgMTkzLjkwMjQxOSAwIDEwOS41NTA3NDkiPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSLnn6nlvaIiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMikiIHBvaW50cz0iLTcuNTMxNzUzZS0xMyA3MC43NTEyNzkgMTQ2LjA3Njk5NCAxNTUuMjI1ODY2IDE0Ni4wNzY5OTQgMTc3Ljc5MzA4NSAtNy41MzE3NTNlLTEzIDkzLjMxODQ5NzMiPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSLnn6nlvaIiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMykiIHBvaW50cz0iMTQ2LjA3Njk5NCAxNTUuMjI1ODY2IDI5MC45MzQxMzggNzEuNjY2MTY2MiAyOTAuOTM0MTM4IDk0LjIzMzM4NDUgMTQ2LjA3Njk5NCAxNzcuNzkzMDg1Ij48L3BvbHlnb24+CiAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTQpIiBwb2ludHM9IjE0NC41NTIxODIgLTUuODk5OTA5NzdlLTEzIDI5MC45MzQxMzggNzEuNjY2MTY2MiAxNDYuMzgxOTU2IDE1NS4yMjU4NjYgLTUuNjg0MzQxODllLTEzIDcwLjc1MTI3OSI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPGcgaWQ9IuefqeW9oiI+CiAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTUpIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHhsaW5rOmhyZWY9IiNwYXRoLTYiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci03KSIgeGxpbms6aHJlZj0iI3BhdGgtNiI+PC91c2U+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==",QH="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjk1cHgiIGhlaWdodD0iMTk3cHgiIHZpZXdCb3g9IjAgMCAyOTUgMTk3IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA2MSAoODk1ODEpIC0gaHR0cHM6Ly9za2V0Y2guY29tIC0tPgogICAgPHRpdGxlPuW6leW6p+mAieS4rTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjcuNzcyODY0MyUiIHkxPSI0My4xNTUwNjczJSIgeDI9Ijk3LjIyMjIyMjIlIiB5Mj0iNTAlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMzMTdDRDMiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzI3MkE5NSIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjE0LjI3MTI2ODMlIiB5MT0iMzEuNjQ0NzI5NyUiIHgyPSIxMDAlIiB5Mj0iNzMuMTEyMDA3OCUiIGlkPSJsaW5lYXJHcmFkaWVudC0yIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzI3NzFEQiIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjg0REIwIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTAwJSIgeTE9IjM1LjA0MTMwMTklIiB4Mj0iMCUiIHkyPSI2NS41NDY3MzEzJSIgaWQ9ImxpbmVhckdyYWRpZW50LTMiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMzA2NkI0IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMxNDM4OTQiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSI1MCUiIHkxPSI2LjA2MjU2MyUiIHgyPSI1MCUiIHkyPSI2NC40MjMxOTgxJSIgaWQ9ImxpbmVhckdyYWRpZW50LTQiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMkY3MEM5IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMyREUxRkQiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtNSIgcG9pbnRzPSIxNDYuMzI3NiAxNi42NDc5MjI2IDI2Mi45NzU1MTcgNzMuNzI0ODcwMiAxNDcuNzg1Njk5IDE0MC4yNzQxNjIgMzEuMTM3NzgxMSA3Mi45OTYyMjgzIj48L3BvbHlnb24+CiAgICAgICAgPGZpbHRlciB4PSItMS4xJSIgeT0iLTIuMCUiIHdpZHRoPSIxMDIuMiUiIGhlaWdodD0iMTA0LjAlIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItNiI+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjAuNSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd0JsdXJJbm5lcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjQiIGluPSJzaGFkb3dCbHVySW5uZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldElubmVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluPSJzaGFkb3dPZmZzZXRJbm5lcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJhcml0aG1ldGljIiBrMj0iLTEiIGszPSIxIiByZXN1bHQ9InNoYWRvd0lubmVySW5uZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMC43OTY4MzY4OSAgIDAgMCAwIDAgMC45NzQ2NjAxMDggICAwIDAgMCAwIDEgIDAgMCAwIDAuNSAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dJbm5lcklubmVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iMDgyMC0zROWbvuiwsS3liIflm75WNC4wIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTQ3MS4wMDAwMDAsIC0xMzU0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0i5bqV5bqn6YCJ5LitIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNDcxLjAwMDAwMCwgMTM1NC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtMyI+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9IuefqeW9oiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSIgb3BhY2l0eT0iMC4zMjA4NzA1MzYiIHBvaW50cz0iMTQ2LjEzMTc2NSAzOS40MTkzNDQyIDI5NC4xMTMyOTggMTExLjg2ODYzNyAxNDcuOTgxNTM0IDE5Ni4zNDE0MjkgLTEuNDIxMDg1NDdlLTEzIDExMC45NDM3NTIiPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTIpIiBwb2ludHM9IjEuMTM2ODY4MzhlLTEzIDcxLjUyNDQwOCAxNDcuNjczMjM5IDE1Ni45MjIwODUgMTQ3LjY3MzIzOSAxNzkuNzM1OTA1IDEuMTM2ODY4MzhlLTEzIDk0LjMzODIyNzgiPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTMpIiBwb2ludHM9IjE0Ny42NzMyMzkgMTU2LjkyMjA4NSAyOTQuMTEzMjk4IDcyLjQ0OTI5MjYgMjk0LjExMzI5OCA5NS4yNjMxMTI0IDE0Ny42NzMyMzkgMTc5LjczNTkwNSI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSLnn6nlvaIiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiIHBvaW50cz0iMTQ2LjEzMTc2NSAtNC43OTMzNDg4M2UtMTMgMjk0LjExMzI5OCA3Mi40NDkyOTI2IDE0Ny45ODE1MzQgMTU2LjkyMjA4NSAtMS40MjEwODU0N2UtMTMgNzEuNTI0NDA4Ij48L3BvbHlnb24+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IuefqeW9oiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC00KSIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC01Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTYpIiB4bGluazpocmVmPSIjcGF0aC01Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==",YH="data:image/png;base64,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",XH="data:image/png;base64,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";var JH=Object.defineProperty,qH=Object.defineProperties,$H=Object.getOwnPropertyDescriptors,D3=Object.getOwnPropertySymbols,eK=Object.prototype.hasOwnProperty,tK=Object.prototype.propertyIsEnumerable,I3=(E,a,y)=>a in E?JH(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,P1=(E,a)=>{for(var y in a||(a={}))eK.call(a,y)&&I3(E,y,a[y]);if(D3)for(var y of D3(a))tK.call(a,y)&&I3(E,y,a[y]);return E},w1=(E,a)=>qH(E,$H(a)),nK=({className:E,style:a={},title:y="",childNode:x=[],knowledgeNode:b=[]})=>{const z="rem",te=[{position:"absolute",zIndex:2,bottom:112,left:44},{position:"absolute",zIndex:3,bottom:94,left:74},{position:"absolute",zIndex:4,bottom:78,left:104},{position:"absolute",zIndex:5,bottom:66,left:136},{position:"absolute",zIndex:6,bottom:82,left:168},{position:"absolute",zIndex:7,bottom:104,left:202},{position:"absolute",zIndex:8,bottom:122,left:166}],re=[{position:"absolute",zIndex:10,bottom:166,left:66},{position:"absolute",zIndex:11,bottom:148,left:120},{position:"absolute",zIndex:12,bottom:150,left:180},{position:"absolute",zIndex:13,bottom:188,left:164},{position:"absolute",zIndex:14,bottom:192,left:114}],ae=(Se="")=>{if(!Se)return"-";let Te=3;return/[\u4e00-\u9fff]/.test(Se)||(Te=7),(Se==null?void 0:Se.length)>=Te?(Se==null?void 0:Se.slice(0,Te-1))+"...":Se},se=()=>(Array.isArray(b)?b.slice(0,7):Array(7).fill("\u77E5\u8BC6\u70B9")).map((ke,We)=>{const je=te[We],Ke=w1(P1({},je),{bottom:`${je.bottom}${z}`,left:`${je.left}${z}`});return Re.createElement("div",{key:We,style:Ke,className:hd.smallBallGather},Re.createElement("div",{className:hd.smallBall},Re.createElement("b",null,ae(ke))),Re.createElement("div",{className:hd.smallBallDish}))}),fe=()=>(Array.isArray(x)?x.slice(0,5):Array(5).fill("\u5B50\u8282\u70B9")).map((ke,We)=>{const je=re[We],Ke=w1(P1({},je),{bottom:`${je.bottom}${z}`,left:`${je.left}${z}`});return Re.createElement("div",{key:We,style:Ke,className:hd.middleBall},Re.createElement("div",null,Re.createElement("b",null,ae(ke))))}),me={position:"absolute",zIndex:1,bottom:0,width:"100%"};return Re.createElement("div",{className:zn()(hd.box,E),style:a},Re.createElement("img",{className:hd.pedestal,style:me,src:ZH}),Re.createElement("img",{className:hd.pedestalHover,style:me,src:QH}),se(),Re.createElement("div",{style:{position:"absolute",zIndex:9,bottom:138+z,left:"50%",transform:"translateX(-50%)"},className:hd.middleBallDish}),fe(),Re.createElement("div",{style:{position:"absolute",zIndex:15,bottom:214+z,left:"50%",transform:"translateX(-50%)"},className:hd.largeBallDish}),Re.createElement("div",{style:{position:"absolute",zIndex:16,bottom:234+z,left:120+z},className:hd.largeBall},Re.createElement("b",null,ae(y))),Re.createElement("img",{style:w1(P1({},me),{zIndex:17}),className:hd.spectrum,src:YH}),Re.createElement("img",{style:w1(P1({},me),{zIndex:17}),className:hd.spectrumHover,src:XH}),Re.createElement("div",{title:y,style:{position:"absolute",zIndex:18,bottom:304+z,left:0,fontSize:24+z,width:"100%",textAlign:"center"},className:"c-white blod"},(0,vt.Pq)(y,9)))},rK=Object.defineProperty,aK=Object.defineProperties,iK=Object.getOwnPropertyDescriptors,L3=Object.getOwnPropertySymbols,oK=Object.prototype.hasOwnProperty,sK=Object.prototype.propertyIsEnumerable,O3=(E,a,y)=>a in E?rK(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,T3=(E,a)=>{for(var y in a||(a={}))oK.call(a,y)&&O3(E,y,a[y]);if(L3)for(var y of L3(a))sK.call(a,y)&&O3(E,y,a[y]);return E},B3=(E,a)=>aK(E,iK(a));function lK(E){const a=new Map,y=[];return E.nodes.forEach(x=>{const b=B3(T3({},x.properties),{children:[]});a.set(b.uuid,b)}),E.relationships.forEach(x=>{const b=a.get(x.startNodeUuid),z=a.get(x.endNodeUuid);b&&z&&b.children.push(z)}),E.nodes.forEach(x=>{const b=x.properties;if(!E.relationships.some(re=>re.startNodeUuid===b.uuid||re.endNodeUuid===b.uuid))return;E.relationships.some(re=>re.endNodeUuid===b.uuid)||y.push(a.get(b.uuid))}),y.length===1?y[0]:y}function N3(E,a){const y=new Set,x=[];return E.forEach(b=>{const z=b[a[0]],te=b[a[1]];if(!z||!te)return;const re=`${z}-${te}`,ae=`${te}-${z}`;z!==te&&!y.has(re)&&!y.has(ae)&&(x.push(b),y.add(re),y.add(ae))}),x}const uK=(E,a)=>{const y=E==null?void 0:E.map(b=>{const z=te=>{let re=[te.uuid];return te.children.forEach(ae=>{re=re.concat(z(ae))}),re};return z(b)});return a.map(b=>{let z,te;return y.forEach(re=>{re.includes(b.startNodeUuid)&&(z=re[0]),re.includes(b.endNodeUuid)&&(te=re[0])}),B3(T3({},b),{firstStartNodeUuid:z,firstEndNodeUuid:te})})};var du=Oe(59301),cK=({data:E})=>{const a=(0,Re.useRef)(),y=(0,Re.useRef)();function x(te,re,ae){let se,fe;switch(re){case"top":se=Math.ceil(te.left+te.width/2-ae.left),fe=Math.ceil(te.top-ae.top);break;case"bottom":se=Math.ceil(te.left+te.width/2-ae.left),fe=Math.ceil(te.bottom-ae.top+15);break;case"left":se=Math.ceil(te.left-ae.left-10),fe=Math.ceil(te.top+te.height/2-ae.top+80);break;case"right":se=Math.ceil(te.right-ae.left+10),fe=Math.ceil(te.top+te.height/2-ae.top+50);break}return{x:se,y:fe}}function b(te,re){const ae={x:parseInt(te.left+te.width/2),y:parseInt(te.top+te.height/2)},se={x:parseInt(re.left+re.width/2),y:parseInt(re.top+re.height/2)},fe=se.x-ae.x,me=se.y-ae.y;let Se,Te;return Math.abs(fe)>Math.abs(me)?(Se=fe>0?"right":"left",Te=fe>0?"left":"right"):(Se=me>0?"bottom":"top",Te=me>0?"top":"bottom"),{startEdge:Se,endEdge:Te}}function z(){let te=E;if(!(te!=null&&te.length))return;const re=document.getElementById("lineContainer"),ae=document.getElementById("parentContainer").getBoundingClientRect();re.querySelectorAll("line").forEach(se=>se.remove()),te.forEach(se=>{const fe=document.getElementById(se.from),me=document.getElementById(se.to),Se=fe.getBoundingClientRect(),Te=me.getBoundingClientRect();let{startEdge:ke,endEdge:We}=se;if(!ke||!We){const Je=b(Se,Te);ke=ke||Je.startEdge,We=We||Je.endEdge}const je=x(Se,ke,ae),Ke=x(Te,We,ae),Qe=document.createElementNS("http://www.w3.org/2000/svg","line");if(Qe.setAttribute("x1",je.x+se.offsetStart.x),Qe.setAttribute("y1",je.y+se.offsetStart.y),Qe.setAttribute("x2",je.x+se.offsetStart.x+.01),Qe.setAttribute("y2",je.y+se.offsetStart.y),Qe.setAttribute("stroke",`url(#${se.gradient})`),Qe.setAttribute("stroke-width","2"),se.dashed&&Qe.setAttribute("stroke-dasharray","5, 5"),se.arrow==="start"?Qe.setAttribute("marker-start",se!=null&&se.animated?"url(#triangle-start-h)":"url(#triangle-start)"):se.arrow==="end"?Qe.setAttribute("marker-end",se!=null&&se.animated?"url(#triangle-end-h)":"url(#triangle-end)"):se.arrow==="both"&&(Qe.setAttribute("marker-start",se!=null&&se.animated?"url(#triangle-start-h)":"url(#triangle-start)"),Qe.setAttribute("marker-end",se!=null&&se.animated?"url(#triangle-end-h)":"url(#triangle-end)")),se.animated){Qe.classList.add("dashed-line");const Je=document.createElementNS("http://www.w3.org/2000/svg","animate");Je.setAttribute("attributeName","x2"),Je.setAttribute("from",je.x+se.offsetStart.x),Je.setAttribute("to",Ke.x+se.offsetEnd.x+.01),Je.setAttribute("dur","1s"),Je.setAttribute("fill","freeze"),Qe.appendChild(Je);const at=document.createElementNS("http://www.w3.org/2000/svg","animate");at.setAttribute("attributeName","y2"),at.setAttribute("from",je.y+se.offsetStart.y),at.setAttribute("to",Ke.y+se.offsetEnd.y),at.setAttribute("dur","1s"),at.setAttribute("fill","freeze"),Qe.appendChild(at)}else Qe.setAttribute("x2",Ke.x+se.offsetEnd.x+.01),Qe.setAttribute("y2",Ke.y+se.offsetEnd.y);re.appendChild(Qe)})}return(0,Re.useEffect)(()=>{E!=null&&E.length&&z()},[E]),(0,Re.useEffect)(()=>(window.addEventListener("resize",()=>z),window.addEventListener("scroll",()=>z),()=>{window.removeEventListener("resize",z),window.removeEventListener("scroll",z)}),[]),du.createElement(du.Fragment,null,du.createElement("svg",{id:"lineContainer",style:{width:"100%",height:"100%",position:"absolute",top:0,left:0}}),du.createElement("svg",null,du.createElement("defs",null,du.createElement("linearGradient",{id:"gradient1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"},du.createElement("stop",{"stop-color":"#42BECD",offset:"0%"}),du.createElement("stop",{"stop-color":"#3C30C6",offset:"100%"})),du.createElement("linearGradient",{id:"gradient2",x1:"0%",y1:"0%",x2:"100%",y2:"100%"},du.createElement("stop",{"stop-color":"#2DE1FD",offset:"0%"}),du.createElement("stop",{"stop-color":"#C7FFB0",offset:"100%"})),du.createElement("marker",{id:"triangle-start",viewBox:"0 0 10 10",refX:"2",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},du.createElement("path",{d:"M 10 0 L 0 5 L 10 10 z",fill:"url(#gradient1)"})),du.createElement("marker",{id:"triangle-end",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},du.createElement("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"url(#gradient1)"})),du.createElement("marker",{id:"triangle-start-h",viewBox:"0 0 10 10",refX:"2",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},du.createElement("path",{d:"M 10 0 L 0 5 L 10 10 z",fill:"url(#gradient2)"})),du.createElement("marker",{id:"triangle-end-h",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},du.createElement("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"url(#gradient2)"})))))},dK=Object.defineProperty,fK=Object.defineProperties,hK=Object.getOwnPropertyDescriptors,R3=Object.getOwnPropertySymbols,gK=Object.prototype.hasOwnProperty,vK=Object.prototype.propertyIsEnumerable,_3=(E,a,y)=>a in E?dK(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,F3=(E,a)=>{for(var y in a||(a={}))gK.call(a,y)&&_3(E,y,a[y]);if(R3)for(var y of R3(a))vK.call(a,y)&&_3(E,y,a[y]);return E},mK=(E,a)=>fK(E,hK(a)),k3=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())}),pK=({subjectId:E,setActivated:a,onAddSuccess:y})=>{const x=(0,be.useSelector)(En=>En),{pathsDetail:{detail:b={}}}=x,[z]=De.default.useForm(),[te,re]=(0,Re.useState)(""),[ae,se]=(0,Re.useState)(!1),[fe,me]=(0,Re.useState)(!0),[Se,Te]=(0,Re.useState)(!1),[ke,We]=(0,Re.useState)([]),[je,Ke]=(0,Re.useState)([]),[Qe,Je]=(0,Re.useState)(null),[at,ot]=(0,Re.useState)(),ut=(0,Re.useRef)(),ft=(0,Re.useRef)();let lt=(0,Re.useRef)().current,Dt=(0,Re.useRef)().current,Bt=(0,Re.useRef)(!1).current;const Vt=b==null?void 0:b.edit_of_subject_knowledge;(0,Re.useEffect)(()=>{E&&Xt()},[E]);const Xt=()=>k3(void 0,null,function*(){var En,Pn,or,xn,yr;me(!0);const na=yield(0,ee.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:-1,subject_id:E}});if(na.status===0){re((xn=(or=(Pn=(En=na==null?void 0:na.data)==null?void 0:En.nodes)==null?void 0:Pn[0])==null?void 0:or.properties)==null?void 0:xn.uuid);const ea=((yr=na==null?void 0:na.data)==null?void 0:yr.relationships)||[];let jr=[],Or=[];ea==null||ea.forEach(oi=>{["\u5173\u8054"].includes(oi.type)?jr.push(oi):["\u5305\u542B"].includes(oi.type)&&Or.push(oi)}),jr=N3(jr,["startNodeUuid","endNodeUuid"]);const Yr=mK(F3({},na==null?void 0:na.data),{relationships:Or}),fa=lK(Yr);let Ia=uK((fa==null?void 0:fa.children)||[],jr);console.log(Ia,3),Ia=N3(Ia,["firstStartNodeUuid","firstEndNodeUuid"]),We((fa==null?void 0:fa.children)||[]),Ke(Ia),console.log(Ia,fa==null?void 0:fa.children,222)}me(!1)});(0,Re.useEffect)(()=>{je!=null&&je.length&&ot(je.map(En=>({from:En.firstStartNodeUuid,to:En.firstEndNodeUuid,animated:!1,dashed:!0,arrow:"both",offsetStart:{x:0,y:0},offsetEnd:{x:0,y:1},gradient:"gradient1"})))},[je]),(0,Re.useEffect)(()=>{var En;at!=null&&at.length&&((En=at==null?void 0:at.map)==null||En.call(at,Pn=>{Pn.animated=Pn.from===Qe||Pn.to===Qe,Pn.gradient=Pn.from===Qe||Pn.to===Qe?"gradient2":"gradient1"}),ot([...at]))},[Qe]);function vn(En){var Pn,or;if(!Bt)return;const xn=En.pageY-lt;(or=(Pn=ut.current)==null?void 0:Pn.scrollTo)==null||or.call(Pn,0,Dt-xn)}function on(En){var Pn;Bt=!0,lt=En.pageY,Dt=((Pn=ut.current)==null?void 0:Pn.scrollTop)||0}function wn(En){Bt=!1}(0,Re.useEffect)(()=>(document.addEventListener("mousedown",on),document.addEventListener("mousemove",vn),document.addEventListener("mouseup",wn),()=>{document.removeEventListener("mouseup",wn),document.removeEventListener("mousemove",vn),document.removeEventListener("mousedown",on)}),[]);const qn=En=>k3(void 0,null,function*(){const{nodeType:Pn,description:or,name:xn,tags:yr}=En;Te(!0);const na=yield(0,ee.ZP)("/api/knowledge/v2/add_node.json",{method:"POST",body:{label:"\u56FE\u8C31",subject_id:E,properties:{description:or,rootNodeUuid:te,name:xn,nodeType:Pn[0],tags:(yr==null?void 0:yr.join("\uFF0C"))||"",color:"1"},relationships:[{startNodeUuid:te,type:"\u5305\u542B"}]}});(na==null?void 0:na.status)===0&&(se(!1),Xt(),y()),Te(!1)}),yn=()=>{const En=[],Pn=ke==null?void 0:ke.map((xn,yr)=>{var na;let ea;const jr=yr+1,Or=En.length-3,Yr=En[Or];jr%3===1&&(ea={top:Yr!==void 0?`${parseFloat(Yr==null?void 0:Yr.top)+600}rem`:"100rem",left:"50%",marginLeft:"-146rem"}),jr%3===2&&(ea={top:Yr!==void 0?`${parseFloat(Yr==null?void 0:Yr.top)+600}rem`:"380rem",left:0}),jr%3===0&&(ea={top:Yr!==void 0?`${parseFloat(Yr==null?void 0:Yr.top)+600}rem`:"380rem",right:0}),En.push(ea);let fa=[],Ia=(na=xn==null?void 0:xn.children)==null?void 0:na.map(oi=>{var Eo;return oi!=null&&oi.children&&((Eo=oi==null?void 0:oi.children)==null||Eo.forEach(to=>{fa.push(to.name)})),oi.name});return Ia.length>5&&(Ia[0]="..."),fa.length>7&&(fa[0]="..."),Re.createElement("div",{className:kf.listItem,key:yr,onMouseEnter:()=>Je(xn==null?void 0:xn.uuid),onMouseLeave:()=>Je(null),id:xn==null?void 0:xn.uuid,onClick:()=>a(xn==null?void 0:xn.uuid),style:F3({position:"absolute",zIndex:10},ea)},Re.createElement(nK,{childNode:Ia,knowledgeNode:fa,title:xn==null?void 0:xn.name}))}),or=parseFloat(En[En.length-1].top)+352+80+"rem";return Re.createElement("div",{ref:ft,style:{height:or}},Pn)};return Re.createElement(Gt,null,Re.createElement("div",{className:kf.wrap},fe&&Re.createElement(de.Z,{style:{width:"100%",marginTop:"300rem"},spinning:fe}),!fe&&Re.createElement(Re.Fragment,null,Vt&&Re.createElement("div",{className:kf.add,onClick:()=>se(!0)},Re.createElement("i",{className:"iconfont icon-tianjiatixing"})),ke!=null&&ke.length?Re.createElement("div",{className:kf.dimensionalBall,ref:ut},Re.createElement("div",{className:kf.archer,id:"parentContainer"},yn(),Re.createElement(cK,{data:at}))):Re.createElement(sr,{text:"\u6682\u65E0\u56FE\u8C31\uFF0C\u7ACB\u5373\u65B0\u5EFA\u4E00\u4E2A\u56FE\u8C31\u5427\uFF5E",textColor:"#fff",buttonText:Vt&&"\u65B0\u5EFA\u56FE\u8C31",onClick:()=>se(!0)})),Re.createElement(Ce.default,{open:ae,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>se(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{z.resetFields()},confirmLoading:Se,onOk:()=>z.submit(),title:"\u65B0\u589E\u77E5\u8BC6\u56FE\u8C31"},Re.createElement("div",{className:kf.modal},Re.createElement("div",{className:kf.mHead},"\u8282\u70B9\u5C5E\u6027"),Re.createElement(De.default,{form:z,scrollToFirstError:!0,layout:"horizontal",colon:!1,size:"large",labelCol:{flex:"110rem"},onFinish:qn,className:kf.form},Re.createElement(De.default.Item,{label:"\u56FE\u8C31\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8282\u70B9\u540D\u79F0"},{type:"string",max:60,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Re.createElement(Pe.default,{maxLength:60,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Re.createElement(De.default.Item,{label:"\u7B80\u4ECB",name:"description",rules:[{type:"string",max:5e3,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},Re.createElement(Pe.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Re.createElement(De.default.Item,{className:kf.mType,label:Re.createElement("span",null,"\u56FE\u8C31\u7C7B\u578B ",Re.createElement(tn.Z,{title:"\u5F53\u524D\u77E5\u8BC6\u56FE\u8C31\u7684\u7C7B\u578B\uFF0C\u5982\uFF1A\u5927\u7EB2\u56FE\u8C31\u3001\u80FD\u529B\u56FE\u8C31"},Re.createElement(Hr.Z,null))),name:"nodeType",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},Re.createElement(Fn,{subjectId:E,type:1})))))))},ml={statistics:"statistics___BP4qi",noUnfold:"noUnfold___EpqXR",wrapBox:"wrapBox___TsFlb",scrollBox:"scrollBox___Oh4zJ",content:"content___NRQFH",title:"title___z20Sn",box:"box___k6Eep",left:"left___Gnxfc",right:"right___rNC9V",head:"head___mT3Wl",radio:"radio___sjK3F",active:"active___oX7gd",average:"average___KVA2l",li:"li____NnY1",yellow:"yellow___CCujs",blue:"blue___m_425",lineTitle:"lineTitle___qo6vf",echartsTwo:"echartsTwo___aC24D",echartsThree:"echartsThree___Z2Q2A",unfold:"unfold___VUl4t",select:"select___dM1mS"},yK="data:image/png;base64,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",EK="data:image/png;base64,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",AK="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAsCAYAAAA5KtvpAAAAAXNSR0IArs4c6QAABFJJREFUaEPtml9MW1Ucxz+nlxbaUkYvYjdENG7RiEg6jNGQ+aIx08SE6IvZxGS+qGGPPjnj2+J8MIuJMVk00Zgg0zc1Rpm+Gf+M+GdkZKhT4gyMjnWllJWWtrf3mNPLHJcWaBmlXcMvaV96fufez/n+fuf8zjkV/a8ZBzB5R4JO7VpICHlo8A3nt6L/VWNSIttrl9UiEzAyeMz5sOg/khmTkq7aBxbfDB6r2y8OHZFBjzf7rt5Mb61ChyOcWkxrhz86KiaEggxF5Aum5INaBRaCJ9taxPBSaG8D15zQVaVwnQaao/QxlhLSxnU/1Y+RLdxP1QA7BAT8IHIzSekWjUMyBS1NUO+EuTgkUvn9lB84mwVNK4pA921c4bkFS1V/IzS4QA3AYroCwM2nBpnf14fp9RUFvRmNVLSYskIh3XryOMJIc+WZw1sKvdrAlT2kFbAzPEVGDxB5eqDi0EUDzyetSWC1UFk+oq74LPqFURrD/9AUOo8jm8n9nNwR4M/HBzDc5Q1vhwO8LvC5N5jDV5MQXVg/u1wLUe789TP8F88hpFnQIdkUYPyxATJlhlYPb/WBu97+GkUpHJ6HZIEZb3lX/qkx9vw0hJYpsBasQE807+LsE6+AkqKM1tgAeuMGgC/HYNGKyoKmFL37uw9XVXW5k3Ro/NX7PLMd3WVEtbr21kPLiuwpSuG1gLVUguCXb+JMxdcF2ErYsgHfNfIpt06M5GANl4doWyfzgT25HM3U+9h9eghP7BKbBauKi08+t9eNDg0O9uUXN5uusGdumu6v3iLT4ONCTx+RjmBeXt7/9XE8sdCmhbECPjG4rHAG6jTBy/1bANx+dhjPXIiJh54lW+8pGNJdw28z3floSTkbnoVozF4qteoC/w4wDDjxcYWAO377gsngU8g1ZltP9CIJ/23r5vfyBj/8YnLmnH1Z631Ao6dL5OrlyihsmjiyBqbTVRKMamxm4cy4XUG1LQzeZ22V1gSupMIlky45pDPw3pA9LJ11gpees/KwOhVeh/bvfyVTIbuKu+8Q3L5LcEPA1arw9z+bjI7b83DfgxrBzhsErlgOAwsJu8xqH+peKtjLBlwphVNpeP+kPQ9dTsGLB608LBtwpRTeBga2Fa6lSaumQ3r2KsRX7OtvBuAmNzR7N3AAkMnCzJz9PKvagVWpurM5/5y7qAMANUZZE1KZ69DqfH30D3slpfYQe++16uHJS3A5Yv+9PSAI3GL1Nfr7Cl8Bezst36kZmLlS2Nc08+vw3HOXfJW/ur1wu0DVBSutaOCN1s3V5rcNvNaFuAoVV121aZb/PmpzsspNiwr34i/Er93MVTtyYhHU5VohKwnY2wDqU82m7orjydXP0UsCrmbQYt8tD3g6IvdLSe5PH7VomoPunboYyy1f6ktK2TAdYRS4p+aABT+26TwihMidTPy/TM/EZcBY5HUEPUJyE8zL60gjSEk47RYc1XURu9b6P7vslVpOgNBqAAAAAElFTkSuQmCC",xK="data:image/png;base64,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",SK="data:image/png;base64,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",xS={wave:"wave___rx4XG",fillWrap:"fillWrap___q512j",svgBox:"svgBox___DfbUu"},bK=Object.defineProperty,z3=Object.getOwnPropertySymbols,CK=Object.prototype.hasOwnProperty,PK=Object.prototype.propertyIsEnumerable,U3=(E,a,y)=>a in E?bK(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,wK=(E,a)=>{for(var y in a||(a={}))CK.call(a,y)&&U3(E,y,a[y]);if(z3)for(var y of z3(a))PK.call(a,y)&&U3(E,y,a[y]);return E};const b$=E=>React.createElement("svg",wK({width:449,height:204,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},E),React.createElement("title",null,"\u6CE2\u7EB9"),React.createElement("defs",null,React.createElement("linearGradient",{x1:"50%",y1:"41.532%",x2:"51.437%",y2:"65.254%",id:"water_svg__c"},React.createElement("stop",{stopColor:"#34D5A2",offset:"0%"}),React.createElement("stop",{stopColor:"#1D9F76",offset:"100%"})),React.createElement("path",{id:"water_svg__a",d:"M0 0h449v204H0z"})),React.createElement("g",{fill:"none",fillRule:"evenodd"},React.createElement("mask",{id:"water_svg__b",fill:"#fff"},React.createElement("use",{xlinkHref:"#water_svg__a"})),React.createElement("g",{mask:"url(#water_svg__b)"},React.createElement("path",{d:"M0 7.704c14.667 8 29.667 8 45 0 6.537-3.41 23.776-14.982 45 0 17 12 29 9 45 0s31-9 45 0c25 17 35 8 45 0s32.344-7.91 45 0c16 10 32 10 45 0 10.947-8.42 33.124-8.71 45 0 15 11 31.839 11.136 45 0 13-11 30-9.517 45 0s15 17 45 0v196H0v-196Z",fill:"url(#water_svg__c)",transform:"translate(-40)"}),React.createElement("path",{d:"M0 11c14.667 8 29.667 8 45 0 6.537-3.41 23.776-14.982 45 0 17 12 29 9 45 0s31-9 45 0c25 17 35 8 45 0s32.344-7.91 45 0c16 10 32 10 45 0 10.947-8.42 33.124-8.71 45 0 15 11 31.839 11.137 45 0 13-11 30-10 45 0s15 17 45 0v193H0V11Z",fill:"#38E5AE"}))));var MK="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQ5IiBoZWlnaHQ9IjIwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSI1MCUiIHkxPSI0MS41MzIlIiB4Mj0iNTEuNDM3JSIgeTI9IjY1LjI1NCUiIGlkPSJjIj48c3RvcCBzdG9wLWNvbG9yPSIjMzRENUEyIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzFEOUY3NiIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBpZD0iYSIgZD0iTTAgMGg0NDl2MjA0SDB6Ii8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PG1hc2sgaWQ9ImIiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2EiLz48L21hc2s+PGcgbWFzaz0idXJsKCNiKSI+PHBhdGggZD0iTTAgNy43MDRjMTQuNjY3IDggMjkuNjY3IDggNDUgMCA2LjUzNy0zLjQxIDIzLjc3Ni0xNC45ODIgNDUgMCAxNyAxMiAyOSA5IDQ1IDBzMzEtOSA0NSAwYzI1IDE3IDM1IDggNDUgMHMzMi4zNDQtNy45MSA0NSAwYzE2IDEwIDMyIDEwIDQ1IDAgMTAuOTQ3LTguNDIgMzMuMTI0LTguNzEgNDUgMCAxNSAxMSAzMS44MzkgMTEuMTM2IDQ1IDAgMTMtMTEgMzAtOS41MTcgNDUgMHMxNSAxNyA0NSAwdjE5Nkgwdi0xOTZaIiBmaWxsPSJ1cmwoI2MpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDApIi8+PHBhdGggZD0iTTAgMTFjMTQuNjY3IDggMjkuNjY3IDggNDUgMCA2LjUzNy0zLjQxIDIzLjc3Ni0xNC45ODIgNDUgMCAxNyAxMiAyOSA5IDQ1IDBzMzEtOSA0NSAwYzI1IDE3IDM1IDggNDUgMHMzMi4zNDQtNy45MSA0NSAwYzE2IDEwIDMyIDEwIDQ1IDAgMTAuOTQ3LTguNDIgMzMuMTI0LTguNzEgNDUgMCAxNSAxMSAzMS44MzkgMTEuMTM3IDQ1IDAgMTMtMTEgMzAtMTAgNDUgMHMxNSAxNyA0NSAwdjE5M0gwVjExWiIgZmlsbD0iIzM4RTVBRSIvPjwvZz48L2c+PC9zdmc+",DK=({percentage:E,size:a=180,unit:y="rem"})=>{const[x,b]=(0,Re.useState)(["",""]),[z,te]=(0,Re.useState)(0),re=(0,Re.useRef)(null),ae=(0,Re.useRef)(null);(0,Re.useEffect)(()=>(re.current&&(clearTimeout(ae.current),ae.current=setTimeout(()=>{var Te;const ke=z+20;ke+a>((Te=re.current)==null?void 0:Te.offsetWidth)-40&&b([...x,""]),te(ke)},200)),()=>{clearTimeout(ae.current)}),[re.current,z]),(0,Re.useEffect)(()=>(window.addEventListener("resize",se),()=>{window.removeEventListener("resize",se)}),[]);const se=()=>{te(0)},fe={width:a+y,height:a+y},me=148-a*(E/100),Se=()=>Re.createElement("img",{src:MK,style:{width:`449${y}`,height:`204${y}`}});return Re.createElement("div",{className:xS.wave,style:fe},Re.createElement("div",{className:xS.fillWrap},Re.createElement("div",{style:{fontSize:`28${y}`,zIndex:2,color:"#fff"}},E,"%"),Re.createElement("div",{className:xS.svgBox,ref:re,style:{top:me+y,transform:`translateX(-${z}px)`}},x.map((Te,ke)=>Re.createElement(Se,{key:ke})))))},zf={trapezoid:"trapezoid___qw8yM",pillarBox:"pillarBox___rGJCP",pillar1:"pillar1___uJ0zx",point:"point____XIHt",pillar2:"pillar2___pL9k5",pillar3:"pillar3___dUdZf",textBox:"textBox___isldE",text1:"text1___g5Hy9",tip:"tip___PXfJr",line:"line___A5wA_",l:"l___hfZzL",text2:"text2___u2scn",text3:"text3___WSnmy"},IK=Object.defineProperty,LK=Object.defineProperties,OK=Object.getOwnPropertyDescriptors,W3=Object.getOwnPropertySymbols,TK=Object.prototype.hasOwnProperty,BK=Object.prototype.propertyIsEnumerable,j3=(E,a,y)=>a in E?IK(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,G3=(E,a)=>{for(var y in a||(a={}))TK.call(a,y)&&j3(E,y,a[y]);if(W3)for(var y of W3(a))BK.call(a,y)&&j3(E,y,a[y]);return E},V3=(E,a)=>LK(E,OK(a)),NK=({dataSource:E=[]})=>{const[a,y]=(0,Re.useState)([]),[x,b]=(0,Re.useState)(0),z=(0,Re.useRef)(String(Math.random()).slice(-6));(0,Re.useEffect)(()=>{if(E!=null&&E.length){const se=ae(E),fe=E.map((me,Se)=>V3(G3({value:me,lineWidth:30,pillarWidth:104+se[Se]},re[Se]),{from:re[Se].from+z.current,to:re[Se].to+z.current}));y(fe),b(x+1)}},[JSON.stringify(E)]),(0,Re.useEffect)(()=>{x>0&&te()},[x]),(0,Re.useEffect)(()=>(window.addEventListener("resize",te),()=>{window.removeEventListener("resize",te)}),[x]);const te=()=>{const se=a.map((fe,me)=>{const{from:Se,to:Te}=fe,ke=document.querySelector(`#${Se}`),We=document.querySelector(`#${Te}`),je=ke.getBoundingClientRect(),Ke=We.getBoundingClientRect(),Qe=Math.abs(Ke.left-je.left);return V3(G3({},fe),{lineWidth:Qe})});y(se)},re=[{title:"\u5B8C\u6210\u738780%\uFF5E100%",pillarTitle:"80\uFF5E100%",from:"lineStart1",to:"lineEnd1"},{title:"\u5B8C\u6210\u738760%\uFF5E79%",pillarTitle:"60\uFF5E79%",from:"lineStart2",to:"lineEnd2"},{title:"\u5B8C\u6210\u738759%\u4EE5\u4E0B",pillarTitle:"59%\u4EE5\u4E0B",from:"lineStart3",to:"lineEnd3"}];function ae(se){const fe=se.reduce((me,Se)=>me+Se,0);return se.map(me=>me/fe*100)}return Re.createElement("div",{className:zf.trapezoid},Re.createElement("div",{className:zf.textBox},a.map((se,fe)=>{const{value:me,lineWidth:Se,title:Te,from:ke}=se,We=fe+1;return Re.createElement("div",{key:fe,className:zf[`text${We}`]},Re.createElement("div",{className:zf.tip},Te,Re.createElement("span",null,me)),Re.createElement("div",{id:ke,className:zf.line},Re.createElement("div",{style:{width:Se},className:zf.l})))})),Re.createElement("div",{className:zf.pillarBox},a.map((se,fe)=>{const{pillarWidth:me,pillarTitle:Se,to:Te}=se,ke=fe+1;return Re.createElement("div",{key:fe,className:zf[`pillar${ke}`],style:{width:me+"rem"}},Re.createElement("span",null,Se),Re.createElement("div",{id:Te,className:zf.point}))})))},Hi=Oe(59301),RK=Object.defineProperty,H3=Object.getOwnPropertySymbols,_K=Object.prototype.hasOwnProperty,FK=Object.prototype.propertyIsEnumerable,K3=(E,a,y)=>a in E?RK(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,SS=(E,a)=>{for(var y in a||(a={}))_K.call(a,y)&&K3(E,y,a[y]);if(H3)for(var y of H3(a))FK.call(a,y)&&K3(E,y,a[y]);return E},kK=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())}),zK=({subjectId:E,uuid:a,isAll:y})=>{const[x,b]=(0,Re.useState)(!1),[z,te]=(0,Re.useState)({type:0,course_id:null}),[re,ae]=(0,Re.useState)(!0),[se,fe]=(0,Re.useState)(!0),[me,Se]=(0,Re.useState)([]),[Te]=(0,be.useSearchParams)(),[ke,We]=(0,Re.useState)({graphCount:0,tagCount:0,resourceCount:0,proportionCount:0}),je=[{name:"",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"",value:0,itemStyle:{color:"rgb(6,110,247)"}}],[Ke,Qe]=(0,Re.useState)({averageCompletionRate:0,averageMasteryRate:0,completionRate:[0,0,0],masteryRate:je});(0,Re.useEffect)(()=>{x?Je(z):te({type:0,course_id:null})},[x]),(0,Re.useEffect)(()=>{x&&b(!1)},[a]);const Je=(ft,lt=!1)=>kK(void 0,null,function*(){var Dt,Bt,Vt,Xt,vn,on,wn,qn,yn,En;lt?fe(!0):ae(!0);const Pn=yield(0,ee.ZP)(y?"/api/knowledge/v2/subject_statistics.json":"/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:SS({subject_id:E,parentNodeUuid:a,labels:"\u56FE\u8C31,\u6807\u7B7E,\u8D44\u6E90",depth:-1},ft)});if((Pn==null?void 0:Pn.status)===0){let or=(Dt=Pn==null?void 0:Pn.data)==null?void 0:Dt.metricCounters;or=or||[];const xn={graphCount:((Bt=or.find(jr=>(jr==null?void 0:jr.name)==="\u56FE\u8C31"))==null?void 0:Bt.count)||0,tagCount:((Vt=or.find(jr=>(jr==null?void 0:jr.name)==="\u6807\u7B7E"))==null?void 0:Vt.count)||0,resourceCount:((Xt=or.find(jr=>(jr==null?void 0:jr.name)==="\u8D44\u6E90"))==null?void 0:Xt.count)||0,proportionCount:(vn=Pn==null?void 0:Pn.data)==null?void 0:vn.resource_rate};let yr=Object.entries((on=Pn==null?void 0:Pn.data)==null?void 0:on.study_grasp_hash).map(([jr,Or],Yr)=>({name:jr,value:Or,itemStyle:je[Yr].itemStyle}));const na={averageCompletionRate:(wn=Pn==null?void 0:Pn.data)==null?void 0:wn.study_complete_rate,averageMasteryRate:(qn=Pn==null?void 0:Pn.data)==null?void 0:qn.study_grasp_rate,completionRate:Object.values((yn=Pn==null?void 0:Pn.data)==null?void 0:yn.study_complete_hash),masteryRate:yr};console.log(yr,"newMasteryRate");const ea=(En=Pn==null?void 0:Pn.courses)==null?void 0:En.map(jr=>({label:jr.name,value:jr.id}));Se(ea),We(xn),Qe(na)}setTimeout(()=>{ae(!1)},500),fe(!1)}),at=ft=>{z.type=ft,te(SS({},z)),(ft!==2||z.course_id)&&Je(z,!0)},ot=ft=>{z.course_id=ft,te(SS({},z)),Je(z,!0)},ut=[{name:"\u5168\u90E8",id:0},{name:"\u81EA\u4E3B\u5B66\u4E60",id:1},{name:"\u8BFE\u5802\u5B66\u4E60",id:2}];return Hi.createElement(Gt,null,Hi.createElement("div",{className:ml.statistics},Hi.createElement("div",{onClick:()=>b(!0),className:ml.noUnfold},Hi.createElement("img",{style:{width:"32rem",marginBottom:"4rem"},src:yK}),Hi.createElement("span",null,"\u7EDF"),Hi.createElement("span",null,"\u8BA1")),Hi.createElement("div",{className:ml.wrapBox,style:{right:x?0:"-600rem"}},re&&Hi.createElement(de.Z,{style:{width:"100%",marginTop:"200rem"},spinning:!0}),!re&&Hi.createElement(Hi.Fragment,null,Hi.createElement("div",{className:ml.scrollBox},Hi.createElement("div",{className:ml.content},Hi.createElement("div",{className:ml.title},Hi.createElement("img",{src:EK}),Hi.createElement("span",null,"\u56FE\u8C31\u7EDF\u8BA1\u5206\u6790")),Hi.createElement(ir.Z,{className:ml.box,justify:"space-between"},Hi.createElement("div",{className:ml.left},Hi.createElement("div",null,Hi.createElement("span",null,"\u77E5\u8BC6\u56FE\u8C31\u6570\u91CF"),Hi.createElement("b",null,ke==null?void 0:ke.graphCount)),Hi.createElement("div",{style:{margin:"18rem 0"}},Hi.createElement("span",null,"\u6807\u7B7E\u8282\u70B9\u6570\u91CF"),Hi.createElement("b",null,ke==null?void 0:ke.tagCount)),Hi.createElement("div",null,Hi.createElement("span",null,"\u8D44\u6E90\u8282\u70B9\u6570\u91CF"),Hi.createElement("b",null,ke==null?void 0:ke.resourceCount))),Hi.createElement("div",{className:ml.right},x&&Hi.createElement(DK,{percentage:ke==null?void 0:ke.proportionCount}),Hi.createElement("div",{className:"c-white",style:{marginTop:"20rem",fontSize:"14rem"}},"\u5DF2\u5173\u8054\u8D44\u6E90\u7684\u6807\u7B7E\u8282\u70B9\u5360\u6BD4"))),Hi.createElement("div",{style:{marginTop:"20rem"},className:ml.title},Hi.createElement("img",{src:AK}),Hi.createElement("span",null,"\u5B66\u4E60\u7EDF\u8BA1\u5206\u6790")),Hi.createElement("div",{className:ml.box},Te.get("type")!=="classrooms"&&Hi.createElement("div",{className:ml.head},Hi.createElement("span",{style:{marginRight:"10rem",fontSize:"16rem"}},"\u7EDF\u8BA1\u8303\u56F4"),Hi.createElement("div",{className:ml.radio},ut.map(ft=>Hi.createElement("div",{className:z.type===ft.id?ml.active:"",key:ft.id,onClick:()=>at(ft.id)},Hi.createElement("b",null),Hi.createElement("span",null,ft.name)))),z.type===2&&Hi.createElement(Nr.default,{className:ml.select,options:me,value:z==null?void 0:z.course_id,onChange:ot,placeholder:"\u8BF7\u9009\u62E9",getPopupContainer:ft=>ft.parentNode,style:{width:"156rem",marginLeft:"10rem"},suffixIcon:Hi.createElement("i",{className:"iconfont icon-a-bianzu11",style:{color:"#1B8565",fontSize:"16rem"}})})),Hi.createElement(de.Z,{spinning:se},Hi.createElement("div",{className:ml.average},Hi.createElement("div",{className:ml.li},Hi.createElement("img",{src:xK,style:{marginLeft:0}}),Hi.createElement("aside",{className:ml.yellow},Hi.createElement("div",{style:{fontSize:"16rem"}},"\u5E73\u5747\u5B8C\u6210\u7387"),Hi.createElement("div",null,Hi.createElement("b",{style:{fontSize:"40rem"}},Ke==null?void 0:Ke.averageCompletionRate),Hi.createElement("span",{style:{fontSize:"20rem"}},"%")))),Hi.createElement("div",{className:ml.li},Hi.createElement("img",{src:SK}),Hi.createElement("aside",{className:ml.blue},Hi.createElement("div",{style:{fontSize:"16rem"}},"\u5E73\u5747\u638C\u63E1\u7387"),Hi.createElement("div",null,Hi.createElement("b",{style:{fontSize:"40rem"}},Ke==null?void 0:Ke.averageMasteryRate),Hi.createElement("span",{style:{fontSize:"20rem"}},"%"))))),Hi.createElement("div",{className:ml.lineTitle},Hi.createElement("b",null),Hi.createElement("span",null,"\u5B8C\u6210\u7387"),Hi.createElement("b",null)),Hi.createElement("div",{className:ml.echartsTwo},Hi.createElement(NK,{dataSource:Ke==null?void 0:Ke.completionRate})),Hi.createElement("div",{className:ml.lineTitle,style:{marginTop:"40rem"}},Hi.createElement("b",null),Hi.createElement("span",null,"\u638C\u63E1\u7387"),Hi.createElement("b",null)),Hi.createElement("div",{className:ml.echartsThree},Hi.createElement(fl,{dataSource:Ke==null?void 0:Ke.masteryRate})))))),x&&Hi.createElement("div",{onClick:()=>b(!1),className:ml.unfold})))))},Nl={statistics:"statistics___BZJje",noUnfold:"noUnfold___L4va9",wrapBox:"wrapBox___tHLW6",scrollBox:"scrollBox___m8AGu",content:"content____Gl9N",title:"title___SAaGy",top:"top___h1nbU",topLi:"topLi___Ib2Tu",bottom:"bottom___ZKnwW",bottomLi:"bottomLi___YAGiM",echarts:"echarts___M5Dkf",name:"name___XhFko",unfold:"unfold___I5om1",select:"select___TcV_B"},UK="data:image/png;base64,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",WK="data:image/png;base64,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",jK="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAsCAYAAAA5KtvpAAAAAXNSR0IArs4c6QAABFJJREFUaEPtml9MW1Ucxz+nlxbaUkYvYjdENG7RiEg6jNGQ+aIx08SE6IvZxGS+qGGPPjnj2+J8MIuJMVk00Zgg0zc1Rpm+Gf+M+GdkZKhT4gyMjnWllJWWtrf3mNPLHJcWaBmlXcMvaV96fufez/n+fuf8zjkV/a8ZBzB5R4JO7VpICHlo8A3nt6L/VWNSIttrl9UiEzAyeMz5sOg/khmTkq7aBxbfDB6r2y8OHZFBjzf7rt5Mb61ChyOcWkxrhz86KiaEggxF5Aum5INaBRaCJ9taxPBSaG8D15zQVaVwnQaao/QxlhLSxnU/1Y+RLdxP1QA7BAT8IHIzSekWjUMyBS1NUO+EuTgkUvn9lB84mwVNK4pA921c4bkFS1V/IzS4QA3AYroCwM2nBpnf14fp9RUFvRmNVLSYskIh3XryOMJIc+WZw1sKvdrAlT2kFbAzPEVGDxB5eqDi0EUDzyetSWC1UFk+oq74LPqFURrD/9AUOo8jm8n9nNwR4M/HBzDc5Q1vhwO8LvC5N5jDV5MQXVg/u1wLUe789TP8F88hpFnQIdkUYPyxATJlhlYPb/WBu97+GkUpHJ6HZIEZb3lX/qkx9vw0hJYpsBasQE807+LsE6+AkqKM1tgAeuMGgC/HYNGKyoKmFL37uw9XVXW5k3Ro/NX7PLMd3WVEtbr21kPLiuwpSuG1gLVUguCXb+JMxdcF2ErYsgHfNfIpt06M5GANl4doWyfzgT25HM3U+9h9eghP7BKbBauKi08+t9eNDg0O9uUXN5uusGdumu6v3iLT4ONCTx+RjmBeXt7/9XE8sdCmhbECPjG4rHAG6jTBy/1bANx+dhjPXIiJh54lW+8pGNJdw28z3floSTkbnoVozF4qteoC/w4wDDjxcYWAO377gsngU8g1ZltP9CIJ/23r5vfyBj/8YnLmnH1Z631Ao6dL5OrlyihsmjiyBqbTVRKMamxm4cy4XUG1LQzeZ22V1gSupMIlky45pDPw3pA9LJ11gpees/KwOhVeh/bvfyVTIbuKu+8Q3L5LcEPA1arw9z+bjI7b83DfgxrBzhsErlgOAwsJu8xqH+peKtjLBlwphVNpeP+kPQ9dTsGLB608LBtwpRTeBga2Fa6lSaumQ3r2KsRX7OtvBuAmNzR7N3AAkMnCzJz9PKvagVWpurM5/5y7qAMANUZZE1KZ69DqfH30D3slpfYQe++16uHJS3A5Yv+9PSAI3GL1Nfr7Cl8Bezst36kZmLlS2Nc08+vw3HOXfJW/ur1wu0DVBSutaOCN1s3V5rcNvNaFuAoVV121aZb/PmpzsspNiwr34i/Er93MVTtyYhHU5VohKwnY2wDqU82m7orjydXP0UsCrmbQYt8tD3g6IvdLSe5PH7VomoPunboYyy1f6ktK2TAdYRS4p+aABT+26TwihMidTPy/TM/EZcBY5HUEPUJyE8zL60gjSEk47RYc1XURu9b6P7vslVpOgNBqAAAAAElFTkSuQmCC",GK=Oe.p+"static/a.d3f19668.png",VK=Oe.p+"static/b.ba7414bd.png",HK=Oe.p+"static/c.2b6f6bd3.png",KK=Oe.p+"static/d.f1216ccd.png",Mh={cylinder:"cylinder___rUBlO",cylinderBox:"cylinderBox___NurwX",cylinder1:"cylinder1___LPJD0",item1:"item1___ekrFi",item2:"item2___PuVOv",item3:"item3___x9UjL",point:"point___ZJ1ZD",cylinder2:"cylinder2___aQBbC",cylinder3:"cylinder3___lefpl",textBox:"textBox____wuhT"},ZK=Object.defineProperty,QK=Object.defineProperties,YK=Object.getOwnPropertyDescriptors,Z3=Object.getOwnPropertySymbols,XK=Object.prototype.hasOwnProperty,JK=Object.prototype.propertyIsEnumerable,Q3=(E,a,y)=>a in E?ZK(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,Y3=(E,a)=>{for(var y in a||(a={}))XK.call(a,y)&&Q3(E,y,a[y]);if(Z3)for(var y of Z3(a))JK.call(a,y)&&Q3(E,y,a[y]);return E},X3=(E,a)=>QK(E,YK(a)),qK=({dataSource:E=[]})=>{const[a,y]=(0,Re.useState)([]),[x,b]=(0,Re.useState)(0),z=(0,Re.useRef)(String(Math.random()).slice(-6));console.log(E,a,223),(0,Re.useEffect)(()=>{if(E!=null&&E.length){const se=ae(E),fe=E.map((me,Se)=>X3(Y3({value:me,lineWidth:30,cylinderWidth:40+se[Se]},re[Se]),{from:re[Se].from+z.current,to:re[Se].to+z.current}));y(fe),b(x+1)}},[JSON.stringify(E)]),(0,Re.useEffect)(()=>{x>0&&te()},[x]),(0,Re.useEffect)(()=>(window.addEventListener("resize",te),()=>{window.removeEventListener("resize",te)}),[x]);const te=()=>{const se=a.map((fe,me)=>{const{from:Se,to:Te}=fe,ke=document.querySelector(`#${Se}`),We=document.querySelector(`#${Te}`),je=ke.getBoundingClientRect(),Ke=We.getBoundingClientRect(),Qe=Math.abs(Ke.left-je.left);return X3(Y3({},fe),{lineWidth:Qe})});y(se)},re=[{title:"\u90E8\u5206\u638C\u63E1 ",from:"lineStart1",to:"lineEnd1"},{title:"\u5168\u90E8\u638C\u63E1 ",from:"lineStart2",to:"lineEnd2"},{title:"\u672A \u638C \u63E1 ",from:"lineStart3",to:"lineEnd3"}];function ae(se){const fe=se.reduce((me,Se)=>me+Se,0);return se.map(me=>me/fe*122)}return Re.createElement("div",{className:Mh.cylinder},Re.createElement("div",{className:Mh.cylinderBox},a.map((se,fe)=>{const{cylinderWidth:me,lineWidth:Se,from:Te}=se,ke=fe+1;return Re.createElement("div",{key:ke,className:Mh[`cylinder${ke}`],style:{width:me+"rem"}},Re.createElement("div",{className:Mh.item1}),Re.createElement("div",{className:Mh.item2}),Re.createElement("div",{className:Mh.item3}),Re.createElement("div",{id:Te,style:{width:Se},className:Mh.point}))})),Re.createElement("div",{className:Mh.textBox},a.map((se,fe)=>{const{title:me,to:Se,value:Te}=se,ke=fe+1;return Re.createElement("div",{key:ke,id:Se},Re.createElement("span",{dangerouslySetInnerHTML:{__html:`${me}${Te}%`}}))})))},co=Oe(59301),$K=Object.defineProperty,J3=Object.getOwnPropertySymbols,eZ=Object.prototype.hasOwnProperty,tZ=Object.prototype.propertyIsEnumerable,q3=(E,a,y)=>a in E?$K(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,$3=(E,a)=>{for(var y in a||(a={}))eZ.call(a,y)&&q3(E,y,a[y]);if(J3)for(var y of J3(a))tZ.call(a,y)&&q3(E,y,a[y]);return E},nZ=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())}),rZ=({subjectId:E,uuid:a,isAll:y})=>{const[x,b]=(0,Re.useState)(!1),[z,te]=(0,Re.useState)({course_id:null}),[re,ae]=(0,Re.useState)(!0),[se,fe]=(0,Re.useState)(!0),[me,Se]=(0,Re.useState)([]),[Te]=(0,be.useSearchParams)(),[ke,We]=(0,Re.useState)({graphCount:0,tagCount:0,resourceCount:0,proportionCount:0}),je=[{name:"\u5DF2\u5B8C\u6210",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"\u5F85\u5F00\u59CB",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u90E8\u5206\u5B8C\u6210",value:0,itemStyle:{color:"rgb(6,110,247)"}}],[Ke,Qe]=(0,Re.useState)({averageCompletionRate:0,averageMasteryRate:0,completionRate:je,masteryRate:[0,0,0],course_rank_num:0,course_rank_all_num:0,system_rank_num:0,system_rank_all_num:0});(0,Re.useEffect)(()=>{x?Je(z):te({course_id:null})},[x]),(0,Re.useEffect)(()=>{x&&b(!1)},[a]);const Je=(ot,ut=!1)=>nZ(void 0,null,function*(){var ft,lt,Dt,Bt,Vt,Xt,vn,on,wn,qn,yn,En,Pn,or,xn;ut?fe(!0):ae(!0);const yr=yield(0,ee.ZP)(y?"/api/knowledge/v2/subject_statistics.json":"/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:$3({subject_id:E,parentNodeUuid:a,labels:"\u56FE\u8C31,\u6807\u7B7E,\u8D44\u6E90",depth:-1},ot)});if((yr==null?void 0:yr.status)===0){let na=(ft=yr==null?void 0:yr.data)==null?void 0:ft.metricCounters;na=na||[];const ea={graphCount:((lt=na.find(fa=>(fa==null?void 0:fa.name)==="\u56FE\u8C31"))==null?void 0:lt.count)||0,tagCount:((Dt=na.find(fa=>(fa==null?void 0:fa.name)==="\u6807\u7B7E"))==null?void 0:Dt.count)||0,resourceCount:((Bt=na.find(fa=>(fa==null?void 0:fa.name)==="\u8D44\u6E90"))==null?void 0:Bt.count)||0,proportionCount:(Vt=yr==null?void 0:yr.data)==null?void 0:Vt.resource_rate};let jr=Object.entries((Xt=yr==null?void 0:yr.data)==null?void 0:Xt.study_complete_hash).map(([fa,Ia],oi)=>({name:je[oi].name,value:Ia,itemStyle:je[oi].itemStyle}));const Or={averageCompletionRate:(vn=yr==null?void 0:yr.data)==null?void 0:vn.study_complete_rate,averageMasteryRate:(on=yr==null?void 0:yr.data)==null?void 0:on.study_grasp_rate,completionRate:jr,masteryRate:Object.values((wn=yr==null?void 0:yr.data)==null?void 0:wn.study_grasp_hash),course_rank_num:(qn=yr==null?void 0:yr.data)==null?void 0:qn.course_rank_num,course_rank_all_num:(yn=yr==null?void 0:yr.data)==null?void 0:yn.course_rank_all_num,system_rank_num:(En=yr==null?void 0:yr.data)==null?void 0:En.system_rank_num,system_rank_all_num:(Pn=yr==null?void 0:yr.data)==null?void 0:Pn.system_rank_all_num},Yr=(or=yr==null?void 0:yr.courses)==null?void 0:or.map(fa=>({label:fa.name,value:fa.id}));Se(Yr),We(ea),Qe(Or),ut||te({course_id:((xn=Yr==null?void 0:Yr[0])==null?void 0:xn.value)||null})}setTimeout(()=>{ae(!1)},500),fe(!1)}),at=ot=>{z.course_id=ot,te($3({},z)),Je(z,!0)};return co.createElement(Gt,null,co.createElement("div",{className:Nl.statistics},co.createElement("div",{onClick:()=>b(!0),className:Nl.noUnfold},co.createElement("img",{style:{width:"32rem",marginBottom:"4rem"},src:UK}),co.createElement("span",null,"\u7EDF"),co.createElement("span",null,"\u8BA1")),co.createElement("div",{className:Nl.wrapBox,style:{right:x?0:"-600rem"}},re&&co.createElement(de.Z,{style:{width:"100%",marginTop:"200rem"},spinning:!0}),!re&&co.createElement(co.Fragment,null,co.createElement("div",{className:Nl.scrollBox},co.createElement("div",{className:Nl.content},co.createElement("div",{className:Nl.title},co.createElement("img",{src:WK}),co.createElement("span",null,"\u56FE\u8C31\u7EDF\u8BA1\u5206\u6790")),co.createElement("div",{className:Nl.top},co.createElement("div",{className:Nl.topLi},co.createElement("div",null,ke==null?void 0:ke.graphCount),co.createElement("div",null,"\u77E5\u8BC6\u56FE\u8C31\u6570\u91CF")),co.createElement("div",{className:Nl.topLi},co.createElement("div",null,ke==null?void 0:ke.tagCount),co.createElement("div",null,"\u6807\u7B7E\u8282\u70B9\u6570\u91CF")),co.createElement("div",{className:Nl.topLi},co.createElement("div",null,ke==null?void 0:ke.resourceCount),co.createElement("div",null,"\u8D44\u6E90\u8282\u70B9\u6570\u91CF"))),co.createElement("div",{style:{marginTop:"20rem"},className:Nl.title},co.createElement("img",{src:jK}),co.createElement("span",null,"\u5B66\u4E60\u7EDF\u8BA1\u5206\u6790")),co.createElement(de.Z,{spinning:se},co.createElement("div",{className:Nl.bottom},co.createElement("div",{className:Nl.bottomLi,style:{marginTop:"82rem",marginRight:"26rem"}},Te.get("type")!=="classrooms"&&co.createElement(Nr.default,{className:Nl.select,options:me,value:z==null?void 0:z.course_id,size:"small",onChange:at,placeholder:"\u8BF7\u9009\u62E9",getPopupContainer:ot=>ot.parentNode,style:{width:"222rem"},suffixIcon:co.createElement("i",{className:"iconfont icon-a-bianzu11",style:{color:"#fff",fontSize:"12rem"}})}),co.createElement("b",{style:{fontSize:"26rem",marginTop:"5rem"}},Ke==null?void 0:Ke.course_rank_num),co.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\u8BFE\u5802\u6392\u540D"),co.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\uFF08\u5171",Ke==null?void 0:Ke.course_rank_all_num,"\u4EBA\uFF09"),co.createElement("img",{src:GK})),co.createElement("div",{className:Nl.bottomLi,style:{marginTop:"82rem"}},co.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},Ke==null?void 0:Ke.system_rank_num),co.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\u7CFB\u7EDF\u6392\u540D"),co.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\uFF08\u5171",Ke==null?void 0:Ke.system_rank_all_num,"\u4EBA\uFF09"),co.createElement("img",{src:VK})),co.createElement("div",{className:Nl.bottomLi,style:{marginTop:"104rem",marginRight:"26rem"}},co.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},Ke==null?void 0:Ke.averageCompletionRate,"%"),co.createElement("div",{style:{fontSize:"14rem",marginTop:"2rem"}},"\u5E73\u5747\u5B8C\u6210\u7387"),co.createElement("img",{src:HK})),co.createElement("div",{className:Nl.bottomLi,style:{marginTop:"104rem"}},co.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},Ke==null?void 0:Ke.averageMasteryRate,"%"),co.createElement("div",{style:{fontSize:"14rem",marginTop:"2rem"}},"\u5E73\u5747\u638C\u63E1\u7387"),co.createElement("img",{src:KK})),co.createElement("div",{className:Nl.echarts},co.createElement("div",{className:Nl.name},"\u5B8C\u6210\u60C5\u51B5"),co.createElement(fl,{dataSource:Ke==null?void 0:Ke.completionRate})),co.createElement("div",{className:Nl.echarts},co.createElement("div",{className:Nl.name},"\u638C\u63E1\u60C5\u51B5"),co.createElement(qK,{dataSource:Ke==null?void 0:Ke.masteryRate})))))),x&&co.createElement("div",{onClick:()=>b(!1),className:Nl.unfold})))))},T0=Oe(59301),aZ=Object.defineProperty,M1=Object.getOwnPropertySymbols,eI=Object.prototype.hasOwnProperty,tI=Object.prototype.propertyIsEnumerable,nI=(E,a,y)=>a in E?aZ(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,D1=(E,a)=>{for(var y in a||(a={}))eI.call(a,y)&&nI(E,y,a[y]);if(M1)for(var y of M1(a))tI.call(a,y)&&nI(E,y,a[y]);return E},iZ=(E,a)=>{var y={};for(var x in E)eI.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&M1)for(var x of M1(E))a.indexOf(x)<0&&tI.call(E,x)&&(y[x]=E[x]);return y},rI=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});const oZ=E=>{var a=E,{pathsDetail:y,user:x,globalSetting:b,loading:z,dispatch:te,tpacti:re,settupuname:ae,settpacti:se}=a,fe=iZ(a,["pathsDetail","user","globalSetting","loading","dispatch","tpacti","settupuname","settpacti"]),me,Se,Te,ke,We,je,Ke,Qe,Je;const at=(0,be.useParams)(),[ot,ut]=(0,Re.useState)(""),[ft,lt]=(0,Re.useState)([]),[Dt]=(0,be.useSearchParams)(),[Bt,Vt]=(0,Re.useState)([]),[Xt,vn]=(0,Re.useState)(1);(0,Re.useEffect)(()=>{var qn,yn,En,Pn,or,xn;if((qn=y==null?void 0:y.detail)!=null&&qn.nodes&&Xt===1){lt((yn=y==null?void 0:y.detail)==null?void 0:yn.nodes),ut((or=(Pn=(En=y==null?void 0:y.detail)==null?void 0:En.nodes)==null?void 0:Pn[1])==null?void 0:or.uuid);let yr=[...(xn=y==null?void 0:y.detail)==null?void 0:xn.nodes];Vt(yr==null?void 0:yr.splice(1)),vn(2)}},[(me=y==null?void 0:y.detail)==null?void 0:me.nodes]),(0,Re.useEffect)(()=>{var qn,yn,En;ut(re||((En=(yn=(qn=y==null?void 0:y.detail)==null?void 0:qn.nodes)==null?void 0:yn[1])==null?void 0:En.uuid))},[re]);function on(){return rI(this,null,function*(){var qn,yn,En,Pn,or,xn,yr,na;if(Dt.get("type")==="classrooms"){let ea=yield te({type:"pathsDetail/getCourseDetail",payload:D1({id:at.pathId,knowledge:!0},(0,vt.oP)())});lt(ea==null?void 0:ea.nodes),ut((yn=(qn=ea==null?void 0:ea.nodes)==null?void 0:qn[1])==null?void 0:yn.uuid),se((Pn=(En=ea==null?void 0:ea.nodes)==null?void 0:En[1])==null?void 0:Pn.uuid);let jr=[...ea==null?void 0:ea.nodes];Vt(jr==null?void 0:jr.splice(1))}else{let ea=yield te({type:"pathsDetail/getPathsDetail",payload:D1({id:at.pathId,knowledge:!0},(0,vt.oP)())});lt(ea==null?void 0:ea.nodes),ut((xn=(or=ea==null?void 0:ea.nodes)==null?void 0:or[1])==null?void 0:xn.uuid),se((na=(yr=ea==null?void 0:ea.nodes)==null?void 0:yr[1])==null?void 0:na.uuid);let jr=[...ea==null?void 0:ea.nodes];Vt(jr==null?void 0:jr.splice(1))}})}function wn(){return rI(this,null,function*(){var qn,yn,En,Pn,or,xn,yr,na,ea,jr,Or,Yr,fa,Ia;if(Dt.get("type")==="classrooms"){let oi=yield te({type:"pathsDetail/getCourseDetail",payload:D1({id:(qn=y==null?void 0:y.detail)==null?void 0:qn.id,knowledge:!0},(0,vt.oP)())});ut((En=(yn=oi==null?void 0:oi.nodes)==null?void 0:yn[1])==null?void 0:En.uuid),se((or=(Pn=oi==null?void 0:oi.nodes)==null?void 0:Pn[1])==null?void 0:or.uuid),ae(((yr=(xn=oi==null?void 0:oi.nodes)==null?void 0:xn[1])==null?void 0:yr.name)||"\u8BFE\u7A0B\u56FE\u8C31")}else{let oi=yield te({type:"pathsDetail/getPathsDetail",payload:D1({id:(na=y==null?void 0:y.detail)==null?void 0:na.id,knowledge:!0},(0,vt.oP)())});ut((jr=(ea=oi==null?void 0:oi.nodes)==null?void 0:ea[1])==null?void 0:jr.uuid),se((Yr=(Or=oi==null?void 0:oi.nodes)==null?void 0:Or[1])==null?void 0:Yr.uuid),ae(((Ia=(fa=oi==null?void 0:oi.nodes)==null?void 0:fa[1])==null?void 0:Ia.name)||"\u8BFE\u7A0B\u56FE\u8C31")}})}return T0.createElement("div",{style:{height:"calc(100vh - 72px - 170rem)"}},(ft==null?void 0:ft.length)>0&&T0.createElement("div",{className:Qn.content},((Se=ft==null?void 0:ft[0])==null?void 0:Se.uuid)===ot&&ot&&T0.createElement(pK,{onAddSuccess:wn,setActivated:ut,subjectId:(Te=y==null?void 0:y.detail)==null?void 0:Te.id}),((ke=ft==null?void 0:ft[0])==null?void 0:ke.uuid)!==ot&&ot&&T0.createElement(KH,{tpacti:re,setactivied:()=>{var qn;ut((qn=ft==null?void 0:ft[0])==null?void 0:qn.uuid)},initdata:wn,Tabsdatas:Bt,uuid:ot})),(We=y==null?void 0:y.detail)!=null&&We.can_managed?T0.createElement(zK,{isAll:((je=ft==null?void 0:ft[0])==null?void 0:je.uuid)===ot,subjectId:(Ke=y==null?void 0:y.detail)==null?void 0:Ke.id,uuid:ot}):T0.createElement(rZ,{isAll:((Qe=ft==null?void 0:ft[0])==null?void 0:Qe.uuid)===ot,subjectId:(Je=y==null?void 0:y.detail)==null?void 0:Je.id,uuid:ot}))};var sZ=(0,be.connect)(({pathsDetail:E,user:a,loading:y,globalSetting:x})=>({pathsDetail:E,user:a,globalSetting:x,loading:y.models.index}))(oZ),os=Oe(59301),lZ=Object.defineProperty,I1=Object.getOwnPropertySymbols,aI=Object.prototype.hasOwnProperty,iI=Object.prototype.propertyIsEnumerable,oI=(E,a,y)=>a in E?lZ(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,sI=(E,a)=>{for(var y in a||(a={}))aI.call(a,y)&&oI(E,y,a[y]);if(I1)for(var y of I1(a))iI.call(a,y)&&oI(E,y,a[y]);return E},uZ=(E,a)=>{var y={};for(var x in E)aI.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&I1)for(var x of I1(E))a.indexOf(x)<0&&iI.call(E,x)&&(y[x]=E[x]);return y},lI=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});const cZ=E=>{var a=E,{pathsDetail:y,user:x,globalSetting:b,loading:z,dispatch:te,activied:re,setactivied:ae}=a,se=uZ(a,["pathsDetail","user","globalSetting","loading","dispatch","activied","setactivied"]),fe,me,Se,Te,ke,We,je,Ke,Qe,Je,at,ot,ut,ft;const lt=(0,be.useParams)(),[Dt]=(0,be.useSearchParams)(),[Bt,Vt]=(0,Re.useState)(((Se=(me=(fe=y==null?void 0:y.detail)==null?void 0:fe.nodes)==null?void 0:me[0])==null?void 0:Se.name)||"\u8BFE\u7A0B\u56FE\u8C31"),[Xt,vn]=(0,Re.useState)(((We=(ke=(Te=y==null?void 0:y.detail)==null?void 0:Te.route_nodes)==null?void 0:ke[0])==null?void 0:We.name)||"\u5B66\u4E60\u8DEF\u5F84"),[on,wn]=(0,Re.useState)([]),[qn,yn]=(0,Re.useState)(),[En,Pn]=(0,Re.useState)(),[or]=De.default.useForm(),[xn,yr]=(0,Re.useState)(!1),[na,ea]=(0,Re.useState)(!1),jr=[{name:"\u8BFE\u7A0B\u4FE1\u606F",key:1,content:os.createElement(Nt,null),isshow:Dt.get("type")!=="classrooms"},{name:"\u8BFE\u7A0B\u56FE\u8C31",key:3,content:((Ke=(je=y==null?void 0:y.detail)==null?void 0:je.nodes)==null?void 0:Ke.length)<=1?os.createElement(sr,{text:"\u6682\u65E0\u56FE\u8C31\uFF0C\u7ACB\u5373\u65B0\u5EFA\u4E00\u4E2A\u56FE\u8C31\u5427\uFF5E",textColor:"#fff",buttonText:((Qe=y==null?void 0:y.detail)==null?void 0:Qe.can_managed)&&"\u65B0\u5EFA\u56FE\u8C31",buttonTexttow:((Je=y==null?void 0:y.detail)==null?void 0:Je.can_managed)&&"\u751F\u6210\u56FE\u8C31",ontwoClick:()=>lI(void 0,null,function*(){var Yr;let fa=yield(0,ee.ZP)("/api/knowledge/v2/sync.json",{method:"post",body:{subject_id:(Yr=y==null?void 0:y.detail)==null?void 0:Yr.id}});fa.status===0&&Fe.ZP.info(fa==null?void 0:fa.message)}),onClick:()=>ea(!0)}):os.createElement(sZ,{settupuname:Vt,settpacti:yn,tpacti:qn}),isshow:!0},{name:"\u5B66\u4E60\u8DEF\u5F84",key:2,content:os.createElement(ti,{setxxljac:Pn,dispatch:te,xxljac:En,pathsDetail:y}),isshow:!0},{name:"\u4EA4\u6D41\u53CD\u9988",key:4,content:os.createElement(Ie,null),isshow:Dt.get("type")!=="classrooms"}].filter(Yr=>Yr==null?void 0:Yr.isshow);(0,Re.useEffect)(()=>{var Yr,fa;if((Yr=y==null?void 0:y.detail)!=null&&Yr.nodes){let Ia=[...(fa=y==null?void 0:y.detail)==null?void 0:fa.nodes];wn(Ia==null?void 0:Ia.splice(1))}},[(at=y==null?void 0:y.detail)==null?void 0:at.nodes]);const Or=Yr=>lI(void 0,null,function*(){var fa,Ia,oi,Eo,to,ri,Qi,Ri,Ji,lo;const{nodeType:Xo,description:Oo,name:si,tags:Di}=Yr;yr(!0);const ya=yield(0,ee.ZP)("/api/knowledge/v2/add_node.json",{method:"POST",body:{label:"\u56FE\u8C31",subject_id:(fa=y==null?void 0:y.detail)==null?void 0:fa.id,properties:{description:Oo,rootNodeUuid:(Eo=(oi=(Ia=y==null?void 0:y.detail)==null?void 0:Ia.nodes)==null?void 0:oi[0])==null?void 0:Eo.uuid,name:si,nodeType:Xo[0],tags:(Di==null?void 0:Di.join("\uFF0C"))||"",color:"1"},relationships:[{startNodeUuid:(Qi=(ri=(to=y==null?void 0:y.detail)==null?void 0:to.nodes)==null?void 0:ri[0])==null?void 0:Qi.uuid,type:"\u5305\u542B"}]}});(ya==null?void 0:ya.status)===0&&(ea(!1),yn((Ri=ya==null?void 0:ya.data)==null?void 0:Ri.uuid),Vt(si),ae(3),Dt.get("type")==="classrooms"?te({type:"pathsDetail/getCourseDetail",payload:sI({id:(Ji=y==null?void 0:y.detail)==null?void 0:Ji.id,knowledge:!0},(0,vt.oP)())}):te({type:"pathsDetail/getPathsDetail",payload:sI({id:(lo=y==null?void 0:y.detail)==null?void 0:lo.id,knowledge:!0},(0,vt.oP)())})),yr(!1)});return os.createElement("div",null,os.createElement("div",{className:Wt.tabs},jr==null?void 0:jr.map(Yr=>{var fa,Ia,oi,Eo,to,ri,Qi,Ri,Ji,lo,Xo,Oo;return os.createElement("div",{onClick:()=>{var si,Di,ya,La,Ya,zi,Ca,oo;ae(Yr.key),(Yr==null?void 0:Yr.name)==="\u8BFE\u7A0B\u56FE\u8C31"&&(console.log("---",2),Vt(((si=on==null?void 0:on[0])==null?void 0:si.name)||"\u8BFE\u7A0B\u56FE\u8C31"),yn((Di=on==null?void 0:on[0])==null?void 0:Di.uuid)),(Yr==null?void 0:Yr.name)==="\u5B66\u4E60\u8DEF\u5F84"&&(vn(((Ya=(La=(ya=y==null?void 0:y.detail)==null?void 0:ya.route_nodes)==null?void 0:La[0])==null?void 0:Ya.name)||"\u5B66\u4E60\u8DEF\u5F84"),Pn((oo=(Ca=(zi=y==null?void 0:y.detail)==null?void 0:zi.route_nodes)==null?void 0:Ca[0])==null?void 0:oo.id))},className:re===(Yr==null?void 0:Yr.key)?Wt.activied:Wt.tab},((Yr==null?void 0:Yr.name)==="\u8BFE\u7A0B\u4FE1\u606F"||(Yr==null?void 0:Yr.name)==="\u4EA4\u6D41\u53CD\u9988")&&(Yr==null?void 0:Yr.name),(Yr==null?void 0:Yr.name)==="\u8BFE\u7A0B\u56FE\u8C31"&&os.createElement(jt.Z,{overlayClassName:Wt.dropdownst,disabled:(on==null?void 0:on.length)===0,menu:{items:on==null?void 0:on.map(si=>({label:os.createElement(tn.Z,{title:si==null?void 0:si.name}," ",os.createElement("span",{className:Wt.dropnametext,style:{width:"100%"},onClick:Di=>{Di.stopPropagation(),Vt(si==null?void 0:si.name),yn(si==null?void 0:si.uuid),ae(3)}},si==null?void 0:si.name)),key:si==null?void 0:si.uuid,show:!0})),selectable:!0,selectedKeys:[qn||((oi=(Ia=(fa=y==null?void 0:y.detail)==null?void 0:fa.nodes)==null?void 0:Ia[1])==null?void 0:oi.uuid)]}},os.createElement("span",{className:Wt.nametext},"\u8BFE\u7A0B\u56FE\u8C31 ",(on==null?void 0:on.length)>0&&os.createElement("i",{style:{fontSize:"12rem",marginLeft:"10rem"},className:"iconfont icon-zhankai10"}))),(Yr==null?void 0:Yr.name)==="\u5B66\u4E60\u8DEF\u5F84"&&os.createElement(jt.Z,{overlayClassName:Wt.dropdownst,disabled:((to=(Eo=y==null?void 0:y.detail)==null?void 0:Eo.route_nodes)==null?void 0:to.length)===0,overlayStyle:{background:"#13203D"},menu:{items:(Qi=(ri=y==null?void 0:y.detail)==null?void 0:ri.route_nodes)==null?void 0:Qi.map((si,Di)=>({label:os.createElement(tn.Z,{title:si==null?void 0:si.name},os.createElement("span",{className:Wt.dropnametext,style:{width:"100%"},onClick:ya=>{ya.stopPropagation(),vn(si==null?void 0:si.name),Pn(si==null?void 0:si.id),ae(2)}},si==null?void 0:si.name)),key:si==null?void 0:si.id,show:!0})),selectable:!0,selectedKeys:[(En||((lo=(Ji=(Ri=y==null?void 0:y.detail)==null?void 0:Ri.route_nodes)==null?void 0:Ji[0])==null?void 0:lo.id))+""]}},os.createElement("span",{className:Wt.nametext},"\u5B66\u4E60\u8DEF\u5F84 ",((Oo=(Xo=y==null?void 0:y.detail)==null?void 0:Xo.route_nodes)==null?void 0:Oo.length)>0&&os.createElement("i",{style:{fontSize:"12rem",marginLeft:"10rem"},className:"iconfont icon-zhankai10"}))))}),os.createElement(Gt,null,os.createElement(os.Fragment,null,Dt.get("type")==="classrooms"&&(0,Zu.JA)()&&os.createElement("div",{style:{position:"fixed",right:"20rem",top:"7rem"}},os.createElement("span",{onClick:()=>{var Yr;window.open((Yr=y==null?void 0:y.detail)==null?void 0:Yr.first_category_url)},style:{width:"128rem",height:"36rem",lineHeight:"36rem",display:"inline-block",textAlign:"center",background:"#fff",color:"#1B8565",fontSize:"14rem",borderRadius:"20rem",cursor:"pointer"}},"\u8FD4\u56DE\u6559\u5B66\u8BFE\u5802")),re===3&&((ot=y==null?void 0:y.detail)==null?void 0:ot.can_managed)&&os.createElement("div",{style:{position:"fixed",right:Dt.get("type")!=="classrooms"?"170rem":"20rem",top:"7rem"}},os.createElement("span",{onClick:()=>{ea(!0)},style:{width:"128rem",height:"36rem",lineHeight:"36rem",display:"inline-block",textAlign:"center",background:"#fff",color:"#1B8565",fontSize:"14rem",borderRadius:"20rem",cursor:"pointer"}},"\u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31")),Dt.get("type")!=="classrooms"&&(re===2||re===3)&&!(0,Zu.JA)()&&os.createElement(Lt,{activied:re,styles:{position:"fixed",right:re===3?"20rem":"170rem",top:"7rem"}})))),os.createElement(Ce.default,{open:na,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>ea(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{or.resetFields()},confirmLoading:xn,onOk:()=>or.submit(),title:"\u65B0\u589E\u77E5\u8BC6\u56FE\u8C31"},os.createElement("div",{className:Wt.modal},os.createElement("div",{className:Wt.mHead},"\u8282\u70B9\u5C5E\u6027"),os.createElement(De.default,{form:or,scrollToFirstError:!0,layout:"horizontal",colon:!1,size:"large",labelCol:{flex:"110rem"},onFinish:Or,className:Wt.form},os.createElement(De.default.Item,{label:"\u56FE\u8C31\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8282\u70B9\u540D\u79F0"},{type:"string",max:60,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},os.createElement(Pe.default,{maxLength:60,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),os.createElement(De.default.Item,{label:"\u7B80\u4ECB",name:"description",rules:[{type:"string",max:5e3,message:"\u8F93\u5165\u8D85\u9650\uFF0C\u8BF7\u7F29\u51CF\u5B57\u7B26\u6570"},{type:"string",whitespace:!0,message:"\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},os.createElement(Pe.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),os.createElement(De.default.Item,{className:Wt.mType,label:os.createElement("span",null,"\u56FE\u8C31\u7C7B\u578B ",os.createElement(tn.Z,{title:"\u5F53\u524D\u77E5\u8BC6\u56FE\u8C31\u7684\u7C7B\u578B\uFF0C\u5982\uFF1A\u5927\u7EB2\u56FE\u8C31\u3001\u80FD\u529B\u56FE\u8C31"},os.createElement(Hr.Z,null))),name:"nodeType",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},os.createElement(Fn,{subjectId:(ut=y==null?void 0:y.detail)==null?void 0:ut.id,type:1}))))),os.createElement("div",{className:Wt.placeholder}),os.createElement("div",{className:Wt.content},(ft=jr.find(Yr=>Yr.key===re))==null?void 0:ft.content))};var dZ=(0,be.connect)(({pathsDetail:E,user:a,loading:y,globalSetting:x})=>({pathsDetail:E,user:a,globalSetting:x,loading:y.models.index}))(cZ),L1=Oe(59301),fZ=Object.defineProperty,O1=Object.getOwnPropertySymbols,uI=Object.prototype.hasOwnProperty,cI=Object.prototype.propertyIsEnumerable,dI=(E,a,y)=>a in E?fZ(E,a,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[a]=y,fI=(E,a)=>{for(var y in a||(a={}))uI.call(a,y)&&dI(E,y,a[y]);if(O1)for(var y of O1(a))cI.call(a,y)&&dI(E,y,a[y]);return E},hZ=(E,a)=>{var y={};for(var x in E)uI.call(E,x)&&a.indexOf(x)<0&&(y[x]=E[x]);if(E!=null&&O1)for(var x of O1(E))a.indexOf(x)<0&&cI.call(E,x)&&(y[x]=E[x]);return y},gZ=(E,a,y)=>new Promise((x,b)=>{var z=ae=>{try{re(y.next(ae))}catch(se){b(se)}},te=ae=>{try{re(y.throw(ae))}catch(se){b(se)}},re=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,te);re((y=y.apply(E,a)).next())});const{TabPane:I$}=At.default;var vZ=(E=>(E.All="",E.Shixun="shixun",E.VideoItem="video",E.Attachment="attachment",E.group_count="group_homework",E.normal_count="normal_homework",E.ExaminationBank="exercise",E.HomeworkCommon="hack_homework",E.Discusses="Discusses",E))(vZ||{});function hI(E){const a=(b,z)=>{if(b.localName===z)return b;for(let te=0,re=b;re=re.parentNode;te++){if(re.localName===z)return re;if(re==document.documentElement)return!1}},y=E.target,x=a(y,"a");if(console.log([x],x==null?void 0:x.href,44),!(x!=null&&x.href)&&y.tagName.toUpperCase()==="IMG"){let b=y.src||y.getAttribute("src");b&&b.indexOf("/images/avatars/User")===-1&&(E.stopPropagation(),E.preventDefault(),mt.Z.publish("preview-image",b))}}const mZ=E=>{var a=E,{pathsDetail:y,globalSetting:x,loading:b,dispatch:z}=a,te=hZ(a,["pathsDetail","globalSetting","loading","dispatch"]);const[re]=(0,be.useSearchParams)(),ae=(0,be.useParams)(),se=(0,Re.useRef)(),[fe,me]=(0,Re.useState)(""),[Se,Te]=(0,Re.useState)(1);(0,Re.useEffect)(()=>{re.get("tabs")&&Te(parseInt(re.get("tabs"))||3)},[re.get("tabs")]),(0,Re.useEffect)(()=>{if(se.current)return se.current.addEventListener("mousedown",hI),()=>{var We;(We=se.current)==null||We.removeEventListener("mousedown",hI)}},[se.current]),(0,Re.useEffect)(()=>{ae.pathId&&ke()},[ae.pathId]),(0,Re.useEffect)(()=>(z({type:"globalSetting/footerToggle",payload:!1}),()=>{z({type:"globalSetting/footerToggle",payload:!0})}),[]);const ke=()=>gZ(void 0,null,function*(){if(re.get("type")==="classrooms"){z({type:"pathsDetail/getCourseDetail",payload:fI({id:ae.pathId,knowledge:!0},(0,vt.oP)())});return}const We=yield z({type:"pathsDetail/getPathsDetail",payload:fI({id:ae.pathId,knowledge:!0},(0,vt.oP)())});We!=null&&We.id&&re.get("token")&&(location.href=location.pathname)});return L1.createElement(de.Z,{spinning:!1},L1.createElement("section",{id:"knowledgegraphDetail",className:ht.bg},L1.createElement(dt,null),L1.createElement(dZ,{activied:Se,setactivied:Te})))};var pZ=(0,be.connect)(({pathsDetail:E,loading:a,globalSetting:y})=>({pathsDetail:E,globalSetting:y,loading:a}))(mZ)},20736:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{BU:function(){return Ve},Dj:function(){return _e},gH:function(){return Re},vp:function(){return be}});function _e(Fe){try{Fe.mozRequestFullScreen?Fe.mozRequestFullScreen():Fe.webkitRequestFullScreen&&Fe.webkitRequestFullScreen()}catch(Ce){console.log(Ce,":e")}}function Ve(){window.top.document.webkitExitFullscreen?window.top.document.webkitExitFullscreen():document.exitFullscreen?window.top.document.exitFullscreen():document.msExitFullscreen?window.top.document.msExitFullscreen():document.mozCancelFullScreen&&window.top.document.mozCancelFullScreen()}const Re=()=>{if(document.webkitExitFullscreen)return"webkitfullscreenchange";if(document.exitFullscreen)return"fullscreenchange";if(document.msExitFullscreen)return"msfullscreenchange";if(document.mozCancelFullScreen)return"mozfullscreenchange"};function be(){var Fe=window.top.document.fullscreenElement||window.top.document.mozFullscreenElement||window.top.document.webkitFullscreenElement,Ce=document.fullscreenEnabled||document.mozFullscreenEnabled||document.webkitFullscreenEnabled;return console.log("fullscreenElement",Fe),window.isFullScreen?window.isFullScreen:Fe!=null}},82309:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{rX:function(){return ie},pW:function(){return ue},gy:function(){return ge},xY:function(){return he},O5:function(){return ce},tJ:function(){return de},o1:function(){return ee},Rd:function(){return oe}});var _e=Oe(24459),Ve=Oe(43418),Re=Oe(28103),be=Oe(8591),Fe=Oe(73898),Ce=Oe(88230),ve=Oe(87169),ye=Oe(25510),we="data:image/png;base64,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",De=Oe.p+"static/newqrcode.a8740efb.png",pe=Oe(32637),Ee=Oe(59301),Pe=(xe,Me,Be)=>new Promise((Ne,Ue)=>{var Ge=nt=>{try{Ye(Be.next(nt))}catch($e){Ue($e)}},Xe=nt=>{try{Ye(Be.throw(nt))}catch($e){Ue($e)}},Ye=nt=>nt.done?Ne(nt.value):Promise.resolve(nt.value).then(Ge,Xe);Ye((Be=Be.apply(xe,Me)).next())});const de=(xe,Me=!1)=>!!(ee(xe)&&ne(Me)),ee=xe=>(0,Fe.bg)()?!0:(xe({type:"user/showPopLogin",payload:{showPopLogin:!0,showClosable:!0}}),!1),ne=(xe=!1)=>{var Me;const{user:Be}=(0,_e.getDvaApp)()._store.getState();return(Me=Be.userInfo)!=null&&Me.profile_completed?!0:(Ve.default.confirm({title:"\u63D0\u793A",width:530,centered:!0,content:"\u60A8\u9700\u8981\u53BB\u5B8C\u5584\u60A8\u7684\u4E2A\u4EBA\u8D44\u6599\uFF0C\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD",okText:"\u7ACB\u5373\u5B8C\u5584",cancelText:"\u7A0D\u540E\u5B8C\u5584",onOk:()=>{(0,Ce.xg)("/account/profile/edit"),le()}}),!1)},le=()=>{Ve.default.success({title:"\u63D0\u793A",width:430,closable:!0,centered:!0,content:"\u5DF2\u5B8C\u5584\u4E2A\u4EBA\u8D44\u6599\uFF1F\u8BF7\u5237\u65B0\u9875\u9762",okText:"\u7ACB\u5373\u5237\u65B0",icon:null,onOk:()=>{location.reload()}})},oe=()=>{Ve.default.warning({title:"\u63D0\u793A",icon:null,width:400,content:Ee.createElement("div",{style:{textAlign:"center"}},Ee.createElement("div",{style:{color:"#191919",fontSize:14,marginBottom:15,textAlign:"left"}},"\u8001\u5E08\u60A8\u597D\uFF0C\u60A8\u7684\u8BFE\u5802\u8BD5\u7528\u671F\u5DF2\u7ED3\u675F\uFF0C\u76F8\u5173\u529F\u80FD\u88AB\u9650\u5236\u3002 \u5982\u9700\u7EE7\u7EED\u4F7F\u7528\uFF0C\u8BF7\u5C3D\u5FEB\u5BF9\u63A5\u4EBA\u5DE5\u652F\u6301\uFF01"),Ee.createElement("img",{style:{border:"1px solid #D8E3E9",width:190,height:180},src:pe}),Ee.createElement("div",{style:{color:"#666666",fontSize:14,marginTop:15}},"\u6DFB\u52A0\u5BA2\u670D\u4EBA\u5458\u5FAE\u4FE1\uFF0C\u83B7\u5F97\u66F4\u591A\u652F\u6301"))})},ce=()=>{var xe;const{user:Me}=(0,_e.getDvaApp)()._store.getState();return(xe=Me.userInfo)!=null&&xe.professional_certification?!0:(Ve.default.confirm({title:"\u63D0\u793A",centered:!0,content:Ee.createElement("div",{className:"tc"},"\u60A8\u9700\u8981\u53BB\u5B8C\u6210\u60A8\u7684\u804C\u4E1A\u8BA4\u8BC1\uFF0C\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD"),okText:"\u7ACB\u5373\u5B8C\u5584",cancelText:"\u7A0D\u540E\u5B8C\u5584",onOk:()=>{(0,Ce.xg)("/account/certification")}}),!1)},he=()=>(0,Fe.V9)()?!0:(Ve.default.warning({centered:!0,width:530,title:"\u63D0\u793A",content:Ee.createElement("div",{className:"tc",style:{marginLeft:-38}},Ee.createElement("p",null,"\u626B\u7801\u52A0\u52A9\u6559\uFF0C\u7533\u8BF7\u64CD\u4F5C\u6743\u9650"),Ee.createElement("img",{src:De,width:200})),okText:"\u6211\u77E5\u9053\u4E86",maskClosable:!0}),!1),ie=(xe,Me)=>xe?!0:(Ve.default.confirm({centered:!0,zIndex:1e4,width:530,title:"\u63D0\u793A",content:Ee.createElement("div",null,Ee.createElement("p",null,Me||"\u8BE5\u5B9E\u8DF5\u8D44\u6E90\u9700\u6388\u6743\u540E\u624D\u53EF\u4F7F\u7528\u3002 \u60A8\u53EF\u4EE5\u5728QQ\u670D\u52A1\u7FA4\u5411\u7BA1\u7406\u5458\u7533\u8BF7\uFF0C\u83B7\u5F97\u7EE7\u7EED\u64CD\u4F5C\u7684\u6743\u9650\u3002"),Ee.createElement("div",{style:{marginLeft:"110px"}},Ee.createElement("img",{src:we,width:200}),Ee.createElement("div",{style:{marginLeft:"35px"}},"\u7FA4\u53F7\uFF1A","714336072"))),okText:"\u7ACB\u5373\u8054\u7CFB",cancelText:"\u53D6\u6D88",onOk:()=>{(0,Ce.xg)("https://qm.qq.com/cgi-bin/qm/qr?k=tIyDPXUtE0yEk-MOJxhH55lTUJS-nYAM&jump_from=webapi")}}),!1),ue=xe=>{Ve.default.info({title:"\u8054\u7CFB\u5E73\u53F0\u8FD0\u8425",icon:null,width:615,centered:!0,content:Ee.createElement("div",null,Ee.createElement("div",null,Ee.createElement("p",{style:{color:"#191919",fontWeight:400,fontSize:14}},"\u201C\u4FDD\u5B58\u5B9E\u9A8C\u4E34\u65F6\u6570\u636E\u201D\u529F\u80FD\u4E3A\u4ED8\u8D39\u529F\u80FD\uFF0C\u8BF7\u8054\u7CFB\u5E73\u53F0\u8FD0\u8425\u8FDB\u884C\u5F00\u901A\u3002"),Ee.createElement(Re.Z,null),Ee.createElement("p",{style:{color:"#666666",fontSize:12}}," ",Ee.createElement("span",{style:{display:"inline-flex",width:14,height:14,borderRadius:2,background:"#F3F3F3",justifyContent:"center",color:"#666666",fontSize:12,lineHeight:"14px",marginRight:8}},"1")," \u56E0\u5E73\u53F0\u7684\u5B9E\u9A8C\u6570\u636E\u50A8\u5B58\u5BB9\u91CF\u548C\u6210\u672C\u6D88\u8017\u8F83\u5927\uFF0C\u5B9E\u8DF5\u9879\u76EE\u9ED8\u8BA4\u4FDD\u5B58\u5B9E\u9A8C\u73AF\u5883\u4E2D\u4E34\u65F6\u6570\u636E ",Ee.createElement("a",null,xe),"\u5929\u3002"),Ee.createElement("p",{style:{color:"#666666",fontSize:12}}," ",Ee.createElement("span",{style:{display:"inline-flex",width:14,height:14,borderRadius:2,background:"#F3F3F3",justifyContent:"center",color:"#666666",fontSize:12,lineHeight:"14px",marginRight:8}},"2"),"\u82E5\u60A8\u9700\u8981\u4E2A\u6027\u5316\u7684\u6570\u636E\u4FDD\u5B58\u5468\u671F\u670D\u52A1\uFF0C\u6211\u4EEC\u53EF\u4EE5\u63D0\u4F9B\u76F8\u5173\u6280\u672F\u652F\u6301\uFF0C\u5E76\u6839\u636E\u60A8\u7684\u9700\u6C42\u6536\u53D6\u5B9A\u5236\u8D39\u7528\u3002")),Ee.createElement("div",{style:{textAlign:"center",marginTop:30}},Ee.createElement("img",{style:{border:"4px solid #0152d9",borderRadius:"4px"},src:ye,alt:"\u4E8C\u7EF4\u7801",width:160})))})},ge=(xe,Me="")=>{const{shixunsDetail:{detail:Be}}=(0,_e.getDvaApp)()._store.getState();if((Be==null?void 0:Be.public)===2||(Be==null?void 0:Be.public)===1||(Be==null?void 0:Be.shixun_status)===3){let Ne="";return(Be==null?void 0:Be.public)===2&&(Ne="\u5DF2\u516C\u5F00"),(Be==null?void 0:Be.public)===1&&(Ne="\u5F85\u5BA1\u6838"),(Be==null?void 0:Be.shixun_status)===3&&(Ne="\u5DF2\u5173\u95ED"),Ve.default.info({centered:!0,icon:Ee.createElement(ve.Z,{style:{color:"#faad14"}}),width:460,title:"\u63D0\u793A",content:Ee.createElement("div",{className:"tc",style:{marginLeft:-38}},Ee.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",paddingLeft:38,margin:"12px 0"}},Ee.createElement("span",null,"\u8BE5\u5B9E\u8DF5\u9879\u76EE\u7684\u72B6\u6001\u4E3A",Ne,"\uFF0C",Me,"\u3002"),Ee.createElement("p",null,"\u5982\u6709\u9700\u8981\uFF0C\u8BF7\u8054\u7CFB\u5E73\u53F0\u7BA1\u7406\u5458\u8FDB\u884C\u6280\u672F\u652F\u6301\u3002")),Ee.createElement("img",{style:{border:"4px solid #0152d9",borderRadius:"4px"},src:ye,alt:"\u4E8C\u7EF4\u7801",width:160})),okText:"\u6211\u77E5\u9053\u4E86"}),!0}return(Be==null?void 0:Be.shixun_status)===2?(Ve.default.confirm({centered:!0,icon:Ee.createElement(ve.Z,null),title:"\u63D0\u793A",content:Ee.createElement("div",null,Ee.createElement("span",null,"\u8BE5\u5B9E\u8DF5\u9879\u76EE\u5DF2\u53D1\u5E03\uFF0C",Me,"\u3002"),Ee.createElement("br",null),Ee.createElement("span",null,"\u5982\u6709\u9700\u8981\uFF0C\u60A8\u53EF\u4EE5\u64A4\u9500\u53D1\u5E03\u540E\uFF0C\u518D\u8FDB\u884C\u64CD\u4F5C\u3002")),okText:"\u64A4\u9500\u53D1\u5E03",cancelText:"\u53D6\u6D88",onOk:()=>{Ve.default.confirm({width:440,centered:!0,icon:Ee.createElement(ve.Z,{style:{color:"#faad14"}}),title:"\u63D0\u793A",content:"\u64A4\u9500\u53D1\u5E03\u540E\uFF0C\u5B66\u5458\u5C06\u65E0\u6CD5\u8FDB\u884C\u7EC3\u4E60\u3002\u662F\u5426\u786E\u8BA4\u64A4\u9500\u53D1\u5E03\uFF1F",okText:"\u786E\u5B9A\u64A4\u9500\u53D1\u5E03",cancelText:"\u53D6\u6D88",onOk:()=>Pe(void 0,null,function*(){(yield xe({type:"shixunsDetail/cancelRelease",payload:{id:Be==null?void 0:Be.identifier}})).status!==401&&(be.ZP.success("\u64A4\u9500\u53D1\u5E03\u6210\u529F\u3002\u5B9E\u8BAD\u56DE\u5230\u672A\u53D1\u5E03\u7684\u72B6\u6001\u3002"),xe({type:"shixunsDetail/getShixunsDetail",payload:{id:Be==null?void 0:Be.identifier}}),xe({type:"practiceSetting/getCommonData",payload:{id:Be==null?void 0:Be.identifier}}))})})}}),!0):!1}},44860:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return Fr}});class _e{static install(){Object.setPrototypeOf=Object.setPrototypeOf||function(Ae,Le){return Ae.__proto__=Le,Ae},Object.assign=Object.assign||function(Ae){if(Ae==null)throw new TypeError("Cannot convert undefined or null to object");let Le=Object(Ae);for(let Ie=1;Ie<arguments.length;Ie++){let ze=arguments[Ie];if(ze!=null)for(let Ze in ze)ze.hasOwnProperty(Ze)&&(Le[Ze]=ze[Ze])}return Le},typeof self.Promise!="function"&&Oe(3867).polyfill()}}_e.install();var Ve=_e,Re=Oe(86204),be=Oe.n(Re);class Fe{static e(Ae,Le){(!Ae||Fe.FORCE_GLOBAL_TAG)&&(Ae=Fe.GLOBAL_TAG);let Ie=`[${Ae}] > ${Le}`;Fe.ENABLE_CALLBACK&&Fe.emitter.emit("log","error",Ie),Fe.ENABLE_ERROR&&(console.error?console.error(Ie):console.warn?console.warn(Ie):console.log(Ie))}static i(Ae,Le){(!Ae||Fe.FORCE_GLOBAL_TAG)&&(Ae=Fe.GLOBAL_TAG);let Ie=`[${Ae}] > ${Le}`;Fe.ENABLE_CALLBACK&&Fe.emitter.emit("log","info",Ie),Fe.ENABLE_INFO&&(console.info?console.info(Ie):console.log(Ie))}static w(Ae,Le){(!Ae||Fe.FORCE_GLOBAL_TAG)&&(Ae=Fe.GLOBAL_TAG);let Ie=`[${Ae}] > ${Le}`;Fe.ENABLE_CALLBACK&&Fe.emitter.emit("log","warn",Ie),Fe.ENABLE_WARN&&(console.warn?console.warn(Ie):console.log(Ie))}static d(Ae,Le){(!Ae||Fe.FORCE_GLOBAL_TAG)&&(Ae=Fe.GLOBAL_TAG);let Ie=`[${Ae}] > ${Le}`;Fe.ENABLE_CALLBACK&&Fe.emitter.emit("log","debug",Ie),Fe.ENABLE_DEBUG&&(console.debug?console.debug(Ie):console.log(Ie))}static v(Ae,Le){(!Ae||Fe.FORCE_GLOBAL_TAG)&&(Ae=Fe.GLOBAL_TAG);let Ie=`[${Ae}] > ${Le}`;Fe.ENABLE_CALLBACK&&Fe.emitter.emit("log","verbose",Ie),Fe.ENABLE_VERBOSE&&console.log(Ie)}}Fe.GLOBAL_TAG="flv.js",Fe.FORCE_GLOBAL_TAG=!1,Fe.ENABLE_ERROR=!0,Fe.ENABLE_INFO=!0,Fe.ENABLE_WARN=!0,Fe.ENABLE_DEBUG=!0,Fe.ENABLE_VERBOSE=!0,Fe.ENABLE_CALLBACK=!1,Fe.emitter=new(be());var Ce=Fe;class ve{constructor(){this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}reset(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0}addBytes(Ae){this._firstCheckpoint===0?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=Ae,this._totalBytes+=Ae):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=Ae,this._totalBytes+=Ae):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=Ae,this._totalBytes+=Ae,this._lastCheckpoint=this._now())}get currentKBps(){this.addBytes(0);let Ae=(this._now()-this._lastCheckpoint)/1e3;return Ae==0&&(Ae=1),this._intervalBytes/Ae/1024}get lastSecondKBps(){return this.addBytes(0),this._lastSecondBytes!==0?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0}get averageKBps(){let Ae=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/Ae/1024}}var ye=ve;class we{constructor(Ae){this._message=Ae}get name(){return"RuntimeException"}get message(){return this._message}toString(){return this.name+": "+this.message}}class De extends we{constructor(Ae){super(Ae)}get name(){return"IllegalStateException"}}class pe extends we{constructor(Ae){super(Ae)}get name(){return"InvalidArgumentException"}}class Ee extends we{constructor(Ae){super(Ae)}get name(){return"NotImplementedException"}}const Pe={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4},de={OK:"OK",EXCEPTION:"Exception",HTTP_STATUS_CODE_INVALID:"HttpStatusCodeInvalid",CONNECTING_TIMEOUT:"ConnectingTimeout",EARLY_EOF:"EarlyEof",UNRECOVERABLE_EARLY_EOF:"UnrecoverableEarlyEof"};class ee{constructor(Ae){this._type=Ae||"undefined",this._status=Pe.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}destroy(){this._status=Pe.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}isWorking(){return this._status===Pe.kConnecting||this._status===Pe.kBuffering}get type(){return this._type}get status(){return this._status}get needStashBuffer(){return this._needStash}get onContentLengthKnown(){return this._onContentLengthKnown}set onContentLengthKnown(Ae){this._onContentLengthKnown=Ae}get onURLRedirect(){return this._onURLRedirect}set onURLRedirect(Ae){this._onURLRedirect=Ae}get onDataArrival(){return this._onDataArrival}set onDataArrival(Ae){this._onDataArrival=Ae}get onError(){return this._onError}set onError(Ae){this._onError=Ae}get onComplete(){return this._onComplete}set onComplete(Ae){this._onComplete=Ae}open(Ae,Le){throw new Ee("Unimplemented abstract function!")}abort(){throw new Ee("Unimplemented abstract function!")}}let ne={};function le(){let pt=self.navigator.userAgent.toLowerCase(),Ae=/(edge)\/([\w.]+)/.exec(pt)||/(opr)[\/]([\w.]+)/.exec(pt)||/(chrome)[ \/]([\w.]+)/.exec(pt)||/(iemobile)[\/]([\w.]+)/.exec(pt)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(pt)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(pt)||/(webkit)[ \/]([\w.]+)/.exec(pt)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(pt)||/(msie) ([\w.]+)/.exec(pt)||pt.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(pt)||pt.indexOf("compatible")<0&&/(firefox)[ \/]([\w.]+)/.exec(pt)||[],Le=/(ipad)/.exec(pt)||/(ipod)/.exec(pt)||/(windows phone)/.exec(pt)||/(iphone)/.exec(pt)||/(kindle)/.exec(pt)||/(android)/.exec(pt)||/(windows)/.exec(pt)||/(mac)/.exec(pt)||/(linux)/.exec(pt)||/(cros)/.exec(pt)||[],Ie={browser:Ae[5]||Ae[3]||Ae[1]||"",version:Ae[2]||Ae[4]||"0",majorVersion:Ae[4]||Ae[2]||"0",platform:Le[0]||""},ze={};if(Ie.browser){ze[Ie.browser]=!0;let Ze=Ie.majorVersion.split(".");ze.version={major:parseInt(Ie.majorVersion,10),string:Ie.version},Ze.length>1&&(ze.version.minor=parseInt(Ze[1],10)),Ze.length>2&&(ze.version.build=parseInt(Ze[2],10))}if(Ie.platform&&(ze[Ie.platform]=!0),(ze.chrome||ze.opr||ze.safari)&&(ze.webkit=!0),ze.rv||ze.iemobile){ze.rv&&delete ze.rv;let Ze="msie";Ie.browser=Ze,ze[Ze]=!0}if(ze.edge){delete ze.edge;let Ze="msedge";Ie.browser=Ze,ze[Ze]=!0}if(ze.opr){let Ze="opera";Ie.browser=Ze,ze[Ze]=!0}if(ze.safari&&ze.android){let Ze="android";Ie.browser=Ze,ze[Ze]=!0}ze.name=Ie.browser,ze.platform=Ie.platform;for(let Ze in ne)ne.hasOwnProperty(Ze)&&delete ne[Ze];Object.assign(ne,ze)}le();var oe=ne;class ce extends ee{static isSupported(){try{let Ae=oe.msedge&&oe.version.minor>=15048,Le=oe.msedge?Ae:!0;return self.fetch&&self.ReadableStream&&Le}catch(Ae){return!1}}constructor(Ae,Le){super("fetch-stream-loader"),this.TAG="FetchStreamLoader",this._seekHandler=Ae,this._config=Le,this._needStash=!0,this._requestAbort=!1,this._contentLength=null,this._receivedLength=0}destroy(){this.isWorking()&&this.abort(),super.destroy()}open(Ae,Le){this._dataSource=Ae,this._range=Le;let Ie=Ae.url;this._config.reuseRedirectedURL&&Ae.redirectedURL!=null&&(Ie=Ae.redirectedURL);let ze=this._seekHandler.getConfig(Ie,Le),Ze=new self.Headers;if(typeof ze.headers=="object"){let bt=ze.headers;for(let Yt in bt)bt.hasOwnProperty(Yt)&&Ze.append(Yt,bt[Yt])}let xt={method:"GET",headers:Ze,mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade"};if(typeof this._config.headers=="object")for(let bt in this._config.headers)Ze.append(bt,this._config.headers[bt]);Ae.cors===!1&&(xt.mode="same-origin"),Ae.withCredentials&&(xt.credentials="include"),Ae.referrerPolicy&&(xt.referrerPolicy=Ae.referrerPolicy),this._status=Pe.kConnecting,self.fetch(ze.url,xt).then(bt=>{if(this._requestAbort){this._requestAbort=!1,this._status=Pe.kIdle;return}if(bt.ok&&bt.status>=200&&bt.status<=299){if(bt.url!==ze.url&&this._onURLRedirect){let Ht=this._seekHandler.removeURLParameters(bt.url);this._onURLRedirect(Ht)}let Yt=bt.headers.get("Content-Length");return Yt!=null&&(this._contentLength=parseInt(Yt),this._contentLength!==0&&this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)),this._pump.call(this,bt.body.getReader())}else if(this._status=Pe.kError,this._onError)this._onError(de.HTTP_STATUS_CODE_INVALID,{code:bt.status,msg:bt.statusText});else throw new we("FetchStreamLoader: Http code invalid, "+bt.status+" "+bt.statusText)}).catch(bt=>{if(this._status=Pe.kError,this._onError)this._onError(de.EXCEPTION,{code:-1,msg:bt.message});else throw bt})}abort(){this._requestAbort=!0}_pump(Ae){return Ae.read().then(Le=>{if(Le.done)if(this._contentLength!==null&&this._receivedLength<this._contentLength){this._status=Pe.kError;let Ie=de.EARLY_EOF,ze={code:-1,msg:"Fetch stream meet Early-EOF"};if(this._onError)this._onError(Ie,ze);else throw new we(ze.msg)}else this._status=Pe.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1);else{if(this._requestAbort===!0)return this._requestAbort=!1,this._status=Pe.kComplete,Ae.cancel();this._status=Pe.kBuffering;let Ie=Le.value.buffer,ze=this._range.from+this._receivedLength;this._receivedLength+=Ie.byteLength,this._onDataArrival&&this._onDataArrival(Ie,ze,this._receivedLength),this._pump(Ae)}}).catch(Le=>{if(Le.code===11&&oe.msedge)return;this._status=Pe.kError;let Ie=0,ze=null;if((Le.code===19||Le.message==="network error")&&(this._contentLength===null||this._contentLength!==null&&this._receivedLength<this._contentLength)?(Ie=de.EARLY_EOF,ze={code:Le.code,msg:"Fetch stream meet Early-EOF"}):(Ie=de.EXCEPTION,ze={code:Le.code,msg:Le.message}),this._onError)this._onError(Ie,ze);else throw new we(ze.msg)})}}var he=ce;class ie extends ee{static isSupported(){try{let Ae=new XMLHttpRequest;return Ae.open("GET","https://example.com",!0),Ae.responseType="moz-chunked-arraybuffer",Ae.responseType==="moz-chunked-arraybuffer"}catch(Ae){return Ce.w("MozChunkedLoader",Ae.message),!1}}constructor(Ae,Le){super("xhr-moz-chunked-loader"),this.TAG="MozChunkedLoader",this._seekHandler=Ae,this._config=Le,this._needStash=!0,this._xhr=null,this._requestAbort=!1,this._contentLength=null,this._receivedLength=0}destroy(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onloadend=null,this._xhr.onerror=null,this._xhr=null),super.destroy()}open(Ae,Le){this._dataSource=Ae,this._range=Le;let Ie=Ae.url;this._config.reuseRedirectedURL&&Ae.redirectedURL!=null&&(Ie=Ae.redirectedURL);let ze=this._seekHandler.getConfig(Ie,Le);this._requestURL=ze.url;let Ze=this._xhr=new XMLHttpRequest;if(Ze.open("GET",ze.url,!0),Ze.responseType="moz-chunked-arraybuffer",Ze.onreadystatechange=this._onReadyStateChange.bind(this),Ze.onprogress=this._onProgress.bind(this),Ze.onloadend=this._onLoadEnd.bind(this),Ze.onerror=this._onXhrError.bind(this),Ae.withCredentials&&(Ze.withCredentials=!0),typeof ze.headers=="object"){let xt=ze.headers;for(let bt in xt)xt.hasOwnProperty(bt)&&Ze.setRequestHeader(bt,xt[bt])}if(typeof this._config.headers=="object"){let xt=this._config.headers;for(let bt in xt)xt.hasOwnProperty(bt)&&Ze.setRequestHeader(bt,xt[bt])}this._status=Pe.kConnecting,Ze.send()}abort(){this._requestAbort=!0,this._xhr&&this._xhr.abort(),this._status=Pe.kComplete}_onReadyStateChange(Ae){let Le=Ae.target;if(Le.readyState===2){if(Le.responseURL!=null&&Le.responseURL!==this._requestURL&&this._onURLRedirect){let Ie=this._seekHandler.removeURLParameters(Le.responseURL);this._onURLRedirect(Ie)}if(Le.status!==0&&(Le.status<200||Le.status>299))if(this._status=Pe.kError,this._onError)this._onError(de.HTTP_STATUS_CODE_INVALID,{code:Le.status,msg:Le.statusText});else throw new we("MozChunkedLoader: Http code invalid, "+Le.status+" "+Le.statusText);else this._status=Pe.kBuffering}}_onProgress(Ae){if(this._status===Pe.kError)return;this._contentLength===null&&Ae.total!==null&&Ae.total!==0&&(this._contentLength=Ae.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));let Le=Ae.target.response,Ie=this._range.from+this._receivedLength;this._receivedLength+=Le.byteLength,this._onDataArrival&&this._onDataArrival(Le,Ie,this._receivedLength)}_onLoadEnd(Ae){if(this._requestAbort===!0){this._requestAbort=!1;return}else if(this._status===Pe.kError)return;this._status=Pe.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1)}_onXhrError(Ae){this._status=Pe.kError;let Le=0,Ie=null;if(this._contentLength&&Ae.loaded<this._contentLength?(Le=de.EARLY_EOF,Ie={code:-1,msg:"Moz-Chunked stream meet Early-Eof"}):(Le=de.EXCEPTION,Ie={code:-1,msg:Ae.constructor.name+" "+Ae.type}),this._onError)this._onError(Le,Ie);else throw new we(Ie.msg)}}var ue=ie;class ge extends null{static isSupported(){try{if(typeof self.MSStream=="undefined"||typeof self.MSStreamReader=="undefined")return!1;let Ae=new XMLHttpRequest;return Ae.open("GET","https://example.com",!0),Ae.responseType="ms-stream",Ae.responseType==="ms-stream"}catch(Ae){return Log.w("MSStreamLoader",Ae.message),!1}}constructor(Ae,Le){super("xhr-msstream-loader"),this.TAG="MSStreamLoader",this._seekHandler=Ae,this._config=Le,this._needStash=!0,this._xhr=null,this._reader=null,this._totalRange=null,this._currentRange=null,this._currentRequestURL=null,this._currentRedirectedURL=null,this._contentLength=null,this._receivedLength=0,this._bufferLimit=16*1024*1024,this._lastTimeBufferSize=0,this._isReconnecting=!1}destroy(){this.isWorking()&&this.abort(),this._reader&&(this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr=null),super.destroy()}open(Ae,Le){this._internalOpen(Ae,Le,!1)}_internalOpen(Ae,Le,Ie){this._dataSource=Ae,Ie?this._currentRange=Le:this._totalRange=Le;let ze=Ae.url;this._config.reuseRedirectedURL&&(this._currentRedirectedURL!=null?ze=this._currentRedirectedURL:Ae.redirectedURL!=null&&(ze=Ae.redirectedURL));let Ze=this._seekHandler.getConfig(ze,Le);this._currentRequestURL=Ze.url;let xt=this._reader=new self.MSStreamReader;xt.onprogress=this._msrOnProgress.bind(this),xt.onload=this._msrOnLoad.bind(this),xt.onerror=this._msrOnError.bind(this);let bt=this._xhr=new XMLHttpRequest;if(bt.open("GET",Ze.url,!0),bt.responseType="ms-stream",bt.onreadystatechange=this._xhrOnReadyStateChange.bind(this),bt.onerror=this._xhrOnError.bind(this),Ae.withCredentials&&(bt.withCredentials=!0),typeof Ze.headers=="object"){let Yt=Ze.headers;for(let Ht in Yt)Yt.hasOwnProperty(Ht)&&bt.setRequestHeader(Ht,Yt[Ht])}if(typeof this._config.headers=="object"){let Yt=this._config.headers;for(let Ht in Yt)Yt.hasOwnProperty(Ht)&&bt.setRequestHeader(Ht,Yt[Ht])}this._isReconnecting?this._isReconnecting=!1:this._status=LoaderStatus.kConnecting,bt.send()}abort(){this._internalAbort(),this._status=LoaderStatus.kComplete}_internalAbort(){this._reader&&(this._reader.readyState===1&&this._reader.abort(),this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.abort(),this._xhr.onreadystatechange=null,this._xhr=null)}_xhrOnReadyStateChange(Ae){let Le=Ae.target;if(Le.readyState===2)if(Le.status>=200&&Le.status<=299){if(this._status=LoaderStatus.kBuffering,Le.responseURL!=null){let ze=this._seekHandler.removeURLParameters(Le.responseURL);Le.responseURL!==this._currentRequestURL&&ze!==this._currentRedirectedURL&&(this._currentRedirectedURL=ze,this._onURLRedirect&&this._onURLRedirect(ze))}let Ie=Le.getResponseHeader("Content-Length");if(Ie!=null&&this._contentLength==null){let ze=parseInt(Ie);ze>0&&(this._contentLength=ze,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength))}}else if(this._status=LoaderStatus.kError,this._onError)this._onError(LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:Le.status,msg:Le.statusText});else throw new RuntimeException("MSStreamLoader: Http code invalid, "+Le.status+" "+Le.statusText);else if(Le.readyState===3&&Le.status>=200&&Le.status<=299){this._status=LoaderStatus.kBuffering;let Ie=Le.response;this._reader.readAsArrayBuffer(Ie)}}_xhrOnError(Ae){this._status=LoaderStatus.kError;let Le=LoaderErrors.EXCEPTION,Ie={code:-1,msg:Ae.constructor.name+" "+Ae.type};if(this._onError)this._onError(Le,Ie);else throw new RuntimeException(Ie.msg)}_msrOnProgress(Ae){let Ie=Ae.target.result;if(Ie==null){this._doReconnectIfNeeded();return}let ze=Ie.slice(this._lastTimeBufferSize);this._lastTimeBufferSize=Ie.byteLength;let Ze=this._totalRange.from+this._receivedLength;this._receivedLength+=ze.byteLength,this._onDataArrival&&this._onDataArrival(ze,Ze,this._receivedLength),Ie.byteLength>=this._bufferLimit&&(Log.v(this.TAG,`MSStream buffer exceeded max size near ${Ze+ze.byteLength}, reconnecting...`),this._doReconnectIfNeeded())}_doReconnectIfNeeded(){if(this._contentLength==null||this._receivedLength<this._contentLength){this._isReconnecting=!0,this._lastTimeBufferSize=0,this._internalAbort();let Ae={from:this._totalRange.from+this._receivedLength,to:-1};this._internalOpen(this._dataSource,Ae,!0)}}_msrOnLoad(Ae){this._status=LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._totalRange.from,this._totalRange.from+this._receivedLength-1)}_msrOnError(Ae){this._status=LoaderStatus.kError;let Le=0,Ie=null;if(this._contentLength&&this._receivedLength<this._contentLength?(Le=LoaderErrors.EARLY_EOF,Ie={code:-1,msg:"MSStream meet Early-Eof"}):(Le=LoaderErrors.EARLY_EOF,Ie={code:-1,msg:Ae.constructor.name+" "+Ae.type}),this._onError)this._onError(Le,Ie);else throw new RuntimeException(Ie.msg)}}var xe=null;class Me extends ee{static isSupported(){try{let Ae=new XMLHttpRequest;return Ae.open("GET","https://example.com",!0),Ae.responseType="arraybuffer",Ae.responseType==="arraybuffer"}catch(Ae){return Ce.w("RangeLoader",Ae.message),!1}}constructor(Ae,Le){super("xhr-range-loader"),this.TAG="RangeLoader",this._seekHandler=Ae,this._config=Le,this._needStash=!1,this._chunkSizeKBList=[128,256,384,512,768,1024,1536,2048,3072,4096,5120,6144,7168,8192],this._currentChunkSizeKB=384,this._currentSpeedNormalized=0,this._zeroSpeedChunkCount=0,this._xhr=null,this._speedSampler=new ye,this._requestAbort=!1,this._waitForTotalLength=!1,this._totalLengthReceived=!1,this._currentRequestURL=null,this._currentRedirectedURL=null,this._currentRequestRange=null,this._totalLength=null,this._contentLength=null,this._receivedLength=0,this._lastTimeLoaded=0}destroy(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr=null),super.destroy()}get currentSpeed(){return this._speedSampler.lastSecondKBps}open(Ae,Le){this._dataSource=Ae,this._range=Le,this._status=Pe.kConnecting;let Ie=!1;this._dataSource.filesize!=null&&this._dataSource.filesize!==0&&(Ie=!0,this._totalLength=this._dataSource.filesize),!this._totalLengthReceived&&!Ie?(this._waitForTotalLength=!0,this._internalOpen(this._dataSource,{from:0,to:-1})):this._openSubRange()}_openSubRange(){let Ae=this._currentChunkSizeKB*1024,Le=this._range.from+this._receivedLength,Ie=Le+Ae;this._contentLength!=null&&Ie-this._range.from>=this._contentLength&&(Ie=this._range.from+this._contentLength-1),this._currentRequestRange={from:Le,to:Ie},this._internalOpen(this._dataSource,this._currentRequestRange)}_internalOpen(Ae,Le){this._lastTimeLoaded=0;let Ie=Ae.url;this._config.reuseRedirectedURL&&(this._currentRedirectedURL!=null?Ie=this._currentRedirectedURL:Ae.redirectedURL!=null&&(Ie=Ae.redirectedURL));let ze=this._seekHandler.getConfig(Ie,Le);this._currentRequestURL=ze.url;let Ze=this._xhr=new XMLHttpRequest;if(Ze.open("GET",ze.url,!0),Ze.responseType="arraybuffer",Ze.onreadystatechange=this._onReadyStateChange.bind(this),Ze.onprogress=this._onProgress.bind(this),Ze.onload=this._onLoad.bind(this),Ze.onerror=this._onXhrError.bind(this),Ae.withCredentials&&(Ze.withCredentials=!0),typeof ze.headers=="object"){let xt=ze.headers;for(let bt in xt)xt.hasOwnProperty(bt)&&Ze.setRequestHeader(bt,xt[bt])}if(typeof this._config.headers=="object"){let xt=this._config.headers;for(let bt in xt)xt.hasOwnProperty(bt)&&Ze.setRequestHeader(bt,xt[bt])}Ze.send()}abort(){this._requestAbort=!0,this._internalAbort(),this._status=Pe.kComplete}_internalAbort(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)}_onReadyStateChange(Ae){let Le=Ae.target;if(Le.readyState===2){if(Le.responseURL!=null){let Ie=this._seekHandler.removeURLParameters(Le.responseURL);Le.responseURL!==this._currentRequestURL&&Ie!==this._currentRedirectedURL&&(this._currentRedirectedURL=Ie,this._onURLRedirect&&this._onURLRedirect(Ie))}if(Le.status>=200&&Le.status<=299){if(this._waitForTotalLength)return;this._status=Pe.kBuffering}else if(this._status=Pe.kError,this._onError)this._onError(de.HTTP_STATUS_CODE_INVALID,{code:Le.status,msg:Le.statusText});else throw new we("RangeLoader: Http code invalid, "+Le.status+" "+Le.statusText)}}_onProgress(Ae){if(this._status===Pe.kError)return;if(this._contentLength===null){let Ie=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,Ie=!0;let ze=Ae.total;this._internalAbort(),ze!=null&ze!==0&&(this._totalLength=ze)}if(this._range.to===-1?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,Ie){this._openSubRange();return}this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}let Le=Ae.loaded-this._lastTimeLoaded;this._lastTimeLoaded=Ae.loaded,this._speedSampler.addBytes(Le)}_normalizeSpeed(Ae){let Le=this._chunkSizeKBList,Ie=Le.length-1,ze=0,Ze=0,xt=Ie;if(Ae<Le[0])return Le[0];for(;Ze<=xt;){if(ze=Ze+Math.floor((xt-Ze)/2),ze===Ie||Ae>=Le[ze]&&Ae<Le[ze+1])return Le[ze];Le[ze]<Ae?Ze=ze+1:xt=ze-1}}_onLoad(Ae){if(this._status===Pe.kError)return;if(this._waitForTotalLength){this._waitForTotalLength=!1;return}this._lastTimeLoaded=0;let Le=this._speedSampler.lastSecondKBps;if(Le===0&&(this._zeroSpeedChunkCount++,this._zeroSpeedChunkCount>=3&&(Le=this._speedSampler.currentKBps)),Le!==0){let xt=this._normalizeSpeed(Le);this._currentSpeedNormalized!==xt&&(this._currentSpeedNormalized=xt,this._currentChunkSizeKB=xt)}let Ie=Ae.target.response,ze=this._range.from+this._receivedLength;this._receivedLength+=Ie.byteLength;let Ze=!1;this._contentLength!=null&&this._receivedLength<this._contentLength?this._openSubRange():Ze=!0,this._onDataArrival&&this._onDataArrival(Ie,ze,this._receivedLength),Ze&&(this._status=Pe.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1))}_onXhrError(Ae){this._status=Pe.kError;let Le=0,Ie=null;if(this._contentLength&&this._receivedLength>0&&this._receivedLength<this._contentLength?(Le=de.EARLY_EOF,Ie={code:-1,msg:"RangeLoader meet Early-Eof"}):(Le=de.EXCEPTION,Ie={code:-1,msg:Ae.constructor.name+" "+Ae.type}),this._onError)this._onError(Le,Ie);else throw new we(Ie.msg)}}var Be=Me;class Ne extends ee{static isSupported(){try{return typeof self.WebSocket!="undefined"}catch(Ae){return!1}}constructor(){super("websocket-loader"),this.TAG="WebSocketLoader",this._needStash=!0,this._ws=null,this._requestAbort=!1,this._receivedLength=0}destroy(){this._ws&&this.abort(),super.destroy()}open(Ae){try{let Le=this._ws=new self.WebSocket(Ae.url);Le.binaryType="arraybuffer",Le.onopen=this._onWebSocketOpen.bind(this),Le.onclose=this._onWebSocketClose.bind(this),Le.onmessage=this._onWebSocketMessage.bind(this),Le.onerror=this._onWebSocketError.bind(this),this._status=Pe.kConnecting}catch(Le){this._status=Pe.kError;let Ie={code:Le.code,msg:Le.message};if(this._onError)this._onError(de.EXCEPTION,Ie);else throw new we(Ie.msg)}}abort(){let Ae=this._ws;Ae&&(Ae.readyState===0||Ae.readyState===1)&&(this._requestAbort=!0,Ae.close()),this._ws=null,this._status=Pe.kComplete}_onWebSocketOpen(Ae){this._status=Pe.kBuffering}_onWebSocketClose(Ae){if(this._requestAbort===!0){this._requestAbort=!1;return}this._status=Pe.kComplete,this._onComplete&&this._onComplete(0,this._receivedLength-1)}_onWebSocketMessage(Ae){if(Ae.data instanceof ArrayBuffer)this._dispatchArrayBuffer(Ae.data);else if(Ae.data instanceof Blob){let Le=new FileReader;Le.onload=()=>{this._dispatchArrayBuffer(Le.result)},Le.readAsArrayBuffer(Ae.data)}else{this._status=Pe.kError;let Le={code:-1,msg:"Unsupported WebSocket message type: "+Ae.data.constructor.name};if(this._onError)this._onError(de.EXCEPTION,Le);else throw new we(Le.msg)}}_dispatchArrayBuffer(Ae){let Le=Ae,Ie=this._receivedLength;this._receivedLength+=Le.byteLength,this._onDataArrival&&this._onDataArrival(Le,Ie,this._receivedLength)}_onWebSocketError(Ae){this._status=Pe.kError;let Le={code:Ae.code,msg:Ae.message};if(this._onError)this._onError(de.EXCEPTION,Le);else throw new we(Le.msg)}}var Ue=Ne;class Ge{constructor(Ae){this._zeroStart=Ae||!1}getConfig(Ae,Le){let Ie={};if(Le.from!==0||Le.to!==-1){let ze;Le.to!==-1?ze=`bytes=${Le.from.toString()}-${Le.to.toString()}`:ze=`bytes=${Le.from.toString()}-`,Ie.Range=ze}else this._zeroStart&&(Ie.Range="bytes=0-");return{url:Ae,headers:Ie}}removeURLParameters(Ae){return Ae}}var Xe=Ge;class Ye{constructor(Ae,Le){this._startName=Ae,this._endName=Le}getConfig(Ae,Le){let Ie=Ae;if(Le.from!==0||Le.to!==-1){let ze=!0;Ie.indexOf("?")===-1&&(Ie+="?",ze=!1),ze&&(Ie+="&"),Ie+=`${this._startName}=${Le.from.toString()}`,Le.to!==-1&&(Ie+=`&${this._endName}=${Le.to.toString()}`)}return{url:Ie,headers:{}}}removeURLParameters(Ae){let Le=Ae.split("?")[0],Ie,ze=Ae.indexOf("?");ze!==-1&&(Ie=Ae.substring(ze+1));let Ze="";if(Ie!=null&&Ie.length>0){let xt=Ie.split("&");for(let bt=0;bt<xt.length;bt++){let Yt=xt[bt].split("="),Ht=bt>0;Yt[0]!==this._startName&&Yt[0]!==this._endName&&(Ht&&(Ze+="&"),Ze+=xt[bt])}}return Ze.length===0?Le:Le+"?"+Ze}}var nt=Ye;class $e{constructor(Ae,Le,Ie){this.TAG="IOController",this._config=Le,this._extraData=Ie,this._stashInitialSize=1024*384,Le.stashInitialSize!=null&&Le.stashInitialSize>0&&(this._stashInitialSize=Le.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=1024*1024*3,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,Le.enableStashBuffer===!1&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=Ae,this._isWebSocketURL=/wss?:\/\/(.+?)/.test(Ae.url),this._refTotalLength=Ae.filesize?Ae.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new ye,this._speedNormalizeList=[64,128,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}destroy(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null}isWorking(){return this._loader&&this._loader.isWorking()&&!this._paused}isPaused(){return this._paused}get status(){return this._loader.status}get extraData(){return this._extraData}set extraData(Ae){this._extraData=Ae}get onDataArrival(){return this._onDataArrival}set onDataArrival(Ae){this._onDataArrival=Ae}get onSeeked(){return this._onSeeked}set onSeeked(Ae){this._onSeeked=Ae}get onError(){return this._onError}set onError(Ae){this._onError=Ae}get onComplete(){return this._onComplete}set onComplete(Ae){this._onComplete=Ae}get onRedirect(){return this._onRedirect}set onRedirect(Ae){this._onRedirect=Ae}get onRecoveredEarlyEof(){return this._onRecoveredEarlyEof}set onRecoveredEarlyEof(Ae){this._onRecoveredEarlyEof=Ae}get currentURL(){return this._dataSource.url}get hasRedirect(){return this._redirectedURL!=null||this._dataSource.redirectedURL!=null}get currentRedirectedURL(){return this._redirectedURL||this._dataSource.redirectedURL}get currentSpeed(){return this._loaderClass===Be?this._loader.currentSpeed:this._speedSampler.lastSecondKBps}get loaderType(){return this._loader.type}_selectSeekHandler(){let Ae=this._config;if(Ae.seekType==="range")this._seekHandler=new Xe(this._config.rangeLoadZeroStart);else if(Ae.seekType==="param"){let Le=Ae.seekParamStart||"bstart",Ie=Ae.seekParamEnd||"bend";this._seekHandler=new nt(Le,Ie)}else if(Ae.seekType==="custom"){if(typeof Ae.customSeekHandler!="function")throw new pe("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new Ae.customSeekHandler}else throw new pe(`Invalid seekType in config: ${Ae.seekType}`)}_selectLoader(){if(this._config.customLoader!=null)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=Ue;else if(he.isSupported())this._loaderClass=he;else if(ue.isSupported())this._loaderClass=ue;else if(Be.isSupported())this._loaderClass=Be;else throw new we("Your browser doesn't support xhr with arraybuffer responseType!")}_createLoader(){this._loader=new this._loaderClass(this._seekHandler,this._config),this._loader.needStashBuffer===!1&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)}open(Ae){this._currentRange={from:0,to:-1},Ae&&(this._currentRange.from=Ae),this._speedSampler.reset(),Ae||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))}abort(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)}pause(){this.isWorking()&&(this._loader.abort(),this._stashUsed!==0?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)}resume(){if(this._paused){this._paused=!1;let Ae=this._resumeFrom;this._resumeFrom=0,this._internalSeek(Ae,!0)}}seek(Ae){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(Ae,!0)}_internalSeek(Ae,Le){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(Le),this._loader.destroy(),this._loader=null;let Ie={from:Ae,to:-1};this._currentRange={from:Ie.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,Ie),this._onSeeked&&this._onSeeked()}updateUrl(Ae){if(!Ae||typeof Ae!="string"||Ae.length===0)throw new pe("Url must be a non-empty string!");this._dataSource.url=Ae}_expandBuffer(Ae){let Le=this._stashSize;for(;Le+1024*1024*1<Ae;)Le*=2;if(Le+=1024*1024*1,Le===this._bufferSize)return;let Ie=new ArrayBuffer(Le);if(this._stashUsed>0){let ze=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(Ie,0,Le).set(ze,0)}this._stashBuffer=Ie,this._bufferSize=Le}_normalizeSpeed(Ae){let Le=this._speedNormalizeList,Ie=Le.length-1,ze=0,Ze=0,xt=Ie;if(Ae<Le[0])return Le[0];for(;Ze<=xt;){if(ze=Ze+Math.floor((xt-Ze)/2),ze===Ie||Ae>=Le[ze]&&Ae<Le[ze+1])return Le[ze];Le[ze]<Ae?Ze=ze+1:xt=ze-1}}_adjustStashSize(Ae){let Le=0;this._config.isLive||Ae<512?Le=Ae:Ae>=512&&Ae<=1024?Le=Math.floor(Ae*1.5):Le=Ae*2,Le>8192&&(Le=8192);let Ie=Le*1024+1024*1024*1;this._bufferSize<Ie&&this._expandBuffer(Ie),this._stashSize=Le*1024}_dispatchChunks(Ae,Le){return this._currentRange.to=Le+Ae.byteLength-1,this._onDataArrival(Ae,Le)}_onURLRedirect(Ae){this._redirectedURL=Ae,this._onRedirect&&this._onRedirect(Ae)}_onContentLengthKnown(Ae){Ae&&this._fullRequestFlag&&(this._totalLength=Ae,this._fullRequestFlag=!1)}_onLoaderChunkArrival(Ae,Le,Ie){if(!this._onDataArrival)throw new De("IOController: No existing consumer (onDataArrival) callback!");if(this._paused)return;this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,this._onRecoveredEarlyEof&&this._onRecoveredEarlyEof()),this._speedSampler.addBytes(Ae.byteLength);let ze=this._speedSampler.lastSecondKBps;if(ze!==0){let Ze=this._normalizeSpeed(ze);this._speedNormalized!==Ze&&(this._speedNormalized=Ze,this._adjustStashSize(Ze))}if(this._enableStash)if(this._stashUsed===0&&this._stashByteStart===0&&(this._stashByteStart=Le),this._stashUsed+Ae.byteLength<=this._stashSize)new Uint8Array(this._stashBuffer,0,this._stashSize).set(new Uint8Array(Ae),this._stashUsed),this._stashUsed+=Ae.byteLength;else{let Ze=new Uint8Array(this._stashBuffer,0,this._bufferSize);if(this._stashUsed>0){let xt=this._stashBuffer.slice(0,this._stashUsed),bt=this._dispatchChunks(xt,this._stashByteStart);if(bt<xt.byteLength){if(bt>0){let Yt=new Uint8Array(xt,bt);Ze.set(Yt,0),this._stashUsed=Yt.byteLength,this._stashByteStart+=bt}}else this._stashUsed=0,this._stashByteStart+=bt;this._stashUsed+Ae.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+Ae.byteLength),Ze=new Uint8Array(this._stashBuffer,0,this._bufferSize)),Ze.set(new Uint8Array(Ae),this._stashUsed),this._stashUsed+=Ae.byteLength}else{let xt=this._dispatchChunks(Ae,Le);if(xt<Ae.byteLength){let bt=Ae.byteLength-xt;bt>this._bufferSize&&(this._expandBuffer(bt),Ze=new Uint8Array(this._stashBuffer,0,this._bufferSize)),Ze.set(new Uint8Array(Ae,xt),0),this._stashUsed+=bt,this._stashByteStart=Le+xt}}}else if(this._stashUsed===0){let Ze=this._dispatchChunks(Ae,Le);if(Ze<Ae.byteLength){let xt=Ae.byteLength-Ze;xt>this._bufferSize&&this._expandBuffer(xt),new Uint8Array(this._stashBuffer,0,this._bufferSize).set(new Uint8Array(Ae,Ze),0),this._stashUsed+=xt,this._stashByteStart=Le+Ze}}else{this._stashUsed+Ae.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+Ae.byteLength);let Ze=new Uint8Array(this._stashBuffer,0,this._bufferSize);Ze.set(new Uint8Array(Ae),this._stashUsed),this._stashUsed+=Ae.byteLength;let xt=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart);if(xt<this._stashUsed&&xt>0){let bt=new Uint8Array(this._stashBuffer,xt);Ze.set(bt,0)}this._stashUsed-=xt,this._stashByteStart+=xt}}_flushStashBuffer(Ae){if(this._stashUsed>0){let Le=this._stashBuffer.slice(0,this._stashUsed),Ie=this._dispatchChunks(Le,this._stashByteStart),ze=Le.byteLength-Ie;if(Ie<Le.byteLength)if(Ae)Ce.w(this.TAG,`${ze} bytes unconsumed data remain when flush buffer, dropped`);else{if(Ie>0){let Ze=new Uint8Array(this._stashBuffer,0,this._bufferSize),xt=new Uint8Array(Le,Ie);Ze.set(xt,0),this._stashUsed=xt.byteLength,this._stashByteStart+=Ie}return 0}return this._stashUsed=0,this._stashByteStart=0,ze}return 0}_onLoaderComplete(Ae,Le){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)}_onLoaderError(Ae,Le){switch(Ce.e(this.TAG,`Loader error, code = ${Le.code}, msg = ${Le.msg}`),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,Ae=de.UNRECOVERABLE_EARLY_EOF),Ae){case de.EARLY_EOF:{if(!this._config.isLive&&this._totalLength){let Ie=this._currentRange.to+1;Ie<this._totalLength&&(Ce.w(this.TAG,"Connection lost, trying reconnect..."),this._isEarlyEofReconnecting=!0,this._internalSeek(Ie,!1));return}Ae=de.UNRECOVERABLE_EARLY_EOF;break}case de.UNRECOVERABLE_EARLY_EOF:case de.CONNECTING_TIMEOUT:case de.HTTP_STATUS_CODE_INVALID:case de.EXCEPTION:break}if(this._onError)this._onError(Ae,Le);else throw new we("IOException: "+Le.msg)}}var qe=$e;const st={enableWorker:!1,enableStashBuffer:!0,stashInitialSize:void 0,isLive:!1,lazyLoad:!0,lazyLoadMaxDuration:3*60,lazyLoadRecoverDuration:30,deferLoadAfterSourceOpen:!0,autoCleanupMaxBackwardDuration:3*60,autoCleanupMinBackwardDuration:2*60,statisticsInfoReportInterval:600,fixAudioTimestampGap:!0,accurateSeek:!1,seekType:"range",seekParamStart:"bstart",seekParamEnd:"bend",rangeLoadZeroStart:!1,customSeekHandler:void 0,reuseRedirectedURL:!1,headers:void 0,customLoader:void 0};function rt(){return Object.assign({},st)}class ct{static supportMSEH264Playback(){return window.MediaSource&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')}static supportNetworkStreamIO(){let Ae=new qe({},rt()),Le=Ae.loaderType;return Ae.destroy(),Le=="fetch-stream-loader"||Le=="xhr-moz-chunked-loader"}static getNetworkLoaderTypeName(){let Ae=new qe({},rt()),Le=Ae.loaderType;return Ae.destroy(),Le}static supportNativeMediaPlayback(Ae){ct.videoElement==null&&(ct.videoElement=window.document.createElement("video"));let Le=ct.videoElement.canPlayType(Ae);return Le==="probably"||Le=="maybe"}static getFeatureList(){let Ae={mseFlvPlayback:!1,mseLiveFlvPlayback:!1,networkStreamIO:!1,networkLoaderName:"",nativeMP4H264Playback:!1,nativeWebmVP8Playback:!1,nativeWebmVP9Playback:!1};return Ae.mseFlvPlayback=ct.supportMSEH264Playback(),Ae.networkStreamIO=ct.supportNetworkStreamIO(),Ae.networkLoaderName=ct.getNetworkLoaderTypeName(),Ae.mseLiveFlvPlayback=Ae.mseFlvPlayback&&Ae.networkStreamIO,Ae.nativeMP4H264Playback=ct.supportNativeMediaPlayback('video/mp4; codecs="avc1.42001E, mp4a.40.2"'),Ae.nativeWebmVP8Playback=ct.supportNativeMediaPlayback('video/webm; codecs="vp8.0, vorbis"'),Ae.nativeWebmVP9Playback=ct.supportNativeMediaPlayback('video/webm; codecs="vp9"'),Ae}}var tt=ct,At={ERROR:"error",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info"};class mt{static get forceGlobalTag(){return Ce.FORCE_GLOBAL_TAG}static set forceGlobalTag(Ae){Ce.FORCE_GLOBAL_TAG=Ae,mt._notifyChange()}static get globalTag(){return Ce.GLOBAL_TAG}static set globalTag(Ae){Ce.GLOBAL_TAG=Ae,mt._notifyChange()}static get enableAll(){return Ce.ENABLE_VERBOSE&&Ce.ENABLE_DEBUG&&Ce.ENABLE_INFO&&Ce.ENABLE_WARN&&Ce.ENABLE_ERROR}static set enableAll(Ae){Ce.ENABLE_VERBOSE=Ae,Ce.ENABLE_DEBUG=Ae,Ce.ENABLE_INFO=Ae,Ce.ENABLE_WARN=Ae,Ce.ENABLE_ERROR=Ae,mt._notifyChange()}static get enableDebug(){return Ce.ENABLE_DEBUG}static set enableDebug(Ae){Ce.ENABLE_DEBUG=Ae,mt._notifyChange()}static get enableVerbose(){return Ce.ENABLE_VERBOSE}static set enableVerbose(Ae){Ce.ENABLE_VERBOSE=Ae,mt._notifyChange()}static get enableInfo(){return Ce.ENABLE_INFO}static set enableInfo(Ae){Ce.ENABLE_INFO=Ae,mt._notifyChange()}static get enableWarn(){return Ce.ENABLE_WARN}static set enableWarn(Ae){Ce.ENABLE_WARN=Ae,mt._notifyChange()}static get enableError(){return Ce.ENABLE_ERROR}static set enableError(Ae){Ce.ENABLE_ERROR=Ae,mt._notifyChange()}static getConfig(){return{globalTag:Ce.GLOBAL_TAG,forceGlobalTag:Ce.FORCE_GLOBAL_TAG,enableVerbose:Ce.ENABLE_VERBOSE,enableDebug:Ce.ENABLE_DEBUG,enableInfo:Ce.ENABLE_INFO,enableWarn:Ce.ENABLE_WARN,enableError:Ce.ENABLE_ERROR,enableCallback:Ce.ENABLE_CALLBACK}}static applyConfig(Ae){Ce.GLOBAL_TAG=Ae.globalTag,Ce.FORCE_GLOBAL_TAG=Ae.forceGlobalTag,Ce.ENABLE_VERBOSE=Ae.enableVerbose,Ce.ENABLE_DEBUG=Ae.enableDebug,Ce.ENABLE_INFO=Ae.enableInfo,Ce.ENABLE_WARN=Ae.enableWarn,Ce.ENABLE_ERROR=Ae.enableError,Ce.ENABLE_CALLBACK=Ae.enableCallback}static _notifyChange(){let Ae=mt.emitter;if(Ae.listenerCount("change")>0){let Le=mt.getConfig();Ae.emit("change",Le)}}static registerListener(Ae){mt.emitter.addListener("change",Ae)}static removeListener(Ae){mt.emitter.removeListener("change",Ae)}static addLogListener(Ae){Ce.emitter.addListener("log",Ae),Ce.emitter.listenerCount("log")>0&&(Ce.ENABLE_CALLBACK=!0,mt._notifyChange())}static removeLogListener(Ae){Ce.emitter.removeListener("log",Ae),Ce.emitter.listenerCount("log")===0&&(Ce.ENABLE_CALLBACK=!1,mt._notifyChange())}}mt.emitter=new(be());var ht=mt;class vt{constructor(){this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}isComplete(){let Ae=this.hasAudio===!1||this.hasAudio===!0&&this.audioCodec!=null&&this.audioSampleRate!=null&&this.audioChannelCount!=null,Le=this.hasVideo===!1||this.hasVideo===!0&&this.videoCodec!=null&&this.width!=null&&this.height!=null&&this.fps!=null&&this.profile!=null&&this.level!=null&&this.refFrames!=null&&this.chromaFormat!=null&&this.sarNum!=null&&this.sarDen!=null;return this.mimeType!=null&&this.duration!=null&&this.metadata!=null&&this.hasKeyframesIndex!=null&&Ae&&Le}isSeekable(){return this.hasKeyframesIndex===!0}getNearestKeyframe(Ae){if(this.keyframesIndex==null)return null;let Le=this.keyframesIndex,Ie=this._search(Le.times,Ae);return{index:Ie,milliseconds:Le.times[Ie],fileposition:Le.filepositions[Ie]}}_search(Ae,Le){let Ie=0,ze=Ae.length-1,Ze=0,xt=0,bt=ze;for(Le<Ae[0]&&(Ie=0,xt=bt+1);xt<=bt;)if(Ze=xt+Math.floor((bt-xt)/2),Ze===ze||Le>=Ae[Ze]&&Le<Ae[Ze+1]){Ie=Ze;break}else Ae[Ze]<Le?xt=Ze+1:bt=Ze-1;return Ie}}var Wt=vt;function Jt(pt,Ae,Le){let Ie=pt;if(Ae+Le<Ie.length){for(;Le--;)if((Ie[++Ae]&192)!==128)return!1;return!0}else return!1}function en(pt){let Ae=[],Le=pt,Ie=0,ze=pt.length;for(;Ie<ze;){if(Le[Ie]<128){Ae.push(String.fromCharCode(Le[Ie])),++Ie;continue}else if(!(Le[Ie]<192)){if(Le[Ie]<224){if(Jt(Le,Ie,1)){let Ze=(Le[Ie]&31)<<6|Le[Ie+1]&63;if(Ze>=128){Ae.push(String.fromCharCode(Ze&65535)),Ie+=2;continue}}}else if(Le[Ie]<240){if(Jt(Le,Ie,2)){let Ze=(Le[Ie]&15)<<12|(Le[Ie+1]&63)<<6|Le[Ie+2]&63;if(Ze>=2048&&(Ze&63488)!==55296){Ae.push(String.fromCharCode(Ze&65535)),Ie+=3;continue}}}else if(Le[Ie]<248&&Jt(Le,Ie,3)){let Ze=(Le[Ie]&7)<<18|(Le[Ie+1]&63)<<12|(Le[Ie+2]&63)<<6|Le[Ie+3]&63;if(Ze>65536&&Ze<1114112){Ze-=65536,Ae.push(String.fromCharCode(Ze>>>10|55296)),Ae.push(String.fromCharCode(Ze&1023|56320)),Ie+=4;continue}}}Ae.push("\uFFFD"),++Ie}return Ae.join("")}var mn=en;let Ot=function(){let pt=new ArrayBuffer(2);return new DataView(pt).setInt16(0,256,!0),new Int16Array(pt)[0]===256}();class an{static parseScriptData(Ae,Le,Ie){let ze={};try{let Ze=an.parseValue(Ae,Le,Ie),xt=an.parseValue(Ae,Le+Ze.size,Ie-Ze.size);ze[Ze.data]=xt.data}catch(Ze){Ce.e("AMF",Ze.toString())}return ze}static parseObject(Ae,Le,Ie){if(Ie<3)throw new De("Data not enough when parse ScriptDataObject");let ze=an.parseString(Ae,Le,Ie),Ze=an.parseValue(Ae,Le+ze.size,Ie-ze.size),xt=Ze.objectEnd;return{data:{name:ze.data,value:Ze.data},size:ze.size+Ze.size,objectEnd:xt}}static parseVariable(Ae,Le,Ie){return an.parseObject(Ae,Le,Ie)}static parseString(Ae,Le,Ie){if(Ie<2)throw new De("Data not enough when parse String");let Ze=new DataView(Ae,Le,Ie).getUint16(0,!Ot),xt;return Ze>0?xt=mn(new Uint8Array(Ae,Le+2,Ze)):xt="",{data:xt,size:2+Ze}}static parseLongString(Ae,Le,Ie){if(Ie<4)throw new De("Data not enough when parse LongString");let Ze=new DataView(Ae,Le,Ie).getUint32(0,!Ot),xt;return Ze>0?xt=mn(new Uint8Array(Ae,Le+4,Ze)):xt="",{data:xt,size:4+Ze}}static parseDate(Ae,Le,Ie){if(Ie<10)throw new De("Data size invalid when parse Date");let ze=new DataView(Ae,Le,Ie),Ze=ze.getFloat64(0,!Ot),xt=ze.getInt16(8,!Ot);return Ze+=xt*60*1e3,{data:new Date(Ze),size:10}}static parseValue(Ae,Le,Ie){if(Ie<1)throw new De("Data not enough when parse Value");let ze=new DataView(Ae,Le,Ie),Ze=1,xt=ze.getUint8(0),bt,Yt=!1;try{switch(xt){case 0:bt=ze.getFloat64(1,!Ot),Ze+=8;break;case 1:{bt=!!ze.getUint8(1),Ze+=1;break}case 2:{let Ht=an.parseString(Ae,Le+1,Ie-1);bt=Ht.data,Ze+=Ht.size;break}case 3:{bt={};let Ht=0;for((ze.getUint32(Ie-4,!Ot)&16777215)===9&&(Ht=3);Ze<Ie-4;){let cn=an.parseObject(Ae,Le+Ze,Ie-Ze-Ht);if(cn.objectEnd)break;bt[cn.data.name]=cn.data.value,Ze+=cn.size}Ze<=Ie-3&&(ze.getUint32(Ze-1,!Ot)&16777215)===9&&(Ze+=3);break}case 8:{bt={},Ze+=4;let Ht=0;for((ze.getUint32(Ie-4,!Ot)&16777215)===9&&(Ht=3);Ze<Ie-8;){let cn=an.parseVariable(Ae,Le+Ze,Ie-Ze-Ht);if(cn.objectEnd)break;bt[cn.data.name]=cn.data.value,Ze+=cn.size}Ze<=Ie-3&&(ze.getUint32(Ze-1,!Ot)&16777215)===9&&(Ze+=3);break}case 9:bt=void 0,Ze=1,Yt=!0;break;case 10:{bt=[];let Ht=ze.getUint32(1,!Ot);Ze+=4;for(let cn=0;cn<Ht;cn++){let fn=an.parseValue(Ae,Le+Ze,Ie-Ze);bt.push(fn.data),Ze+=fn.size}break}case 11:{let Ht=an.parseDate(Ae,Le+1,Ie-1);bt=Ht.data,Ze+=Ht.size;break}case 12:{let Ht=an.parseString(Ae,Le+1,Ie-1);bt=Ht.data,Ze+=Ht.size;break}default:Ze=Ie,Ce.w("AMF","Unsupported AMF value type "+xt)}}catch(Ht){Ce.e("AMF",Ht.toString())}return{data:bt,size:Ze,objectEnd:Yt}}}var tn=an;class Dn{constructor(Ae){this.TAG="ExpGolomb",this._buffer=Ae,this._buffer_index=0,this._total_bytes=Ae.byteLength,this._total_bits=Ae.byteLength*8,this._current_word=0,this._current_word_bits_left=0}destroy(){this._buffer=null}_fillCurrentWord(){let Ae=this._total_bytes-this._buffer_index;if(Ae<=0)throw new De("ExpGolomb: _fillCurrentWord() but no bytes available");let Le=Math.min(4,Ae),Ie=new Uint8Array(4);Ie.set(this._buffer.subarray(this._buffer_index,this._buffer_index+Le)),this._current_word=new DataView(Ie.buffer).getUint32(0,!1),this._buffer_index+=Le,this._current_word_bits_left=Le*8}readBits(Ae){if(Ae>32)throw new pe("ExpGolomb: readBits() bits exceeded max 32bits!");if(Ae<=this._current_word_bits_left){let xt=this._current_word>>>32-Ae;return this._current_word<<=Ae,this._current_word_bits_left-=Ae,xt}let Le=this._current_word_bits_left?this._current_word:0;Le=Le>>>32-this._current_word_bits_left;let Ie=Ae-this._current_word_bits_left;this._fillCurrentWord();let ze=Math.min(Ie,this._current_word_bits_left),Ze=this._current_word>>>32-ze;return this._current_word<<=ze,this._current_word_bits_left-=ze,Le=Le<<ze|Ze,Le}readBool(){return this.readBits(1)===1}readByte(){return this.readBits(8)}_skipLeadingZero(){let Ae;for(Ae=0;Ae<this._current_word_bits_left;Ae++)if(this._current_word&2147483648>>>Ae)return this._current_word<<=Ae,this._current_word_bits_left-=Ae,Ae;return this._fillCurrentWord(),Ae+this._skipLeadingZero()}readUEG(){let Ae=this._skipLeadingZero();return this.readBits(Ae+1)-1}readSEG(){let Ae=this.readUEG();return Ae&1?Ae+1>>>1:-1*(Ae>>>1)}}var Tn=Dn;class sn{static _ebsp2rbsp(Ae){let Le=Ae,Ie=Le.byteLength,ze=new Uint8Array(Ie),Ze=0;for(let xt=0;xt<Ie;xt++)xt>=2&&Le[xt]===3&&Le[xt-1]===0&&Le[xt-2]===0||(ze[Ze]=Le[xt],Ze++);return new Uint8Array(ze.buffer,0,Ze)}static parseSPS(Ae){let Le=sn._ebsp2rbsp(Ae),Ie=new Tn(Le);Ie.readByte();let ze=Ie.readByte();Ie.readByte();let Ze=Ie.readByte();Ie.readUEG();let xt=sn.getProfileString(ze),bt=sn.getLevelString(Ze),Yt=1,Ht=420,cn=[0,420,422,444],fn=8;if((ze===100||ze===110||ze===122||ze===244||ze===44||ze===83||ze===86||ze===118||ze===128||ze===138||ze===144)&&(Yt=Ie.readUEG(),Yt===3&&Ie.readBits(1),Yt<=3&&(Ht=cn[Yt]),fn=Ie.readUEG()+8,Ie.readUEG(),Ie.readBits(1),Ie.readBool())){let Da=Yt!==3?8:12;for(let sa=0;sa<Da;sa++)Ie.readBool()&&(sa<6?sn._skipScalingList(Ie,16):sn._skipScalingList(Ie,64))}Ie.readUEG();let Zn=Ie.readUEG();if(Zn===0)Ie.readUEG();else if(Zn===1){Ie.readBits(1),Ie.readSEG(),Ie.readSEG();let Da=Ie.readUEG();for(let sa=0;sa<Da;sa++)Ie.readSEG()}let Mn=Ie.readUEG();Ie.readBits(1);let er=Ie.readUEG(),rr=Ie.readUEG(),mr=Ie.readBits(1);mr===0&&Ie.readBits(1),Ie.readBits(1);let pn=0,nn=0,Bn=0,Hn=0;Ie.readBool()&&(pn=Ie.readUEG(),nn=Ie.readUEG(),Bn=Ie.readUEG(),Hn=Ie.readUEG());let br=1,tr=1,hr=0,vr=!0,Nn=0,xr=0;if(Ie.readBool()){if(Ie.readBool()){let Da=Ie.readByte(),sa=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],Ja=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];Da>0&&Da<16?(br=sa[Da-1],tr=Ja[Da-1]):Da===255&&(br=Ie.readByte()<<8|Ie.readByte(),tr=Ie.readByte()<<8|Ie.readByte())}if(Ie.readBool()&&Ie.readBool(),Ie.readBool()&&(Ie.readBits(4),Ie.readBool()&&Ie.readBits(24)),Ie.readBool()&&(Ie.readUEG(),Ie.readUEG()),Ie.readBool()){let Da=Ie.readBits(32),sa=Ie.readBits(32);vr=Ie.readBool(),Nn=sa,xr=Da*2,hr=Nn/xr}}let Nr=1;(br!==1||tr!==1)&&(Nr=br/tr);let Xa=0,$a=0;if(Yt===0)Xa=1,$a=2-mr;else{let Da=Yt===3?1:2,sa=Yt===1?2:1;Xa=Da,$a=sa*(2-mr)}let ai=(er+1)*16,Zr=(2-mr)*((rr+1)*16);ai-=(pn+nn)*Xa,Zr-=(Bn+Hn)*$a;let ua=Math.ceil(ai*Nr);return Ie.destroy(),Ie=null,{profile_string:xt,level_string:bt,bit_depth:fn,ref_frames:Mn,chroma_format:Ht,chroma_format_string:sn.getChromaFormatString(Ht),frame_rate:{fixed:vr,fps:hr,fps_den:xr,fps_num:Nn},sar_ratio:{width:br,height:tr},codec_size:{width:ai,height:Zr},present_size:{width:ua,height:Zr}}}static _skipScalingList(Ae,Le){let Ie=8,ze=8,Ze=0;for(let xt=0;xt<Le;xt++)ze!==0&&(Ze=Ae.readSEG(),ze=(Ie+Ze+256)%256),Ie=ze===0?Ie:ze}static getProfileString(Ae){switch(Ae){case 66:return"Baseline";case 77:return"Main";case 88:return"Extended";case 100:return"High";case 110:return"High10";case 122:return"High422";case 244:return"High444";default:return"Unknown"}}static getLevelString(Ae){return(Ae/10).toFixed(1)}static getChromaFormatString(Ae){switch(Ae){case 420:return"4:2:0";case 422:return"4:2:2";case 444:return"4:4:4";default:return"Unknown"}}}var dn=sn,Tt={OK:"OK",FORMAT_ERROR:"FormatError",FORMAT_UNSUPPORTED:"FormatUnsupported",CODEC_UNSUPPORTED:"CodecUnsupported"};function yt(pt){return pt>>>8&255|(pt&255)<<8}function Gt(pt){return(pt&4278190080)>>>24|(pt&16711680)>>>8|(pt&65280)<<8|(pt&255)<<24}function gt(pt,Ae){return pt[Ae]<<24|pt[Ae+1]<<16|pt[Ae+2]<<8|pt[Ae+3]}class St{constructor(Ae,Le){this.TAG="FLVDemuxer",this._config=Le,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null,this._dataOffset=Ae.dataOffset,this._firstParse=!0,this._dispatch=!1,this._hasAudio=Ae.hasAudioTrack,this._hasVideo=Ae.hasVideoTrack,this._hasAudioFlagOverrided=!1,this._hasVideoFlagOverrided=!1,this._audioInitialMetadataDispatched=!1,this._videoInitialMetadataDispatched=!1,this._mediaInfo=new Wt,this._mediaInfo.hasAudio=this._hasAudio,this._mediaInfo.hasVideo=this._hasVideo,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._naluLengthSize=4,this._timestampBase=0,this._timescale=1e3,this._duration=0,this._durationOverrided=!1,this._referenceFrameRate={fixed:!0,fps:23.976,fps_num:23976,fps_den:1e3},this._flvSoundRateTable=[5500,11025,22050,44100,48e3],this._mpegSamplingRates=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],this._mpegAudioV10SampleRateTable=[44100,48e3,32e3,0],this._mpegAudioV20SampleRateTable=[22050,24e3,16e3,0],this._mpegAudioV25SampleRateTable=[11025,12e3,8e3,0],this._mpegAudioL1BitRateTable=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],this._mpegAudioL2BitRateTable=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],this._mpegAudioL3BitRateTable=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1],this._videoTrack={type:"video",id:1,sequenceNumber:0,samples:[],length:0},this._audioTrack={type:"audio",id:2,sequenceNumber:0,samples:[],length:0},this._littleEndian=function(){let Ie=new ArrayBuffer(2);return new DataView(Ie).setInt16(0,256,!0),new Int16Array(Ie)[0]===256}()}destroy(){this._mediaInfo=null,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._videoTrack=null,this._audioTrack=null,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null}static probe(Ae){let Le=new Uint8Array(Ae),Ie={match:!1};if(Le[0]!==70||Le[1]!==76||Le[2]!==86||Le[3]!==1)return Ie;let ze=(Le[4]&4)>>>2!==0,Ze=(Le[4]&1)!==0,xt=gt(Le,5);return xt<9?Ie:{match:!0,consumed:xt,dataOffset:xt,hasAudioTrack:ze,hasVideoTrack:Ze}}bindDataSource(Ae){return Ae.onDataArrival=this.parseChunks.bind(this),this}get onTrackMetadata(){return this._onTrackMetadata}set onTrackMetadata(Ae){this._onTrackMetadata=Ae}get onMediaInfo(){return this._onMediaInfo}set onMediaInfo(Ae){this._onMediaInfo=Ae}get onMetaDataArrived(){return this._onMetaDataArrived}set onMetaDataArrived(Ae){this._onMetaDataArrived=Ae}get onScriptDataArrived(){return this._onScriptDataArrived}set onScriptDataArrived(Ae){this._onScriptDataArrived=Ae}get onError(){return this._onError}set onError(Ae){this._onError=Ae}get onDataAvailable(){return this._onDataAvailable}set onDataAvailable(Ae){this._onDataAvailable=Ae}get timestampBase(){return this._timestampBase}set timestampBase(Ae){this._timestampBase=Ae}get overridedDuration(){return this._duration}set overridedDuration(Ae){this._durationOverrided=!0,this._duration=Ae,this._mediaInfo.duration=Ae}set overridedHasAudio(Ae){this._hasAudioFlagOverrided=!0,this._hasAudio=Ae,this._mediaInfo.hasAudio=Ae}set overridedHasVideo(Ae){this._hasVideoFlagOverrided=!0,this._hasVideo=Ae,this._mediaInfo.hasVideo=Ae}resetMediaInfo(){this._mediaInfo=new Wt}_isInitialMetadataDispatched(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!this._hasAudio&&this._hasVideo?this._videoInitialMetadataDispatched:!1}parseChunks(Ae,Le){if(!this._onError||!this._onMediaInfo||!this._onTrackMetadata||!this._onDataAvailable)throw new De("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");let Ie=0,ze=this._littleEndian;if(Le===0)if(Ae.byteLength>13)Ie=St.probe(Ae).dataOffset;else return 0;for(this._firstParse&&(this._firstParse=!1,Le+Ie!==this._dataOffset&&Ce.w(this.TAG,"First time parsing but chunk byteStart invalid!"),new DataView(Ae,Ie).getUint32(0,!ze)!==0&&Ce.w(this.TAG,"PrevTagSize0 !== 0 !!!"),Ie+=4);Ie<Ae.byteLength;){this._dispatch=!0;let Ze=new DataView(Ae,Ie);if(Ie+11+4>Ae.byteLength)break;let xt=Ze.getUint8(0),bt=Ze.getUint32(0,!ze)&16777215;if(Ie+11+bt+4>Ae.byteLength)break;if(xt!==8&&xt!==9&&xt!==18){Ce.w(this.TAG,`Unsupported tag type ${xt}, skipped`),Ie+=11+bt+4;continue}let Yt=Ze.getUint8(4),Ht=Ze.getUint8(5),cn=Ze.getUint8(6),fn=Ze.getUint8(7),Zn=cn|Ht<<8|Yt<<16|fn<<24;(Ze.getUint32(7,!ze)&16777215)!==0&&Ce.w(this.TAG,"Meet tag which has StreamID != 0!");let er=Ie+11;switch(xt){case 8:this._parseAudioData(Ae,er,bt,Zn);break;case 9:this._parseVideoData(Ae,er,bt,Zn,Le+Ie);break;case 18:this._parseScriptData(Ae,er,bt);break}let rr=Ze.getUint32(11+bt,!ze);rr!==11+bt&&Ce.w(this.TAG,`Invalid PrevTagSize ${rr}`),Ie+=11+bt+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),Ie}_parseScriptData(Ae,Le,Ie){let ze=tn.parseScriptData(Ae,Le,Ie);if(ze.hasOwnProperty("onMetaData")){if(ze.onMetaData==null||typeof ze.onMetaData!="object"){Ce.w(this.TAG,"Invalid onMetaData structure!");return}this._metadata&&Ce.w(this.TAG,"Found another onMetaData tag!"),this._metadata=ze;let Ze=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},Ze)),typeof Ze.hasAudio=="boolean"&&this._hasAudioFlagOverrided===!1&&(this._hasAudio=Ze.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),typeof Ze.hasVideo=="boolean"&&this._hasVideoFlagOverrided===!1&&(this._hasVideo=Ze.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),typeof Ze.audiodatarate=="number"&&(this._mediaInfo.audioDataRate=Ze.audiodatarate),typeof Ze.videodatarate=="number"&&(this._mediaInfo.videoDataRate=Ze.videodatarate),typeof Ze.width=="number"&&(this._mediaInfo.width=Ze.width),typeof Ze.height=="number"&&(this._mediaInfo.height=Ze.height),typeof Ze.duration=="number"){if(!this._durationOverrided){let xt=Math.floor(Ze.duration*this._timescale);this._duration=xt,this._mediaInfo.duration=xt}}else this._mediaInfo.duration=0;if(typeof Ze.framerate=="number"){let xt=Math.floor(Ze.framerate*1e3);if(xt>0){let bt=xt/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=bt,this._referenceFrameRate.fps_num=xt,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=bt}}if(typeof Ze.keyframes=="object"){this._mediaInfo.hasKeyframesIndex=!0;let xt=Ze.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(xt),Ze.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=Ze,Ce.v(this.TAG,"Parsed onMetaData"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(ze).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},ze))}_parseKeyframesIndex(Ae){let Le=[],Ie=[];for(let ze=1;ze<Ae.times.length;ze++){let Ze=this._timestampBase+Math.floor(Ae.times[ze]*1e3);Le.push(Ze),Ie.push(Ae.filepositions[ze])}return{times:Le,filepositions:Ie}}_parseAudioData(Ae,Le,Ie,ze){if(Ie<=1){Ce.w(this.TAG,"Flv: Invalid audio packet, missing SoundData payload!");return}if(this._hasAudioFlagOverrided===!0&&this._hasAudio===!1)return;let Ze=this._littleEndian,bt=new DataView(Ae,Le,Ie).getUint8(0),Yt=bt>>>4;if(Yt!==2&&Yt!==10){this._onError(Tt.CODEC_UNSUPPORTED,"Flv: Unsupported audio codec idx: "+Yt);return}let Ht=0,cn=(bt&12)>>>2;if(cn>=0&&cn<=4)Ht=this._flvSoundRateTable[cn];else{this._onError(Tt.FORMAT_ERROR,"Flv: Invalid audio sample rate idx: "+cn);return}let fn=(bt&2)>>>1,Zn=bt&1,Mn=this._audioMetadata,er=this._audioTrack;if(Mn||(this._hasAudio===!1&&this._hasAudioFlagOverrided===!1&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),Mn=this._audioMetadata={},Mn.type="audio",Mn.id=er.id,Mn.timescale=this._timescale,Mn.duration=this._duration,Mn.audioSampleRate=Ht,Mn.channelCount=Zn===0?1:2),Yt===10){let rr=this._parseAACAudioData(Ae,Le+1,Ie-1);if(rr==null)return;if(rr.packetType===0){Mn.config&&Ce.w(this.TAG,"Found another AudioSpecificConfig!");let mr=rr.data;Mn.audioSampleRate=mr.samplingRate,Mn.channelCount=mr.channelCount,Mn.codec=mr.codec,Mn.originalCodec=mr.originalCodec,Mn.config=mr.config,Mn.refSampleDuration=1024/Mn.audioSampleRate*Mn.timescale,Ce.v(this.TAG,"Parsed AudioSpecificConfig"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("audio",Mn);let pn=this._mediaInfo;pn.audioCodec=Mn.originalCodec,pn.audioSampleRate=Mn.audioSampleRate,pn.audioChannelCount=Mn.channelCount,pn.hasVideo?pn.videoCodec!=null&&(pn.mimeType='video/x-flv; codecs="'+pn.videoCodec+","+pn.audioCodec+'"'):pn.mimeType='video/x-flv; codecs="'+pn.audioCodec+'"',pn.isComplete()&&this._onMediaInfo(pn)}else if(rr.packetType===1){let mr=this._timestampBase+ze,pn={unit:rr.data,length:rr.data.byteLength,dts:mr,pts:mr};er.samples.push(pn),er.length+=rr.data.length}else Ce.e(this.TAG,`Flv: Unsupported AAC data type ${rr.packetType}`)}else if(Yt===2){if(!Mn.codec){let nn=this._parseMP3AudioData(Ae,Le+1,Ie-1,!0);if(nn==null)return;Mn.audioSampleRate=nn.samplingRate,Mn.channelCount=nn.channelCount,Mn.codec=nn.codec,Mn.originalCodec=nn.originalCodec,Mn.refSampleDuration=1152/Mn.audioSampleRate*Mn.timescale,Ce.v(this.TAG,"Parsed MPEG Audio Frame Header"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata("audio",Mn);let Bn=this._mediaInfo;Bn.audioCodec=Mn.codec,Bn.audioSampleRate=Mn.audioSampleRate,Bn.audioChannelCount=Mn.channelCount,Bn.audioDataRate=nn.bitRate,Bn.hasVideo?Bn.videoCodec!=null&&(Bn.mimeType='video/x-flv; codecs="'+Bn.videoCodec+","+Bn.audioCodec+'"'):Bn.mimeType='video/x-flv; codecs="'+Bn.audioCodec+'"',Bn.isComplete()&&this._onMediaInfo(Bn)}let rr=this._parseMP3AudioData(Ae,Le+1,Ie-1,!1);if(rr==null)return;let mr=this._timestampBase+ze,pn={unit:rr,length:rr.byteLength,dts:mr,pts:mr};er.samples.push(pn),er.length+=rr.length}}_parseAACAudioData(Ae,Le,Ie){if(Ie<=1){Ce.w(this.TAG,"Flv: Invalid AAC packet, missing AACPacketType or/and Data!");return}let ze={},Ze=new Uint8Array(Ae,Le,Ie);return ze.packetType=Ze[0],Ze[0]===0?ze.data=this._parseAACAudioSpecificConfig(Ae,Le+1,Ie-1):ze.data=Ze.subarray(1),ze}_parseAACAudioSpecificConfig(Ae,Le,Ie){let ze=new Uint8Array(Ae,Le,Ie),Ze=null,xt=0,bt=0,Yt=null,Ht=0,cn=null;if(xt=bt=ze[0]>>>3,Ht=(ze[0]&7)<<1|ze[1]>>>7,Ht<0||Ht>=this._mpegSamplingRates.length){this._onError(Tt.FORMAT_ERROR,"Flv: AAC invalid sampling frequency index!");return}let fn=this._mpegSamplingRates[Ht],Zn=(ze[1]&120)>>>3;if(Zn<0||Zn>=8){this._onError(Tt.FORMAT_ERROR,"Flv: AAC invalid channel configuration");return}xt===5&&(cn=(ze[1]&7)<<1|ze[2]>>>7,Yt=(ze[2]&124)>>>2);let Mn=self.navigator.userAgent.toLowerCase();return Mn.indexOf("firefox")!==-1?Ht>=6?(xt=5,Ze=new Array(4),cn=Ht-3):(xt=2,Ze=new Array(2),cn=Ht):Mn.indexOf("android")!==-1?(xt=2,Ze=new Array(2),cn=Ht):(xt=5,cn=Ht,Ze=new Array(4),Ht>=6?cn=Ht-3:Zn===1&&(xt=2,Ze=new Array(2),cn=Ht)),Ze[0]=xt<<3,Ze[0]|=(Ht&15)>>>1,Ze[1]=(Ht&15)<<7,Ze[1]|=(Zn&15)<<3,xt===5&&(Ze[1]|=(cn&15)>>>1,Ze[2]=(cn&1)<<7,Ze[2]|=8,Ze[3]=0),{config:Ze,samplingRate:fn,channelCount:Zn,codec:"mp4a.40."+xt,originalCodec:"mp4a.40."+bt}}_parseMP3AudioData(Ae,Le,Ie,ze){if(Ie<4){Ce.w(this.TAG,"Flv: Invalid MP3 packet, header missing!");return}let Ze=this._littleEndian,xt=new Uint8Array(Ae,Le,Ie),bt=null;if(ze){if(xt[0]!==255)return;let Yt=xt[1]>>>3&3,Ht=(xt[1]&6)>>1,cn=(xt[2]&240)>>>4,fn=(xt[2]&12)>>>2,Mn=(xt[3]>>>6&3)!==3?2:1,er=0,rr=0,mr=34,pn="mp3";switch(Yt){case 0:er=this._mpegAudioV25SampleRateTable[fn];break;case 2:er=this._mpegAudioV20SampleRateTable[fn];break;case 3:er=this._mpegAudioV10SampleRateTable[fn];break}switch(Ht){case 1:mr=34,cn<this._mpegAudioL3BitRateTable.length&&(rr=this._mpegAudioL3BitRateTable[cn]);break;case 2:mr=33,cn<this._mpegAudioL2BitRateTable.length&&(rr=this._mpegAudioL2BitRateTable[cn]);break;case 3:mr=32,cn<this._mpegAudioL1BitRateTable.length&&(rr=this._mpegAudioL1BitRateTable[cn]);break}bt={bitRate:rr,samplingRate:er,channelCount:Mn,codec:pn,originalCodec:pn}}else bt=xt;return bt}_parseVideoData(Ae,Le,Ie,ze,Ze){if(Ie<=1){Ce.w(this.TAG,"Flv: Invalid video packet, missing VideoData payload!");return}if(this._hasVideoFlagOverrided===!0&&this._hasVideo===!1)return;let xt=new Uint8Array(Ae,Le,Ie)[0],bt=(xt&240)>>>4,Yt=xt&15;if(Yt!==7){this._onError(Tt.CODEC_UNSUPPORTED,`Flv: Unsupported codec in video frame: ${Yt}`);return}this._parseAVCVideoPacket(Ae,Le+1,Ie-1,ze,Ze,bt)}_parseAVCVideoPacket(Ae,Le,Ie,ze,Ze,xt){if(Ie<4){Ce.w(this.TAG,"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime");return}let bt=this._littleEndian,Yt=new DataView(Ae,Le,Ie),Ht=Yt.getUint8(0),fn=(Yt.getUint32(0,!bt)&16777215)<<8>>8;if(Ht===0)this._parseAVCDecoderConfigurationRecord(Ae,Le+4,Ie-4);else if(Ht===1)this._parseAVCVideoData(Ae,Le+4,Ie-4,ze,Ze,xt,fn);else if(Ht!==2){this._onError(Tt.FORMAT_ERROR,`Flv: Invalid video packet type ${Ht}`);return}}_parseAVCDecoderConfigurationRecord(Ae,Le,Ie){if(Ie<7){Ce.w(this.TAG,"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!");return}let ze=this._videoMetadata,Ze=this._videoTrack,xt=this._littleEndian,bt=new DataView(Ae,Le,Ie);ze?typeof ze.avcc!="undefined"&&Ce.w(this.TAG,"Found another AVCDecoderConfigurationRecord!"):(this._hasVideo===!1&&this._hasVideoFlagOverrided===!1&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),ze=this._videoMetadata={},ze.type="video",ze.id=Ze.id,ze.timescale=this._timescale,ze.duration=this._duration);let Yt=bt.getUint8(0),Ht=bt.getUint8(1),cn=bt.getUint8(2),fn=bt.getUint8(3);if(Yt!==1||Ht===0){this._onError(Tt.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord");return}if(this._naluLengthSize=(bt.getUint8(4)&3)+1,this._naluLengthSize!==3&&this._naluLengthSize!==4){this._onError(Tt.FORMAT_ERROR,`Flv: Strange NaluLengthSizeMinusOne: ${this._naluLengthSize-1}`);return}let Zn=bt.getUint8(5)&31;if(Zn===0){this._onError(Tt.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No SPS");return}else Zn>1&&Ce.w(this.TAG,`Flv: Strange AVCDecoderConfigurationRecord: SPS Count = ${Zn}`);let Mn=6;for(let rr=0;rr<Zn;rr++){let mr=bt.getUint16(Mn,!xt);if(Mn+=2,mr===0)continue;let pn=new Uint8Array(Ae,Le+Mn,mr);Mn+=mr;let nn=dn.parseSPS(pn);if(rr!==0)continue;ze.codecWidth=nn.codec_size.width,ze.codecHeight=nn.codec_size.height,ze.presentWidth=nn.present_size.width,ze.presentHeight=nn.present_size.height,ze.profile=nn.profile_string,ze.level=nn.level_string,ze.bitDepth=nn.bit_depth,ze.chromaFormat=nn.chroma_format,ze.sarRatio=nn.sar_ratio,ze.frameRate=nn.frame_rate,(nn.frame_rate.fixed===!1||nn.frame_rate.fps_num===0||nn.frame_rate.fps_den===0)&&(ze.frameRate=this._referenceFrameRate);let Bn=ze.frameRate.fps_den,Hn=ze.frameRate.fps_num;ze.refSampleDuration=ze.timescale*(Bn/Hn);let fr=pn.subarray(1,4),br="avc1.";for(let hr=0;hr<3;hr++){let vr=fr[hr].toString(16);vr.length<2&&(vr="0"+vr),br+=vr}ze.codec=br;let tr=this._mediaInfo;tr.width=ze.codecWidth,tr.height=ze.codecHeight,tr.fps=ze.frameRate.fps,tr.profile=ze.profile,tr.level=ze.level,tr.refFrames=nn.ref_frames,tr.chromaFormat=nn.chroma_format_string,tr.sarNum=ze.sarRatio.width,tr.sarDen=ze.sarRatio.height,tr.videoCodec=br,tr.hasAudio?tr.audioCodec!=null&&(tr.mimeType='video/x-flv; codecs="'+tr.videoCodec+","+tr.audioCodec+'"'):tr.mimeType='video/x-flv; codecs="'+tr.videoCodec+'"',tr.isComplete()&&this._onMediaInfo(tr)}let er=bt.getUint8(Mn);if(er===0){this._onError(Tt.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No PPS");return}else er>1&&Ce.w(this.TAG,`Flv: Strange AVCDecoderConfigurationRecord: PPS Count = ${er}`);Mn++;for(let rr=0;rr<er;rr++){let mr=bt.getUint16(Mn,!xt);Mn+=2,mr!==0&&(Mn+=mr)}ze.avcc=new Uint8Array(Ie),ze.avcc.set(new Uint8Array(Ae,Le,Ie),0),Ce.v(this.TAG,"Parsed AVCDecoderConfigurationRecord"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._videoInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("video",ze)}_parseAVCVideoData(Ae,Le,Ie,ze,Ze,xt,bt){let Yt=this._littleEndian,Ht=new DataView(Ae,Le,Ie),cn=[],fn=0,Zn=0;const Mn=this._naluLengthSize;let er=this._timestampBase+ze,rr=xt===1;for(;Zn<Ie;){if(Zn+4>=Ie){Ce.w(this.TAG,`Malformed Nalu near timestamp ${er}, offset = ${Zn}, dataSize = ${Ie}`);break}let mr=Ht.getUint32(Zn,!Yt);if(Mn===3&&(mr>>>=8),mr>Ie-Mn){Ce.w(this.TAG,`Malformed Nalus near timestamp ${er}, NaluSize > DataSize!`);return}let pn=Ht.getUint8(Zn+Mn)&31;pn===5&&(rr=!0);let nn=new Uint8Array(Ae,Le+Zn,Mn+mr),Bn={type:pn,data:nn};cn.push(Bn),fn+=nn.byteLength,Zn+=Mn+mr}if(cn.length){let mr=this._videoTrack,pn={units:cn,length:fn,isKeyframe:rr,dts:er,cts:bt,pts:er+bt};rr&&(pn.fileposition=Ze),mr.samples.push(pn),mr.length+=fn}}}var Qt=St;class Nt{static init(){Nt.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[]};for(let Le in Nt.types)Nt.types.hasOwnProperty(Le)&&(Nt.types[Le]=[Le.charCodeAt(0),Le.charCodeAt(1),Le.charCodeAt(2),Le.charCodeAt(3)]);let Ae=Nt.constants={};Ae.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),Ae.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),Ae.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),Ae.STSC=Ae.STCO=Ae.STTS,Ae.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),Ae.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),Ae.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),Ae.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),Ae.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),Ae.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(Ae){let Le=8,Ie=null,ze=Array.prototype.slice.call(arguments,1),Ze=ze.length;for(let bt=0;bt<Ze;bt++)Le+=ze[bt].byteLength;Ie=new Uint8Array(Le),Ie[0]=Le>>>24&255,Ie[1]=Le>>>16&255,Ie[2]=Le>>>8&255,Ie[3]=Le&255,Ie.set(Ae,4);let xt=8;for(let bt=0;bt<Ze;bt++)Ie.set(ze[bt],xt),xt+=ze[bt].byteLength;return Ie}static generateInitSegment(Ae){let Le=Nt.box(Nt.types.ftyp,Nt.constants.FTYP),Ie=Nt.moov(Ae),ze=new Uint8Array(Le.byteLength+Ie.byteLength);return ze.set(Le,0),ze.set(Ie,Le.byteLength),ze}static moov(Ae){let Le=Nt.mvhd(Ae.timescale,Ae.duration),Ie=Nt.trak(Ae),ze=Nt.mvex(Ae);return Nt.box(Nt.types.moov,Le,Ie,ze)}static mvhd(Ae,Le){return Nt.box(Nt.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,Ae>>>24&255,Ae>>>16&255,Ae>>>8&255,Ae&255,Le>>>24&255,Le>>>16&255,Le>>>8&255,Le&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(Ae){return Nt.box(Nt.types.trak,Nt.tkhd(Ae),Nt.mdia(Ae))}static tkhd(Ae){let Le=Ae.id,Ie=Ae.duration,ze=Ae.presentWidth,Ze=Ae.presentHeight;return Nt.box(Nt.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,Le>>>24&255,Le>>>16&255,Le>>>8&255,Le&255,0,0,0,0,Ie>>>24&255,Ie>>>16&255,Ie>>>8&255,Ie&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,ze>>>8&255,ze&255,0,0,Ze>>>8&255,Ze&255,0,0]))}static mdia(Ae){return Nt.box(Nt.types.mdia,Nt.mdhd(Ae),Nt.hdlr(Ae),Nt.minf(Ae))}static mdhd(Ae){let Le=Ae.timescale,Ie=Ae.duration;return Nt.box(Nt.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,Le>>>24&255,Le>>>16&255,Le>>>8&255,Le&255,Ie>>>24&255,Ie>>>16&255,Ie>>>8&255,Ie&255,85,196,0,0]))}static hdlr(Ae){let Le=null;return Ae.type==="audio"?Le=Nt.constants.HDLR_AUDIO:Le=Nt.constants.HDLR_VIDEO,Nt.box(Nt.types.hdlr,Le)}static minf(Ae){let Le=null;return Ae.type==="audio"?Le=Nt.box(Nt.types.smhd,Nt.constants.SMHD):Le=Nt.box(Nt.types.vmhd,Nt.constants.VMHD),Nt.box(Nt.types.minf,Le,Nt.dinf(),Nt.stbl(Ae))}static dinf(){return Nt.box(Nt.types.dinf,Nt.box(Nt.types.dref,Nt.constants.DREF))}static stbl(Ae){return Nt.box(Nt.types.stbl,Nt.stsd(Ae),Nt.box(Nt.types.stts,Nt.constants.STTS),Nt.box(Nt.types.stsc,Nt.constants.STSC),Nt.box(Nt.types.stsz,Nt.constants.STSZ),Nt.box(Nt.types.stco,Nt.constants.STCO))}static stsd(Ae){return Ae.type==="audio"?Ae.codec==="mp3"?Nt.box(Nt.types.stsd,Nt.constants.STSD_PREFIX,Nt.mp3(Ae)):Nt.box(Nt.types.stsd,Nt.constants.STSD_PREFIX,Nt.mp4a(Ae)):Nt.box(Nt.types.stsd,Nt.constants.STSD_PREFIX,Nt.avc1(Ae))}static mp3(Ae){let Le=Ae.channelCount,Ie=Ae.audioSampleRate,ze=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,Le,0,16,0,0,0,0,Ie>>>8&255,Ie&255,0,0]);return Nt.box(Nt.types[".mp3"],ze)}static mp4a(Ae){let Le=Ae.channelCount,Ie=Ae.audioSampleRate,ze=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,Le,0,16,0,0,0,0,Ie>>>8&255,Ie&255,0,0]);return Nt.box(Nt.types.mp4a,ze,Nt.esds(Ae))}static esds(Ae){let Le=Ae.config||[],Ie=Le.length,ze=new Uint8Array([0,0,0,0,3,23+Ie,0,1,0,4,15+Ie,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([Ie]).concat(Le).concat([6,1,2]));return Nt.box(Nt.types.esds,ze)}static avc1(Ae){let Le=Ae.avcc,Ie=Ae.codecWidth,ze=Ae.codecHeight,Ze=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Ie>>>8&255,Ie&255,ze>>>8&255,ze&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return Nt.box(Nt.types.avc1,Ze,Nt.box(Nt.types.avcC,Le))}static mvex(Ae){return Nt.box(Nt.types.mvex,Nt.trex(Ae))}static trex(Ae){let Le=Ae.id,Ie=new Uint8Array([0,0,0,0,Le>>>24&255,Le>>>16&255,Le>>>8&255,Le&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return Nt.box(Nt.types.trex,Ie)}static moof(Ae,Le){return Nt.box(Nt.types.moof,Nt.mfhd(Ae.sequenceNumber),Nt.traf(Ae,Le))}static mfhd(Ae){let Le=new Uint8Array([0,0,0,0,Ae>>>24&255,Ae>>>16&255,Ae>>>8&255,Ae&255]);return Nt.box(Nt.types.mfhd,Le)}static traf(Ae,Le){let Ie=Ae.id,ze=Nt.box(Nt.types.tfhd,new Uint8Array([0,0,0,0,Ie>>>24&255,Ie>>>16&255,Ie>>>8&255,Ie&255])),Ze=Nt.box(Nt.types.tfdt,new Uint8Array([0,0,0,0,Le>>>24&255,Le>>>16&255,Le>>>8&255,Le&255])),xt=Nt.sdtp(Ae),bt=Nt.trun(Ae,xt.byteLength+16+16+8+16+8+8);return Nt.box(Nt.types.traf,ze,Ze,bt,xt)}static sdtp(Ae){let Le=Ae.samples||[],Ie=Le.length,ze=new Uint8Array(4+Ie);for(let Ze=0;Ze<Ie;Ze++){let xt=Le[Ze].flags;ze[Ze+4]=xt.isLeading<<6|xt.dependsOn<<4|xt.isDependedOn<<2|xt.hasRedundancy}return Nt.box(Nt.types.sdtp,ze)}static trun(Ae,Le){let Ie=Ae.samples||[],ze=Ie.length,Ze=12+16*ze,xt=new Uint8Array(Ze);Le+=8+Ze,xt.set([0,0,15,1,ze>>>24&255,ze>>>16&255,ze>>>8&255,ze&255,Le>>>24&255,Le>>>16&255,Le>>>8&255,Le&255],0);for(let bt=0;bt<ze;bt++){let Yt=Ie[bt].duration,Ht=Ie[bt].size,cn=Ie[bt].flags,fn=Ie[bt].cts;xt.set([Yt>>>24&255,Yt>>>16&255,Yt>>>8&255,Yt&255,Ht>>>24&255,Ht>>>16&255,Ht>>>8&255,Ht&255,cn.isLeading<<2|cn.dependsOn,cn.isDependedOn<<6|cn.hasRedundancy<<4|cn.isNonSync,0,0,fn>>>24&255,fn>>>16&255,fn>>>8&255,fn&255],12+16*bt)}return Nt.box(Nt.types.trun,xt)}static mdat(Ae){return Nt.box(Nt.types.mdat,Ae)}}Nt.init();var wt=Nt;class rn{static getSilentFrame(Ae,Le){if(Ae==="mp4a.40.2"){if(Le===1)return new Uint8Array([0,200,0,128,35,128]);if(Le===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(Le===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(Le===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(Le===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(Le===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(Le===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(Le===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(Le===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null}}var On=rn;class zn{constructor(Ae,Le,Ie,ze,Ze){this.dts=Ae,this.pts=Le,this.duration=Ie,this.originalDts=ze,this.isSyncPoint=Ze,this.fileposition=null}}class Gn{constructor(){this.beginDts=0,this.endDts=0,this.beginPts=0,this.endPts=0,this.originalBeginDts=0,this.originalEndDts=0,this.syncPoints=[],this.firstSample=null,this.lastSample=null}appendSyncPoint(Ae){Ae.isSyncPoint=!0,this.syncPoints.push(Ae)}}class nr{constructor(){this._list=[]}clear(){this._list=[]}appendArray(Ae){let Le=this._list;Ae.length!==0&&(Le.length>0&&Ae[0].originalDts<Le[Le.length-1].originalDts&&this.clear(),Array.prototype.push.apply(Le,Ae))}getLastSyncPointBeforeDts(Ae){if(this._list.length==0)return null;let Le=this._list,Ie=0,ze=Le.length-1,Ze=0,xt=0,bt=ze;for(Ae<Le[0].dts&&(Ie=0,xt=bt+1);xt<=bt;)if(Ze=xt+Math.floor((bt-xt)/2),Ze===ze||Ae>=Le[Ze].dts&&Ae<Le[Ze+1].dts){Ie=Ze;break}else Le[Ze].dts<Ae?xt=Ze+1:bt=Ze-1;return this._list[Ie]}}class Xn{constructor(Ae){this._type=Ae,this._list=[],this._lastAppendLocation=-1}get type(){return this._type}get length(){return this._list.length}isEmpty(){return this._list.length===0}clear(){this._list=[],this._lastAppendLocation=-1}_searchNearestSegmentBefore(Ae){let Le=this._list;if(Le.length===0)return-2;let Ie=Le.length-1,ze=0,Ze=0,xt=Ie,bt=0;if(Ae<Le[0].originalBeginDts)return bt=-1,bt;for(;Ze<=xt;)if(ze=Ze+Math.floor((xt-Ze)/2),ze===Ie||Ae>Le[ze].lastSample.originalDts&&Ae<Le[ze+1].originalBeginDts){bt=ze;break}else Le[ze].originalBeginDts<Ae?Ze=ze+1:xt=ze-1;return bt}_searchNearestSegmentAfter(Ae){return this._searchNearestSegmentBefore(Ae)+1}append(Ae){let Le=this._list,Ie=Ae,ze=this._lastAppendLocation,Ze=0;ze!==-1&&ze<Le.length&&Ie.originalBeginDts>=Le[ze].lastSample.originalDts&&(ze===Le.length-1||ze<Le.length-1&&Ie.originalBeginDts<Le[ze+1].originalBeginDts)?Ze=ze+1:Le.length>0&&(Ze=this._searchNearestSegmentBefore(Ie.originalBeginDts)+1),this._lastAppendLocation=Ze,this._list.splice(Ze,0,Ie)}getLastSegmentBefore(Ae){let Le=this._searchNearestSegmentBefore(Ae);return Le>=0?this._list[Le]:null}getLastSampleBefore(Ae){let Le=this.getLastSegmentBefore(Ae);return Le!=null?Le.lastSample:null}getLastSyncPointBefore(Ae){let Le=this._searchNearestSegmentBefore(Ae),Ie=this._list[Le].syncPoints;for(;Ie.length===0&&Le>0;)Le--,Ie=this._list[Le].syncPoints;return Ie.length>0?Ie[Ie.length-1]:null}}class $t{constructor(Ae){this.TAG="MP4Remuxer",this._config=Ae,this._isLive=Ae.isLive===!0,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new Xn("audio"),this._videoSegmentInfoList=new Xn("video"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!!(oe.chrome&&(oe.version.major<50||oe.version.major===50&&oe.version.build<2661)),this._fillSilentAfterSeek=oe.msedge||oe.msie,this._mp3UseMpegAudio=!oe.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}destroy(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null}bindDataSource(Ae){return Ae.onDataAvailable=this.remux.bind(this),Ae.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this}get onInitSegment(){return this._onInitSegment}set onInitSegment(Ae){this._onInitSegment=Ae}get onMediaSegment(){return this._onMediaSegment}set onMediaSegment(Ae){this._onMediaSegment=Ae}insertDiscontinuity(){this._audioNextDts=this._videoNextDts=void 0}seek(Ae){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()}remux(Ae,Le){if(!this._onMediaSegment)throw new De("MP4Remuxer: onMediaSegment callback must be specificed!");this._dtsBaseInited||this._calculateDtsBase(Ae,Le),this._remuxVideo(Le),this._remuxAudio(Ae)}_onTrackMetadataReceived(Ae,Le){let Ie=null,ze="mp4",Ze=Le.codec;if(Ae==="audio")this._audioMeta=Le,Le.codec==="mp3"&&this._mp3UseMpegAudio?(ze="mpeg",Ze="",Ie=new Uint8Array):Ie=wt.generateInitSegment(Le);else if(Ae==="video")this._videoMeta=Le,Ie=wt.generateInitSegment(Le);else return;if(!this._onInitSegment)throw new De("MP4Remuxer: onInitSegment callback must be specified!");this._onInitSegment(Ae,{type:Ae,data:Ie.buffer,codec:Ze,container:`${Ae}/${ze}`,mediaDuration:Le.duration})}_calculateDtsBase(Ae,Le){this._dtsBaseInited||(Ae.samples&&Ae.samples.length&&(this._audioDtsBase=Ae.samples[0].dts),Le.samples&&Le.samples.length&&(this._videoDtsBase=Le.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)}flushStashedSamples(){let Ae=this._videoStashedLastSample,Le=this._audioStashedLastSample,Ie={type:"video",id:1,sequenceNumber:0,samples:[],length:0};Ae!=null&&(Ie.samples.push(Ae),Ie.length=Ae.length);let ze={type:"audio",id:2,sequenceNumber:0,samples:[],length:0};Le!=null&&(ze.samples.push(Le),ze.length=Le.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(Ie,!0),this._remuxAudio(ze,!0)}_remuxAudio(Ae,Le){if(this._audioMeta==null)return;let Ie=Ae,ze=Ie.samples,Ze,xt=-1,bt=-1,Yt=-1,Ht=this._audioMeta.refSampleDuration,cn=this._audioMeta.codec==="mp3"&&this._mp3UseMpegAudio,fn=this._dtsBaseInited&&this._audioNextDts===void 0,Zn=!1;if(!ze||ze.length===0||ze.length===1&&!Le)return;let Mn=0,er=null,rr=0;cn?(Mn=0,rr=Ie.length):(Mn=8,rr=8+Ie.length);let mr=null;if(ze.length>1&&(mr=ze.pop(),rr-=mr.length),this._audioStashedLastSample!=null){let tr=this._audioStashedLastSample;this._audioStashedLastSample=null,ze.unshift(tr),rr+=tr.length}mr!=null&&(this._audioStashedLastSample=mr);let pn=ze[0].dts-this._dtsBase;if(this._audioNextDts)Ze=pn-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())Ze=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&this._audioMeta.originalCodec!=="mp3"&&(Zn=!0);else{let tr=this._audioSegmentInfoList.getLastSampleBefore(pn);if(tr!=null){let hr=pn-(tr.originalDts+tr.duration);hr<=3&&(hr=0);let vr=tr.dts+tr.duration+hr;Ze=pn-vr}else Ze=0}if(Zn){let tr=pn-Ze,hr=this._videoSegmentInfoList.getLastSegmentBefore(pn);if(hr!=null&&hr.beginDts<tr){let vr=On.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);if(vr){let Nn=hr.beginDts,xr=tr-hr.beginDts;Ce.v(this.TAG,`InsertPrefixSilentAudio: dts: ${Nn}, duration: ${xr}`),ze.unshift({unit:vr,dts:Nn,pts:Nn}),rr+=vr.byteLength}}else Zn=!1}let nn=[];for(let tr=0;tr<ze.length;tr++){let hr=ze[tr],vr=hr.unit,Nn=hr.dts-this._dtsBase,xr=Nn-Ze;xt===-1&&(xt=xr);let Jn=0;tr!==ze.length-1?Jn=ze[tr+1].dts-this._dtsBase-Ze-xr:mr!=null?Jn=mr.dts-this._dtsBase-Ze-xr:nn.length>=1?Jn=nn[nn.length-1].duration:Jn=Math.floor(Ht);let Nr=!1,Xa=null;if(Jn>Ht*1.5&&this._audioMeta.codec!=="mp3"&&this._fillAudioTimestampGap&&!oe.safari){Nr=!0;let $a=Math.abs(Jn-Ht),ai=Math.ceil($a/Ht),Zr=xr+Ht;Ce.w(this.TAG,`Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
|
|
|
dts: ${xr+Jn} ms, expected: ${xr+Math.round(Ht)} ms, delta: ${Math.round($a)} ms, generate: ${ai} frames`);let ua=On.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);ua==null&&(Ce.w(this.TAG,`Unable to generate silent frame for ${this._audioMeta.originalCodec} with ${this._audioMeta.channelCount} channels, repeat last frame`),ua=vr),Xa=[];for(let sa=0;sa<ai;sa++){let Ja=Math.round(Zr);if(Xa.length>0){let Na=Xa[Xa.length-1];Na.duration=Ja-Na.dts}let Li={dts:Ja,pts:Ja,cts:0,unit:ua,size:ua.byteLength,duration:0,originalDts:Nn,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}};Xa.push(Li),rr+=Li.size,Zr+=Ht}let Da=Xa[Xa.length-1];Da.duration=xr+Jn-Da.dts,Jn=Math.round(Ht)}nn.push({dts:xr,pts:xr,cts:0,unit:hr.unit,size:hr.unit.byteLength,duration:Jn,originalDts:Nn,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),Nr&&nn.push.apply(nn,Xa)}cn?er=new Uint8Array(rr):(er=new Uint8Array(rr),er[0]=rr>>>24&255,er[1]=rr>>>16&255,er[2]=rr>>>8&255,er[3]=rr&255,er.set(wt.types.mdat,4));for(let tr=0;tr<nn.length;tr++){let hr=nn[tr].unit;er.set(hr,Mn),Mn+=hr.byteLength}let Bn=nn[nn.length-1];bt=Bn.dts+Bn.duration,this._audioNextDts=bt;let Hn=new Gn;Hn.beginDts=xt,Hn.endDts=bt,Hn.beginPts=xt,Hn.endPts=bt,Hn.originalBeginDts=nn[0].originalDts,Hn.originalEndDts=Bn.originalDts+Bn.duration,Hn.firstSample=new zn(nn[0].dts,nn[0].pts,nn[0].duration,nn[0].originalDts,!1),Hn.lastSample=new zn(Bn.dts,Bn.pts,Bn.duration,Bn.originalDts,!1),this._isLive||this._audioSegmentInfoList.append(Hn),Ie.samples=nn,Ie.sequenceNumber++;let fr=null;cn?fr=new Uint8Array:fr=wt.moof(Ie,xt),Ie.samples=[],Ie.length=0;let br={type:"audio",data:this._mergeBoxes(fr,er).buffer,sampleCount:nn.length,info:Hn};cn&&fn&&(br.timestampOffset=xt),this._onMediaSegment("audio",br)}_remuxVideo(Ae,Le){if(this._videoMeta==null)return;let Ie=Ae,ze=Ie.samples,Ze,xt=-1,bt=-1,Yt=-1,Ht=-1;if(!ze||ze.length===0||ze.length===1&&!Le)return;let cn=8,fn=null,Zn=8+Ae.length,Mn=null;if(ze.length>1&&(Mn=ze.pop(),Zn-=Mn.length),this._videoStashedLastSample!=null){let Bn=this._videoStashedLastSample;this._videoStashedLastSample=null,ze.unshift(Bn),Zn+=Bn.length}Mn!=null&&(this._videoStashedLastSample=Mn);let er=ze[0].dts-this._dtsBase;if(this._videoNextDts)Ze=er-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())Ze=0;else{let Bn=this._videoSegmentInfoList.getLastSampleBefore(er);if(Bn!=null){let Hn=er-(Bn.originalDts+Bn.duration);Hn<=3&&(Hn=0);let fr=Bn.dts+Bn.duration+Hn;Ze=er-fr}else Ze=0}let rr=new Gn,mr=[];for(let Bn=0;Bn<ze.length;Bn++){let Hn=ze[Bn],fr=Hn.dts-this._dtsBase,br=Hn.isKeyframe,tr=fr-Ze,hr=Hn.cts,vr=tr+hr;xt===-1&&(xt=tr,Yt=vr);let Nn=0;if(Bn!==ze.length-1?Nn=ze[Bn+1].dts-this._dtsBase-Ze-tr:Mn!=null?Nn=Mn.dts-this._dtsBase-Ze-tr:mr.length>=1?Nn=mr[mr.length-1].duration:Nn=Math.floor(this._videoMeta.refSampleDuration),br){let xr=new zn(tr,vr,Nn,Hn.dts,!0);xr.fileposition=Hn.fileposition,rr.appendSyncPoint(xr)}mr.push({dts:tr,pts:vr,cts:hr,units:Hn.units,size:Hn.length,isKeyframe:br,duration:Nn,originalDts:fr,flags:{isLeading:0,dependsOn:br?2:1,isDependedOn:br?1:0,hasRedundancy:0,isNonSync:br?0:1}})}fn=new Uint8Array(Zn),fn[0]=Zn>>>24&255,fn[1]=Zn>>>16&255,fn[2]=Zn>>>8&255,fn[3]=Zn&255,fn.set(wt.types.mdat,4);for(let Bn=0;Bn<mr.length;Bn++){let Hn=mr[Bn].units;for(;Hn.length;){let br=Hn.shift().data;fn.set(br,cn),cn+=br.byteLength}}let pn=mr[mr.length-1];if(bt=pn.dts+pn.duration,Ht=pn.pts+pn.duration,this._videoNextDts=bt,rr.beginDts=xt,rr.endDts=bt,rr.beginPts=Yt,rr.endPts=Ht,rr.originalBeginDts=mr[0].originalDts,rr.originalEndDts=pn.originalDts+pn.duration,rr.firstSample=new zn(mr[0].dts,mr[0].pts,mr[0].duration,mr[0].originalDts,mr[0].isKeyframe),rr.lastSample=new zn(pn.dts,pn.pts,pn.duration,pn.originalDts,pn.isKeyframe),this._isLive||this._videoSegmentInfoList.append(rr),Ie.samples=mr,Ie.sequenceNumber++,this._forceFirstIDR){let Bn=mr[0].flags;Bn.dependsOn=2,Bn.isNonSync=0}let nn=wt.moof(Ie,xt);Ie.samples=[],Ie.length=0,this._onMediaSegment("video",{type:"video",data:this._mergeBoxes(nn,fn).buffer,sampleCount:mr.length,info:rr})}_mergeBoxes(Ae,Le){let Ie=new Uint8Array(Ae.byteLength+Le.byteLength);return Ie.set(Ae,0),Ie.set(Le,Ae.byteLength),Ie}}var gn=$t,Ln={IO_ERROR:"io_error",DEMUX_ERROR:"demux_error",INIT_SEGMENT:"init_segment",MEDIA_SEGMENT:"media_segment",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info",RECOMMEND_SEEKPOINT:"recommend_seekpoint"};class Sr{constructor(Ae,Le){this.TAG="TransmuxingController",this._emitter=new(be()),this._config=Le,Ae.segments||(Ae.segments=[{duration:Ae.duration,filesize:Ae.filesize,url:Ae.url}]),typeof Ae.cors!="boolean"&&(Ae.cors=!0),typeof Ae.withCredentials!="boolean"&&(Ae.withCredentials=!1),this._mediaDataSource=Ae,this._currentSegmentIndex=0;let Ie=0;this._mediaDataSource.segments.forEach(ze=>{ze.timestampBase=Ie,Ie+=ze.duration,ze.cors=Ae.cors,ze.withCredentials=Ae.withCredentials,Le.referrerPolicy&&(ze.referrerPolicy=Le.referrerPolicy)}),!isNaN(Ie)&&this._mediaDataSource.duration!==Ie&&(this._mediaDataSource.duration=Ie),this._mediaInfo=null,this._demuxer=null,this._remuxer=null,this._ioctl=null,this._pendingSeekTime=null,this._pendingResolveSeekPoint=null,this._statisticsReporter=null}destroy(){this._mediaInfo=null,this._mediaDataSource=null,this._statisticsReporter&&this._disableStatisticsReporter(),this._ioctl&&(this._ioctl.destroy(),this._ioctl=null),this._demuxer&&(this._demuxer.destroy(),this._demuxer=null),this._remuxer&&(this._remuxer.destroy(),this._remuxer=null),this._emitter.removeAllListeners(),this._emitter=null}on(Ae,Le){this._emitter.addListener(Ae,Le)}off(Ae,Le){this._emitter.removeListener(Ae,Le)}start(){this._loadSegment(0),this._enableStatisticsReporter()}_loadSegment(Ae,Le){this._currentSegmentIndex=Ae;let Ie=this._mediaDataSource.segments[Ae],ze=this._ioctl=new qe(Ie,this._config,Ae);ze.onError=this._onIOException.bind(this),ze.onSeeked=this._onIOSeeked.bind(this),ze.onComplete=this._onIOComplete.bind(this),ze.onRedirect=this._onIORedirect.bind(this),ze.onRecoveredEarlyEof=this._onIORecoveredEarlyEof.bind(this),Le?this._demuxer.bindDataSource(this._ioctl):ze.onDataArrival=this._onInitChunkArrival.bind(this),ze.open(Le)}stop(){this._internalAbort(),this._disableStatisticsReporter()}_internalAbort(){this._ioctl&&(this._ioctl.destroy(),this._ioctl=null)}pause(){this._ioctl&&this._ioctl.isWorking()&&(this._ioctl.pause(),this._disableStatisticsReporter())}resume(){this._ioctl&&this._ioctl.isPaused()&&(this._ioctl.resume(),this._enableStatisticsReporter())}seek(Ae){if(this._mediaInfo==null||!this._mediaInfo.isSeekable())return;let Le=this._searchSegmentIndexContains(Ae);if(Le===this._currentSegmentIndex){let Ie=this._mediaInfo.segments[Le];if(Ie==null)this._pendingSeekTime=Ae;else{let ze=Ie.getNearestKeyframe(Ae);this._remuxer.seek(ze.milliseconds),this._ioctl.seek(ze.fileposition),this._pendingResolveSeekPoint=ze.milliseconds}}else{let Ie=this._mediaInfo.segments[Le];if(Ie==null)this._pendingSeekTime=Ae,this._internalAbort(),this._remuxer.seek(),this._remuxer.insertDiscontinuity(),this._loadSegment(Le);else{let ze=Ie.getNearestKeyframe(Ae);this._internalAbort(),this._remuxer.seek(Ae),this._remuxer.insertDiscontinuity(),this._demuxer.resetMediaInfo(),this._demuxer.timestampBase=this._mediaDataSource.segments[Le].timestampBase,this._loadSegment(Le,ze.fileposition),this._pendingResolveSeekPoint=ze.milliseconds,this._reportSegmentMediaInfo(Le)}}this._enableStatisticsReporter()}_searchSegmentIndexContains(Ae){let Le=this._mediaDataSource.segments,Ie=Le.length-1;for(let ze=0;ze<Le.length;ze++)if(Ae<Le[ze].timestampBase){Ie=ze-1;break}return Ie}_onInitChunkArrival(Ae,Le){let Ie=null,ze=0;if(Le>0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,ze=this._demuxer.parseChunks(Ae,Le);else if((Ie=Qt.probe(Ae)).match){this._demuxer=new Qt(Ie,this._config),this._remuxer||(this._remuxer=new gn(this._config));let Ze=this._mediaDataSource;Ze.duration!=null&&!isNaN(Ze.duration)&&(this._demuxer.overridedDuration=Ze.duration),typeof Ze.hasAudio=="boolean"&&(this._demuxer.overridedHasAudio=Ze.hasAudio),typeof Ze.hasVideo=="boolean"&&(this._demuxer.overridedHasVideo=Ze.hasVideo),this._demuxer.timestampBase=Ze.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),ze=this._demuxer.parseChunks(Ae,Le)}else Ie=null,Ce.e(this.TAG,"Non-FLV, Unsupported media type!"),Promise.resolve().then(()=>{this._internalAbort()}),this._emitter.emit(Ln.DEMUX_ERROR,Tt.FORMAT_UNSUPPORTED,"Non-FLV, Unsupported media type"),ze=0;return ze}_onMediaInfo(Ae){this._mediaInfo==null&&(this._mediaInfo=Object.assign({},Ae),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,Wt.prototype));let Le=Object.assign({},Ae);Object.setPrototypeOf(Le,Wt.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=Le,this._reportSegmentMediaInfo(this._currentSegmentIndex),this._pendingSeekTime!=null&&Promise.resolve().then(()=>{let Ie=this._pendingSeekTime;this._pendingSeekTime=null,this.seek(Ie)})}_onMetaDataArrived(Ae){this._emitter.emit(Ln.METADATA_ARRIVED,Ae)}_onScriptDataArrived(Ae){this._emitter.emit(Ln.SCRIPTDATA_ARRIVED,Ae)}_onIOSeeked(){this._remuxer.insertDiscontinuity()}_onIOComplete(Ae){let Ie=Ae+1;Ie<this._mediaDataSource.segments.length?(this._internalAbort(),this._remuxer.flushStashedSamples(),this._loadSegment(Ie)):(this._remuxer.flushStashedSamples(),this._emitter.emit(Ln.LOADING_COMPLETE),this._disableStatisticsReporter())}_onIORedirect(Ae){let Le=this._ioctl.extraData;this._mediaDataSource.segments[Le].redirectedURL=Ae}_onIORecoveredEarlyEof(){this._emitter.emit(Ln.RECOVERED_EARLY_EOF)}_onIOException(Ae,Le){Ce.e(this.TAG,`IOException: type = ${Ae}, code = ${Le.code}, msg = ${Le.msg}`),this._emitter.emit(Ln.IO_ERROR,Ae,Le),this._disableStatisticsReporter()}_onDemuxException(Ae,Le){Ce.e(this.TAG,`DemuxException: type = ${Ae}, info = ${Le}`),this._emitter.emit(Ln.DEMUX_ERROR,Ae,Le)}_onRemuxerInitSegmentArrival(Ae,Le){this._emitter.emit(Ln.INIT_SEGMENT,Ae,Le)}_onRemuxerMediaSegmentArrival(Ae,Le){if(this._pendingSeekTime==null&&(this._emitter.emit(Ln.MEDIA_SEGMENT,Ae,Le),this._pendingResolveSeekPoint!=null&&Ae==="video")){let Ie=Le.info.syncPoints,ze=this._pendingResolveSeekPoint;this._pendingResolveSeekPoint=null,oe.safari&&Ie.length>0&&Ie[0].originalDts===ze&&(ze=Ie[0].pts),this._emitter.emit(Ln.RECOMMEND_SEEKPOINT,ze)}}_enableStatisticsReporter(){this._statisticsReporter==null&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))}_disableStatisticsReporter(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}_reportSegmentMediaInfo(Ae){let Le=this._mediaInfo.segments[Ae],Ie=Object.assign({},Le);Ie.duration=this._mediaInfo.duration,Ie.segmentCount=this._mediaInfo.segmentCount,delete Ie.segments,delete Ie.keyframesIndex,this._emitter.emit(Ln.MEDIA_INFO,Ie)}_reportStatisticsInfo(){let Ae={};Ae.url=this._ioctl.currentURL,Ae.hasRedirect=this._ioctl.hasRedirect,Ae.hasRedirect&&(Ae.redirectedURL=this._ioctl.currentRedirectedURL),Ae.speed=this._ioctl.currentSpeed,Ae.loaderType=this._ioctl.loaderType,Ae.currentSegmentIndex=this._currentSegmentIndex,Ae.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(Ln.STATISTICS_INFO,Ae)}}var Ur=Sr,Gr=function(pt){let Ae="TransmuxingWorker",Le=null,Ie=rr.bind(this);Ve.install(),pt.addEventListener("message",function(mr){switch(mr.data.cmd){case"init":Le=new Ur(mr.data.param[0],mr.data.param[1]),Le.on(Ln.IO_ERROR,Zn.bind(this)),Le.on(Ln.DEMUX_ERROR,Mn.bind(this)),Le.on(Ln.INIT_SEGMENT,ze.bind(this)),Le.on(Ln.MEDIA_SEGMENT,Ze.bind(this)),Le.on(Ln.LOADING_COMPLETE,xt.bind(this)),Le.on(Ln.RECOVERED_EARLY_EOF,bt.bind(this)),Le.on(Ln.MEDIA_INFO,Yt.bind(this)),Le.on(Ln.METADATA_ARRIVED,Ht.bind(this)),Le.on(Ln.SCRIPTDATA_ARRIVED,cn.bind(this)),Le.on(Ln.STATISTICS_INFO,fn.bind(this)),Le.on(Ln.RECOMMEND_SEEKPOINT,er.bind(this));break;case"destroy":Le&&(Le.destroy(),Le=null),pt.postMessage({msg:"destroyed"});break;case"start":Le.start();break;case"stop":Le.stop();break;case"seek":Le.seek(mr.data.param);break;case"pause":Le.pause();break;case"resume":Le.resume();break;case"logging_config":{let pn=mr.data.param;ht.applyConfig(pn),pn.enableCallback===!0?ht.addLogListener(Ie):ht.removeLogListener(Ie);break}}});function ze(mr,pn){let nn={msg:Ln.INIT_SEGMENT,data:{type:mr,data:pn}};pt.postMessage(nn,[pn.data])}function Ze(mr,pn){let nn={msg:Ln.MEDIA_SEGMENT,data:{type:mr,data:pn}};pt.postMessage(nn,[pn.data])}function xt(){let mr={msg:Ln.LOADING_COMPLETE};pt.postMessage(mr)}function bt(){let mr={msg:Ln.RECOVERED_EARLY_EOF};pt.postMessage(mr)}function Yt(mr){let pn={msg:Ln.MEDIA_INFO,data:mr};pt.postMessage(pn)}function Ht(mr){let pn={msg:Ln.METADATA_ARRIVED,data:mr};pt.postMessage(pn)}function cn(mr){let pn={msg:Ln.SCRIPTDATA_ARRIVED,data:mr};pt.postMessage(pn)}function fn(mr){let pn={msg:Ln.STATISTICS_INFO,data:mr};pt.postMessage(pn)}function Zn(mr,pn){pt.postMessage({msg:Ln.IO_ERROR,data:{type:mr,info:pn}})}function Mn(mr,pn){pt.postMessage({msg:Ln.DEMUX_ERROR,data:{type:mr,info:pn}})}function er(mr){pt.postMessage({msg:Ln.RECOMMEND_SEEKPOINT,data:mr})}function rr(mr,pn){pt.postMessage({msg:"logcat_callback",data:{type:mr,logcat:pn}})}};class ma{constructor(Ae,Le){if(this.TAG="Transmuxer",this._emitter=new(be()),Le.enableWorker&&typeof Worker!="undefined")try{let Ie=Oe(82059);this._worker=Ie(Gr),this._workerDestroying=!1,this._worker.addEventListener("message",this._onWorkerMessage.bind(this)),this._worker.postMessage({cmd:"init",param:[Ae,Le]}),this.e={onLoggingConfigChanged:this._onLoggingConfigChanged.bind(this)},ht.registerListener(this.e.onLoggingConfigChanged),this._worker.postMessage({cmd:"logging_config",param:ht.getConfig()})}catch(Ie){Ce.e(this.TAG,"Error while initialize transmuxing worker, fallback to inline transmuxing"),this._worker=null,this._controller=new Ur(Ae,Le)}else this._controller=new Ur(Ae,Le);if(this._controller){let Ie=this._controller;Ie.on(Ln.IO_ERROR,this._onIOError.bind(this)),Ie.on(Ln.DEMUX_ERROR,this._onDemuxError.bind(this)),Ie.on(Ln.INIT_SEGMENT,this._onInitSegment.bind(this)),Ie.on(Ln.MEDIA_SEGMENT,this._onMediaSegment.bind(this)),Ie.on(Ln.LOADING_COMPLETE,this._onLoadingComplete.bind(this)),Ie.on(Ln.RECOVERED_EARLY_EOF,this._onRecoveredEarlyEof.bind(this)),Ie.on(Ln.MEDIA_INFO,this._onMediaInfo.bind(this)),Ie.on(Ln.METADATA_ARRIVED,this._onMetaDataArrived.bind(this)),Ie.on(Ln.SCRIPTDATA_ARRIVED,this._onScriptDataArrived.bind(this)),Ie.on(Ln.STATISTICS_INFO,this._onStatisticsInfo.bind(this)),Ie.on(Ln.RECOMMEND_SEEKPOINT,this._onRecommendSeekpoint.bind(this))}}destroy(){this._worker?this._workerDestroying||(this._workerDestroying=!0,this._worker.postMessage({cmd:"destroy"}),ht.removeListener(this.e.onLoggingConfigChanged),this.e=null):(this._controller.destroy(),this._controller=null),this._emitter.removeAllListeners(),this._emitter=null}on(Ae,Le){this._emitter.addListener(Ae,Le)}off(Ae,Le){this._emitter.removeListener(Ae,Le)}hasWorker(){return this._worker!=null}open(){this._worker?this._worker.postMessage({cmd:"start"}):this._controller.start()}close(){this._worker?this._worker.postMessage({cmd:"stop"}):this._controller.stop()}seek(Ae){this._worker?this._worker.postMessage({cmd:"seek",param:Ae}):this._controller.seek(Ae)}pause(){this._worker?this._worker.postMessage({cmd:"pause"}):this._controller.pause()}resume(){this._worker?this._worker.postMessage({cmd:"resume"}):this._controller.resume()}_onInitSegment(Ae,Le){Promise.resolve().then(()=>{this._emitter.emit(Ln.INIT_SEGMENT,Ae,Le)})}_onMediaSegment(Ae,Le){Promise.resolve().then(()=>{this._emitter.emit(Ln.MEDIA_SEGMENT,Ae,Le)})}_onLoadingComplete(){Promise.resolve().then(()=>{this._emitter.emit(Ln.LOADING_COMPLETE)})}_onRecoveredEarlyEof(){Promise.resolve().then(()=>{this._emitter.emit(Ln.RECOVERED_EARLY_EOF)})}_onMediaInfo(Ae){Promise.resolve().then(()=>{this._emitter.emit(Ln.MEDIA_INFO,Ae)})}_onMetaDataArrived(Ae){Promise.resolve().then(()=>{this._emitter.emit(Ln.METADATA_ARRIVED,Ae)})}_onScriptDataArrived(Ae){Promise.resolve().then(()=>{this._emitter.emit(Ln.SCRIPTDATA_ARRIVED,Ae)})}_onStatisticsInfo(Ae){Promise.resolve().then(()=>{this._emitter.emit(Ln.STATISTICS_INFO,Ae)})}_onIOError(Ae,Le){Promise.resolve().then(()=>{this._emitter.emit(Ln.IO_ERROR,Ae,Le)})}_onDemuxError(Ae,Le){Promise.resolve().then(()=>{this._emitter.emit(Ln.DEMUX_ERROR,Ae,Le)})}_onRecommendSeekpoint(Ae){Promise.resolve().then(()=>{this._emitter.emit(Ln.RECOMMEND_SEEKPOINT,Ae)})}_onLoggingConfigChanged(Ae){this._worker&&this._worker.postMessage({cmd:"logging_config",param:Ae})}_onWorkerMessage(Ae){let Le=Ae.data,Ie=Le.data;if(Le.msg==="destroyed"||this._workerDestroying){this._workerDestroying=!1,this._worker.terminate(),this._worker=null;return}switch(Le.msg){case Ln.INIT_SEGMENT:case Ln.MEDIA_SEGMENT:this._emitter.emit(Le.msg,Ie.type,Ie.data);break;case Ln.LOADING_COMPLETE:case Ln.RECOVERED_EARLY_EOF:this._emitter.emit(Le.msg);break;case Ln.MEDIA_INFO:Object.setPrototypeOf(Ie,Wt.prototype),this._emitter.emit(Le.msg,Ie);break;case Ln.METADATA_ARRIVED:case Ln.SCRIPTDATA_ARRIVED:case Ln.STATISTICS_INFO:this._emitter.emit(Le.msg,Ie);break;case Ln.IO_ERROR:case Ln.DEMUX_ERROR:this._emitter.emit(Le.msg,Ie.type,Ie.info);break;case Ln.RECOMMEND_SEEKPOINT:this._emitter.emit(Le.msg,Ie);break;case"logcat_callback":Ce.emitter.emit("log",Ie.type,Ie.logcat);break;default:break}}}var Oa=ma,Ma={ERROR:"error",SOURCE_OPEN:"source_open",UPDATE_END:"update_end",BUFFER_FULL:"buffer_full"};class li{constructor(Ae){this.TAG="MSEController",this._config=Ae,this._emitter=new(be()),this._config.isLive&&this._config.autoCleanupSourceBuffer==null&&(this._config.autoCleanupSourceBuffer=!0),this.e={onSourceOpen:this._onSourceOpen.bind(this),onSourceEnded:this._onSourceEnded.bind(this),onSourceClose:this._onSourceClose.bind(this),onSourceBufferError:this._onSourceBufferError.bind(this),onSourceBufferUpdateEnd:this._onSourceBufferUpdateEnd.bind(this)},this._mediaSource=null,this._mediaSourceObjectURL=null,this._mediaElement=null,this._isBufferFull=!1,this._hasPendingEos=!1,this._requireSetMediaDuration=!1,this._pendingMediaDuration=0,this._pendingSourceBufferInit=[],this._mimeTypes={video:null,audio:null},this._sourceBuffers={video:null,audio:null},this._lastInitSegments={video:null,audio:null},this._pendingSegments={video:[],audio:[]},this._pendingRemoveRanges={video:[],audio:[]},this._idrList=new nr}destroy(){(this._mediaElement||this._mediaSource)&&this.detachMediaElement(),this.e=null,this._emitter.removeAllListeners(),this._emitter=null}on(Ae,Le){this._emitter.addListener(Ae,Le)}off(Ae,Le){this._emitter.removeListener(Ae,Le)}attachMediaElement(Ae){if(this._mediaSource)throw new De("MediaSource has been attached to an HTMLMediaElement!");let Le=this._mediaSource=new window.MediaSource;Le.addEventListener("sourceopen",this.e.onSourceOpen),Le.addEventListener("sourceended",this.e.onSourceEnded),Le.addEventListener("sourceclose",this.e.onSourceClose),this._mediaElement=Ae,this._mediaSourceObjectURL=window.URL.createObjectURL(this._mediaSource),Ae.src=this._mediaSourceObjectURL}detachMediaElement(){if(this._mediaSource){let Ae=this._mediaSource;for(let Le in this._sourceBuffers){let Ie=this._pendingSegments[Le];Ie.splice(0,Ie.length),this._pendingSegments[Le]=null,this._pendingRemoveRanges[Le]=null,this._lastInitSegments[Le]=null;let ze=this._sourceBuffers[Le];if(ze){if(Ae.readyState!=="closed"){try{Ae.removeSourceBuffer(ze)}catch(Ze){Ce.e(this.TAG,Ze.message)}ze.removeEventListener("error",this.e.onSourceBufferError),ze.removeEventListener("updateend",this.e.onSourceBufferUpdateEnd)}this._mimeTypes[Le]=null,this._sourceBuffers[Le]=null}}if(Ae.readyState==="open")try{Ae.endOfStream()}catch(Le){Ce.e(this.TAG,Le.message)}Ae.removeEventListener("sourceopen",this.e.onSourceOpen),Ae.removeEventListener("sourceended",this.e.onSourceEnded),Ae.removeEventListener("sourceclose",this.e.onSourceClose),this._pendingSourceBufferInit=[],this._isBufferFull=!1,this._idrList.clear(),this._mediaSource=null}this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement=null),this._mediaSourceObjectURL&&(window.URL.revokeObjectURL(this._mediaSourceObjectURL),this._mediaSourceObjectURL=null)}appendInitSegment(Ae,Le){if(!this._mediaSource||this._mediaSource.readyState!=="open"){this._pendingSourceBufferInit.push(Ae),this._pendingSegments[Ae.type].push(Ae);return}let Ie=Ae,ze=`${Ie.container}`;Ie.codec&&Ie.codec.length>0&&(ze+=`;codecs=${Ie.codec}`);let Ze=!1;if(Ce.v(this.TAG,"Received Initialization Segment, mimeType: "+ze),this._lastInitSegments[Ie.type]=Ie,ze!==this._mimeTypes[Ie.type]){if(this._mimeTypes[Ie.type])Ce.v(this.TAG,`Notice: ${Ie.type} mimeType changed, origin: ${this._mimeTypes[Ie.type]}, target: ${ze}`);else{Ze=!0;try{let xt=this._sourceBuffers[Ie.type]=this._mediaSource.addSourceBuffer(ze);xt.addEventListener("error",this.e.onSourceBufferError),xt.addEventListener("updateend",this.e.onSourceBufferUpdateEnd)}catch(xt){Ce.e(this.TAG,xt.message),this._emitter.emit(Ma.ERROR,{code:xt.code,msg:xt.message});return}}this._mimeTypes[Ie.type]=ze}Le||this._pendingSegments[Ie.type].push(Ie),Ze||this._sourceBuffers[Ie.type]&&!this._sourceBuffers[Ie.type].updating&&this._doAppendSegments(),oe.safari&&Ie.container==="audio/mpeg"&&Ie.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=Ie.mediaDuration/1e3,this._updateMediaSourceDuration())}appendMediaSegment(Ae){let Le=Ae;this._pendingSegments[Le.type].push(Le),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();let Ie=this._sourceBuffers[Le.type];Ie&&!Ie.updating&&!this._hasPendingRemoveRanges()&&this._doAppendSegments()}seek(Ae){for(let Le in this._sourceBuffers){if(!this._sourceBuffers[Le])continue;let Ie=this._sourceBuffers[Le];if(this._mediaSource.readyState==="open")try{Ie.abort()}catch(Ze){Ce.e(this.TAG,Ze.message)}this._idrList.clear();let ze=this._pendingSegments[Le];if(ze.splice(0,ze.length),this._mediaSource.readyState!=="closed"){for(let Ze=0;Ze<Ie.buffered.length;Ze++){let xt=Ie.buffered.start(Ze),bt=Ie.buffered.end(Ze);this._pendingRemoveRanges[Le].push({start:xt,end:bt})}if(Ie.updating||this._doRemoveRanges(),oe.safari){let Ze=this._lastInitSegments[Le];Ze&&(this._pendingSegments[Le].push(Ze),Ie.updating||this._doAppendSegments())}}}}endOfStream(){let Ae=this._mediaSource,Le=this._sourceBuffers;if(!Ae||Ae.readyState!=="open"){Ae&&Ae.readyState==="closed"&&this._hasPendingSegments()&&(this._hasPendingEos=!0);return}Le.video&&Le.video.updating||Le.audio&&Le.audio.updating?this._hasPendingEos=!0:(this._hasPendingEos=!1,Ae.endOfStream())}getNearestKeyframe(Ae){return this._idrList.getLastSyncPointBeforeDts(Ae)}_needCleanupSourceBuffer(){if(!this._config.autoCleanupSourceBuffer)return!1;let Ae=this._mediaElement.currentTime;for(let Le in this._sourceBuffers){let Ie=this._sourceBuffers[Le];if(Ie){let ze=Ie.buffered;if(ze.length>=1&&Ae-ze.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1}_doCleanupSourceBuffer(){let Ae=this._mediaElement.currentTime;for(let Le in this._sourceBuffers){let Ie=this._sourceBuffers[Le];if(Ie){let ze=Ie.buffered,Ze=!1;for(let xt=0;xt<ze.length;xt++){let bt=ze.start(xt),Yt=ze.end(xt);if(bt<=Ae&&Ae<Yt+3){if(Ae-bt>=this._config.autoCleanupMaxBackwardDuration){Ze=!0;let Ht=Ae-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[Le].push({start:bt,end:Ht})}}else Yt<Ae&&(Ze=!0,this._pendingRemoveRanges[Le].push({start:bt,end:Yt}))}Ze&&!Ie.updating&&this._doRemoveRanges()}}}_updateMediaSourceDuration(){let Ae=this._sourceBuffers;if(this._mediaElement.readyState===0||this._mediaSource.readyState!=="open"||Ae.video&&Ae.video.updating||Ae.audio&&Ae.audio.updating)return;let Le=this._mediaSource.duration,Ie=this._pendingMediaDuration;Ie>0&&(isNaN(Le)||Ie>Le)&&(Ce.v(this.TAG,`Update MediaSource duration from ${Le} to ${Ie}`),this._mediaSource.duration=Ie),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}_doRemoveRanges(){for(let Ae in this._pendingRemoveRanges){if(!this._sourceBuffers[Ae]||this._sourceBuffers[Ae].updating)continue;let Le=this._sourceBuffers[Ae],Ie=this._pendingRemoveRanges[Ae];for(;Ie.length&&!Le.updating;){let ze=Ie.shift();Le.remove(ze.start,ze.end)}}}_doAppendSegments(){let Ae=this._pendingSegments;for(let Le in Ae)if(!(!this._sourceBuffers[Le]||this._sourceBuffers[Le].updating)&&Ae[Le].length>0){let Ie=Ae[Le].shift();if(Ie.timestampOffset){let ze=this._sourceBuffers[Le].timestampOffset,Ze=Ie.timestampOffset/1e3;Math.abs(ze-Ze)>.1&&(Ce.v(this.TAG,`Update MPEG audio timestampOffset from ${ze} to ${Ze}`),this._sourceBuffers[Le].timestampOffset=Ze),delete Ie.timestampOffset}if(!Ie.data||Ie.data.byteLength===0)continue;try{this._sourceBuffers[Le].appendBuffer(Ie.data),this._isBufferFull=!1,Le==="video"&&Ie.hasOwnProperty("info")&&this._idrList.appendArray(Ie.info.syncPoints)}catch(ze){this._pendingSegments[Le].unshift(Ie),ze.code===22?(this._isBufferFull||this._emitter.emit(Ma.BUFFER_FULL),this._isBufferFull=!0):(Ce.e(this.TAG,ze.message),this._emitter.emit(Ma.ERROR,{code:ze.code,msg:ze.message}))}}}_onSourceOpen(){if(Ce.v(this.TAG,"MediaSource onSourceOpen"),this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0){let Ae=this._pendingSourceBufferInit;for(;Ae.length;){let Le=Ae.shift();this.appendInitSegment(Le,!0)}}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(Ma.SOURCE_OPEN)}_onSourceEnded(){Ce.v(this.TAG,"MediaSource onSourceEnded")}_onSourceClose(){Ce.v(this.TAG,"MediaSource onSourceClose"),this._mediaSource&&this.e!=null&&(this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._mediaSource.removeEventListener("sourceended",this.e.onSourceEnded),this._mediaSource.removeEventListener("sourceclose",this.e.onSourceClose))}_hasPendingSegments(){let Ae=this._pendingSegments;return Ae.video.length>0||Ae.audio.length>0}_hasPendingRemoveRanges(){let Ae=this._pendingRemoveRanges;return Ae.video.length>0||Ae.audio.length>0}_onSourceBufferUpdateEnd(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(Ma.UPDATE_END)}_onSourceBufferError(Ae){Ce.e(this.TAG,`SourceBuffer Error: ${Ae}`)}}var di=li;const Hr={NETWORK_ERROR:"NetworkError",MEDIA_ERROR:"MediaError",OTHER_ERROR:"OtherError"},Ta={NETWORK_EXCEPTION:de.EXCEPTION,NETWORK_STATUS_CODE_INVALID:de.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:de.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:de.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:"MediaMSEError",MEDIA_FORMAT_ERROR:Tt.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:Tt.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:Tt.CODEC_UNSUPPORTED};class Ha{constructor(Ae,Le){if(this.TAG="FlvPlayer",this._type="FlvPlayer",this._emitter=new(be()),this._config=rt(),typeof Le=="object"&&Object.assign(this._config,Le),Ae.type.toLowerCase()!=="flv")throw new pe("FlvPlayer requires an flv MediaDataSource input!");Ae.isLive===!0&&(this._config.isLive=!0),this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this),onvSeeking:this._onvSeeking.bind(this),onvCanPlay:this._onvCanPlay.bind(this),onvStalled:this._onvStalled.bind(this),onvProgress:this._onvProgress.bind(this)},self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now,this._pendingSeekTime=null,this._requestSetTime=!1,this._seekpointRecord=null,this._progressChecker=null,this._mediaDataSource=Ae,this._mediaElement=null,this._msectl=null,this._transmuxer=null,this._mseSourceOpened=!1,this._hasPendingLoad=!1,this._receivedCanPlay=!1,this._mediaInfo=null,this._statisticsInfo=null;let Ie=oe.chrome&&(oe.version.major<50||oe.version.major===50&&oe.version.build<2661);this._alwaysSeekKeyframe=!!(Ie||oe.msedge||oe.msie),this._alwaysSeekKeyframe&&(this._config.accurateSeek=!1)}destroy(){this._progressChecker!=null&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._transmuxer&&this.unload(),this._mediaElement&&this.detachMediaElement(),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}on(Ae,Le){Ae===At.MEDIA_INFO?this._mediaInfo!=null&&Promise.resolve().then(()=>{this._emitter.emit(At.MEDIA_INFO,this.mediaInfo)}):Ae===At.STATISTICS_INFO&&this._statisticsInfo!=null&&Promise.resolve().then(()=>{this._emitter.emit(At.STATISTICS_INFO,this.statisticsInfo)}),this._emitter.addListener(Ae,Le)}off(Ae,Le){this._emitter.removeListener(Ae,Le)}attachMediaElement(Ae){if(this._mediaElement=Ae,Ae.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),Ae.addEventListener("seeking",this.e.onvSeeking),Ae.addEventListener("canplay",this.e.onvCanPlay),Ae.addEventListener("stalled",this.e.onvStalled),Ae.addEventListener("progress",this.e.onvProgress),this._msectl=new di(this._config),this._msectl.on(Ma.UPDATE_END,this._onmseUpdateEnd.bind(this)),this._msectl.on(Ma.BUFFER_FULL,this._onmseBufferFull.bind(this)),this._msectl.on(Ma.SOURCE_OPEN,()=>{this._mseSourceOpened=!0,this._hasPendingLoad&&(this._hasPendingLoad=!1,this.load())}),this._msectl.on(Ma.ERROR,Le=>{this._emitter.emit(At.ERROR,Hr.MEDIA_ERROR,Ta.MEDIA_MSE_ERROR,Le)}),this._msectl.attachMediaElement(Ae),this._pendingSeekTime!=null)try{Ae.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(Le){}}detachMediaElement(){this._mediaElement&&(this._msectl.detachMediaElement(),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement.removeEventListener("seeking",this.e.onvSeeking),this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay),this._mediaElement.removeEventListener("stalled",this.e.onvStalled),this._mediaElement.removeEventListener("progress",this.e.onvProgress),this._mediaElement=null),this._msectl&&(this._msectl.destroy(),this._msectl=null)}load(){if(!this._mediaElement)throw new De("HTMLMediaElement must be attached before load()!");if(this._transmuxer)throw new De("FlvPlayer.load() has been called, please call unload() first!");if(!this._hasPendingLoad){if(this._config.deferLoadAfterSourceOpen&&this._mseSourceOpened===!1){this._hasPendingLoad=!0;return}this._mediaElement.readyState>0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new Oa(this._mediaDataSource,this._config),this._transmuxer.on(Ln.INIT_SEGMENT,(Ae,Le)=>{this._msectl.appendInitSegment(Le)}),this._transmuxer.on(Ln.MEDIA_SEGMENT,(Ae,Le)=>{if(this._msectl.appendMediaSegment(Le),this._config.lazyLoad&&!this._config.isLive){let Ie=this._mediaElement.currentTime;Le.info.endDts>=(Ie+this._config.lazyLoadMaxDuration)*1e3&&this._progressChecker==null&&(Ce.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}}),this._transmuxer.on(Ln.LOADING_COMPLETE,()=>{this._msectl.endOfStream(),this._emitter.emit(At.LOADING_COMPLETE)}),this._transmuxer.on(Ln.RECOVERED_EARLY_EOF,()=>{this._emitter.emit(At.RECOVERED_EARLY_EOF)}),this._transmuxer.on(Ln.IO_ERROR,(Ae,Le)=>{this._emitter.emit(At.ERROR,Hr.NETWORK_ERROR,Ae,Le)}),this._transmuxer.on(Ln.DEMUX_ERROR,(Ae,Le)=>{this._emitter.emit(At.ERROR,Hr.MEDIA_ERROR,Ae,{code:-1,msg:Le})}),this._transmuxer.on(Ln.MEDIA_INFO,Ae=>{this._mediaInfo=Ae,this._emitter.emit(At.MEDIA_INFO,Object.assign({},Ae))}),this._transmuxer.on(Ln.METADATA_ARRIVED,Ae=>{this._emitter.emit(At.METADATA_ARRIVED,Ae)}),this._transmuxer.on(Ln.SCRIPTDATA_ARRIVED,Ae=>{this._emitter.emit(At.SCRIPTDATA_ARRIVED,Ae)}),this._transmuxer.on(Ln.STATISTICS_INFO,Ae=>{this._statisticsInfo=this._fillStatisticsInfo(Ae),this._emitter.emit(At.STATISTICS_INFO,Object.assign({},this._statisticsInfo))}),this._transmuxer.on(Ln.RECOMMEND_SEEKPOINT,Ae=>{this._mediaElement&&!this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=Ae/1e3)}),this._transmuxer.open()}}unload(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)}play(){return this._mediaElement.play()}pause(){this._mediaElement.pause()}get type(){return this._type}get buffered(){return this._mediaElement.buffered}get duration(){return this._mediaElement.duration}get volume(){return this._mediaElement.volume}set volume(Ae){this._mediaElement.volume=Ae}get muted(){return this._mediaElement.muted}set muted(Ae){this._mediaElement.muted=Ae}get currentTime(){return this._mediaElement?this._mediaElement.currentTime:0}set currentTime(Ae){this._mediaElement?this._internalSeek(Ae):this._pendingSeekTime=Ae}get mediaInfo(){return Object.assign({},this._mediaInfo)}get statisticsInfo(){return this._statisticsInfo==null&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)}_fillStatisticsInfo(Ae){if(Ae.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return Ae;let Le=!0,Ie=0,ze=0;if(this._mediaElement.getVideoPlaybackQuality){let Ze=this._mediaElement.getVideoPlaybackQuality();Ie=Ze.totalVideoFrames,ze=Ze.droppedVideoFrames}else this._mediaElement.webkitDecodedFrameCount!=null?(Ie=this._mediaElement.webkitDecodedFrameCount,ze=this._mediaElement.webkitDroppedFrameCount):Le=!1;return Le&&(Ae.decodedFrames=Ie,Ae.droppedFrames=ze),Ae}_onmseUpdateEnd(){if(!this._config.lazyLoad||this._config.isLive)return;let Ae=this._mediaElement.buffered,Le=this._mediaElement.currentTime,Ie=0,ze=0;for(let Ze=0;Ze<Ae.length;Ze++){let xt=Ae.start(Ze),bt=Ae.end(Ze);if(xt<=Le&&Le<bt){Ie=xt,ze=bt;break}}ze>=Le+this._config.lazyLoadMaxDuration&&this._progressChecker==null&&(Ce.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}_onmseBufferFull(){Ce.v(this.TAG,"MSE SourceBuffer is full, suspend transmuxing task"),this._progressChecker==null&&this._suspendTransmuxer()}_suspendTransmuxer(){this._transmuxer&&(this._transmuxer.pause(),this._progressChecker==null&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))}_checkProgressAndResume(){let Ae=this._mediaElement.currentTime,Le=this._mediaElement.buffered,Ie=!1;for(let ze=0;ze<Le.length;ze++){let Ze=Le.start(ze),xt=Le.end(ze);if(Ae>=Ze&&Ae<xt){Ae>=xt-this._config.lazyLoadRecoverDuration&&(Ie=!0);break}}Ie&&(window.clearInterval(this._progressChecker),this._progressChecker=null,Ie&&(Ce.v(this.TAG,"Continue loading from paused position"),this._transmuxer.resume()))}_isTimepointBuffered(Ae){let Le=this._mediaElement.buffered;for(let Ie=0;Ie<Le.length;Ie++){let ze=Le.start(Ie),Ze=Le.end(Ie);if(Ae>=ze&&Ae<Ze)return!0}return!1}_internalSeek(Ae){let Le=this._isTimepointBuffered(Ae),Ie=!1,ze=0;if(Ae<1&&this._mediaElement.buffered.length>0){let Ze=this._mediaElement.buffered.start(0);(Ze<1&&Ae<Ze||oe.safari)&&(Ie=!0,ze=oe.safari?.1:Ze)}if(Ie)this._requestSetTime=!0,this._mediaElement.currentTime=ze;else if(Le){if(!this._alwaysSeekKeyframe)this._requestSetTime=!0,this._mediaElement.currentTime=Ae;else{let Ze=this._msectl.getNearestKeyframe(Math.floor(Ae*1e3));this._requestSetTime=!0,Ze!=null?this._mediaElement.currentTime=Ze.dts/1e3:this._mediaElement.currentTime=Ae}this._progressChecker!=null&&this._checkProgressAndResume()}else this._progressChecker!=null&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._msectl.seek(Ae),this._transmuxer.seek(Math.floor(Ae*1e3)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=Ae)}_checkAndApplyUnbufferedSeekpoint(){if(this._seekpointRecord)if(this._seekpointRecord.recordTime<=this._now()-100){let Ae=this._mediaElement.currentTime;this._seekpointRecord=null,this._isTimepointBuffered(Ae)||(this._progressChecker!=null&&(window.clearTimeout(this._progressChecker),this._progressChecker=null),this._msectl.seek(Ae),this._transmuxer.seek(Math.floor(Ae*1e3)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=Ae))}else window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}_checkAndResumeStuckPlayback(Ae){let Le=this._mediaElement;if(Ae||!this._receivedCanPlay||Le.readyState<2){let Ie=Le.buffered;Ie.length>0&&Le.currentTime<Ie.start(0)&&(Ce.w(this.TAG,`Playback seems stuck at ${Le.currentTime}, seek to ${Ie.start(0)}`),this._requestSetTime=!0,this._mediaElement.currentTime=Ie.start(0),this._mediaElement.removeEventListener("progress",this.e.onvProgress))}else this._mediaElement.removeEventListener("progress",this.e.onvProgress)}_onvLoadedMetadata(Ae){this._pendingSeekTime!=null&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null)}_onvSeeking(Ae){let Le=this._mediaElement.currentTime,Ie=this._mediaElement.buffered;if(this._requestSetTime){this._requestSetTime=!1;return}if(Le<1&&Ie.length>0){let ze=Ie.start(0);if(ze<1&&Le<ze||oe.safari){this._requestSetTime=!0,this._mediaElement.currentTime=oe.safari?.1:ze;return}}if(this._isTimepointBuffered(Le)){if(this._alwaysSeekKeyframe){let ze=this._msectl.getNearestKeyframe(Math.floor(Le*1e3));ze!=null&&(this._requestSetTime=!0,this._mediaElement.currentTime=ze.dts/1e3)}this._progressChecker!=null&&this._checkProgressAndResume();return}this._seekpointRecord={seekPoint:Le,recordTime:this._now()},window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}_onvCanPlay(Ae){this._receivedCanPlay=!0,this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay)}_onvStalled(Ae){this._checkAndResumeStuckPlayback(!0)}_onvProgress(Ae){this._checkAndResumeStuckPlayback()}}var sr=Ha;class pr{constructor(Ae,Le){if(this.TAG="NativePlayer",this._type="NativePlayer",this._emitter=new(be()),this._config=rt(),typeof Le=="object"&&Object.assign(this._config,Le),Ae.type.toLowerCase()==="flv")throw new pe("NativePlayer does't support flv MediaDataSource input!");if(Ae.hasOwnProperty("segments"))throw new pe(`NativePlayer(${Ae.type}) doesn't support multipart playback!`);this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this)},this._pendingSeekTime=null,this._statisticsReporter=null,this._mediaDataSource=Ae,this._mediaElement=null}destroy(){this._mediaElement&&(this.unload(),this.detachMediaElement()),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}on(Ae,Le){Ae===At.MEDIA_INFO?this._mediaElement!=null&&this._mediaElement.readyState!==0&&Promise.resolve().then(()=>{this._emitter.emit(At.MEDIA_INFO,this.mediaInfo)}):Ae===At.STATISTICS_INFO&&this._mediaElement!=null&&this._mediaElement.readyState!==0&&Promise.resolve().then(()=>{this._emitter.emit(At.STATISTICS_INFO,this.statisticsInfo)}),this._emitter.addListener(Ae,Le)}off(Ae,Le){this._emitter.removeListener(Ae,Le)}attachMediaElement(Ae){if(this._mediaElement=Ae,Ae.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._pendingSeekTime!=null)try{Ae.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(Le){}}detachMediaElement(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement=null),this._statisticsReporter!=null&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}load(){if(!this._mediaElement)throw new De("HTMLMediaElement must be attached before load()!");this._mediaElement.src=this._mediaDataSource.url,this._mediaElement.readyState>0&&(this._mediaElement.currentTime=0),this._mediaElement.preload="auto",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)}unload(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src")),this._statisticsReporter!=null&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}play(){return this._mediaElement.play()}pause(){this._mediaElement.pause()}get type(){return this._type}get buffered(){return this._mediaElement.buffered}get duration(){return this._mediaElement.duration}get volume(){return this._mediaElement.volume}set volume(Ae){this._mediaElement.volume=Ae}get muted(){return this._mediaElement.muted}set muted(Ae){this._mediaElement.muted=Ae}get currentTime(){return this._mediaElement?this._mediaElement.currentTime:0}set currentTime(Ae){this._mediaElement?this._mediaElement.currentTime=Ae:this._pendingSeekTime=Ae}get mediaInfo(){let Le={mimeType:(this._mediaElement instanceof HTMLAudioElement?"audio/":"video/")+this._mediaDataSource.type};return this._mediaElement&&(Le.duration=Math.floor(this._mediaElement.duration*1e3),this._mediaElement instanceof HTMLVideoElement&&(Le.width=this._mediaElement.videoWidth,Le.height=this._mediaElement.videoHeight)),Le}get statisticsInfo(){let Ae={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return Ae;let Le=!0,Ie=0,ze=0;if(this._mediaElement.getVideoPlaybackQuality){let Ze=this._mediaElement.getVideoPlaybackQuality();Ie=Ze.totalVideoFrames,ze=Ze.droppedVideoFrames}else this._mediaElement.webkitDecodedFrameCount!=null?(Ie=this._mediaElement.webkitDecodedFrameCount,ze=this._mediaElement.webkitDroppedFrameCount):Le=!1;return Le&&(Ae.decodedFrames=Ie,Ae.droppedFrames=ze),Ae}_onvLoadedMetadata(Ae){this._pendingSeekTime!=null&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(At.MEDIA_INFO,this.mediaInfo)}_reportStatisticsInfo(){this._emitter.emit(At.STATISTICS_INFO,this.statisticsInfo)}}var Qa=pr;Ve.install();function hn(pt,Ae){let Le=pt;if(Le==null||typeof Le!="object")throw new pe("MediaDataSource must be an javascript object!");if(!Le.hasOwnProperty("type"))throw new pe("MediaDataSource must has type field to indicate video file type!");switch(Le.type){case"flv":return new sr(Le,Ae);default:return new Qa(Le,Ae)}}function kn(){return tt.supportMSEH264Playback()}function ar(){return tt.getFeatureList()}let lr={};lr.createPlayer=hn,lr.isSupported=kn,lr.getFeatureList=ar,lr.BaseLoader=ee,lr.LoaderStatus=Pe,lr.LoaderErrors=de,lr.Events=At,lr.ErrorTypes=Hr,lr.ErrorDetails=Ta,lr.FlvPlayer=sr,lr.NativePlayer=Qa,lr.LoggingControl=ht,Object.defineProperty(lr,"version",{enumerable:!0,get:function(){return"__VERSION__"}});var Fr=lr},25397:function(Pt,Mt,Oe){"use strict";var _e,Ve=Object.defineProperty,Re=pt=>{throw TypeError(pt)},be=Math.pow,Fe=(pt,Ae,Le)=>Ae in pt?Ve(pt,Ae,{enumerable:!0,configurable:!0,writable:!0,value:Le}):pt[Ae]=Le,Ce=(pt,Ae,Le)=>Fe(pt,typeof Ae!="symbol"?Ae+"":Ae,Le),ve=(pt,Ae,Le)=>Ae.has(pt)||Re("Cannot "+Le),ye=(pt,Ae,Le)=>(ve(pt,Ae,"read from private field"),Le?Le.call(pt):Ae.get(pt)),we=(pt,Ae,Le)=>Ae.has(pt)?Re("Cannot add the same private member more than once"):Ae instanceof WeakSet?Ae.add(pt):Ae.set(pt,Le),De=(pt,Ae,Le,Ie)=>(ve(pt,Ae,"write to private field"),Ie?Ie.call(pt,Le):Ae.set(pt,Le),Le),pe=(pt,Ae,Le)=>(ve(pt,Ae,"access private method"),Le),Ee,Pe,de;_e={value:!0};var ee=Oe(34634),ne=Oe(34402);const le=" ".repeat(2),oe=" ".repeat(4);function ce(){return he(this)}function he(pt,Ae={}){const{maxRows:Le=15,maxColumns:Ie=10,maxNumSize:ze=8,padMinus:Ze="auto"}=Ae;return`${pt.constructor.name} {
|
|
|
${le}[
|
|
|
${oe}${ie(pt,Le,Ie,ze,Ze)}
|
|
|
${le}]
|
|
|
${le}rows: ${pt.rows}
|
|
|
${le}columns: ${pt.columns}
|
|
|
}`}function ie(pt,Ae,Le,Ie,ze){const{rows:Ze,columns:xt}=pt,bt=Math.min(Ze,Ae),Yt=Math.min(xt,Le),Ht=[];if(ze==="auto"){ze=!1;e:for(let cn=0;cn<bt;cn++)for(let fn=0;fn<Yt;fn++)if(pt.get(cn,fn)<0){ze=!0;break e}}for(let cn=0;cn<bt;cn++){let fn=[];for(let Zn=0;Zn<Yt;Zn++)fn.push(ue(pt.get(cn,Zn),Ie,ze));Ht.push(`${fn.join(" ")}`)}return Yt!==xt&&(Ht[Ht.length-1]+=` ... ${xt-Le} more columns`),bt!==Ze&&Ht.push(`... ${Ze-Ae} more rows`),Ht.join(`
|
|
|
${oe}`)}function ue(pt,Ae,Le){return(pt>=0&&Le?` ${ge(pt,Ae-1)}`:ge(pt,Ae)).padEnd(Ae)}function ge(pt,Ae){let Le=pt.toString();if(Le.length<=Ae)return Le;let Ie=pt.toFixed(Ae);if(Ie.length>Ae&&(Ie=pt.toFixed(Math.max(0,Ae-(Ie.length-Ae)))),Ie.length<=Ae&&!Ie.startsWith("0.000")&&!Ie.startsWith("-0.000"))return Ie;let ze=pt.toExponential(Ae);return ze.length>Ae&&(ze=pt.toExponential(Math.max(0,Ae-(ze.length-Ae)))),ze.slice(0)}function xe(pt,Ae){pt.prototype.add=function(Ie){return typeof Ie=="number"?this.addS(Ie):this.addM(Ie)},pt.prototype.addS=function(Ie){for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)+Ie);return this},pt.prototype.addM=function(Ie){if(Ie=Ae.checkMatrix(Ie),this.rows!==Ie.rows||this.columns!==Ie.columns)throw new RangeError("Matrices dimensions must be equal");for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)+Ie.get(ze,Ze));return this},pt.add=function(Ie,ze){return new Ae(Ie).add(ze)},pt.prototype.sub=function(Ie){return typeof Ie=="number"?this.subS(Ie):this.subM(Ie)},pt.prototype.subS=function(Ie){for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)-Ie);return this},pt.prototype.subM=function(Ie){if(Ie=Ae.checkMatrix(Ie),this.rows!==Ie.rows||this.columns!==Ie.columns)throw new RangeError("Matrices dimensions must be equal");for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)-Ie.get(ze,Ze));return this},pt.sub=function(Ie,ze){return new Ae(Ie).sub(ze)},pt.prototype.subtract=pt.prototype.sub,pt.prototype.subtractS=pt.prototype.subS,pt.prototype.subtractM=pt.prototype.subM,pt.subtract=pt.sub,pt.prototype.mul=function(Ie){return typeof Ie=="number"?this.mulS(Ie):this.mulM(Ie)},pt.prototype.mulS=function(Ie){for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)*Ie);return this},pt.prototype.mulM=function(Ie){if(Ie=Ae.checkMatrix(Ie),this.rows!==Ie.rows||this.columns!==Ie.columns)throw new RangeError("Matrices dimensions must be equal");for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)*Ie.get(ze,Ze));return this},pt.mul=function(Ie,ze){return new Ae(Ie).mul(ze)},pt.prototype.multiply=pt.prototype.mul,pt.prototype.multiplyS=pt.prototype.mulS,pt.prototype.multiplyM=pt.prototype.mulM,pt.multiply=pt.mul,pt.prototype.div=function(Ie){return typeof Ie=="number"?this.divS(Ie):this.divM(Ie)},pt.prototype.divS=function(Ie){for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)/Ie);return this},pt.prototype.divM=function(Ie){if(Ie=Ae.checkMatrix(Ie),this.rows!==Ie.rows||this.columns!==Ie.columns)throw new RangeError("Matrices dimensions must be equal");for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)/Ie.get(ze,Ze));return this},pt.div=function(Ie,ze){return new Ae(Ie).div(ze)},pt.prototype.divide=pt.prototype.div,pt.prototype.divideS=pt.prototype.divS,pt.prototype.divideM=pt.prototype.divM,pt.divide=pt.div,pt.prototype.mod=function(Ie){return typeof Ie=="number"?this.modS(Ie):this.modM(Ie)},pt.prototype.modS=function(Ie){for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)%Ie);return this},pt.prototype.modM=function(Ie){if(Ie=Ae.checkMatrix(Ie),this.rows!==Ie.rows||this.columns!==Ie.columns)throw new RangeError("Matrices dimensions must be equal");for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)%Ie.get(ze,Ze));return this},pt.mod=function(Ie,ze){return new Ae(Ie).mod(ze)},pt.prototype.modulus=pt.prototype.mod,pt.prototype.modulusS=pt.prototype.modS,pt.prototype.modulusM=pt.prototype.modM,pt.modulus=pt.mod,pt.prototype.and=function(Ie){return typeof Ie=="number"?this.andS(Ie):this.andM(Ie)},pt.prototype.andS=function(Ie){for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)&Ie);return this},pt.prototype.andM=function(Ie){if(Ie=Ae.checkMatrix(Ie),this.rows!==Ie.rows||this.columns!==Ie.columns)throw new RangeError("Matrices dimensions must be equal");for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)&Ie.get(ze,Ze));return this},pt.and=function(Ie,ze){return new Ae(Ie).and(ze)},pt.prototype.or=function(Ie){return typeof Ie=="number"?this.orS(Ie):this.orM(Ie)},pt.prototype.orS=function(Ie){for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)|Ie);return this},pt.prototype.orM=function(Ie){if(Ie=Ae.checkMatrix(Ie),this.rows!==Ie.rows||this.columns!==Ie.columns)throw new RangeError("Matrices dimensions must be equal");for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)|Ie.get(ze,Ze));return this},pt.or=function(Ie,ze){return new Ae(Ie).or(ze)},pt.prototype.xor=function(Ie){return typeof Ie=="number"?this.xorS(Ie):this.xorM(Ie)},pt.prototype.xorS=function(Ie){for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)^Ie);return this},pt.prototype.xorM=function(Ie){if(Ie=Ae.checkMatrix(Ie),this.rows!==Ie.rows||this.columns!==Ie.columns)throw new RangeError("Matrices dimensions must be equal");for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)^Ie.get(ze,Ze));return this},pt.xor=function(Ie,ze){return new Ae(Ie).xor(ze)},pt.prototype.leftShift=function(Ie){return typeof Ie=="number"?this.leftShiftS(Ie):this.leftShiftM(Ie)},pt.prototype.leftShiftS=function(Ie){for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)<<Ie);return this},pt.prototype.leftShiftM=function(Ie){if(Ie=Ae.checkMatrix(Ie),this.rows!==Ie.rows||this.columns!==Ie.columns)throw new RangeError("Matrices dimensions must be equal");for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)<<Ie.get(ze,Ze));return this},pt.leftShift=function(Ie,ze){return new Ae(Ie).leftShift(ze)},pt.prototype.signPropagatingRightShift=function(Ie){return typeof Ie=="number"?this.signPropagatingRightShiftS(Ie):this.signPropagatingRightShiftM(Ie)},pt.prototype.signPropagatingRightShiftS=function(Ie){for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)>>Ie);return this},pt.prototype.signPropagatingRightShiftM=function(Ie){if(Ie=Ae.checkMatrix(Ie),this.rows!==Ie.rows||this.columns!==Ie.columns)throw new RangeError("Matrices dimensions must be equal");for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)>>Ie.get(ze,Ze));return this},pt.signPropagatingRightShift=function(Ie,ze){return new Ae(Ie).signPropagatingRightShift(ze)},pt.prototype.rightShift=function(Ie){return typeof Ie=="number"?this.rightShiftS(Ie):this.rightShiftM(Ie)},pt.prototype.rightShiftS=function(Ie){for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)>>>Ie);return this},pt.prototype.rightShiftM=function(Ie){if(Ie=Ae.checkMatrix(Ie),this.rows!==Ie.rows||this.columns!==Ie.columns)throw new RangeError("Matrices dimensions must be equal");for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,this.get(ze,Ze)>>>Ie.get(ze,Ze));return this},pt.rightShift=function(Ie,ze){return new Ae(Ie).rightShift(ze)},pt.prototype.zeroFillRightShift=pt.prototype.rightShift,pt.prototype.zeroFillRightShiftS=pt.prototype.rightShiftS,pt.prototype.zeroFillRightShiftM=pt.prototype.rightShiftM,pt.zeroFillRightShift=pt.rightShift,pt.prototype.not=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,~this.get(Ie,ze));return this},pt.not=function(Ie){return new Ae(Ie).not()},pt.prototype.abs=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.abs(this.get(Ie,ze)));return this},pt.abs=function(Ie){return new Ae(Ie).abs()},pt.prototype.acos=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.acos(this.get(Ie,ze)));return this},pt.acos=function(Ie){return new Ae(Ie).acos()},pt.prototype.acosh=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.acosh(this.get(Ie,ze)));return this},pt.acosh=function(Ie){return new Ae(Ie).acosh()},pt.prototype.asin=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.asin(this.get(Ie,ze)));return this},pt.asin=function(Ie){return new Ae(Ie).asin()},pt.prototype.asinh=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.asinh(this.get(Ie,ze)));return this},pt.asinh=function(Ie){return new Ae(Ie).asinh()},pt.prototype.atan=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.atan(this.get(Ie,ze)));return this},pt.atan=function(Ie){return new Ae(Ie).atan()},pt.prototype.atanh=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.atanh(this.get(Ie,ze)));return this},pt.atanh=function(Ie){return new Ae(Ie).atanh()},pt.prototype.cbrt=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.cbrt(this.get(Ie,ze)));return this},pt.cbrt=function(Ie){return new Ae(Ie).cbrt()},pt.prototype.ceil=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.ceil(this.get(Ie,ze)));return this},pt.ceil=function(Ie){return new Ae(Ie).ceil()},pt.prototype.clz32=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.clz32(this.get(Ie,ze)));return this},pt.clz32=function(Ie){return new Ae(Ie).clz32()},pt.prototype.cos=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.cos(this.get(Ie,ze)));return this},pt.cos=function(Ie){return new Ae(Ie).cos()},pt.prototype.cosh=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.cosh(this.get(Ie,ze)));return this},pt.cosh=function(Ie){return new Ae(Ie).cosh()},pt.prototype.exp=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.exp(this.get(Ie,ze)));return this},pt.exp=function(Ie){return new Ae(Ie).exp()},pt.prototype.expm1=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.expm1(this.get(Ie,ze)));return this},pt.expm1=function(Ie){return new Ae(Ie).expm1()},pt.prototype.floor=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.floor(this.get(Ie,ze)));return this},pt.floor=function(Ie){return new Ae(Ie).floor()},pt.prototype.fround=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.fround(this.get(Ie,ze)));return this},pt.fround=function(Ie){return new Ae(Ie).fround()},pt.prototype.log=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.log(this.get(Ie,ze)));return this},pt.log=function(Ie){return new Ae(Ie).log()},pt.prototype.log1p=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.log1p(this.get(Ie,ze)));return this},pt.log1p=function(Ie){return new Ae(Ie).log1p()},pt.prototype.log10=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.log10(this.get(Ie,ze)));return this},pt.log10=function(Ie){return new Ae(Ie).log10()},pt.prototype.log2=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.log2(this.get(Ie,ze)));return this},pt.log2=function(Ie){return new Ae(Ie).log2()},pt.prototype.round=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.round(this.get(Ie,ze)));return this},pt.round=function(Ie){return new Ae(Ie).round()},pt.prototype.sign=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.sign(this.get(Ie,ze)));return this},pt.sign=function(Ie){return new Ae(Ie).sign()},pt.prototype.sin=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.sin(this.get(Ie,ze)));return this},pt.sin=function(Ie){return new Ae(Ie).sin()},pt.prototype.sinh=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.sinh(this.get(Ie,ze)));return this},pt.sinh=function(Ie){return new Ae(Ie).sinh()},pt.prototype.sqrt=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.sqrt(this.get(Ie,ze)));return this},pt.sqrt=function(Ie){return new Ae(Ie).sqrt()},pt.prototype.tan=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.tan(this.get(Ie,ze)));return this},pt.tan=function(Ie){return new Ae(Ie).tan()},pt.prototype.tanh=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.tanh(this.get(Ie,ze)));return this},pt.tanh=function(Ie){return new Ae(Ie).tanh()},pt.prototype.trunc=function(){for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.set(Ie,ze,Math.trunc(this.get(Ie,ze)));return this},pt.trunc=function(Ie){return new Ae(Ie).trunc()},pt.pow=function(Ie,ze){return new Ae(Ie).pow(ze)},pt.prototype.pow=function(Ie){return typeof Ie=="number"?this.powS(Ie):this.powM(Ie)},pt.prototype.powS=function(Ie){for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,be(this.get(ze,Ze),Ie));return this},pt.prototype.powM=function(Ie){if(Ie=Ae.checkMatrix(Ie),this.rows!==Ie.rows||this.columns!==Ie.columns)throw new RangeError("Matrices dimensions must be equal");for(let ze=0;ze<this.rows;ze++)for(let Ze=0;Ze<this.columns;Ze++)this.set(ze,Ze,be(this.get(ze,Ze),Ie.get(ze,Ze)));return this}}function Me(pt,Ae,Le){let Ie=Le?pt.rows:pt.rows-1;if(Ae<0||Ae>Ie)throw new RangeError("Row index out of range")}function Be(pt,Ae,Le){let Ie=Le?pt.columns:pt.columns-1;if(Ae<0||Ae>Ie)throw new RangeError("Column index out of range")}function Ne(pt,Ae){if(Ae.to1DArray&&(Ae=Ae.to1DArray()),Ae.length!==pt.columns)throw new RangeError("vector size must be the same as the number of columns");return Ae}function Ue(pt,Ae){if(Ae.to1DArray&&(Ae=Ae.to1DArray()),Ae.length!==pt.rows)throw new RangeError("vector size must be the same as the number of rows");return Ae}function Ge(pt,Ae){if(!ee.isAnyArray(Ae))throw new TypeError("row indices must be an array");for(let Le=0;Le<Ae.length;Le++)if(Ae[Le]<0||Ae[Le]>=pt.rows)throw new RangeError("row indices are out of range")}function Xe(pt,Ae){if(!ee.isAnyArray(Ae))throw new TypeError("column indices must be an array");for(let Le=0;Le<Ae.length;Le++)if(Ae[Le]<0||Ae[Le]>=pt.columns)throw new RangeError("column indices are out of range")}function Ye(pt,Ae,Le,Ie,ze){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if($e("startRow",Ae),$e("endRow",Le),$e("startColumn",Ie),$e("endColumn",ze),Ae>Le||Ie>ze||Ae<0||Ae>=pt.rows||Le<0||Le>=pt.rows||Ie<0||Ie>=pt.columns||ze<0||ze>=pt.columns)throw new RangeError("Submatrix indices are out of range")}function nt(pt,Ae=0){let Le=[];for(let Ie=0;Ie<pt;Ie++)Le.push(Ae);return Le}function $e(pt,Ae){if(typeof Ae!="number")throw new TypeError(`${pt} must be a number`)}function qe(pt){if(pt.isEmpty())throw new Error("Empty matrix has no elements to index")}function st(pt){let Ae=nt(pt.rows);for(let Le=0;Le<pt.rows;++Le)for(let Ie=0;Ie<pt.columns;++Ie)Ae[Le]+=pt.get(Le,Ie);return Ae}function rt(pt){let Ae=nt(pt.columns);for(let Le=0;Le<pt.rows;++Le)for(let Ie=0;Ie<pt.columns;++Ie)Ae[Ie]+=pt.get(Le,Ie);return Ae}function ct(pt){let Ae=0;for(let Le=0;Le<pt.rows;Le++)for(let Ie=0;Ie<pt.columns;Ie++)Ae+=pt.get(Le,Ie);return Ae}function tt(pt){let Ae=nt(pt.rows,1);for(let Le=0;Le<pt.rows;++Le)for(let Ie=0;Ie<pt.columns;++Ie)Ae[Le]*=pt.get(Le,Ie);return Ae}function dt(pt){let Ae=nt(pt.columns,1);for(let Le=0;Le<pt.rows;++Le)for(let Ie=0;Ie<pt.columns;++Ie)Ae[Ie]*=pt.get(Le,Ie);return Ae}function At(pt){let Ae=1;for(let Le=0;Le<pt.rows;Le++)for(let Ie=0;Ie<pt.columns;Ie++)Ae*=pt.get(Le,Ie);return Ae}function mt(pt,Ae,Le){const Ie=pt.rows,ze=pt.columns,Ze=[];for(let xt=0;xt<Ie;xt++){let bt=0,Yt=0,Ht=0;for(let cn=0;cn<ze;cn++)Ht=pt.get(xt,cn)-Le[xt],bt+=Ht,Yt+=Ht*Ht;Ae?Ze.push((Yt-bt*bt/ze)/(ze-1)):Ze.push((Yt-bt*bt/ze)/ze)}return Ze}function ht(pt,Ae,Le){const Ie=pt.rows,ze=pt.columns,Ze=[];for(let xt=0;xt<ze;xt++){let bt=0,Yt=0,Ht=0;for(let cn=0;cn<Ie;cn++)Ht=pt.get(cn,xt)-Le[xt],bt+=Ht,Yt+=Ht*Ht;Ae?Ze.push((Yt-bt*bt/Ie)/(Ie-1)):Ze.push((Yt-bt*bt/Ie)/Ie)}return Ze}function vt(pt,Ae,Le){const Ie=pt.rows,ze=pt.columns,Ze=Ie*ze;let xt=0,bt=0,Yt=0;for(let Ht=0;Ht<Ie;Ht++)for(let cn=0;cn<ze;cn++)Yt=pt.get(Ht,cn)-Le,xt+=Yt,bt+=Yt*Yt;return Ae?(bt-xt*xt/Ze)/(Ze-1):(bt-xt*xt/Ze)/Ze}function Wt(pt,Ae){for(let Le=0;Le<pt.rows;Le++)for(let Ie=0;Ie<pt.columns;Ie++)pt.set(Le,Ie,pt.get(Le,Ie)-Ae[Le])}function Jt(pt,Ae){for(let Le=0;Le<pt.rows;Le++)for(let Ie=0;Ie<pt.columns;Ie++)pt.set(Le,Ie,pt.get(Le,Ie)-Ae[Ie])}function en(pt,Ae){for(let Le=0;Le<pt.rows;Le++)for(let Ie=0;Ie<pt.columns;Ie++)pt.set(Le,Ie,pt.get(Le,Ie)-Ae)}function mn(pt){const Ae=[];for(let Le=0;Le<pt.rows;Le++){let Ie=0;for(let ze=0;ze<pt.columns;ze++)Ie+=be(pt.get(Le,ze),2)/(pt.columns-1);Ae.push(Math.sqrt(Ie))}return Ae}function Ot(pt,Ae){for(let Le=0;Le<pt.rows;Le++)for(let Ie=0;Ie<pt.columns;Ie++)pt.set(Le,Ie,pt.get(Le,Ie)/Ae[Le])}function an(pt){const Ae=[];for(let Le=0;Le<pt.columns;Le++){let Ie=0;for(let ze=0;ze<pt.rows;ze++)Ie+=be(pt.get(ze,Le),2)/(pt.rows-1);Ae.push(Math.sqrt(Ie))}return Ae}function tn(pt,Ae){for(let Le=0;Le<pt.rows;Le++)for(let Ie=0;Ie<pt.columns;Ie++)pt.set(Le,Ie,pt.get(Le,Ie)/Ae[Ie])}function Dn(pt){const Ae=pt.size-1;let Le=0;for(let Ie=0;Ie<pt.columns;Ie++)for(let ze=0;ze<pt.rows;ze++)Le+=be(pt.get(ze,Ie),2)/Ae;return Math.sqrt(Le)}function Tn(pt,Ae){for(let Le=0;Le<pt.rows;Le++)for(let Ie=0;Ie<pt.columns;Ie++)pt.set(Le,Ie,pt.get(Le,Ie)/Ae)}class sn{static from1DArray(Ae,Le,Ie){if(Ae*Le!==Ie.length)throw new RangeError("data length does not match given dimensions");let Ze=new yt(Ae,Le);for(let xt=0;xt<Ae;xt++)for(let bt=0;bt<Le;bt++)Ze.set(xt,bt,Ie[xt*Le+bt]);return Ze}static rowVector(Ae){let Le=new yt(1,Ae.length);for(let Ie=0;Ie<Ae.length;Ie++)Le.set(0,Ie,Ae[Ie]);return Le}static columnVector(Ae){let Le=new yt(Ae.length,1);for(let Ie=0;Ie<Ae.length;Ie++)Le.set(Ie,0,Ae[Ie]);return Le}static zeros(Ae,Le){return new yt(Ae,Le)}static ones(Ae,Le){return new yt(Ae,Le).fill(1)}static rand(Ae,Le,Ie={}){if(typeof Ie!="object")throw new TypeError("options must be an object");const{random:ze=Math.random}=Ie;let Ze=new yt(Ae,Le);for(let xt=0;xt<Ae;xt++)for(let bt=0;bt<Le;bt++)Ze.set(xt,bt,ze());return Ze}static randInt(Ae,Le,Ie={}){if(typeof Ie!="object")throw new TypeError("options must be an object");const{min:ze=0,max:Ze=1e3,random:xt=Math.random}=Ie;if(!Number.isInteger(ze))throw new TypeError("min must be an integer");if(!Number.isInteger(Ze))throw new TypeError("max must be an integer");if(ze>=Ze)throw new RangeError("min must be smaller than max");let bt=Ze-ze,Yt=new yt(Ae,Le);for(let Ht=0;Ht<Ae;Ht++)for(let cn=0;cn<Le;cn++){let fn=ze+Math.round(xt()*bt);Yt.set(Ht,cn,fn)}return Yt}static eye(Ae,Le,Ie){Le===void 0&&(Le=Ae),Ie===void 0&&(Ie=1);let ze=Math.min(Ae,Le),Ze=this.zeros(Ae,Le);for(let xt=0;xt<ze;xt++)Ze.set(xt,xt,Ie);return Ze}static diag(Ae,Le,Ie){let ze=Ae.length;Le===void 0&&(Le=ze),Ie===void 0&&(Ie=Le);let Ze=Math.min(ze,Le,Ie),xt=this.zeros(Le,Ie);for(let bt=0;bt<Ze;bt++)xt.set(bt,bt,Ae[bt]);return xt}static min(Ae,Le){Ae=this.checkMatrix(Ae),Le=this.checkMatrix(Le);let Ie=Ae.rows,ze=Ae.columns,Ze=new yt(Ie,ze);for(let xt=0;xt<Ie;xt++)for(let bt=0;bt<ze;bt++)Ze.set(xt,bt,Math.min(Ae.get(xt,bt),Le.get(xt,bt)));return Ze}static max(Ae,Le){Ae=this.checkMatrix(Ae),Le=this.checkMatrix(Le);let Ie=Ae.rows,ze=Ae.columns,Ze=new this(Ie,ze);for(let xt=0;xt<Ie;xt++)for(let bt=0;bt<ze;bt++)Ze.set(xt,bt,Math.max(Ae.get(xt,bt),Le.get(xt,bt)));return Ze}static checkMatrix(Ae){return sn.isMatrix(Ae)?Ae:new yt(Ae)}static isMatrix(Ae){return Ae!=null&&Ae.klass==="Matrix"}get size(){return this.rows*this.columns}apply(Ae){if(typeof Ae!="function")throw new TypeError("callback must be a function");for(let Le=0;Le<this.rows;Le++)for(let Ie=0;Ie<this.columns;Ie++)Ae.call(this,Le,Ie);return this}to1DArray(){let Ae=[];for(let Le=0;Le<this.rows;Le++)for(let Ie=0;Ie<this.columns;Ie++)Ae.push(this.get(Le,Ie));return Ae}to2DArray(){let Ae=[];for(let Le=0;Le<this.rows;Le++){Ae.push([]);for(let Ie=0;Ie<this.columns;Ie++)Ae[Le].push(this.get(Le,Ie))}return Ae}toJSON(){return this.to2DArray()}isRowVector(){return this.rows===1}isColumnVector(){return this.columns===1}isVector(){return this.rows===1||this.columns===1}isSquare(){return this.rows===this.columns}isEmpty(){return this.rows===0||this.columns===0}isSymmetric(){if(this.isSquare()){for(let Ae=0;Ae<this.rows;Ae++)for(let Le=0;Le<=Ae;Le++)if(this.get(Ae,Le)!==this.get(Le,Ae))return!1;return!0}return!1}isDistance(){if(!this.isSymmetric())return!1;for(let Ae=0;Ae<this.rows;Ae++)if(this.get(Ae,Ae)!==0)return!1;return!0}isEchelonForm(){let Ae=0,Le=0,Ie=-1,ze=!0,Ze=!1;for(;Ae<this.rows&&ze;){for(Le=0,Ze=!1;Le<this.columns&&Ze===!1;)this.get(Ae,Le)===0?Le++:this.get(Ae,Le)===1&&Le>Ie?(Ze=!0,Ie=Le):(ze=!1,Ze=!0);Ae++}return ze}isReducedEchelonForm(){let Ae=0,Le=0,Ie=-1,ze=!0,Ze=!1;for(;Ae<this.rows&&ze;){for(Le=0,Ze=!1;Le<this.columns&&Ze===!1;)this.get(Ae,Le)===0?Le++:this.get(Ae,Le)===1&&Le>Ie?(Ze=!0,Ie=Le):(ze=!1,Ze=!0);for(let xt=Le+1;xt<this.rows;xt++)this.get(Ae,xt)!==0&&(ze=!1);Ae++}return ze}echelonForm(){let Ae=this.clone(),Le=0,Ie=0;for(;Le<Ae.rows&&Ie<Ae.columns;){let ze=Le;for(let Ze=Le;Ze<Ae.rows;Ze++)Ae.get(Ze,Ie)>Ae.get(ze,Ie)&&(ze=Ze);if(Ae.get(ze,Ie)===0)Ie++;else{Ae.swapRows(Le,ze);let Ze=Ae.get(Le,Ie);for(let xt=Ie;xt<Ae.columns;xt++)Ae.set(Le,xt,Ae.get(Le,xt)/Ze);for(let xt=Le+1;xt<Ae.rows;xt++){let bt=Ae.get(xt,Ie)/Ae.get(Le,Ie);Ae.set(xt,Ie,0);for(let Yt=Ie+1;Yt<Ae.columns;Yt++)Ae.set(xt,Yt,Ae.get(xt,Yt)-Ae.get(Le,Yt)*bt)}Le++,Ie++}}return Ae}reducedEchelonForm(){let Ae=this.echelonForm(),Le=Ae.columns,Ie=Ae.rows,ze=Ie-1;for(;ze>=0;)if(Ae.maxRow(ze)===0)ze--;else{let Ze=0,xt=!1;for(;Ze<Ie&&xt===!1;)Ae.get(ze,Ze)===1?xt=!0:Ze++;for(let bt=0;bt<ze;bt++){let Yt=Ae.get(bt,Ze);for(let Ht=Ze;Ht<Le;Ht++){let cn=Ae.get(bt,Ht)-Yt*Ae.get(ze,Ht);Ae.set(bt,Ht,cn)}}ze--}return Ae}set(){throw new Error("set method is unimplemented")}get(){throw new Error("get method is unimplemented")}repeat(Ae={}){if(typeof Ae!="object")throw new TypeError("options must be an object");const{rows:Le=1,columns:Ie=1}=Ae;if(!Number.isInteger(Le)||Le<=0)throw new TypeError("rows must be a positive integer");if(!Number.isInteger(Ie)||Ie<=0)throw new TypeError("columns must be a positive integer");let ze=new yt(this.rows*Le,this.columns*Ie);for(let Ze=0;Ze<Le;Ze++)for(let xt=0;xt<Ie;xt++)ze.setSubMatrix(this,this.rows*Ze,this.columns*xt);return ze}fill(Ae){for(let Le=0;Le<this.rows;Le++)for(let Ie=0;Ie<this.columns;Ie++)this.set(Le,Ie,Ae);return this}neg(){return this.mulS(-1)}getRow(Ae){Me(this,Ae);let Le=[];for(let Ie=0;Ie<this.columns;Ie++)Le.push(this.get(Ae,Ie));return Le}getRowVector(Ae){return yt.rowVector(this.getRow(Ae))}setRow(Ae,Le){Me(this,Ae),Le=Ne(this,Le);for(let Ie=0;Ie<this.columns;Ie++)this.set(Ae,Ie,Le[Ie]);return this}swapRows(Ae,Le){Me(this,Ae),Me(this,Le);for(let Ie=0;Ie<this.columns;Ie++){let ze=this.get(Ae,Ie);this.set(Ae,Ie,this.get(Le,Ie)),this.set(Le,Ie,ze)}return this}getColumn(Ae){Be(this,Ae);let Le=[];for(let Ie=0;Ie<this.rows;Ie++)Le.push(this.get(Ie,Ae));return Le}getColumnVector(Ae){return yt.columnVector(this.getColumn(Ae))}setColumn(Ae,Le){Be(this,Ae),Le=Ue(this,Le);for(let Ie=0;Ie<this.rows;Ie++)this.set(Ie,Ae,Le[Ie]);return this}swapColumns(Ae,Le){Be(this,Ae),Be(this,Le);for(let Ie=0;Ie<this.rows;Ie++){let ze=this.get(Ie,Ae);this.set(Ie,Ae,this.get(Ie,Le)),this.set(Ie,Le,ze)}return this}addRowVector(Ae){Ae=Ne(this,Ae);for(let Le=0;Le<this.rows;Le++)for(let Ie=0;Ie<this.columns;Ie++)this.set(Le,Ie,this.get(Le,Ie)+Ae[Ie]);return this}subRowVector(Ae){Ae=Ne(this,Ae);for(let Le=0;Le<this.rows;Le++)for(let Ie=0;Ie<this.columns;Ie++)this.set(Le,Ie,this.get(Le,Ie)-Ae[Ie]);return this}mulRowVector(Ae){Ae=Ne(this,Ae);for(let Le=0;Le<this.rows;Le++)for(let Ie=0;Ie<this.columns;Ie++)this.set(Le,Ie,this.get(Le,Ie)*Ae[Ie]);return this}divRowVector(Ae){Ae=Ne(this,Ae);for(let Le=0;Le<this.rows;Le++)for(let Ie=0;Ie<this.columns;Ie++)this.set(Le,Ie,this.get(Le,Ie)/Ae[Ie]);return this}addColumnVector(Ae){Ae=Ue(this,Ae);for(let Le=0;Le<this.rows;Le++)for(let Ie=0;Ie<this.columns;Ie++)this.set(Le,Ie,this.get(Le,Ie)+Ae[Le]);return this}subColumnVector(Ae){Ae=Ue(this,Ae);for(let Le=0;Le<this.rows;Le++)for(let Ie=0;Ie<this.columns;Ie++)this.set(Le,Ie,this.get(Le,Ie)-Ae[Le]);return this}mulColumnVector(Ae){Ae=Ue(this,Ae);for(let Le=0;Le<this.rows;Le++)for(let Ie=0;Ie<this.columns;Ie++)this.set(Le,Ie,this.get(Le,Ie)*Ae[Le]);return this}divColumnVector(Ae){Ae=Ue(this,Ae);for(let Le=0;Le<this.rows;Le++)for(let Ie=0;Ie<this.columns;Ie++)this.set(Le,Ie,this.get(Le,Ie)/Ae[Le]);return this}mulRow(Ae,Le){Me(this,Ae);for(let Ie=0;Ie<this.columns;Ie++)this.set(Ae,Ie,this.get(Ae,Ie)*Le);return this}mulColumn(Ae,Le){Be(this,Ae);for(let Ie=0;Ie<this.rows;Ie++)this.set(Ie,Ae,this.get(Ie,Ae)*Le);return this}max(Ae){if(this.isEmpty())return NaN;switch(Ae){case"row":{const Le=new Array(this.rows).fill(Number.NEGATIVE_INFINITY);for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.get(Ie,ze)>Le[Ie]&&(Le[Ie]=this.get(Ie,ze));return Le}case"column":{const Le=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.get(Ie,ze)>Le[ze]&&(Le[ze]=this.get(Ie,ze));return Le}case void 0:{let Le=this.get(0,0);for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.get(Ie,ze)>Le&&(Le=this.get(Ie,ze));return Le}default:throw new Error(`invalid option: ${Ae}`)}}maxIndex(){qe(this);let Ae=this.get(0,0),Le=[0,0];for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.get(Ie,ze)>Ae&&(Ae=this.get(Ie,ze),Le[0]=Ie,Le[1]=ze);return Le}min(Ae){if(this.isEmpty())return NaN;switch(Ae){case"row":{const Le=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.get(Ie,ze)<Le[Ie]&&(Le[Ie]=this.get(Ie,ze));return Le}case"column":{const Le=new Array(this.columns).fill(Number.POSITIVE_INFINITY);for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.get(Ie,ze)<Le[ze]&&(Le[ze]=this.get(Ie,ze));return Le}case void 0:{let Le=this.get(0,0);for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.get(Ie,ze)<Le&&(Le=this.get(Ie,ze));return Le}default:throw new Error(`invalid option: ${Ae}`)}}minIndex(){qe(this);let Ae=this.get(0,0),Le=[0,0];for(let Ie=0;Ie<this.rows;Ie++)for(let ze=0;ze<this.columns;ze++)this.get(Ie,ze)<Ae&&(Ae=this.get(Ie,ze),Le[0]=Ie,Le[1]=ze);return Le}maxRow(Ae){if(Me(this,Ae),this.isEmpty())return NaN;let Le=this.get(Ae,0);for(let Ie=1;Ie<this.columns;Ie++)this.get(Ae,Ie)>Le&&(Le=this.get(Ae,Ie));return Le}maxRowIndex(Ae){Me(this,Ae),qe(this);let Le=this.get(Ae,0),Ie=[Ae,0];for(let ze=1;ze<this.columns;ze++)this.get(Ae,ze)>Le&&(Le=this.get(Ae,ze),Ie[1]=ze);return Ie}minRow(Ae){if(Me(this,Ae),this.isEmpty())return NaN;let Le=this.get(Ae,0);for(let Ie=1;Ie<this.columns;Ie++)this.get(Ae,Ie)<Le&&(Le=this.get(Ae,Ie));return Le}minRowIndex(Ae){Me(this,Ae),qe(this);let Le=this.get(Ae,0),Ie=[Ae,0];for(let ze=1;ze<this.columns;ze++)this.get(Ae,ze)<Le&&(Le=this.get(Ae,ze),Ie[1]=ze);return Ie}maxColumn(Ae){if(Be(this,Ae),this.isEmpty())return NaN;let Le=this.get(0,Ae);for(let Ie=1;Ie<this.rows;Ie++)this.get(Ie,Ae)>Le&&(Le=this.get(Ie,Ae));return Le}maxColumnIndex(Ae){Be(this,Ae),qe(this);let Le=this.get(0,Ae),Ie=[0,Ae];for(let ze=1;ze<this.rows;ze++)this.get(ze,Ae)>Le&&(Le=this.get(ze,Ae),Ie[0]=ze);return Ie}minColumn(Ae){if(Be(this,Ae),this.isEmpty())return NaN;let Le=this.get(0,Ae);for(let Ie=1;Ie<this.rows;Ie++)this.get(Ie,Ae)<Le&&(Le=this.get(Ie,Ae));return Le}minColumnIndex(Ae){Be(this,Ae),qe(this);let Le=this.get(0,Ae),Ie=[0,Ae];for(let ze=1;ze<this.rows;ze++)this.get(ze,Ae)<Le&&(Le=this.get(ze,Ae),Ie[0]=ze);return Ie}diag(){let Ae=Math.min(this.rows,this.columns),Le=[];for(let Ie=0;Ie<Ae;Ie++)Le.push(this.get(Ie,Ie));return Le}norm(Ae="frobenius"){switch(Ae){case"max":return this.max();case"frobenius":return Math.sqrt(this.dot(this));default:throw new RangeError(`unknown norm type: ${Ae}`)}}cumulativeSum(){let Ae=0;for(let Le=0;Le<this.rows;Le++)for(let Ie=0;Ie<this.columns;Ie++)Ae+=this.get(Le,Ie),this.set(Le,Ie,Ae);return this}dot(Ae){sn.isMatrix(Ae)&&(Ae=Ae.to1DArray());let Le=this.to1DArray();if(Le.length!==Ae.length)throw new RangeError("vectors do not have the same size");let Ie=0;for(let ze=0;ze<Le.length;ze++)Ie+=Le[ze]*Ae[ze];return Ie}mmul(Ae){Ae=yt.checkMatrix(Ae);let Le=this.rows,Ie=this.columns,ze=Ae.columns,Ze=new yt(Le,ze),xt=new Float64Array(Ie);for(let bt=0;bt<ze;bt++){for(let Yt=0;Yt<Ie;Yt++)xt[Yt]=Ae.get(Yt,bt);for(let Yt=0;Yt<Le;Yt++){let Ht=0;for(let cn=0;cn<Ie;cn++)Ht+=this.get(Yt,cn)*xt[cn];Ze.set(Yt,bt,Ht)}}return Ze}mpow(Ae){if(!this.isSquare())throw new RangeError("Matrix must be square");if(!Number.isInteger(Ae)||Ae<0)throw new RangeError("Exponent must be a non-negative integer");let Le=yt.eye(this.rows),Ie=this;for(let ze=Ae;ze>1;ze/=2)ze&1&&(Le=Le.mmul(Ie)),Ie=Ie.mmul(Ie);return Le}strassen2x2(Ae){Ae=yt.checkMatrix(Ae);let Le=new yt(2,2);const Ie=this.get(0,0),ze=Ae.get(0,0),Ze=this.get(0,1),xt=Ae.get(0,1),bt=this.get(1,0),Yt=Ae.get(1,0),Ht=this.get(1,1),cn=Ae.get(1,1),fn=(Ie+Ht)*(ze+cn),Zn=(bt+Ht)*ze,Mn=Ie*(xt-cn),er=Ht*(Yt-ze),rr=(Ie+Ze)*cn,mr=(bt-Ie)*(ze+xt),pn=(Ze-Ht)*(Yt+cn),nn=fn+er-rr+pn,Bn=Mn+rr,Hn=Zn+er,fr=fn-Zn+Mn+mr;return Le.set(0,0,nn),Le.set(0,1,Bn),Le.set(1,0,Hn),Le.set(1,1,fr),Le}strassen3x3(Ae){Ae=yt.checkMatrix(Ae);let Le=new yt(3,3);const Ie=this.get(0,0),ze=this.get(0,1),Ze=this.get(0,2),xt=this.get(1,0),bt=this.get(1,1),Yt=this.get(1,2),Ht=this.get(2,0),cn=this.get(2,1),fn=this.get(2,2),Zn=Ae.get(0,0),Mn=Ae.get(0,1),er=Ae.get(0,2),rr=Ae.get(1,0),mr=Ae.get(1,1),pn=Ae.get(1,2),nn=Ae.get(2,0),Bn=Ae.get(2,1),Hn=Ae.get(2,2),fr=(Ie+ze+Ze-xt-bt-cn-fn)*mr,br=(Ie-xt)*(-Mn+mr),tr=bt*(-Zn+Mn+rr-mr-pn-nn+Hn),hr=(-Ie+xt+bt)*(Zn-Mn+mr),vr=(xt+bt)*(-Zn+Mn),Nn=Ie*Zn,xr=(-Ie+Ht+cn)*(Zn-er+pn),Jn=(-Ie+Ht)*(er-pn),Nr=(Ht+cn)*(-Zn+er),Xa=(Ie+ze+Ze-bt-Yt-Ht-cn)*pn,$a=cn*(-Zn+er+rr-mr-pn-nn+Bn),ai=(-Ze+cn+fn)*(mr+nn-Bn),Zr=(Ze-fn)*(mr-Bn),ua=Ze*nn,Da=(cn+fn)*(-nn+Bn),sa=(-Ze+bt+Yt)*(pn+nn-Hn),Ja=(Ze-Yt)*(pn-Hn),Li=(bt+Yt)*(-nn+Hn),Na=ze*rr,Ti=Yt*Bn,ji=xt*er,Ao=Ht*Mn,uo=fn*Hn,Os=Nn+ua+Na,zo=fr+hr+vr+Nn+ai+ua+Da,po=Nn+xr+Nr+Xa+ua+sa+Li,qo=br+tr+hr+Nn+ua+sa+Ja,Uo=br+hr+vr+Nn+Ti,Wo=ua+sa+Ja+Li+ji,Qr=Nn+xr+Jn+$a+ai+Zr+ua,jo=ai+Zr+ua+Da+Ao,Ms=Nn+xr+Jn+Nr+uo;return Le.set(0,0,Os),Le.set(0,1,zo),Le.set(0,2,po),Le.set(1,0,qo),Le.set(1,1,Uo),Le.set(1,2,Wo),Le.set(2,0,Qr),Le.set(2,1,jo),Le.set(2,2,Ms),Le}mmulStrassen(Ae){Ae=yt.checkMatrix(Ae);let Le=this.clone(),Ie=Le.rows,ze=Le.columns,Ze=Ae.rows,xt=Ae.columns;ze!==Ze&&console.warn(`Multiplying ${Ie} x ${ze} and ${Ze} x ${xt} matrix: dimensions do not match.`);function bt(fn,Zn,Mn){let er=fn.rows,rr=fn.columns;if(er===Zn&&rr===Mn)return fn;{let mr=sn.zeros(Zn,Mn);return mr=mr.setSubMatrix(fn,0,0),mr}}let Yt=Math.max(Ie,Ze),Ht=Math.max(ze,xt);Le=bt(Le,Yt,Ht),Ae=bt(Ae,Yt,Ht);function cn(fn,Zn,Mn,er){if(Mn<=512||er<=512)return fn.mmul(Zn);Mn%2===1&&er%2===1?(fn=bt(fn,Mn+1,er+1),Zn=bt(Zn,Mn+1,er+1)):Mn%2===1?(fn=bt(fn,Mn+1,er),Zn=bt(Zn,Mn+1,er)):er%2===1&&(fn=bt(fn,Mn,er+1),Zn=bt(Zn,Mn,er+1));let rr=parseInt(fn.rows/2,10),mr=parseInt(fn.columns/2,10),pn=fn.subMatrix(0,rr-1,0,mr-1),nn=Zn.subMatrix(0,rr-1,0,mr-1),Bn=fn.subMatrix(0,rr-1,mr,fn.columns-1),Hn=Zn.subMatrix(0,rr-1,mr,Zn.columns-1),fr=fn.subMatrix(rr,fn.rows-1,0,mr-1),br=Zn.subMatrix(rr,Zn.rows-1,0,mr-1),tr=fn.subMatrix(rr,fn.rows-1,mr,fn.columns-1),hr=Zn.subMatrix(rr,Zn.rows-1,mr,Zn.columns-1),vr=cn(sn.add(pn,tr),sn.add(nn,hr),rr,mr),Nn=cn(sn.add(fr,tr),nn,rr,mr),xr=cn(pn,sn.sub(Hn,hr),rr,mr),Jn=cn(tr,sn.sub(br,nn),rr,mr),Nr=cn(sn.add(pn,Bn),hr,rr,mr),Xa=cn(sn.sub(fr,pn),sn.add(nn,Hn),rr,mr),$a=cn(sn.sub(Bn,tr),sn.add(br,hr),rr,mr),ai=sn.add(vr,Jn);ai.sub(Nr),ai.add($a);let Zr=sn.add(xr,Nr),ua=sn.add(Nn,Jn),Da=sn.sub(vr,Nn);Da.add(xr),Da.add(Xa);let sa=sn.zeros(2*ai.rows,2*ai.columns);return sa=sa.setSubMatrix(ai,0,0),sa=sa.setSubMatrix(Zr,ai.rows,0),sa=sa.setSubMatrix(ua,0,ai.columns),sa=sa.setSubMatrix(Da,ai.rows,ai.columns),sa.subMatrix(0,Mn-1,0,er-1)}return cn(Le,Ae,Yt,Ht)}scaleRows(Ae={}){if(typeof Ae!="object")throw new TypeError("options must be an object");const{min:Le=0,max:Ie=1}=Ae;if(!Number.isFinite(Le))throw new TypeError("min must be a number");if(!Number.isFinite(Ie))throw new TypeError("max must be a number");if(Le>=Ie)throw new RangeError("min must be smaller than max");let ze=new yt(this.rows,this.columns);for(let Ze=0;Ze<this.rows;Ze++){const xt=this.getRow(Ze);xt.length>0&&ne(xt,{min:Le,max:Ie,output:xt}),ze.setRow(Ze,xt)}return ze}scaleColumns(Ae={}){if(typeof Ae!="object")throw new TypeError("options must be an object");const{min:Le=0,max:Ie=1}=Ae;if(!Number.isFinite(Le))throw new TypeError("min must be a number");if(!Number.isFinite(Ie))throw new TypeError("max must be a number");if(Le>=Ie)throw new RangeError("min must be smaller than max");let ze=new yt(this.rows,this.columns);for(let Ze=0;Ze<this.columns;Ze++){const xt=this.getColumn(Ze);xt.length&&ne(xt,{min:Le,max:Ie,output:xt}),ze.setColumn(Ze,xt)}return ze}flipRows(){const Ae=Math.ceil(this.columns/2);for(let Le=0;Le<this.rows;Le++)for(let Ie=0;Ie<Ae;Ie++){let ze=this.get(Le,Ie),Ze=this.get(Le,this.columns-1-Ie);this.set(Le,Ie,Ze),this.set(Le,this.columns-1-Ie,ze)}return this}flipColumns(){const Ae=Math.ceil(this.rows/2);for(let Le=0;Le<this.columns;Le++)for(let Ie=0;Ie<Ae;Ie++){let ze=this.get(Ie,Le),Ze=this.get(this.rows-1-Ie,Le);this.set(Ie,Le,Ze),this.set(this.rows-1-Ie,Le,ze)}return this}kroneckerProduct(Ae){Ae=yt.checkMatrix(Ae);let Le=this.rows,Ie=this.columns,ze=Ae.rows,Ze=Ae.columns,xt=new yt(Le*ze,Ie*Ze);for(let bt=0;bt<Le;bt++)for(let Yt=0;Yt<Ie;Yt++)for(let Ht=0;Ht<ze;Ht++)for(let cn=0;cn<Ze;cn++)xt.set(ze*bt+Ht,Ze*Yt+cn,this.get(bt,Yt)*Ae.get(Ht,cn));return xt}kroneckerSum(Ae){if(Ae=yt.checkMatrix(Ae),!this.isSquare()||!Ae.isSquare())throw new Error("Kronecker Sum needs two Square Matrices");let Le=this.rows,Ie=Ae.rows,ze=this.kroneckerProduct(yt.eye(Ie,Ie)),Ze=yt.eye(Le,Le).kroneckerProduct(Ae);return ze.add(Ze)}transpose(){let Ae=new yt(this.columns,this.rows);for(let Le=0;Le<this.rows;Le++)for(let Ie=0;Ie<this.columns;Ie++)Ae.set(Ie,Le,this.get(Le,Ie));return Ae}sortRows(Ae=dn){for(let Le=0;Le<this.rows;Le++)this.setRow(Le,this.getRow(Le).sort(Ae));return this}sortColumns(Ae=dn){for(let Le=0;Le<this.columns;Le++)this.setColumn(Le,this.getColumn(Le).sort(Ae));return this}subMatrix(Ae,Le,Ie,ze){Ye(this,Ae,Le,Ie,ze);let Ze=new yt(Le-Ae+1,ze-Ie+1);for(let xt=Ae;xt<=Le;xt++)for(let bt=Ie;bt<=ze;bt++)Ze.set(xt-Ae,bt-Ie,this.get(xt,bt));return Ze}subMatrixRow(Ae,Le,Ie){if(Le===void 0&&(Le=0),Ie===void 0&&(Ie=this.columns-1),Le>Ie||Le<0||Le>=this.columns||Ie<0||Ie>=this.columns)throw new RangeError("Argument out of range");let ze=new yt(Ae.length,Ie-Le+1);for(let Ze=0;Ze<Ae.length;Ze++)for(let xt=Le;xt<=Ie;xt++){if(Ae[Ze]<0||Ae[Ze]>=this.rows)throw new RangeError(`Row index out of range: ${Ae[Ze]}`);ze.set(Ze,xt-Le,this.get(Ae[Ze],xt))}return ze}subMatrixColumn(Ae,Le,Ie){if(Le===void 0&&(Le=0),Ie===void 0&&(Ie=this.rows-1),Le>Ie||Le<0||Le>=this.rows||Ie<0||Ie>=this.rows)throw new RangeError("Argument out of range");let ze=new yt(Ie-Le+1,Ae.length);for(let Ze=0;Ze<Ae.length;Ze++)for(let xt=Le;xt<=Ie;xt++){if(Ae[Ze]<0||Ae[Ze]>=this.columns)throw new RangeError(`Column index out of range: ${Ae[Ze]}`);ze.set(xt-Le,Ze,this.get(xt,Ae[Ze]))}return ze}setSubMatrix(Ae,Le,Ie){if(Ae=yt.checkMatrix(Ae),Ae.isEmpty())return this;let ze=Le+Ae.rows-1,Ze=Ie+Ae.columns-1;Ye(this,Le,ze,Ie,Ze);for(let xt=0;xt<Ae.rows;xt++)for(let bt=0;bt<Ae.columns;bt++)this.set(Le+xt,Ie+bt,Ae.get(xt,bt));return this}selection(Ae,Le){Ge(this,Ae),Xe(this,Le);let Ie=new yt(Ae.length,Le.length);for(let ze=0;ze<Ae.length;ze++){let Ze=Ae[ze];for(let xt=0;xt<Le.length;xt++){let bt=Le[xt];Ie.set(ze,xt,this.get(Ze,bt))}}return Ie}trace(){let Ae=Math.min(this.rows,this.columns),Le=0;for(let Ie=0;Ie<Ae;Ie++)Le+=this.get(Ie,Ie);return Le}clone(){return this.constructor.copy(this,new yt(this.rows,this.columns))}static copy(Ae,Le){for(const[Ie,ze,Ze]of Ae.entries())Le.set(Ie,ze,Ze);return Le}sum(Ae){switch(Ae){case"row":return st(this);case"column":return rt(this);case void 0:return ct(this);default:throw new Error(`invalid option: ${Ae}`)}}product(Ae){switch(Ae){case"row":return tt(this);case"column":return dt(this);case void 0:return At(this);default:throw new Error(`invalid option: ${Ae}`)}}mean(Ae){const Le=this.sum(Ae);switch(Ae){case"row":{for(let Ie=0;Ie<this.rows;Ie++)Le[Ie]/=this.columns;return Le}case"column":{for(let Ie=0;Ie<this.columns;Ie++)Le[Ie]/=this.rows;return Le}case void 0:return Le/this.size;default:throw new Error(`invalid option: ${Ae}`)}}variance(Ae,Le={}){if(typeof Ae=="object"&&(Le=Ae,Ae=void 0),typeof Le!="object")throw new TypeError("options must be an object");const{unbiased:Ie=!0,mean:ze=this.mean(Ae)}=Le;if(typeof Ie!="boolean")throw new TypeError("unbiased must be a boolean");switch(Ae){case"row":{if(!ee.isAnyArray(ze))throw new TypeError("mean must be an array");return mt(this,Ie,ze)}case"column":{if(!ee.isAnyArray(ze))throw new TypeError("mean must be an array");return ht(this,Ie,ze)}case void 0:{if(typeof ze!="number")throw new TypeError("mean must be a number");return vt(this,Ie,ze)}default:throw new Error(`invalid option: ${Ae}`)}}standardDeviation(Ae,Le){typeof Ae=="object"&&(Le=Ae,Ae=void 0);const Ie=this.variance(Ae,Le);if(Ae===void 0)return Math.sqrt(Ie);for(let ze=0;ze<Ie.length;ze++)Ie[ze]=Math.sqrt(Ie[ze]);return Ie}center(Ae,Le={}){if(typeof Ae=="object"&&(Le=Ae,Ae=void 0),typeof Le!="object")throw new TypeError("options must be an object");const{center:Ie=this.mean(Ae)}=Le;switch(Ae){case"row":{if(!ee.isAnyArray(Ie))throw new TypeError("center must be an array");return Wt(this,Ie),this}case"column":{if(!ee.isAnyArray(Ie))throw new TypeError("center must be an array");return Jt(this,Ie),this}case void 0:{if(typeof Ie!="number")throw new TypeError("center must be a number");return en(this,Ie),this}default:throw new Error(`invalid option: ${Ae}`)}}scale(Ae,Le={}){if(typeof Ae=="object"&&(Le=Ae,Ae=void 0),typeof Le!="object")throw new TypeError("options must be an object");let Ie=Le.scale;switch(Ae){case"row":{if(Ie===void 0)Ie=mn(this);else if(!ee.isAnyArray(Ie))throw new TypeError("scale must be an array");return Ot(this,Ie),this}case"column":{if(Ie===void 0)Ie=an(this);else if(!ee.isAnyArray(Ie))throw new TypeError("scale must be an array");return tn(this,Ie),this}case void 0:{if(Ie===void 0)Ie=Dn(this);else if(typeof Ie!="number")throw new TypeError("scale must be a number");return Tn(this,Ie),this}default:throw new Error(`invalid option: ${Ae}`)}}toString(Ae){return he(this,Ae)}[Symbol.iterator](){return this.entries()}*entries(){for(let Ae=0;Ae<this.rows;Ae++)for(let Le=0;Le<this.columns;Le++)yield[Ae,Le,this.get(Ae,Le)]}*values(){for(let Ae=0;Ae<this.rows;Ae++)for(let Le=0;Le<this.columns;Le++)yield this.get(Ae,Le)}}sn.prototype.klass="Matrix",typeof Symbol!="undefined"&&(sn.prototype[Symbol.for("nodejs.util.inspect.custom")]=ce);function dn(pt,Ae){return pt-Ae}function Kt(pt){return pt.every(Ae=>typeof Ae=="number")}sn.random=sn.rand,sn.randomInt=sn.randInt,sn.diagonal=sn.diag,sn.prototype.diagonal=sn.prototype.diag,sn.identity=sn.eye,sn.prototype.negate=sn.prototype.neg,sn.prototype.tensorProduct=sn.prototype.kroneckerProduct;const Tt=class PS extends sn{constructor(Ae,Le){if(super(),we(this,Ee),Ce(this,"data"),PS.isMatrix(Ae))pe(this,Ee,Pe).call(this,Ae.rows,Ae.columns),PS.copy(Ae,this);else if(Number.isInteger(Ae)&&Ae>=0)pe(this,Ee,Pe).call(this,Ae,Le);else if(ee.isAnyArray(Ae)){const Ie=Ae;if(Ae=Ie.length,Le=Ae?Ie[0].length:0,typeof Le!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let ze=0;ze<Ae;ze++){if(Ie[ze].length!==Le)throw new RangeError("Inconsistent array dimensions");if(!Kt(Ie[ze]))throw new TypeError("Input data contains non-numeric values");this.data.push(Float64Array.from(Ie[ze]))}this.rows=Ae,this.columns=Le}else throw new TypeError("First argument must be a positive number or an array")}set(Ae,Le,Ie){return this.data[Ae][Le]=Ie,this}get(Ae,Le){return this.data[Ae][Le]}removeRow(Ae){return Me(this,Ae),this.data.splice(Ae,1),this.rows-=1,this}addRow(Ae,Le){return Le===void 0&&(Le=Ae,Ae=this.rows),Me(this,Ae,!0),Le=Float64Array.from(Ne(this,Le)),this.data.splice(Ae,0,Le),this.rows+=1,this}removeColumn(Ae){Be(this,Ae);for(let Le=0;Le<this.rows;Le++){const Ie=new Float64Array(this.columns-1);for(let ze=0;ze<Ae;ze++)Ie[ze]=this.data[Le][ze];for(let ze=Ae+1;ze<this.columns;ze++)Ie[ze-1]=this.data[Le][ze];this.data[Le]=Ie}return this.columns-=1,this}addColumn(Ae,Le){typeof Le=="undefined"&&(Le=Ae,Ae=this.columns),Be(this,Ae,!0),Le=Ue(this,Le);for(let Ie=0;Ie<this.rows;Ie++){const ze=new Float64Array(this.columns+1);let Ze=0;for(;Ze<Ae;Ze++)ze[Ze]=this.data[Ie][Ze];for(ze[Ze++]=Le[Ie];Ze<this.columns+1;Ze++)ze[Ze]=this.data[Ie][Ze-1];this.data[Ie]=ze}return this.columns+=1,this}};Ee=new WeakSet,Pe=function(pt,Ae){if(this.data=[],Number.isInteger(Ae)&&Ae>=0)for(let Le=0;Le<pt;Le++)this.data.push(new Float64Array(Ae));else throw new TypeError("nColumns must be a positive integer");this.rows=pt,this.columns=Ae};let yt=Tt;xe(sn,yt);const Gt=class wS extends sn{constructor(Ae){if(super(),we(this,de),yt.isMatrix(Ae)){if(!Ae.isSymmetric())throw new TypeError("not symmetric data");De(this,de,yt.copy(Ae,new yt(Ae.rows,Ae.rows)))}else if(Number.isInteger(Ae)&&Ae>=0)De(this,de,new yt(Ae,Ae));else if(De(this,de,new yt(Ae)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return ye(this,de).size}get rows(){return ye(this,de).rows}get columns(){return ye(this,de).columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(Ae){return yt.isMatrix(Ae)&&Ae.klassType==="SymmetricMatrix"}static zeros(Ae){return new this(Ae)}static ones(Ae){return new this(Ae).fill(1)}clone(){const Ae=new wS(this.diagonalSize);for(const[Le,Ie,ze]of this.upperRightEntries())Ae.set(Le,Ie,ze);return Ae}toMatrix(){return new yt(this)}get(Ae,Le){return ye(this,de).get(Ae,Le)}set(Ae,Le,Ie){return ye(this,de).set(Ae,Le,Ie),ye(this,de).set(Le,Ae,Ie),this}removeCross(Ae){return ye(this,de).removeRow(Ae),ye(this,de).removeColumn(Ae),this}addCross(Ae,Le){Le===void 0&&(Le=Ae,Ae=this.diagonalSize);const Ie=Le.slice();return Ie.splice(Ae,1),ye(this,de).addRow(Ae,Ie),ye(this,de).addColumn(Ae,Le),this}applyMask(Ae){if(Ae.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const Le=[];for(const[Ie,ze]of Ae.entries())ze||Le.push(Ie);Le.reverse();for(const Ie of Le)this.removeCross(Ie);return this}toCompact(){const{diagonalSize:Ae}=this,Le=new Array(Ae*(Ae+1)/2);for(let Ie=0,ze=0,Ze=0;Ze<Le.length;Ze++)Le[Ze]=this.get(ze,Ie),++Ie>=Ae&&(Ie=++ze);return Le}static fromCompact(Ae){const Le=Ae.length,Ie=(Math.sqrt(8*Le+1)-1)/2;if(!Number.isInteger(Ie))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(Ae)}`);const ze=new wS(Ie);for(let Ze=0,xt=0,bt=0;bt<Le;bt++)ze.set(Ze,xt,Ae[bt]),++Ze>=Ie&&(Ze=++xt);return ze}*upperRightEntries(){for(let Ae=0,Le=0;Ae<this.diagonalSize;void 0){const Ie=this.get(Ae,Le);yield[Ae,Le,Ie],++Le>=this.diagonalSize&&(Le=++Ae)}}*upperRightValues(){for(let Ae=0,Le=0;Ae<this.diagonalSize;void 0)yield this.get(Ae,Le),++Le>=this.diagonalSize&&(Le=++Ae)}};de=new WeakMap;let gt=Gt;gt.prototype.klassType="SymmetricMatrix";class St extends gt{static isDistanceMatrix(Ae){return gt.isSymmetricMatrix(Ae)&&Ae.klassSubType==="DistanceMatrix"}constructor(Ae){if(super(Ae),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(Ae,Le,Ie){return Ae===Le&&(Ie=0),super.set(Ae,Le,Ie)}addCross(Ae,Le){return Le===void 0&&(Le=Ae,Ae=this.diagonalSize),Le=Le.slice(),Le[Ae]=0,super.addCross(Ae,Le)}toSymmetricMatrix(){return new gt(this)}clone(){const Ae=new St(this.diagonalSize);for(const[Le,Ie,ze]of this.upperRightEntries())Le!==Ie&&Ae.set(Le,Ie,ze);return Ae}toCompact(){const{diagonalSize:Ae}=this,Le=(Ae-1)*Ae/2,Ie=new Array(Le);for(let ze=1,Ze=0,xt=0;xt<Ie.length;xt++)Ie[xt]=this.get(Ze,ze),++ze>=Ae&&(ze=++Ze+1);return Ie}static fromCompact(Ae){const Le=Ae.length;if(Le===0)return new this(0);const Ie=(Math.sqrt(8*Le+1)+1)/2;if(!Number.isInteger(Ie))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(Ae)}`);const ze=new this(Ie);for(let Ze=1,xt=0,bt=0;bt<Le;bt++)ze.set(Ze,xt,Ae[bt]),++Ze>=Ie&&(Ze=++xt+1);return ze}}St.prototype.klassSubType="DistanceMatrix";class Qt extends sn{constructor(Ae,Le,Ie){super(),this.matrix=Ae,this.rows=Le,this.columns=Ie}}class Nt extends Qt{constructor(Ae,Le){Be(Ae,Le),super(Ae,Ae.rows,1),this.column=Le}set(Ae,Le,Ie){return this.matrix.set(Ae,this.column,Ie),this}get(Ae){return this.matrix.get(Ae,this.column)}}class wt extends Qt{constructor(Ae,Le){Xe(Ae,Le),super(Ae,Ae.rows,Le.length),this.columnIndices=Le}set(Ae,Le,Ie){return this.matrix.set(Ae,this.columnIndices[Le],Ie),this}get(Ae,Le){return this.matrix.get(Ae,this.columnIndices[Le])}}class rn extends Qt{constructor(Ae){super(Ae,Ae.rows,Ae.columns)}set(Ae,Le,Ie){return this.matrix.set(Ae,this.columns-Le-1,Ie),this}get(Ae,Le){return this.matrix.get(Ae,this.columns-Le-1)}}class On extends Qt{constructor(Ae){super(Ae,Ae.rows,Ae.columns)}set(Ae,Le,Ie){return this.matrix.set(this.rows-Ae-1,Le,Ie),this}get(Ae,Le){return this.matrix.get(this.rows-Ae-1,Le)}}class zn extends Qt{constructor(Ae,Le){Me(Ae,Le),super(Ae,1,Ae.columns),this.row=Le}set(Ae,Le,Ie){return this.matrix.set(this.row,Le,Ie),this}get(Ae,Le){return this.matrix.get(this.row,Le)}}class Gn extends Qt{constructor(Ae,Le){Ge(Ae,Le),super(Ae,Le.length,Ae.columns),this.rowIndices=Le}set(Ae,Le,Ie){return this.matrix.set(this.rowIndices[Ae],Le,Ie),this}get(Ae,Le){return this.matrix.get(this.rowIndices[Ae],Le)}}class nr extends Qt{constructor(Ae,Le,Ie){Ge(Ae,Le),Xe(Ae,Ie),super(Ae,Le.length,Ie.length),this.rowIndices=Le,this.columnIndices=Ie}set(Ae,Le,Ie){return this.matrix.set(this.rowIndices[Ae],this.columnIndices[Le],Ie),this}get(Ae,Le){return this.matrix.get(this.rowIndices[Ae],this.columnIndices[Le])}}class Xn extends Qt{constructor(Ae,Le,Ie,ze,Ze){Ye(Ae,Le,Ie,ze,Ze),super(Ae,Ie-Le+1,Ze-ze+1),this.startRow=Le,this.startColumn=ze}set(Ae,Le,Ie){return this.matrix.set(this.startRow+Ae,this.startColumn+Le,Ie),this}get(Ae,Le){return this.matrix.get(this.startRow+Ae,this.startColumn+Le)}}class $t extends Qt{constructor(Ae){super(Ae,Ae.columns,Ae.rows)}set(Ae,Le,Ie){return this.matrix.set(Le,Ae,Ie),this}get(Ae,Le){return this.matrix.get(Le,Ae)}}class gn extends sn{constructor(Ae,Le={}){const{rows:Ie=1}=Le;if(Ae.length%Ie!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=Ie,this.columns=Ae.length/Ie,this.data=Ae}set(Ae,Le,Ie){let ze=this._calculateIndex(Ae,Le);return this.data[ze]=Ie,this}get(Ae,Le){let Ie=this._calculateIndex(Ae,Le);return this.data[Ie]}_calculateIndex(Ae,Le){return Ae*this.columns+Le}}class jn extends sn{constructor(Ae){super(),this.data=Ae,this.rows=Ae.length,this.columns=Ae[0].length}set(Ae,Le,Ie){return this.data[Ae][Le]=Ie,this}get(Ae,Le){return this.data[Ae][Le]}}function Ln(pt,Ae){if(ee.isAnyArray(pt))return pt[0]&&ee.isAnyArray(pt[0])?new jn(pt):new gn(pt,Ae);throw new Error("the argument is not an array")}class Sr{constructor(Ae){Ae=jn.checkMatrix(Ae);let Le=Ae.clone(),Ie=Le.rows,ze=Le.columns,Ze=new Float64Array(Ie),xt=1,bt,Yt,Ht,cn,fn,Zn,Mn,er,rr;for(bt=0;bt<Ie;bt++)Ze[bt]=bt;for(er=new Float64Array(Ie),Yt=0;Yt<ze;Yt++){for(bt=0;bt<Ie;bt++)er[bt]=Le.get(bt,Yt);for(bt=0;bt<Ie;bt++){for(rr=Math.min(bt,Yt),fn=0,Ht=0;Ht<rr;Ht++)fn+=Le.get(bt,Ht)*er[Ht];er[bt]-=fn,Le.set(bt,Yt,er[bt])}for(cn=Yt,bt=Yt+1;bt<Ie;bt++)Math.abs(er[bt])>Math.abs(er[cn])&&(cn=bt);if(cn!==Yt){for(Ht=0;Ht<ze;Ht++)Zn=Le.get(cn,Ht),Le.set(cn,Ht,Le.get(Yt,Ht)),Le.set(Yt,Ht,Zn);Mn=Ze[cn],Ze[cn]=Ze[Yt],Ze[Yt]=Mn,xt=-xt}if(Yt<Ie&&Le.get(Yt,Yt)!==0)for(bt=Yt+1;bt<Ie;bt++)Le.set(bt,Yt,Le.get(bt,Yt)/Le.get(Yt,Yt))}this.LU=Le,this.pivotVector=Ze,this.pivotSign=xt}isSingular(){let Ae=this.LU,Le=Ae.columns;for(let Ie=0;Ie<Le;Ie++)if(Ae.get(Ie,Ie)===0)return!0;return!1}solve(Ae){Ae=yt.checkMatrix(Ae);let Le=this.LU;if(Le.rows!==Ae.rows)throw new Error("Invalid matrix dimensions");if(this.isSingular())throw new Error("LU matrix is singular");let ze=Ae.columns,Ze=Ae.subMatrixRow(this.pivotVector,0,ze-1),xt=Le.columns,bt,Yt,Ht;for(Ht=0;Ht<xt;Ht++)for(bt=Ht+1;bt<xt;bt++)for(Yt=0;Yt<ze;Yt++)Ze.set(bt,Yt,Ze.get(bt,Yt)-Ze.get(Ht,Yt)*Le.get(bt,Ht));for(Ht=xt-1;Ht>=0;Ht--){for(Yt=0;Yt<ze;Yt++)Ze.set(Ht,Yt,Ze.get(Ht,Yt)/Le.get(Ht,Ht));for(bt=0;bt<Ht;bt++)for(Yt=0;Yt<ze;Yt++)Ze.set(bt,Yt,Ze.get(bt,Yt)-Ze.get(Ht,Yt)*Le.get(bt,Ht))}return Ze}get determinant(){let Ae=this.LU;if(!Ae.isSquare())throw new Error("Matrix must be square");let Le=this.pivotSign,Ie=Ae.columns;for(let ze=0;ze<Ie;ze++)Le*=Ae.get(ze,ze);return Le}get lowerTriangularMatrix(){let Ae=this.LU,Le=Ae.rows,Ie=Ae.columns,ze=new yt(Le,Ie);for(let Ze=0;Ze<Le;Ze++)for(let xt=0;xt<Ie;xt++)Ze>xt?ze.set(Ze,xt,Ae.get(Ze,xt)):Ze===xt?ze.set(Ze,xt,1):ze.set(Ze,xt,0);return ze}get upperTriangularMatrix(){let Ae=this.LU,Le=Ae.rows,Ie=Ae.columns,ze=new yt(Le,Ie);for(let Ze=0;Ze<Le;Ze++)for(let xt=0;xt<Ie;xt++)Ze<=xt?ze.set(Ze,xt,Ae.get(Ze,xt)):ze.set(Ze,xt,0);return ze}get pivotPermutationVector(){return Array.from(this.pivotVector)}}function Ur(pt,Ae){let Le=0;return Math.abs(pt)>Math.abs(Ae)?(Le=Ae/pt,Math.abs(pt)*Math.sqrt(1+Le*Le)):Ae!==0?(Le=pt/Ae,Math.abs(Ae)*Math.sqrt(1+Le*Le)):0}class Mr{constructor(Ae){Ae=jn.checkMatrix(Ae);let Le=Ae.clone(),Ie=Ae.rows,ze=Ae.columns,Ze=new Float64Array(ze),xt,bt,Yt,Ht;for(Yt=0;Yt<ze;Yt++){let cn=0;for(xt=Yt;xt<Ie;xt++)cn=Ur(cn,Le.get(xt,Yt));if(cn!==0){for(Le.get(Yt,Yt)<0&&(cn=-cn),xt=Yt;xt<Ie;xt++)Le.set(xt,Yt,Le.get(xt,Yt)/cn);for(Le.set(Yt,Yt,Le.get(Yt,Yt)+1),bt=Yt+1;bt<ze;bt++){for(Ht=0,xt=Yt;xt<Ie;xt++)Ht+=Le.get(xt,Yt)*Le.get(xt,bt);for(Ht=-Ht/Le.get(Yt,Yt),xt=Yt;xt<Ie;xt++)Le.set(xt,bt,Le.get(xt,bt)+Ht*Le.get(xt,Yt))}}Ze[Yt]=-cn}this.QR=Le,this.Rdiag=Ze}solve(Ae){Ae=yt.checkMatrix(Ae);let Le=this.QR,Ie=Le.rows;if(Ae.rows!==Ie)throw new Error("Matrix row dimensions must agree");if(!this.isFullRank())throw new Error("Matrix is rank deficient");let ze=Ae.columns,Ze=Ae.clone(),xt=Le.columns,bt,Yt,Ht,cn;for(Ht=0;Ht<xt;Ht++)for(Yt=0;Yt<ze;Yt++){for(cn=0,bt=Ht;bt<Ie;bt++)cn+=Le.get(bt,Ht)*Ze.get(bt,Yt);for(cn=-cn/Le.get(Ht,Ht),bt=Ht;bt<Ie;bt++)Ze.set(bt,Yt,Ze.get(bt,Yt)+cn*Le.get(bt,Ht))}for(Ht=xt-1;Ht>=0;Ht--){for(Yt=0;Yt<ze;Yt++)Ze.set(Ht,Yt,Ze.get(Ht,Yt)/this.Rdiag[Ht]);for(bt=0;bt<Ht;bt++)for(Yt=0;Yt<ze;Yt++)Ze.set(bt,Yt,Ze.get(bt,Yt)-Ze.get(Ht,Yt)*Le.get(bt,Ht))}return Ze.subMatrix(0,xt-1,0,ze-1)}isFullRank(){let Ae=this.QR.columns;for(let Le=0;Le<Ae;Le++)if(this.Rdiag[Le]===0)return!1;return!0}get upperTriangularMatrix(){let Ae=this.QR,Le=Ae.columns,Ie=new yt(Le,Le),ze,Ze;for(ze=0;ze<Le;ze++)for(Ze=0;Ze<Le;Ze++)ze<Ze?Ie.set(ze,Ze,Ae.get(ze,Ze)):ze===Ze?Ie.set(ze,Ze,this.Rdiag[ze]):Ie.set(ze,Ze,0);return Ie}get orthogonalMatrix(){let Ae=this.QR,Le=Ae.rows,Ie=Ae.columns,ze=new yt(Le,Ie),Ze,xt,bt,Yt;for(bt=Ie-1;bt>=0;bt--){for(Ze=0;Ze<Le;Ze++)ze.set(Ze,bt,0);for(ze.set(bt,bt,1),xt=bt;xt<Ie;xt++)if(Ae.get(bt,bt)!==0){for(Yt=0,Ze=bt;Ze<Le;Ze++)Yt+=Ae.get(Ze,bt)*ze.get(Ze,xt);for(Yt=-Yt/Ae.get(bt,bt),Ze=bt;Ze<Le;Ze++)ze.set(Ze,xt,ze.get(Ze,xt)+Yt*Ae.get(Ze,bt))}}return ze}}class Gr{constructor(Ae,Le={}){if(Ae=jn.checkMatrix(Ae),Ae.isEmpty())throw new Error("Matrix must be non-empty");let Ie=Ae.rows,ze=Ae.columns;const{computeLeftSingularVectors:Ze=!0,computeRightSingularVectors:xt=!0,autoTranspose:bt=!1}=Le;let Yt=!!Ze,Ht=!!xt,cn=!1,fn;if(Ie<ze)if(!bt)fn=Ae.clone(),console.warn("Computing SVD on a matrix with more columns than rows. Consider enabling autoTranspose");else{fn=Ae.transpose(),Ie=fn.rows,ze=fn.columns,cn=!0;let Nn=Yt;Yt=Ht,Ht=Nn}else fn=Ae.clone();let Zn=Math.min(Ie,ze),Mn=Math.min(Ie+1,ze),er=new Float64Array(Mn),rr=new yt(Ie,Zn),mr=new yt(ze,ze),pn=new Float64Array(ze),nn=new Float64Array(Ie),Bn=new Float64Array(Mn);for(let Nn=0;Nn<Mn;Nn++)Bn[Nn]=Nn;let Hn=Math.min(Ie-1,ze),fr=Math.max(0,Math.min(ze-2,Ie)),br=Math.max(Hn,fr);for(let Nn=0;Nn<br;Nn++){if(Nn<Hn){er[Nn]=0;for(let xr=Nn;xr<Ie;xr++)er[Nn]=Ur(er[Nn],fn.get(xr,Nn));if(er[Nn]!==0){fn.get(Nn,Nn)<0&&(er[Nn]=-er[Nn]);for(let xr=Nn;xr<Ie;xr++)fn.set(xr,Nn,fn.get(xr,Nn)/er[Nn]);fn.set(Nn,Nn,fn.get(Nn,Nn)+1)}er[Nn]=-er[Nn]}for(let xr=Nn+1;xr<ze;xr++){if(Nn<Hn&&er[Nn]!==0){let Jn=0;for(let Nr=Nn;Nr<Ie;Nr++)Jn+=fn.get(Nr,Nn)*fn.get(Nr,xr);Jn=-Jn/fn.get(Nn,Nn);for(let Nr=Nn;Nr<Ie;Nr++)fn.set(Nr,xr,fn.get(Nr,xr)+Jn*fn.get(Nr,Nn))}pn[xr]=fn.get(Nn,xr)}if(Yt&&Nn<Hn)for(let xr=Nn;xr<Ie;xr++)rr.set(xr,Nn,fn.get(xr,Nn));if(Nn<fr){pn[Nn]=0;for(let xr=Nn+1;xr<ze;xr++)pn[Nn]=Ur(pn[Nn],pn[xr]);if(pn[Nn]!==0){pn[Nn+1]<0&&(pn[Nn]=0-pn[Nn]);for(let xr=Nn+1;xr<ze;xr++)pn[xr]/=pn[Nn];pn[Nn+1]+=1}if(pn[Nn]=-pn[Nn],Nn+1<Ie&&pn[Nn]!==0){for(let xr=Nn+1;xr<Ie;xr++)nn[xr]=0;for(let xr=Nn+1;xr<Ie;xr++)for(let Jn=Nn+1;Jn<ze;Jn++)nn[xr]+=pn[Jn]*fn.get(xr,Jn);for(let xr=Nn+1;xr<ze;xr++){let Jn=-pn[xr]/pn[Nn+1];for(let Nr=Nn+1;Nr<Ie;Nr++)fn.set(Nr,xr,fn.get(Nr,xr)+Jn*nn[Nr])}}if(Ht)for(let xr=Nn+1;xr<ze;xr++)mr.set(xr,Nn,pn[xr])}}let tr=Math.min(ze,Ie+1);if(Hn<ze&&(er[Hn]=fn.get(Hn,Hn)),Ie<tr&&(er[tr-1]=0),fr+1<tr&&(pn[fr]=fn.get(fr,tr-1)),pn[tr-1]=0,Yt){for(let Nn=Hn;Nn<Zn;Nn++){for(let xr=0;xr<Ie;xr++)rr.set(xr,Nn,0);rr.set(Nn,Nn,1)}for(let Nn=Hn-1;Nn>=0;Nn--)if(er[Nn]!==0){for(let xr=Nn+1;xr<Zn;xr++){let Jn=0;for(let Nr=Nn;Nr<Ie;Nr++)Jn+=rr.get(Nr,Nn)*rr.get(Nr,xr);Jn=-Jn/rr.get(Nn,Nn);for(let Nr=Nn;Nr<Ie;Nr++)rr.set(Nr,xr,rr.get(Nr,xr)+Jn*rr.get(Nr,Nn))}for(let xr=Nn;xr<Ie;xr++)rr.set(xr,Nn,-rr.get(xr,Nn));rr.set(Nn,Nn,1+rr.get(Nn,Nn));for(let xr=0;xr<Nn-1;xr++)rr.set(xr,Nn,0)}else{for(let xr=0;xr<Ie;xr++)rr.set(xr,Nn,0);rr.set(Nn,Nn,1)}}if(Ht)for(let Nn=ze-1;Nn>=0;Nn--){if(Nn<fr&&pn[Nn]!==0)for(let xr=Nn+1;xr<ze;xr++){let Jn=0;for(let Nr=Nn+1;Nr<ze;Nr++)Jn+=mr.get(Nr,Nn)*mr.get(Nr,xr);Jn=-Jn/mr.get(Nn+1,Nn);for(let Nr=Nn+1;Nr<ze;Nr++)mr.set(Nr,xr,mr.get(Nr,xr)+Jn*mr.get(Nr,Nn))}for(let xr=0;xr<ze;xr++)mr.set(xr,Nn,0);mr.set(Nn,Nn,1)}let hr=tr-1,vr=Number.EPSILON;for(;tr>0;){let Nn,xr;for(Nn=tr-2;Nn>=-1&&Nn!==-1;Nn--){const Jn=Number.MIN_VALUE+vr*Math.abs(er[Nn]+Math.abs(er[Nn+1]));if(Math.abs(pn[Nn])<=Jn||Number.isNaN(pn[Nn])){pn[Nn]=0;break}}if(Nn===tr-2)xr=4;else{let Jn;for(Jn=tr-1;Jn>=Nn&&Jn!==Nn;Jn--){let Nr=(Jn!==tr?Math.abs(pn[Jn]):0)+(Jn!==Nn+1?Math.abs(pn[Jn-1]):0);if(Math.abs(er[Jn])<=vr*Nr){er[Jn]=0;break}}Jn===Nn?xr=3:Jn===tr-1?xr=1:(xr=2,Nn=Jn)}switch(Nn++,xr){case 1:{let Jn=pn[tr-2];pn[tr-2]=0;for(let Nr=tr-2;Nr>=Nn;Nr--){let Xa=Ur(er[Nr],Jn),$a=er[Nr]/Xa,ai=Jn/Xa;if(er[Nr]=Xa,Nr!==Nn&&(Jn=-ai*pn[Nr-1],pn[Nr-1]=$a*pn[Nr-1]),Ht)for(let Zr=0;Zr<ze;Zr++)Xa=$a*mr.get(Zr,Nr)+ai*mr.get(Zr,tr-1),mr.set(Zr,tr-1,-ai*mr.get(Zr,Nr)+$a*mr.get(Zr,tr-1)),mr.set(Zr,Nr,Xa)}break}case 2:{let Jn=pn[Nn-1];pn[Nn-1]=0;for(let Nr=Nn;Nr<tr;Nr++){let Xa=Ur(er[Nr],Jn),$a=er[Nr]/Xa,ai=Jn/Xa;if(er[Nr]=Xa,Jn=-ai*pn[Nr],pn[Nr]=$a*pn[Nr],Yt)for(let Zr=0;Zr<Ie;Zr++)Xa=$a*rr.get(Zr,Nr)+ai*rr.get(Zr,Nn-1),rr.set(Zr,Nn-1,-ai*rr.get(Zr,Nr)+$a*rr.get(Zr,Nn-1)),rr.set(Zr,Nr,Xa)}break}case 3:{const Jn=Math.max(Math.abs(er[tr-1]),Math.abs(er[tr-2]),Math.abs(pn[tr-2]),Math.abs(er[Nn]),Math.abs(pn[Nn])),Nr=er[tr-1]/Jn,Xa=er[tr-2]/Jn,$a=pn[tr-2]/Jn,ai=er[Nn]/Jn,Zr=pn[Nn]/Jn,ua=((Xa+Nr)*(Xa-Nr)+$a*$a)/2,Da=Nr*$a*(Nr*$a);let sa=0;(ua!==0||Da!==0)&&(ua<0?sa=0-Math.sqrt(ua*ua+Da):sa=Math.sqrt(ua*ua+Da),sa=Da/(ua+sa));let Ja=(ai+Nr)*(ai-Nr)+sa,Li=ai*Zr;for(let Na=Nn;Na<tr-1;Na++){let Ti=Ur(Ja,Li);Ti===0&&(Ti=Number.MIN_VALUE);let ji=Ja/Ti,Ao=Li/Ti;if(Na!==Nn&&(pn[Na-1]=Ti),Ja=ji*er[Na]+Ao*pn[Na],pn[Na]=ji*pn[Na]-Ao*er[Na],Li=Ao*er[Na+1],er[Na+1]=ji*er[Na+1],Ht)for(let uo=0;uo<ze;uo++)Ti=ji*mr.get(uo,Na)+Ao*mr.get(uo,Na+1),mr.set(uo,Na+1,-Ao*mr.get(uo,Na)+ji*mr.get(uo,Na+1)),mr.set(uo,Na,Ti);if(Ti=Ur(Ja,Li),Ti===0&&(Ti=Number.MIN_VALUE),ji=Ja/Ti,Ao=Li/Ti,er[Na]=Ti,Ja=ji*pn[Na]+Ao*er[Na+1],er[Na+1]=-Ao*pn[Na]+ji*er[Na+1],Li=Ao*pn[Na+1],pn[Na+1]=ji*pn[Na+1],Yt&&Na<Ie-1)for(let uo=0;uo<Ie;uo++)Ti=ji*rr.get(uo,Na)+Ao*rr.get(uo,Na+1),rr.set(uo,Na+1,-Ao*rr.get(uo,Na)+ji*rr.get(uo,Na+1)),rr.set(uo,Na,Ti)}pn[tr-2]=Ja;break}case 4:{if(er[Nn]<=0&&(er[Nn]=er[Nn]<0?-er[Nn]:0,Ht))for(let Jn=0;Jn<=hr;Jn++)mr.set(Jn,Nn,-mr.get(Jn,Nn));for(;Nn<hr&&!(er[Nn]>=er[Nn+1]);){let Jn=er[Nn];if(er[Nn]=er[Nn+1],er[Nn+1]=Jn,Ht&&Nn<ze-1)for(let Nr=0;Nr<ze;Nr++)Jn=mr.get(Nr,Nn+1),mr.set(Nr,Nn+1,mr.get(Nr,Nn)),mr.set(Nr,Nn,Jn);if(Yt&&Nn<Ie-1)for(let Nr=0;Nr<Ie;Nr++)Jn=rr.get(Nr,Nn+1),rr.set(Nr,Nn+1,rr.get(Nr,Nn)),rr.set(Nr,Nn,Jn);Nn++}tr--;break}}}if(cn){let Nn=mr;mr=rr,rr=Nn}this.m=Ie,this.n=ze,this.s=er,this.U=rr,this.V=mr}solve(Ae){let Le=Ae,Ie=this.threshold,ze=this.s.length,Ze=yt.zeros(ze,ze);for(let Zn=0;Zn<ze;Zn++)Math.abs(this.s[Zn])<=Ie?Ze.set(Zn,Zn,0):Ze.set(Zn,Zn,1/this.s[Zn]);let xt=this.U,bt=this.rightSingularVectors,Yt=bt.mmul(Ze),Ht=bt.rows,cn=xt.rows,fn=yt.zeros(Ht,cn);for(let Zn=0;Zn<Ht;Zn++)for(let Mn=0;Mn<cn;Mn++){let er=0;for(let rr=0;rr<ze;rr++)er+=Yt.get(Zn,rr)*xt.get(Mn,rr);fn.set(Zn,Mn,er)}return fn.mmul(Le)}solveForDiagonal(Ae){return this.solve(yt.diag(Ae))}inverse(){let Ae=this.V,Le=this.threshold,Ie=Ae.rows,ze=Ae.columns,Ze=new yt(Ie,this.s.length);for(let cn=0;cn<Ie;cn++)for(let fn=0;fn<ze;fn++)Math.abs(this.s[fn])>Le&&Ze.set(cn,fn,Ae.get(cn,fn)/this.s[fn]);let xt=this.U,bt=xt.rows,Yt=xt.columns,Ht=new yt(Ie,bt);for(let cn=0;cn<Ie;cn++)for(let fn=0;fn<bt;fn++){let Zn=0;for(let Mn=0;Mn<Yt;Mn++)Zn+=Ze.get(cn,Mn)*xt.get(fn,Mn);Ht.set(cn,fn,Zn)}return Ht}get condition(){return this.s[0]/this.s[Math.min(this.m,this.n)-1]}get norm2(){return this.s[0]}get rank(){let Ae=Math.max(this.m,this.n)*this.s[0]*Number.EPSILON,Le=0,Ie=this.s;for(let ze=0,Ze=Ie.length;ze<Ze;ze++)Ie[ze]>Ae&&Le++;return Le}get diagonal(){return Array.from(this.s)}get threshold(){return Number.EPSILON/2*Math.max(this.m,this.n)*this.s[0]}get leftSingularVectors(){return this.U}get rightSingularVectors(){return this.V}get diagonalMatrix(){return yt.diag(this.s)}}function ma(pt,Ae=!1){return pt=jn.checkMatrix(pt),Ae?new Gr(pt).inverse():Oa(pt,yt.eye(pt.rows))}function Oa(pt,Ae,Le=!1){return pt=jn.checkMatrix(pt),Ae=jn.checkMatrix(Ae),Le?new Gr(pt).solve(Ae):pt.isSquare()?new Sr(pt).solve(Ae):new Mr(pt).solve(Ae)}function Ea(pt){if(pt=yt.checkMatrix(pt),pt.isSquare()){if(pt.columns===0)return 1;let Ae,Le,Ie,ze;if(pt.columns===2)return Ae=pt.get(0,0),Le=pt.get(0,1),Ie=pt.get(1,0),ze=pt.get(1,1),Ae*ze-Le*Ie;if(pt.columns===3){let Ze,xt,bt;return Ze=new nr(pt,[1,2],[1,2]),xt=new nr(pt,[1,2],[0,2]),bt=new nr(pt,[1,2],[0,1]),Ae=pt.get(0,0),Le=pt.get(0,1),Ie=pt.get(0,2),Ae*Ea(Ze)-Le*Ea(xt)+Ie*Ea(bt)}else return new Sr(pt).determinant}else throw Error("determinant can only be calculated for a square matrix")}function Ma(pt,Ae){let Le=[];for(let Ie=0;Ie<pt;Ie++)Ie!==Ae&&Le.push(Ie);return Le}function li(pt,Ae,Le,Ie=1e-9,ze=1e-9){if(pt>ze)return new Array(Ae.rows+1).fill(0);{let Ze=Ae.addRow(Le,[0]);for(let xt=0;xt<Ze.rows;xt++)Math.abs(Ze.get(xt,0))<Ie&&Ze.set(xt,0,0);return Ze.to1DArray()}}function di(pt,Ae={}){const{thresholdValue:Le=1e-9,thresholdError:Ie=1e-9}=Ae;pt=yt.checkMatrix(pt);let ze=pt.rows,Ze=new yt(ze,ze);for(let xt=0;xt<ze;xt++){let bt=yt.columnVector(pt.getRow(xt)),Yt=pt.subMatrixRow(Ma(ze,xt)).transpose(),cn=new Gr(Yt).solve(bt),fn=yt.sub(bt,Yt.mmul(cn)).abs().max();Ze.setRow(xt,li(fn,cn,xt,Le,Ie))}return Ze}function Hr(pt,Ae=Number.EPSILON){if(pt=yt.checkMatrix(pt),pt.isEmpty())return pt.transpose();let Le=new Gr(pt,{autoTranspose:!0}),Ie=Le.leftSingularVectors,ze=Le.rightSingularVectors,Ze=Le.diagonal;for(let xt=0;xt<Ze.length;xt++)Math.abs(Ze[xt])>Ae?Ze[xt]=1/Ze[xt]:Ze[xt]=0;return ze.mmul(yt.diag(Ze).mmul(Ie.transpose()))}function Ta(pt,Ae=pt,Le={}){pt=new yt(pt);let Ie=!1;if(typeof Ae=="object"&&!yt.isMatrix(Ae)&&!ee.isAnyArray(Ae)?(Le=Ae,Ae=pt,Ie=!0):Ae=new yt(Ae),pt.rows!==Ae.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:ze=!0}=Le;ze&&(pt=pt.center("column"),Ie||(Ae=Ae.center("column")));const Ze=pt.transpose().mmul(Ae);for(let xt=0;xt<Ze.rows;xt++)for(let bt=0;bt<Ze.columns;bt++)Ze.set(xt,bt,Ze.get(xt,bt)*(1/(pt.rows-1)));return Ze}function Ha(pt,Ae=pt,Le={}){pt=new yt(pt);let Ie=!1;if(typeof Ae=="object"&&!yt.isMatrix(Ae)&&!ee.isAnyArray(Ae)?(Le=Ae,Ae=pt,Ie=!0):Ae=new yt(Ae),pt.rows!==Ae.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:ze=!0,scale:Ze=!0}=Le;ze&&(pt.center("column"),Ie||Ae.center("column")),Ze&&(pt.scale("column"),Ie||Ae.scale("column"));const xt=pt.standardDeviation("column",{unbiased:!0}),bt=Ie?xt:Ae.standardDeviation("column",{unbiased:!0}),Yt=pt.transpose().mmul(Ae);for(let Ht=0;Ht<Yt.rows;Ht++)for(let cn=0;cn<Yt.columns;cn++)Yt.set(Ht,cn,Yt.get(Ht,cn)*(1/(xt[Ht]*bt[cn]))*(1/(pt.rows-1)));return Yt}class sr{constructor(Ae,Le={}){const{assumeSymmetric:Ie=!1}=Le;if(Ae=jn.checkMatrix(Ae),!Ae.isSquare())throw new Error("Matrix is not a square matrix");if(Ae.isEmpty())throw new Error("Matrix must be non-empty");let ze=Ae.columns,Ze=new yt(ze,ze),xt=new Float64Array(ze),bt=new Float64Array(ze),Yt=Ae,Ht,cn,fn=!1;if(Ie?fn=!0:fn=Ae.isSymmetric(),fn){for(Ht=0;Ht<ze;Ht++)for(cn=0;cn<ze;cn++)Ze.set(Ht,cn,Yt.get(Ht,cn));pr(ze,bt,xt,Ze),Qa(ze,bt,xt,Ze)}else{let Zn=new yt(ze,ze),Mn=new Float64Array(ze);for(cn=0;cn<ze;cn++)for(Ht=0;Ht<ze;Ht++)Zn.set(Ht,cn,Yt.get(Ht,cn));hn(ze,Zn,Mn,Ze),kn(ze,bt,xt,Ze,Zn)}this.n=ze,this.e=bt,this.d=xt,this.V=Ze}get realEigenvalues(){return Array.from(this.d)}get imaginaryEigenvalues(){return Array.from(this.e)}get eigenvectorMatrix(){return this.V}get diagonalMatrix(){let Ae=this.n,Le=this.e,Ie=this.d,ze=new yt(Ae,Ae),Ze,xt;for(Ze=0;Ze<Ae;Ze++){for(xt=0;xt<Ae;xt++)ze.set(Ze,xt,0);ze.set(Ze,Ze,Ie[Ze]),Le[Ze]>0?ze.set(Ze,Ze+1,Le[Ze]):Le[Ze]<0&&ze.set(Ze,Ze-1,Le[Ze])}return ze}}function pr(pt,Ae,Le,Ie){let ze,Ze,xt,bt,Yt,Ht,cn,fn;for(Yt=0;Yt<pt;Yt++)Le[Yt]=Ie.get(pt-1,Yt);for(bt=pt-1;bt>0;bt--){for(fn=0,xt=0,Ht=0;Ht<bt;Ht++)fn=fn+Math.abs(Le[Ht]);if(fn===0)for(Ae[bt]=Le[bt-1],Yt=0;Yt<bt;Yt++)Le[Yt]=Ie.get(bt-1,Yt),Ie.set(bt,Yt,0),Ie.set(Yt,bt,0);else{for(Ht=0;Ht<bt;Ht++)Le[Ht]/=fn,xt+=Le[Ht]*Le[Ht];for(ze=Le[bt-1],Ze=Math.sqrt(xt),ze>0&&(Ze=-Ze),Ae[bt]=fn*Ze,xt=xt-ze*Ze,Le[bt-1]=ze-Ze,Yt=0;Yt<bt;Yt++)Ae[Yt]=0;for(Yt=0;Yt<bt;Yt++){for(ze=Le[Yt],Ie.set(Yt,bt,ze),Ze=Ae[Yt]+Ie.get(Yt,Yt)*ze,Ht=Yt+1;Ht<=bt-1;Ht++)Ze+=Ie.get(Ht,Yt)*Le[Ht],Ae[Ht]+=Ie.get(Ht,Yt)*ze;Ae[Yt]=Ze}for(ze=0,Yt=0;Yt<bt;Yt++)Ae[Yt]/=xt,ze+=Ae[Yt]*Le[Yt];for(cn=ze/(xt+xt),Yt=0;Yt<bt;Yt++)Ae[Yt]-=cn*Le[Yt];for(Yt=0;Yt<bt;Yt++){for(ze=Le[Yt],Ze=Ae[Yt],Ht=Yt;Ht<=bt-1;Ht++)Ie.set(Ht,Yt,Ie.get(Ht,Yt)-(ze*Ae[Ht]+Ze*Le[Ht]));Le[Yt]=Ie.get(bt-1,Yt),Ie.set(bt,Yt,0)}}Le[bt]=xt}for(bt=0;bt<pt-1;bt++){if(Ie.set(pt-1,bt,Ie.get(bt,bt)),Ie.set(bt,bt,1),xt=Le[bt+1],xt!==0){for(Ht=0;Ht<=bt;Ht++)Le[Ht]=Ie.get(Ht,bt+1)/xt;for(Yt=0;Yt<=bt;Yt++){for(Ze=0,Ht=0;Ht<=bt;Ht++)Ze+=Ie.get(Ht,bt+1)*Ie.get(Ht,Yt);for(Ht=0;Ht<=bt;Ht++)Ie.set(Ht,Yt,Ie.get(Ht,Yt)-Ze*Le[Ht])}}for(Ht=0;Ht<=bt;Ht++)Ie.set(Ht,bt+1,0)}for(Yt=0;Yt<pt;Yt++)Le[Yt]=Ie.get(pt-1,Yt),Ie.set(pt-1,Yt,0);Ie.set(pt-1,pt-1,1),Ae[0]=0}function Qa(pt,Ae,Le,Ie){let ze,Ze,xt,bt,Yt,Ht,cn,fn,Zn,Mn,er,rr,mr,pn,nn,Bn;for(xt=1;xt<pt;xt++)Ae[xt-1]=Ae[xt];Ae[pt-1]=0;let Hn=0,fr=0,br=Number.EPSILON;for(Ht=0;Ht<pt;Ht++){for(fr=Math.max(fr,Math.abs(Le[Ht])+Math.abs(Ae[Ht])),cn=Ht;cn<pt&&!(Math.abs(Ae[cn])<=br*fr);)cn++;if(cn>Ht)do{for(ze=Le[Ht],fn=(Le[Ht+1]-ze)/(2*Ae[Ht]),Zn=Ur(fn,1),fn<0&&(Zn=-Zn),Le[Ht]=Ae[Ht]/(fn+Zn),Le[Ht+1]=Ae[Ht]*(fn+Zn),Mn=Le[Ht+1],Ze=ze-Le[Ht],xt=Ht+2;xt<pt;xt++)Le[xt]-=Ze;for(Hn=Hn+Ze,fn=Le[cn],er=1,rr=er,mr=er,pn=Ae[Ht+1],nn=0,Bn=0,xt=cn-1;xt>=Ht;xt--)for(mr=rr,rr=er,Bn=nn,ze=er*Ae[xt],Ze=er*fn,Zn=Ur(fn,Ae[xt]),Ae[xt+1]=nn*Zn,nn=Ae[xt]/Zn,er=fn/Zn,fn=er*Le[xt]-nn*ze,Le[xt+1]=Ze+nn*(er*ze+nn*Le[xt]),Yt=0;Yt<pt;Yt++)Ze=Ie.get(Yt,xt+1),Ie.set(Yt,xt+1,nn*Ie.get(Yt,xt)+er*Ze),Ie.set(Yt,xt,er*Ie.get(Yt,xt)-nn*Ze);fn=-nn*Bn*mr*pn*Ae[Ht]/Mn,Ae[Ht]=nn*fn,Le[Ht]=er*fn}while(Math.abs(Ae[Ht])>br*fr);Le[Ht]=Le[Ht]+Hn,Ae[Ht]=0}for(xt=0;xt<pt-1;xt++){for(Yt=xt,fn=Le[xt],bt=xt+1;bt<pt;bt++)Le[bt]<fn&&(Yt=bt,fn=Le[bt]);if(Yt!==xt)for(Le[Yt]=Le[xt],Le[xt]=fn,bt=0;bt<pt;bt++)fn=Ie.get(bt,xt),Ie.set(bt,xt,Ie.get(bt,Yt)),Ie.set(bt,Yt,fn)}}function hn(pt,Ae,Le,Ie){let ze=0,Ze=pt-1,xt,bt,Yt,Ht,cn,fn,Zn;for(fn=ze+1;fn<=Ze-1;fn++){for(Zn=0,Ht=fn;Ht<=Ze;Ht++)Zn=Zn+Math.abs(Ae.get(Ht,fn-1));if(Zn!==0){for(Yt=0,Ht=Ze;Ht>=fn;Ht--)Le[Ht]=Ae.get(Ht,fn-1)/Zn,Yt+=Le[Ht]*Le[Ht];for(bt=Math.sqrt(Yt),Le[fn]>0&&(bt=-bt),Yt=Yt-Le[fn]*bt,Le[fn]=Le[fn]-bt,cn=fn;cn<pt;cn++){for(xt=0,Ht=Ze;Ht>=fn;Ht--)xt+=Le[Ht]*Ae.get(Ht,cn);for(xt=xt/Yt,Ht=fn;Ht<=Ze;Ht++)Ae.set(Ht,cn,Ae.get(Ht,cn)-xt*Le[Ht])}for(Ht=0;Ht<=Ze;Ht++){for(xt=0,cn=Ze;cn>=fn;cn--)xt+=Le[cn]*Ae.get(Ht,cn);for(xt=xt/Yt,cn=fn;cn<=Ze;cn++)Ae.set(Ht,cn,Ae.get(Ht,cn)-xt*Le[cn])}Le[fn]=Zn*Le[fn],Ae.set(fn,fn-1,Zn*bt)}}for(Ht=0;Ht<pt;Ht++)for(cn=0;cn<pt;cn++)Ie.set(Ht,cn,Ht===cn?1:0);for(fn=Ze-1;fn>=ze+1;fn--)if(Ae.get(fn,fn-1)!==0){for(Ht=fn+1;Ht<=Ze;Ht++)Le[Ht]=Ae.get(Ht,fn-1);for(cn=fn;cn<=Ze;cn++){for(bt=0,Ht=fn;Ht<=Ze;Ht++)bt+=Le[Ht]*Ie.get(Ht,cn);for(bt=bt/Le[fn]/Ae.get(fn,fn-1),Ht=fn;Ht<=Ze;Ht++)Ie.set(Ht,cn,Ie.get(Ht,cn)+bt*Le[Ht])}}}function kn(pt,Ae,Le,Ie,ze){let Ze=pt-1,xt=0,bt=pt-1,Yt=Number.EPSILON,Ht=0,cn=0,fn=0,Zn=0,Mn=0,er=0,rr=0,mr=0,pn,nn,Bn,Hn,fr,br,tr,hr,vr,Nn,xr,Jn,Nr,Xa,$a;for(pn=0;pn<pt;pn++)for((pn<xt||pn>bt)&&(Le[pn]=ze.get(pn,pn),Ae[pn]=0),nn=Math.max(pn-1,0);nn<pt;nn++)cn=cn+Math.abs(ze.get(pn,nn));for(;Ze>=xt;){for(Hn=Ze;Hn>xt&&(er=Math.abs(ze.get(Hn-1,Hn-1))+Math.abs(ze.get(Hn,Hn)),er===0&&(er=cn),!(Math.abs(ze.get(Hn,Hn-1))<Yt*er));)Hn--;if(Hn===Ze)ze.set(Ze,Ze,ze.get(Ze,Ze)+Ht),Le[Ze]=ze.get(Ze,Ze),Ae[Ze]=0,Ze--,mr=0;else if(Hn===Ze-1){if(tr=ze.get(Ze,Ze-1)*ze.get(Ze-1,Ze),fn=(ze.get(Ze-1,Ze-1)-ze.get(Ze,Ze))/2,Zn=fn*fn+tr,rr=Math.sqrt(Math.abs(Zn)),ze.set(Ze,Ze,ze.get(Ze,Ze)+Ht),ze.set(Ze-1,Ze-1,ze.get(Ze-1,Ze-1)+Ht),hr=ze.get(Ze,Ze),Zn>=0){for(rr=fn>=0?fn+rr:fn-rr,Le[Ze-1]=hr+rr,Le[Ze]=Le[Ze-1],rr!==0&&(Le[Ze]=hr-tr/rr),Ae[Ze-1]=0,Ae[Ze]=0,hr=ze.get(Ze,Ze-1),er=Math.abs(hr)+Math.abs(rr),fn=hr/er,Zn=rr/er,Mn=Math.sqrt(fn*fn+Zn*Zn),fn=fn/Mn,Zn=Zn/Mn,nn=Ze-1;nn<pt;nn++)rr=ze.get(Ze-1,nn),ze.set(Ze-1,nn,Zn*rr+fn*ze.get(Ze,nn)),ze.set(Ze,nn,Zn*ze.get(Ze,nn)-fn*rr);for(pn=0;pn<=Ze;pn++)rr=ze.get(pn,Ze-1),ze.set(pn,Ze-1,Zn*rr+fn*ze.get(pn,Ze)),ze.set(pn,Ze,Zn*ze.get(pn,Ze)-fn*rr);for(pn=xt;pn<=bt;pn++)rr=Ie.get(pn,Ze-1),Ie.set(pn,Ze-1,Zn*rr+fn*Ie.get(pn,Ze)),Ie.set(pn,Ze,Zn*Ie.get(pn,Ze)-fn*rr)}else Le[Ze-1]=hr+fn,Le[Ze]=hr+fn,Ae[Ze-1]=rr,Ae[Ze]=-rr;Ze=Ze-2,mr=0}else{if(hr=ze.get(Ze,Ze),vr=0,tr=0,Hn<Ze&&(vr=ze.get(Ze-1,Ze-1),tr=ze.get(Ze,Ze-1)*ze.get(Ze-1,Ze)),mr===10){for(Ht+=hr,pn=xt;pn<=Ze;pn++)ze.set(pn,pn,ze.get(pn,pn)-hr);er=Math.abs(ze.get(Ze,Ze-1))+Math.abs(ze.get(Ze-1,Ze-2)),hr=vr=.75*er,tr=-.4375*er*er}if(mr===30&&(er=(vr-hr)/2,er=er*er+tr,er>0)){for(er=Math.sqrt(er),vr<hr&&(er=-er),er=hr-tr/((vr-hr)/2+er),pn=xt;pn<=Ze;pn++)ze.set(pn,pn,ze.get(pn,pn)-er);Ht+=er,hr=vr=tr=.964}for(mr=mr+1,fr=Ze-2;fr>=Hn&&(rr=ze.get(fr,fr),Mn=hr-rr,er=vr-rr,fn=(Mn*er-tr)/ze.get(fr+1,fr)+ze.get(fr,fr+1),Zn=ze.get(fr+1,fr+1)-rr-Mn-er,Mn=ze.get(fr+2,fr+1),er=Math.abs(fn)+Math.abs(Zn)+Math.abs(Mn),fn=fn/er,Zn=Zn/er,Mn=Mn/er,!(fr===Hn||Math.abs(ze.get(fr,fr-1))*(Math.abs(Zn)+Math.abs(Mn))<Yt*(Math.abs(fn)*(Math.abs(ze.get(fr-1,fr-1))+Math.abs(rr)+Math.abs(ze.get(fr+1,fr+1))))));)fr--;for(pn=fr+2;pn<=Ze;pn++)ze.set(pn,pn-2,0),pn>fr+2&&ze.set(pn,pn-3,0);for(Bn=fr;Bn<=Ze-1&&(Xa=Bn!==Ze-1,Bn!==fr&&(fn=ze.get(Bn,Bn-1),Zn=ze.get(Bn+1,Bn-1),Mn=Xa?ze.get(Bn+2,Bn-1):0,hr=Math.abs(fn)+Math.abs(Zn)+Math.abs(Mn),hr!==0&&(fn=fn/hr,Zn=Zn/hr,Mn=Mn/hr)),hr!==0);Bn++)if(er=Math.sqrt(fn*fn+Zn*Zn+Mn*Mn),fn<0&&(er=-er),er!==0){for(Bn!==fr?ze.set(Bn,Bn-1,-er*hr):Hn!==fr&&ze.set(Bn,Bn-1,-ze.get(Bn,Bn-1)),fn=fn+er,hr=fn/er,vr=Zn/er,rr=Mn/er,Zn=Zn/fn,Mn=Mn/fn,nn=Bn;nn<pt;nn++)fn=ze.get(Bn,nn)+Zn*ze.get(Bn+1,nn),Xa&&(fn=fn+Mn*ze.get(Bn+2,nn),ze.set(Bn+2,nn,ze.get(Bn+2,nn)-fn*rr)),ze.set(Bn,nn,ze.get(Bn,nn)-fn*hr),ze.set(Bn+1,nn,ze.get(Bn+1,nn)-fn*vr);for(pn=0;pn<=Math.min(Ze,Bn+3);pn++)fn=hr*ze.get(pn,Bn)+vr*ze.get(pn,Bn+1),Xa&&(fn=fn+rr*ze.get(pn,Bn+2),ze.set(pn,Bn+2,ze.get(pn,Bn+2)-fn*Mn)),ze.set(pn,Bn,ze.get(pn,Bn)-fn),ze.set(pn,Bn+1,ze.get(pn,Bn+1)-fn*Zn);for(pn=xt;pn<=bt;pn++)fn=hr*Ie.get(pn,Bn)+vr*Ie.get(pn,Bn+1),Xa&&(fn=fn+rr*Ie.get(pn,Bn+2),Ie.set(pn,Bn+2,Ie.get(pn,Bn+2)-fn*Mn)),Ie.set(pn,Bn,Ie.get(pn,Bn)-fn),Ie.set(pn,Bn+1,Ie.get(pn,Bn+1)-fn*Zn)}}}if(cn!==0){for(Ze=pt-1;Ze>=0;Ze--)if(fn=Le[Ze],Zn=Ae[Ze],Zn===0)for(Hn=Ze,ze.set(Ze,Ze,1),pn=Ze-1;pn>=0;pn--){for(tr=ze.get(pn,pn)-fn,Mn=0,nn=Hn;nn<=Ze;nn++)Mn=Mn+ze.get(pn,nn)*ze.get(nn,Ze);if(Ae[pn]<0)rr=tr,er=Mn;else if(Hn=pn,Ae[pn]===0?ze.set(pn,Ze,tr!==0?-Mn/tr:-Mn/(Yt*cn)):(hr=ze.get(pn,pn+1),vr=ze.get(pn+1,pn),Zn=(Le[pn]-fn)*(Le[pn]-fn)+Ae[pn]*Ae[pn],br=(hr*er-rr*Mn)/Zn,ze.set(pn,Ze,br),ze.set(pn+1,Ze,Math.abs(hr)>Math.abs(rr)?(-Mn-tr*br)/hr:(-er-vr*br)/rr)),br=Math.abs(ze.get(pn,Ze)),Yt*br*br>1)for(nn=pn;nn<=Ze;nn++)ze.set(nn,Ze,ze.get(nn,Ze)/br)}else if(Zn<0)for(Hn=Ze-1,Math.abs(ze.get(Ze,Ze-1))>Math.abs(ze.get(Ze-1,Ze))?(ze.set(Ze-1,Ze-1,Zn/ze.get(Ze,Ze-1)),ze.set(Ze-1,Ze,-(ze.get(Ze,Ze)-fn)/ze.get(Ze,Ze-1))):($a=ar(0,-ze.get(Ze-1,Ze),ze.get(Ze-1,Ze-1)-fn,Zn),ze.set(Ze-1,Ze-1,$a[0]),ze.set(Ze-1,Ze,$a[1])),ze.set(Ze,Ze-1,0),ze.set(Ze,Ze,1),pn=Ze-2;pn>=0;pn--){for(Nn=0,xr=0,nn=Hn;nn<=Ze;nn++)Nn=Nn+ze.get(pn,nn)*ze.get(nn,Ze-1),xr=xr+ze.get(pn,nn)*ze.get(nn,Ze);if(tr=ze.get(pn,pn)-fn,Ae[pn]<0)rr=tr,Mn=Nn,er=xr;else if(Hn=pn,Ae[pn]===0?($a=ar(-Nn,-xr,tr,Zn),ze.set(pn,Ze-1,$a[0]),ze.set(pn,Ze,$a[1])):(hr=ze.get(pn,pn+1),vr=ze.get(pn+1,pn),Jn=(Le[pn]-fn)*(Le[pn]-fn)+Ae[pn]*Ae[pn]-Zn*Zn,Nr=(Le[pn]-fn)*2*Zn,Jn===0&&Nr===0&&(Jn=Yt*cn*(Math.abs(tr)+Math.abs(Zn)+Math.abs(hr)+Math.abs(vr)+Math.abs(rr))),$a=ar(hr*Mn-rr*Nn+Zn*xr,hr*er-rr*xr-Zn*Nn,Jn,Nr),ze.set(pn,Ze-1,$a[0]),ze.set(pn,Ze,$a[1]),Math.abs(hr)>Math.abs(rr)+Math.abs(Zn)?(ze.set(pn+1,Ze-1,(-Nn-tr*ze.get(pn,Ze-1)+Zn*ze.get(pn,Ze))/hr),ze.set(pn+1,Ze,(-xr-tr*ze.get(pn,Ze)-Zn*ze.get(pn,Ze-1))/hr)):($a=ar(-Mn-vr*ze.get(pn,Ze-1),-er-vr*ze.get(pn,Ze),rr,Zn),ze.set(pn+1,Ze-1,$a[0]),ze.set(pn+1,Ze,$a[1]))),br=Math.max(Math.abs(ze.get(pn,Ze-1)),Math.abs(ze.get(pn,Ze))),Yt*br*br>1)for(nn=pn;nn<=Ze;nn++)ze.set(nn,Ze-1,ze.get(nn,Ze-1)/br),ze.set(nn,Ze,ze.get(nn,Ze)/br)}for(pn=0;pn<pt;pn++)if(pn<xt||pn>bt)for(nn=pn;nn<pt;nn++)Ie.set(pn,nn,ze.get(pn,nn));for(nn=pt-1;nn>=xt;nn--)for(pn=xt;pn<=bt;pn++){for(rr=0,Bn=xt;Bn<=Math.min(nn,bt);Bn++)rr=rr+Ie.get(pn,Bn)*ze.get(Bn,nn);Ie.set(pn,nn,rr)}}}function ar(pt,Ae,Le,Ie){let ze,Ze;return Math.abs(Le)>Math.abs(Ie)?(ze=Ie/Le,Ze=Le+ze*Ie,[(pt+ze*Ae)/Ze,(Ae-ze*pt)/Ze]):(ze=Le/Ie,Ze=Ie+ze*Le,[(ze*pt+Ae)/Ze,(ze*Ae-pt)/Ze])}class lr{constructor(Ae){if(Ae=jn.checkMatrix(Ae),!Ae.isSymmetric())throw new Error("Matrix is not symmetric");let Le=Ae,Ie=Le.rows,ze=new yt(Ie,Ie),Ze=!0,xt,bt,Yt;for(bt=0;bt<Ie;bt++){let Ht=0;for(Yt=0;Yt<bt;Yt++){let cn=0;for(xt=0;xt<Yt;xt++)cn+=ze.get(Yt,xt)*ze.get(bt,xt);cn=(Le.get(bt,Yt)-cn)/ze.get(Yt,Yt),ze.set(bt,Yt,cn),Ht=Ht+cn*cn}for(Ht=Le.get(bt,bt)-Ht,Ze&&(Ze=Ht>0),ze.set(bt,bt,Math.sqrt(Math.max(Ht,0))),Yt=bt+1;Yt<Ie;Yt++)ze.set(bt,Yt,0)}this.L=ze,this.positiveDefinite=Ze}isPositiveDefinite(){return this.positiveDefinite}solve(Ae){Ae=jn.checkMatrix(Ae);let Le=this.L,Ie=Le.rows;if(Ae.rows!==Ie)throw new Error("Matrix dimensions do not match");if(this.isPositiveDefinite()===!1)throw new Error("Matrix is not positive definite");let ze=Ae.columns,Ze=Ae.clone(),xt,bt,Yt;for(Yt=0;Yt<Ie;Yt++)for(bt=0;bt<ze;bt++){for(xt=0;xt<Yt;xt++)Ze.set(Yt,bt,Ze.get(Yt,bt)-Ze.get(xt,bt)*Le.get(Yt,xt));Ze.set(Yt,bt,Ze.get(Yt,bt)/Le.get(Yt,Yt))}for(Yt=Ie-1;Yt>=0;Yt--)for(bt=0;bt<ze;bt++){for(xt=Yt+1;xt<Ie;xt++)Ze.set(Yt,bt,Ze.get(Yt,bt)-Ze.get(xt,bt)*Le.get(xt,Yt));Ze.set(Yt,bt,Ze.get(Yt,bt)/Le.get(Yt,Yt))}return Ze}get lowerTriangularMatrix(){return this.L}}class Fr{constructor(Ae,Le={}){Ae=jn.checkMatrix(Ae);let{Y:Ie}=Le;const{scaleScores:ze=!1,maxIterations:Ze=1e3,terminationCriteria:xt=1e-10}=Le;let bt;if(Ie){if(ee.isAnyArray(Ie)&&typeof Ie[0]=="number"?Ie=yt.columnVector(Ie):Ie=jn.checkMatrix(Ie),Ie.rows!==Ae.rows)throw new Error("Y should have the same number of rows as X");bt=Ie.getColumnVector(0)}else bt=Ae.getColumnVector(0);let Yt=1,Ht,cn,fn,Zn;for(let Mn=0;Mn<Ze&&Yt>xt;Mn++)fn=Ae.transpose().mmul(bt).div(bt.transpose().mmul(bt).get(0,0)),fn=fn.div(fn.norm()),Ht=Ae.mmul(fn).div(fn.transpose().mmul(fn).get(0,0)),Mn>0&&(Yt=Ht.clone().sub(Zn).pow(2).sum()),Zn=Ht.clone(),Ie?(cn=Ie.transpose().mmul(Ht).div(Ht.transpose().mmul(Ht).get(0,0)),cn=cn.div(cn.norm()),bt=Ie.mmul(cn).div(cn.transpose().mmul(cn).get(0,0))):bt=Ht;if(Ie){let Mn=Ae.transpose().mmul(Ht).div(Ht.transpose().mmul(Ht).get(0,0));Mn=Mn.div(Mn.norm());let er=Ae.clone().sub(Ht.clone().mmul(Mn.transpose())),rr=bt.transpose().mmul(Ht).div(Ht.transpose().mmul(Ht).get(0,0)),mr=Ie.clone().sub(Ht.clone().mulS(rr.get(0,0)).mmul(cn.transpose()));this.t=Ht,this.p=Mn.transpose(),this.w=fn.transpose(),this.q=cn,this.u=bt,this.s=Ht.transpose().mmul(Ht),this.xResidual=er,this.yResidual=mr,this.betas=rr}else this.w=fn.transpose(),this.s=Ht.transpose().mmul(Ht).sqrt(),ze?this.t=Ht.clone().div(this.s.get(0,0)):this.t=Ht,this.xResidual=Ae.sub(Ht.mmul(fn.transpose()))}}Mt.XA=sn,Mt.a_=lr,Mt.yQ=lr,Mt.Hs=St,Mt.Ec=sr,Mt.dx=sr,Mt.LU=Sr,Mt.Rm=Sr,Mt.y3=yt,Mt.qK=wt,Mt.pb=Nt,Mt.j=rn,Mt.sO=On,Mt.BZ=Gn,Mt.EK=zn,Mt.Db=nr,Mt.Fx=Xn,Mt.tU=$t,Mt.Ym=Fr,Mt.rs=Fr,Mt.QR=Mr,Mt.TB=Mr,Mt.oH=Gr,Mt.Sc=Gr,Mt.BN=gt,Mt.it=gn,Mt.$r=jn,Mt.QM=Ha,Mt.AV=Ta,_e=yt,Mt.GH=Ea,Mt.SO=ma,Mt.uZ=di,Mt.yU=Hr,Mt.F1=Oa,Mt.re=Ln},50371:function(Pt,Mt){"use strict";function Oe(){const _e=Object.assign({},arguments.length<=0?void 0:arguments[0]);for(let Ve=1;Ve<arguments.length;Ve++){const Re=Ve<0||arguments.length<=Ve?void 0:arguments[Ve];Re&&Object.keys(Re).forEach(be=>{const Fe=Re[be];Fe!==void 0&&(_e[be]=Fe)})}return _e}Mt.Z=Oe},13845:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{F:function(){return _e},Z:function(){return Ve}});function _e(Re){return Re!=null&&Re===Re.window}function Ve(Re,be){var Fe,Ce;if(typeof window=="undefined")return 0;const ve=be?"scrollTop":"scrollLeft";let ye=0;return _e(Re)?ye=Re[be?"pageYOffset":"pageXOffset"]:Re instanceof Document?ye=Re.documentElement[ve]:(Re instanceof HTMLElement||Re)&&(ye=Re[ve]),Re&&!_e(Re)&&typeof ye!="number"&&(ye=(Ce=((Fe=Re.ownerDocument)!==null&&Fe!==void 0?Fe:Re).documentElement)===null||Ce===void 0?void 0:Ce[ve]),ye}},56762:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return Ve}});var _e=Oe(59301);function Ve(){const[,Re]=_e.useReducer(be=>be+1,0);return Re}},68031:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return be}});var _e=Oe(16089);function Ve(Fe,Ce,ve,ye){const we=ve-Ce;return Fe/=ye/2,Fe<1?we/2*Fe*Fe*Fe+Ce:we/2*((Fe-=2)*Fe*Fe+2)+Ce}var Re=Oe(13845);function be(Fe){let Ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{getContainer:ve=()=>window,callback:ye,duration:we=450}=Ce,De=ve(),pe=(0,Re.Z)(De,!0),Ee=Date.now(),Pe=()=>{const ee=Date.now()-Ee,ne=Ve(ee>we?we:ee,pe,Fe,we);(0,Re.F)(De)?De.scrollTo(window.pageXOffset,ne):De instanceof Document||De.constructor.name==="HTMLDocument"?De.documentElement.scrollTop=ne:De.scrollTop=ne,ee<we?(0,_e.Z)(Pe):typeof ye=="function"&&ye()};(0,_e.Z)(Pe)}},88522:function(Pt,Mt,Oe){"use strict";var _e=Oe(92310),Ve=Oe.n(_e),Re=Oe(11592),be=Oe(2738),Fe=Oe(59301),Ce=Oe(53487),ve=Oe(92343),ye=Oe(36355),we=Oe(57809);const{Option:De}=we.default;function pe(ee){return ee&&ee.type&&(ee.type.isSelectOption||ee.type.isSelectOptGroup)}const Ee=(ee,ne)=>{const{prefixCls:le,className:oe,popupClassName:ce,dropdownClassName:he,children:ie,dataSource:ue}=ee,ge=(0,Re.Z)(ie);let xe;ge.length===1&&(0,ve.l$)(ge[0])&&!pe(ge[0])&&([xe]=ge);const Me=xe?()=>xe:void 0;let Be;ge.length&&pe(ge[0])?Be=ie:Be=ue?ue.map(Ge=>{if((0,ve.l$)(Ge))return Ge;switch(typeof Ge){case"string":return Fe.createElement(De,{key:Ge,value:Ge},Ge);case"object":{const{value:Xe}=Ge;return Fe.createElement(De,{key:Xe,value:Xe},Ge.text)}default:return}}):[];const{getPrefixCls:Ne}=Fe.useContext(ye.E_),Ue=Ne("select",le);return Fe.createElement(we.default,Object.assign({ref:ne,suffixIcon:null},(0,be.Z)(ee,["dataSource","dropdownClassName"]),{prefixCls:Ue,popupClassName:ce||he,className:Ve()(`${Ue}-auto-complete`,oe),mode:we.default.SECRET_COMBOBOX_MODE_DO_NOT_USE},{getInputElement:Me}),Be)},Pe=Fe.forwardRef(Ee),de=(0,Ce.Z)(Pe);Pe.Option=De,Pe._InternalPanelDoNotUseOrYouWillBeFired=de,Mt.Z=Pe},19842:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return Qa}});var _e=Oe(26407),Ve=Oe(59301),Re=Oe(33853),be=Oe(58617),Fe=Oe(38819),Ce=Oe(92310),ve=Oe.n(Ce),ye=Oe(92413),we=Oe(33606),De=Oe(37061),pe=Oe(77861),Ee=Oe(17115),Pe=Oe(90782),de=Oe(6089),ee=Oe(18929),ne=Ve.createContext(null),le=ne,oe=Oe(39559),ce=Oe(400),he=Oe(33708),ie="__rc_cascader_search_mark__",ue=function(kn,ar,lr){var Fr=lr.label;return ar.some(function(pt){return String(pt[Fr]).toLowerCase().includes(kn.toLowerCase())})},ge=function(kn,ar,lr,Fr){return ar.map(function(pt){return pt[Fr.label]}).join(" / ")},xe=function(hn,kn,ar,lr,Fr,pt){var Ae=Fr.filter,Le=Ae===void 0?ue:Ae,Ie=Fr.render,ze=Ie===void 0?ge:Ie,Ze=Fr.limit,xt=Ze===void 0?50:Ze,bt=Fr.sort;return Ve.useMemo(function(){var Yt=[];if(!hn)return[];function Ht(cn,fn){var Zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;cn.forEach(function(Mn){if(!(!bt&&xt!==!1&&xt>0&&Yt.length>=xt)){var er=[].concat((0,_e.Z)(fn),[Mn]),rr=Mn[ar.children],mr=Zn||Mn.disabled;if((!rr||rr.length===0||pt)&&Le(hn,er,{label:ar.label})){var pn;Yt.push((0,he.Z)((0,he.Z)({},Mn),{},(pn={disabled:mr},(0,ce.Z)(pn,ar.label,ze(hn,er,lr,ar)),(0,ce.Z)(pn,ie,er),(0,ce.Z)(pn,ar.children,void 0),pn)))}rr&&Ht(Mn[ar.children],er,mr)}})}return Ht(kn,[]),bt&&Yt.sort(function(cn,fn){return bt(cn[ie],fn[ie],hn,ar)}),xt!==!1&&xt>0?Yt.slice(0,xt):Yt},[hn,kn,ar,lr,ze,pt,Le,bt,xt])},Me="__RC_CASCADER_SPLIT__",Be="SHOW_PARENT",Ne="SHOW_CHILD";function Ue(hn){return hn.join(Me)}function Ge(hn){return hn.map(Ue)}function Xe(hn){return hn.split(Me)}function Ye(hn){var kn=hn||{},ar=kn.label,lr=kn.value,Fr=kn.children,pt=lr||"value";return{label:ar||"label",value:pt,key:pt,children:Fr||"children"}}function nt(hn,kn){var ar,lr;return(ar=hn.isLeaf)!==null&&ar!==void 0?ar:!((lr=hn[kn.children])!==null&&lr!==void 0&&lr.length)}function $e(hn){var kn=hn.parentElement;if(kn){var ar=hn.offsetTop-kn.offsetTop;ar-kn.scrollTop<0?kn.scrollTo({top:ar}):ar+hn.offsetHeight-kn.scrollTop>kn.offsetHeight&&kn.scrollTo({top:ar+hn.offsetHeight-kn.offsetHeight})}}function qe(hn,kn){return hn.map(function(ar){var lr;return(lr=ar[ie])===null||lr===void 0?void 0:lr.map(function(Fr){return Fr[kn.value]})})}function st(hn,kn,ar){var lr=new Set(hn),Fr=kn();return hn.filter(function(pt){var Ae=Fr[pt],Le=Ae?Ae.parent:null,Ie=Ae?Ae.children:null;return Ae&&Ae.node.disabled?!0:ar===Ne?!(Ie&&Ie.some(function(ze){return ze.key&&lr.has(ze.key)})):!(Le&&!Le.node.disabled&&lr.has(Le.key))})}function rt(hn,kn,ar){for(var lr=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,Fr=kn,pt=[],Ae=function(){var ze,Ze,xt,bt=hn[Le],Yt=(ze=Fr)===null||ze===void 0?void 0:ze.findIndex(function(cn){var fn=cn[ar.value];return lr?String(fn)===String(bt):fn===bt}),Ht=Yt!==-1?(Ze=Fr)===null||Ze===void 0?void 0:Ze[Yt]:null;pt.push({value:(xt=Ht==null?void 0:Ht[ar.value])!==null&&xt!==void 0?xt:bt,index:Yt,option:Ht}),Fr=Ht==null?void 0:Ht[ar.children]},Le=0;Le<hn.length;Le+=1)Ae();return pt}var ct=function(hn,kn,ar,lr,Fr){return Ve.useMemo(function(){var pt=Fr||function(Ae){var Le=lr?Ae.slice(-1):Ae,Ie=" / ";return Le.every(function(ze){return["string","number"].includes((0,oe.Z)(ze))})?Le.join(Ie):Le.reduce(function(ze,Ze,xt){var bt=Ve.isValidElement(Ze)?Ve.cloneElement(Ze,{key:xt}):Ze;return xt===0?[bt]:[].concat((0,_e.Z)(ze),[Ie,bt])},[])};return hn.map(function(Ae){var Le,Ie,ze=rt(Ae,kn,ar),Ze=pt(ze.map(function(bt){var Yt,Ht=bt.option,cn=bt.value;return(Yt=Ht==null?void 0:Ht[ar.label])!==null&&Yt!==void 0?Yt:cn}),ze.map(function(bt){var Yt=bt.option;return Yt})),xt=Ue(Ae);return{label:Ze,value:xt,key:xt,valueCells:Ae,disabled:(Le=ze[ze.length-1])===null||Le===void 0||(Ie=Le.option)===null||Ie===void 0?void 0:Ie.disabled}})},[hn,kn,ar,Fr,lr])},tt=Oe(71430),dt=function(hn,kn){var ar=Ve.useRef({options:null,info:null}),lr=Ve.useCallback(function(){return ar.current.options!==hn&&(ar.current.options=hn,ar.current.info=(0,tt.I8)(hn,{fieldNames:kn,initWrapper:function(pt){return(0,he.Z)((0,he.Z)({},pt),{},{pathKeyEntities:{}})},processEntity:function(pt,Ae){var Le=pt.nodes.map(function(Ie){return Ie[kn.value]}).join(Me);Ae.pathKeyEntities[Le]=pt,pt.key=Le}})),ar.current.info.pathKeyEntities},[kn,hn]);return lr},At=function(hn,kn){return Ve.useCallback(function(ar){var lr=[],Fr=[];return ar.forEach(function(pt){var Ae=rt(pt,hn,kn);Ae.every(function(Le){return Le.option})?Fr.push(pt):lr.push(pt)}),[Fr,lr]},[hn,kn])},mt=Oe(48736);function ht(hn){return Ve.useMemo(function(){if(!hn)return[!1,{}];var kn={matchInputWidth:!0,limit:50};return hn&&(0,oe.Z)(hn)==="object"&&(kn=(0,he.Z)((0,he.Z)({},kn),hn)),kn.limit<=0&&delete kn.limit,[!0,kn]},[hn])}var vt=Ve.memo(function(hn){var kn=hn.children;return kn},function(hn,kn){return!kn.open}),Wt=vt;function Jt(hn){var kn,ar=hn.prefixCls,lr=hn.checked,Fr=hn.halfChecked,pt=hn.disabled,Ae=hn.onClick,Le=hn.disableCheckbox,Ie=Ve.useContext(le),ze=Ie.checkable,Ze=typeof ze!="boolean"?ze:null;return Ve.createElement("span",{className:ve()("".concat(ar),(kn={},(0,ce.Z)(kn,"".concat(ar,"-checked"),lr),(0,ce.Z)(kn,"".concat(ar,"-indeterminate"),!lr&&Fr),(0,ce.Z)(kn,"".concat(ar,"-disabled"),pt||Le),kn)),onClick:Ae},Ze)}var en="__cascader_fix_label__";function mn(hn){var kn=hn.prefixCls,ar=hn.multiple,lr=hn.options,Fr=hn.activeValue,pt=hn.prevValuePath,Ae=hn.onToggleOpen,Le=hn.onSelect,Ie=hn.onActive,ze=hn.checkedSet,Ze=hn.halfCheckedSet,xt=hn.loadingKeys,bt=hn.isSelectable,Yt=hn.searchValue,Ht="".concat(kn,"-menu"),cn="".concat(kn,"-menu-item"),fn=Ve.useContext(le),Zn=fn.fieldNames,Mn=fn.changeOnSelect,er=fn.expandTrigger,rr=fn.expandIcon,mr=fn.loadingIcon,pn=fn.dropdownMenuColumnStyle,nn=er==="hover",Bn=Ve.useMemo(function(){return lr.map(function(Hn){var fr,br=Hn.disabled,tr=Hn.disableCheckbox,hr=Hn[ie],vr=(fr=Hn[en])!==null&&fr!==void 0?fr:Hn[Zn.label],Nn=Hn[Zn.value],xr=nt(Hn,Zn),Jn=hr?hr.map(function(Zr){return Zr[Zn.value]}):[].concat((0,_e.Z)(pt),[Nn]),Nr=Ue(Jn),Xa=xt.includes(Nr),$a=ze.has(Nr),ai=Ze.has(Nr);return{disabled:br,label:vr,value:Nn,isLeaf:xr,isLoading:Xa,checked:$a,halfChecked:ai,option:Hn,disableCheckbox:tr,fullPath:Jn,fullPathKey:Nr}})},[lr,ze,Zn,Ze,xt,pt]);return Ve.createElement("ul",{className:Ht,role:"menu"},Bn.map(function(Hn){var fr,br=Hn.disabled,tr=Hn.label,hr=Hn.value,vr=Hn.isLeaf,Nn=Hn.isLoading,xr=Hn.checked,Jn=Hn.halfChecked,Nr=Hn.option,Xa=Hn.fullPath,$a=Hn.fullPathKey,ai=Hn.disableCheckbox,Zr=function(){if(!(br||Yt)){var Ja=(0,_e.Z)(Xa);nn&&vr&&Ja.pop(),Ie(Ja)}},ua=function(){bt(Nr)&&Le(Xa,vr)},Da;return typeof Nr.title=="string"?Da=Nr.title:typeof tr=="string"&&(Da=tr),Ve.createElement("li",{key:$a,className:ve()(cn,(fr={},(0,ce.Z)(fr,"".concat(cn,"-expand"),!vr),(0,ce.Z)(fr,"".concat(cn,"-active"),Fr===hr||Fr===$a),(0,ce.Z)(fr,"".concat(cn,"-disabled"),br),(0,ce.Z)(fr,"".concat(cn,"-loading"),Nn),fr)),style:pn,role:"menuitemcheckbox",title:Da,"aria-checked":xr,"data-path-key":$a,onClick:function(){Zr(),!ai&&(!ar||vr)&&ua()},onDoubleClick:function(){Mn&&Ae(!1)},onMouseEnter:function(){nn&&Zr()},onMouseDown:function(Ja){Ja.preventDefault()}},ar&&Ve.createElement(Jt,{prefixCls:"".concat(kn,"-checkbox"),checked:xr,halfChecked:Jn,disabled:br||ai,disableCheckbox:ai,onClick:function(Ja){ai||(Ja.stopPropagation(),ua())}}),Ve.createElement("div",{className:"".concat(cn,"-content")},tr),!Nn&&rr&&!vr&&Ve.createElement("div",{className:"".concat(cn,"-expand-icon")},rr),Nn&&mr&&Ve.createElement("div",{className:"".concat(cn,"-loading-icon")},mr))}))}var Ot=function(){var hn=(0,pe.lk)(),kn=hn.multiple,ar=hn.open,lr=Ve.useContext(le),Fr=lr.values,pt=Ve.useState([]),Ae=(0,we.Z)(pt,2),Le=Ae[0],Ie=Ae[1];return Ve.useEffect(function(){if(ar&&!kn){var ze=Fr[0];Ie(ze||[])}},[ar]),[Le,Ie]},an=Oe(10228),tn=function(hn,kn,ar,lr,Fr,pt){var Ae=(0,pe.lk)(),Le=Ae.direction,Ie=Ae.searchValue,ze=Ae.toggleOpen,Ze=Ae.open,xt=Le==="rtl",bt=Ve.useMemo(function(){for(var pn=-1,nn=kn,Bn=[],Hn=[],fr=lr.length,br=qe(kn,ar),tr=function(Nr){var Xa=nn.findIndex(function($a,ai){return(br[ai]?Ue(br[ai]):$a[ar.value])===lr[Nr]});if(Xa===-1)return"break";pn=Xa,Bn.push(pn),Hn.push(lr[Nr]),nn=nn[pn][ar.children]},hr=0;hr<fr&&nn;hr+=1){var vr=tr(hr);if(vr==="break")break}for(var Nn=kn,xr=0;xr<Bn.length-1;xr+=1)Nn=Nn[Bn[xr]][ar.children];return[Hn,pn,Nn,br]},[lr,ar,kn]),Yt=(0,we.Z)(bt,4),Ht=Yt[0],cn=Yt[1],fn=Yt[2],Zn=Yt[3],Mn=function(nn){Fr(nn)},er=function(nn){var Bn=fn.length,Hn=cn;Hn===-1&&nn<0&&(Hn=Bn);for(var fr=0;fr<Bn;fr+=1){Hn=(Hn+nn+Bn)%Bn;var br=fn[Hn];if(br&&!br.disabled){var tr=Ht.slice(0,-1).concat(Zn[Hn]?Ue(Zn[Hn]):br[ar.value]);Mn(tr);return}}},rr=function(){if(Ht.length>1){var nn=Ht.slice(0,-1);Mn(nn)}else ze(!1)},mr=function(){var nn,Bn=((nn=fn[cn])===null||nn===void 0?void 0:nn[ar.children])||[],Hn=Bn.find(function(br){return!br.disabled});if(Hn){var fr=[].concat((0,_e.Z)(Ht),[Hn[ar.value]]);Mn(fr)}};Ve.useImperativeHandle(hn,function(){return{onKeyDown:function(nn){var Bn=nn.which;switch(Bn){case an.Z.UP:case an.Z.DOWN:{var Hn=0;Bn===an.Z.UP?Hn=-1:Bn===an.Z.DOWN&&(Hn=1),Hn!==0&&er(Hn);break}case an.Z.LEFT:{if(Ie)break;xt?mr():rr();break}case an.Z.RIGHT:{if(Ie)break;xt?rr():mr();break}case an.Z.BACKSPACE:{Ie||rr();break}case an.Z.ENTER:{if(Ht.length){var fr=fn[cn],br=(fr==null?void 0:fr[ie])||[];br.length?pt(br.map(function(tr){return tr[ar.value]}),br[br.length-1]):pt(Ht,fn[cn])}break}case an.Z.ESC:ze(!1),Ze&&nn.stopPropagation()}},onKeyUp:function(){}}})},Dn=Ve.forwardRef(function(hn,kn){var ar,lr,Fr,pt,Ae=(0,pe.lk)(),Le=Ae.prefixCls,Ie=Ae.multiple,ze=Ae.searchValue,Ze=Ae.toggleOpen,xt=Ae.notFoundContent,bt=Ae.direction,Yt=Ae.open,Ht=Ve.useRef(),cn=bt==="rtl",fn=Ve.useContext(le),Zn=fn.options,Mn=fn.values,er=fn.halfValues,rr=fn.fieldNames,mr=fn.changeOnSelect,pn=fn.onSelect,nn=fn.searchOptions,Bn=fn.dropdownPrefixCls,Hn=fn.loadData,fr=fn.expandTrigger,br=Bn||Le,tr=Ve.useState([]),hr=(0,we.Z)(tr,2),vr=hr[0],Nn=hr[1],xr=function(po){if(!(!Hn||ze)){var qo=rt(po,Zn,rr),Uo=qo.map(function(jo){var Ms=jo.option;return Ms}),Wo=Uo[Uo.length-1];if(Wo&&!nt(Wo,rr)){var Qr=Ue(po);Nn(function(jo){return[].concat((0,_e.Z)(jo),[Qr])}),Hn(Uo)}}};Ve.useEffect(function(){vr.length&&vr.forEach(function(zo){var po=Xe(zo),qo=rt(po,Zn,rr,!0).map(function(Wo){var Qr=Wo.option;return Qr}),Uo=qo[qo.length-1];(!Uo||Uo[rr.children]||nt(Uo,rr))&&Nn(function(Wo){return Wo.filter(function(Qr){return Qr!==zo})})})},[Zn,vr,rr]);var Jn=Ve.useMemo(function(){return new Set(Ge(Mn))},[Mn]),Nr=Ve.useMemo(function(){return new Set(Ge(er))},[er]),Xa=Ot(),$a=(0,we.Z)(Xa,2),ai=$a[0],Zr=$a[1],ua=function(po){Zr(po),xr(po)},Da=function(po){var qo=po.disabled,Uo=nt(po,rr);return!qo&&(Uo||mr||Ie)},sa=function(po,qo){var Uo=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;pn(po),!Ie&&(qo||mr&&(fr==="hover"||Uo))&&Ze(!1)},Ja=Ve.useMemo(function(){return ze?nn:Zn},[ze,nn,Zn]),Li=Ve.useMemo(function(){for(var zo=[{options:Ja}],po=Ja,qo=qe(po,rr),Uo=function(){var Ms=ai[Wo],js=po.find(function(ki,Gs){return(qo[Gs]?Ue(qo[Gs]):ki[rr.value])===Ms}),yo=js==null?void 0:js[rr.children];if(!(yo!=null&&yo.length))return"break";po=yo,zo.push({options:yo})},Wo=0;Wo<ai.length;Wo+=1){var Qr=Uo();if(Qr==="break")break}return zo},[Ja,ai,rr]),Na=function(po,qo){Da(qo)&&sa(po,nt(qo,rr),!0)};tn(kn,Ja,rr,ai,ua,Na),Ve.useEffect(function(){for(var zo=0;zo<ai.length;zo+=1){var po,qo=ai.slice(0,zo+1),Uo=Ue(qo),Wo=(po=Ht.current)===null||po===void 0?void 0:po.querySelector('li[data-path-key="'.concat(Uo.replace(/\\{0,2}"/g,'\\"'),'"]'));Wo&&$e(Wo)}},[ai]);var Ti=!((ar=Li[0])!==null&&ar!==void 0&&(lr=ar.options)!==null&&lr!==void 0&&lr.length),ji=[(Fr={},(0,ce.Z)(Fr,rr.value,"__EMPTY__"),(0,ce.Z)(Fr,en,xt),(0,ce.Z)(Fr,"disabled",!0),Fr)],Ao=(0,he.Z)((0,he.Z)({},hn),{},{multiple:!Ti&&Ie,onSelect:sa,onActive:ua,onToggleOpen:Ze,checkedSet:Jn,halfCheckedSet:Nr,loadingKeys:vr,isSelectable:Da}),uo=Ti?[{options:ji}]:Li,Os=uo.map(function(zo,po){var qo=ai.slice(0,po),Uo=ai[po];return Ve.createElement(mn,(0,ye.Z)({key:po},Ao,{searchValue:ze,prefixCls:br,options:zo.options,prevValuePath:qo,activeValue:Uo}))});return Ve.createElement(Wt,{open:Yt},Ve.createElement("div",{className:ve()("".concat(br,"-menus"),(pt={},(0,ce.Z)(pt,"".concat(br,"-menu-empty"),Ti),(0,ce.Z)(pt,"".concat(br,"-rtl"),cn),pt)),ref:Ht},Os))}),Tn=Dn;function sn(hn){var kn=hn.onPopupVisibleChange,ar=hn.popupVisible,lr=hn.popupClassName,Fr=hn.popupPlacement;warning(!kn,"`onPopupVisibleChange` is deprecated. Please use `onDropdownVisibleChange` instead."),warning(ar===void 0,"`popupVisible` is deprecated. Please use `open` instead."),warning(lr===void 0,"`popupClassName` is deprecated. Please use `dropdownClassName` instead."),warning(Fr===void 0,"`popupPlacement` is deprecated. Please use `placement` instead.")}function dn(hn,kn){if(hn){var ar=function lr(Fr){for(var pt=0;pt<Fr.length;pt++){var Ae=Fr[pt];if(Ae[kn==null?void 0:kn.value]===null)return warning(!1,"`value` in Cascader options should not be `null`."),!0;if(Array.isArray(Ae[kn==null?void 0:kn.children])&&lr(Ae[kn==null?void 0:kn.children]))return!0}};ar(hn)}}var Kt=null,Tt=["id","prefixCls","fieldNames","defaultValue","value","changeOnSelect","onChange","displayRender","checkable","autoClearSearchValue","searchValue","onSearch","showSearch","expandTrigger","options","dropdownPrefixCls","loadData","popupVisible","open","popupClassName","dropdownClassName","dropdownMenuColumnStyle","popupPlacement","placement","onDropdownVisibleChange","onPopupVisibleChange","expandIcon","loadingIcon","children","dropdownMatchSelectWidth","showCheckedStrategy"];function yt(hn){return Array.isArray(hn)&&Array.isArray(hn[0])}function Gt(hn){return hn?yt(hn)?hn:(hn.length===0?[]:[hn]).map(function(kn){return Array.isArray(kn)?kn:[kn]}):[]}var gt=Ve.forwardRef(function(hn,kn){var ar=hn.id,lr=hn.prefixCls,Fr=lr===void 0?"rc-cascader":lr,pt=hn.fieldNames,Ae=hn.defaultValue,Le=hn.value,Ie=hn.changeOnSelect,ze=hn.onChange,Ze=hn.displayRender,xt=hn.checkable,bt=hn.autoClearSearchValue,Yt=bt===void 0?!0:bt,Ht=hn.searchValue,cn=hn.onSearch,fn=hn.showSearch,Zn=hn.expandTrigger,Mn=hn.options,er=hn.dropdownPrefixCls,rr=hn.loadData,mr=hn.popupVisible,pn=hn.open,nn=hn.popupClassName,Bn=hn.dropdownClassName,Hn=hn.dropdownMenuColumnStyle,fr=hn.popupPlacement,br=hn.placement,tr=hn.onDropdownVisibleChange,hr=hn.onPopupVisibleChange,vr=hn.expandIcon,Nn=vr===void 0?">":vr,xr=hn.loadingIcon,Jn=hn.children,Nr=hn.dropdownMatchSelectWidth,Xa=Nr===void 0?!1:Nr,$a=hn.showCheckedStrategy,ai=$a===void 0?Be:$a,Zr=(0,De.Z)(hn,Tt),ua=(0,Ee.ZP)(ar),Da=!!xt,sa=(0,ee.Z)(Ae,{value:Le,postState:Gt}),Ja=(0,we.Z)(sa,2),Li=Ja[0],Na=Ja[1],Ti=Ve.useMemo(function(){return Ye(pt)},[JSON.stringify(pt)]),ji=Ve.useMemo(function(){return Mn||[]},[Mn]),Ao=dt(ji,Ti),uo=Ve.useCallback(function(za){var Ua=Ao();return za.map(function(ja){var Wi=Ua[ja].nodes;return Wi.map(function(xo){return xo[Ti.value]})})},[Ao,Ti]),Os=(0,ee.Z)("",{value:Ht,postState:function(Ua){return Ua||""}}),zo=(0,we.Z)(Os,2),po=zo[0],qo=zo[1],Uo=function(Ua,ja){qo(Ua),ja.source!=="blur"&&cn&&cn(Ua)},Wo=ht(fn),Qr=(0,we.Z)(Wo,2),jo=Qr[0],Ms=Qr[1],js=xe(po,ji,Ti,er||Fr,Ms,Ie),yo=At(ji,Ti),ki=Ve.useMemo(function(){var za=yo(Li),Ua=(0,we.Z)(za,2),ja=Ua[0],Wi=Ua[1];if(!Da||!Li.length)return[ja,[],Wi];var xo=Ge(ja),es=Ao(),ss=(0,Pe.S)(xo,!0,es),fi=ss.checkedKeys,Ts=ss.halfCheckedKeys;return[uo(fi),uo(Ts),Wi]},[Da,Li,Ao,uo,yo]),Gs=(0,we.Z)(ki,3),$i=Gs[0],Go=Gs[1],No=Gs[2],Cs=Ve.useMemo(function(){var za=Ge($i),Ua=st(za,Ao,ai);return[].concat((0,_e.Z)(No),(0,_e.Z)(uo(Ua)))},[$i,Ao,uo,No,ai]),tl=ct(Cs,ji,Ti,Da,Ze),nl=(0,de.Z)(function(za){if(Na(za),ze){var Ua=Gt(za),ja=Ua.map(function(es){return rt(es,ji,Ti).map(function(ss){return ss.option})}),Wi=Da?Ua:Ua[0],xo=Da?ja:ja[0];ze(Wi,xo)}}),hu=(0,de.Z)(function(za){if((!Da||Yt)&&qo(""),!Da)nl(za);else{var Ua=Ue(za),ja=Ge($i),Wi=Ge(Go),xo=ja.includes(Ua),es=No.some(function(So){return Ue(So)===Ua}),ss=$i,fi=No;if(es&&!xo)fi=No.filter(function(So){return Ue(So)!==Ua});else{var Ts=xo?ja.filter(function(So){return So!==Ua}):[].concat((0,_e.Z)(ja),[Ua]),kl=Ao(),Ks;if(xo){var so=(0,Pe.S)(Ts,{checked:!1,halfCheckedKeys:Wi},kl);Ks=so.checkedKeys}else{var Ro=(0,Pe.S)(Ts,!0,kl);Ks=Ro.checkedKeys}var ms=st(Ks,Ao,ai);ss=uo(ms)}nl([].concat((0,_e.Z)(fi),(0,_e.Z)(ss)))}}),_l=function(Ua,ja){if(ja.type==="clear"){nl([]);return}var Wi=ja.values[0],xo=Wi.valueCells;hu(xo)},Ds=pn!==void 0?pn:mr,vs=Bn||nn,Fl=br||fr,Su=function(Ua){tr==null||tr(Ua),hr==null||hr(Ua)},Ps=Ve.useMemo(function(){return{options:ji,fieldNames:Ti,values:$i,halfValues:Go,changeOnSelect:Ie,onSelect:hu,checkable:xt,searchOptions:js,dropdownPrefixCls:er,loadData:rr,expandTrigger:Zn,expandIcon:Nn,loadingIcon:xr,dropdownMenuColumnStyle:Hn}},[ji,Ti,$i,Go,Ie,hu,xt,js,er,rr,Zn,Nn,xr,Hn]),Ku=!(po?js:ji).length,Bi=po&&Ms.matchInputWidth||Ku?{}:{minWidth:"auto"};return Ve.createElement(le.Provider,{value:Ps},Ve.createElement(pe.Ac,(0,ye.Z)({},Zr,{ref:kn,id:ua,prefixCls:Fr,autoClearSearchValue:Yt,dropdownMatchSelectWidth:Xa,dropdownStyle:Bi,displayValues:tl,onDisplayValuesChange:_l,mode:Da?"multiple":void 0,searchValue:po,onSearch:Uo,showSearch:jo,OptionList:Tn,emptyOptions:Ku,open:Ds,dropdownClassName:vs,placement:Fl,onDropdownVisibleChange:Su,getRawInputElement:function(){return Jn}})))});gt.SHOW_PARENT=Be,gt.SHOW_CHILD=Ne;var St=gt,Qt=St,Nt=Oe(2738),wt=Oe(62892),rn=Oe(53487),On=Oe(19080),zn=Oe(36355),Gn=Oe(93891),nr=Oe(1684),Xn=Oe(19716),$t=Oe(32441),gn=Oe(14154),jn=Oe(58582),Ln=Oe(84443),Sr=Oe(66339),Ur=Oe(33234),Mr=Oe(98447),Gr=Oe(17313),ma=Oe(74207),Oa=Oe(83116);const Ea=hn=>{const{prefixCls:kn,componentCls:ar,antCls:lr}=hn,Fr=`${ar}-menu-item`,pt=`
|
|
|
&${Fr}-expand ${Fr}-expand-icon,
|
|
|
${Fr}-loading-icon
|
|
|
`;return[{[ar]:{width:hn.controlWidth}},{[`${ar}-dropdown`]:[(0,Mr.C2)(`${kn}-checkbox`,hn),{[`&${lr}-select-dropdown`]:{padding:0}},{[ar]:{"&-checkbox":{top:0,marginInlineEnd:hn.paddingXS},"&-menus":{display:"flex",flexWrap:"nowrap",alignItems:"flex-start",[`&${ar}-menu-empty`]:{[`${ar}-menu`]:{width:"100%",height:"auto",[Fr]:{color:hn.colorTextDisabled}}}},"&-menu":{flexGrow:1,minWidth:hn.controlItemWidth,height:hn.dropdownHeight,margin:0,padding:hn.menuPadding,overflow:"auto",verticalAlign:"top",listStyle:"none","-ms-overflow-style":"-ms-autohiding-scrollbar","&:not(:last-child)":{borderInlineEnd:`${hn.lineWidth}px ${hn.lineType} ${hn.colorSplit}`},"&-item":Object.assign(Object.assign({},Gr.vS),{display:"flex",flexWrap:"nowrap",alignItems:"center",padding:hn.optionPadding,lineHeight:hn.lineHeight,cursor:"pointer",transition:`all ${hn.motionDurationMid}`,borderRadius:hn.borderRadiusSM,"&:hover":{background:hn.controlItemBgHover},"&-disabled":{color:hn.colorTextDisabled,cursor:"not-allowed","&:hover":{background:"transparent"},[pt]:{color:hn.colorTextDisabled}},[`&-active:not(${Fr}-disabled)`]:{"&, &:hover":{fontWeight:hn.optionSelectedFontWeight,backgroundColor:hn.optionSelectedBg}},"&-content":{flex:"auto"},[pt]:{marginInlineStart:hn.paddingXXS,color:hn.colorTextDescription,fontSize:hn.fontSizeIcon},"&-keyword":{color:hn.colorHighlight}})}}}]},{[`${ar}-dropdown-rtl`]:{direction:"rtl"}},(0,ma.c)(hn)]};var Ma=(0,Oa.Z)("Cascader",hn=>[Ea(hn)],hn=>{const kn=Math.round((hn.controlHeight-hn.fontSize*hn.lineHeight)/2);return{controlWidth:184,controlItemWidth:111,dropdownHeight:180,optionSelectedBg:hn.controlItemBgActive,optionSelectedFontWeight:hn.fontWeightStrong,optionPadding:`${kn}px ${hn.paddingSM}px`,menuPadding:hn.paddingXXS}}),li=function(hn,kn){var ar={};for(var lr in hn)Object.prototype.hasOwnProperty.call(hn,lr)&&kn.indexOf(lr)<0&&(ar[lr]=hn[lr]);if(hn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Fr=0,lr=Object.getOwnPropertySymbols(hn);Fr<lr.length;Fr++)kn.indexOf(lr[Fr])<0&&Object.prototype.propertyIsEnumerable.call(hn,lr[Fr])&&(ar[lr[Fr]]=hn[lr[Fr]]);return ar};const{SHOW_CHILD:di,SHOW_PARENT:Hr}=Qt;function Ta(hn,kn,ar){const lr=hn.toLowerCase().split(kn).reduce((Ae,Le,Ie)=>Ie===0?[Le]:[].concat((0,_e.Z)(Ae),[kn,Le]),[]),Fr=[];let pt=0;return lr.forEach((Ae,Le)=>{const Ie=pt+Ae.length;let ze=hn.slice(pt,Ie);pt=Ie,Le%2===1&&(ze=Ve.createElement("span",{className:`${ar}-menu-item-keyword`,key:`separator-${Le}`},ze)),Fr.push(ze)}),Fr}const Ha=(hn,kn,ar,lr)=>{const Fr=[],pt=hn.toLowerCase();return kn.forEach((Ae,Le)=>{Le!==0&&Fr.push(" / ");let Ie=Ae[lr.label];const ze=typeof Ie;(ze==="string"||ze==="number")&&(Ie=Ta(String(Ie),pt,ar)),Fr.push(Ie)}),Fr},sr=Ve.forwardRef((hn,kn)=>{const{prefixCls:ar,size:lr,disabled:Fr,className:pt,rootClassName:Ae,multiple:Le,bordered:Ie=!0,transitionName:ze,choiceTransitionName:Ze="",popupClassName:xt,dropdownClassName:bt,expandIcon:Yt,placement:Ht,showSearch:cn,allowClear:fn=!0,notFoundContent:Zn,direction:Mn,getPopupContainer:er,status:rr,showArrow:mr,builtinPlacements:pn,style:nn}=hn,Bn=li(hn,["prefixCls","size","disabled","className","rootClassName","multiple","bordered","transitionName","choiceTransitionName","popupClassName","dropdownClassName","expandIcon","placement","showSearch","allowClear","notFoundContent","direction","getPopupContainer","status","showArrow","builtinPlacements","style"]),Hn=(0,Nt.Z)(Bn,["suffixIcon"]),{getPopupContainer:fr,getPrefixCls:br,renderEmpty:tr,direction:hr,popupOverflow:vr,cascader:Nn}=Ve.useContext(zn.E_),xr=Mn||hr,Jn=xr==="rtl",{status:Nr,hasFeedback:Xa,isFormItemInput:$a,feedbackIcon:ai}=Ve.useContext($t.aM),Zr=(0,On.F)(Nr,rr),ua=Zn||(tr==null?void 0:tr("Cascader"))||Ve.createElement(Gn.Z,{componentName:"Cascader"}),Da=br(),sa=br("select",ar),Ja=br("cascader",ar),[Li,Na]=(0,gn.Z)(sa),[Ti]=Ma(Ja),{compactSize:ji,compactItemClassnames:Ao}=(0,Ur.ri)(sa,Mn),uo=ve()(xt||bt,`${Ja}-dropdown`,{[`${Ja}-dropdown-rtl`]:xr==="rtl"},Ae,Na),Os=Ve.useMemo(()=>{if(!cn)return cn;let No={render:Ha};return typeof cn=="object"&&(No=Object.assign(Object.assign({},No),cn)),No},[cn]),zo=(0,Xn.Z)(No=>{var Cs;return(Cs=lr!=null?lr:ji)!==null&&Cs!==void 0?Cs:No}),po=Ve.useContext(nr.Z),qo=Fr!=null?Fr:po;let Uo=Yt;Yt||(Uo=Jn?Ve.createElement(Re.Z,null):Ve.createElement(Fe.Z,null));const Wo=Ve.createElement("span",{className:`${sa}-menu-item-loading-icon`},Ve.createElement(be.Z,{spin:!0})),Qr=Ve.useMemo(()=>Le?Ve.createElement("span",{className:`${Ja}-checkbox-inner`}):!1,[Le]),jo=(0,Ln.Z)(hn.suffixIcon,mr),{suffixIcon:Ms,removeIcon:js,clearIcon:yo}=(0,Sr.Z)(Object.assign(Object.assign({},hn),{hasFeedback:Xa,feedbackIcon:ai,showSuffixIcon:jo,multiple:Le,prefixCls:sa,componentName:"Cascader"})),ki=Ve.useMemo(()=>Ht!==void 0?Ht:Jn?"bottomRight":"bottomLeft",[Ht,Jn]),Gs=(0,jn.Z)(pn,vr),$i=fn===!0?{clearIcon:yo}:fn,Go=Ve.createElement(Qt,Object.assign({prefixCls:sa,className:ve()(!ar&&Ja,{[`${sa}-lg`]:zo==="large",[`${sa}-sm`]:zo==="small",[`${sa}-rtl`]:Jn,[`${sa}-borderless`]:!Ie,[`${sa}-in-form-item`]:$a},(0,On.Z)(sa,Zr,Xa),Ao,Nn==null?void 0:Nn.className,pt,Ae,Na),disabled:qo,style:Object.assign(Object.assign({},Nn==null?void 0:Nn.style),nn)},Hn,{builtinPlacements:Gs,direction:xr,placement:ki,notFoundContent:ua,allowClear:$i,showSearch:Os,expandIcon:Uo,suffixIcon:Ms,removeIcon:js,loadingIcon:Wo,checkable:Qr,dropdownClassName:uo,dropdownPrefixCls:ar||Ja,choiceTransitionName:(0,wt.m)(Da,"",Ze),transitionName:(0,wt.m)(Da,"slide-up",ze),getPopupContainer:er||fr,ref:kn}));return Ti(Li(Go))}),pr=(0,rn.Z)(sr);sr.SHOW_PARENT=Hr,sr.SHOW_CHILD=di,sr._InternalPanelDoNotUseOrYouWillBeFired=pr;var Qa=sr},24905:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{default:function(){return xe}});var _e=Oe(92310),Ve=Oe.n(_e),Re=Oe(5630),be=Oe(59301),Fe=Oe(36355),Ce=Oe(1684),ve=Oe(32441),we=be.createContext(null),De=Oe(98447),pe=Oe(14088),Ee=Oe(4572),Pe=function(Me,Be){var Ne={};for(var Ue in Me)Object.prototype.hasOwnProperty.call(Me,Ue)&&Be.indexOf(Ue)<0&&(Ne[Ue]=Me[Ue]);if(Me!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ge=0,Ue=Object.getOwnPropertySymbols(Me);Ge<Ue.length;Ge++)Be.indexOf(Ue[Ge])<0&&Object.prototype.propertyIsEnumerable.call(Me,Ue[Ge])&&(Ne[Ue[Ge]]=Me[Ue[Ge]]);return Ne};const de=(Me,Be)=>{var Ne;const{prefixCls:Ue,className:Ge,rootClassName:Xe,children:Ye,indeterminate:nt=!1,style:$e,onMouseEnter:qe,onMouseLeave:st,skipGroup:rt=!1,disabled:ct}=Me,tt=Pe(Me,["prefixCls","className","rootClassName","children","indeterminate","style","onMouseEnter","onMouseLeave","skipGroup","disabled"]),{getPrefixCls:dt,direction:At,checkbox:mt}=be.useContext(Fe.E_),ht=be.useContext(we),{isFormItemInput:vt}=be.useContext(ve.aM),Wt=be.useContext(Ce.Z),Jt=(Ne=(ht==null?void 0:ht.disabled)||ct)!==null&&Ne!==void 0?Ne:Wt,en=be.useRef(tt.value);be.useEffect(()=>{ht==null||ht.registerValue(tt.value)},[]),be.useEffect(()=>{if(!rt)return tt.value!==en.current&&(ht==null||ht.cancelValue(en.current),ht==null||ht.registerValue(tt.value),en.current=tt.value),()=>ht==null?void 0:ht.cancelValue(tt.value)},[tt.value]);const mn=dt("checkbox",Ue),[Ot,an]=(0,De.ZP)(mn),tn=Object.assign({},tt);ht&&!rt&&(tn.onChange=function(){tt.onChange&&tt.onChange.apply(tt,arguments),ht.toggleOption&&ht.toggleOption({label:Ye,value:tt.value})},tn.name=ht.name,tn.checked=ht.value.includes(tt.value));const Dn=Ve()(`${mn}-wrapper`,{[`${mn}-rtl`]:At==="rtl",[`${mn}-wrapper-checked`]:tn.checked,[`${mn}-wrapper-disabled`]:Jt,[`${mn}-wrapper-in-form-item`]:vt},mt==null?void 0:mt.className,Ge,Xe,an),Tn=Ve()({[`${mn}-indeterminate`]:nt},Ee.A,an),sn=nt?"mixed":void 0;return Ot(be.createElement(pe.Z,{component:"Checkbox",disabled:Jt},be.createElement("label",{className:Dn,style:Object.assign(Object.assign({},mt==null?void 0:mt.style),$e),onMouseEnter:qe,onMouseLeave:st},be.createElement(Re.Z,Object.assign({"aria-checked":sn},tn,{prefixCls:mn,className:Tn,disabled:Jt,ref:Be})),Ye!==void 0&&be.createElement("span",null,Ye))))};var ne=be.forwardRef(de),le=Oe(26407),oe=Oe(2738),ce=function(Me,Be){var Ne={};for(var Ue in Me)Object.prototype.hasOwnProperty.call(Me,Ue)&&Be.indexOf(Ue)<0&&(Ne[Ue]=Me[Ue]);if(Me!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ge=0,Ue=Object.getOwnPropertySymbols(Me);Ge<Ue.length;Ge++)Be.indexOf(Ue[Ge])<0&&Object.prototype.propertyIsEnumerable.call(Me,Ue[Ge])&&(Ne[Ue[Ge]]=Me[Ue[Ge]]);return Ne};const he=(Me,Be)=>{const{defaultValue:Ne,children:Ue,options:Ge=[],prefixCls:Xe,className:Ye,rootClassName:nt,style:$e,onChange:qe}=Me,st=ce(Me,["defaultValue","children","options","prefixCls","className","rootClassName","style","onChange"]),{getPrefixCls:rt,direction:ct}=be.useContext(Fe.E_),[tt,dt]=be.useState(st.value||Ne||[]),[At,mt]=be.useState([]);be.useEffect(()=>{"value"in st&&dt(st.value||[])},[st.value]);const ht=be.useMemo(()=>Ge.map(dn=>typeof dn=="string"||typeof dn=="number"?{label:dn,value:dn}:dn),[Ge]),vt=dn=>{mt(Kt=>Kt.filter(Tt=>Tt!==dn))},Wt=dn=>{mt(Kt=>[].concat((0,le.Z)(Kt),[dn]))},Jt=dn=>{const Kt=tt.indexOf(dn.value),Tt=(0,le.Z)(tt);Kt===-1?Tt.push(dn.value):Tt.splice(Kt,1),"value"in st||dt(Tt),qe==null||qe(Tt.filter(yt=>At.includes(yt)).sort((yt,Gt)=>{const gt=ht.findIndex(Qt=>Qt.value===yt),St=ht.findIndex(Qt=>Qt.value===Gt);return gt-St}))},en=rt("checkbox",Xe),mn=`${en}-group`,[Ot,an]=(0,De.ZP)(en),tn=(0,oe.Z)(st,["value","disabled"]),Dn=Ge.length?ht.map(dn=>be.createElement(ne,{prefixCls:en,key:dn.value.toString(),disabled:"disabled"in dn?dn.disabled:st.disabled,value:dn.value,checked:tt.includes(dn.value),onChange:dn.onChange,className:`${mn}-item`,style:dn.style,title:dn.title},dn.label)):Ue,Tn={toggleOption:Jt,value:tt,disabled:st.disabled,name:st.name,registerValue:Wt,cancelValue:vt},sn=Ve()(mn,{[`${mn}-rtl`]:ct==="rtl"},Ye,nt,an);return Ot(be.createElement("div",Object.assign({className:sn,style:$e},tn,{ref:Be}),be.createElement(we.Provider,{value:Tn},Dn)))},ie=be.forwardRef(he);var ue=be.memo(ie);const ge=ne;ge.Group=ue,ge.__ANT_CHECKBOX=!0;var xe=ge},98447:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{C2:function(){return Fe}});var _e=Oe(17313),Ve=Oe(37613),Re=Oe(83116);const be=Ce=>{const{checkboxCls:ve}=Ce,ye=`${ve}-wrapper`;return[{[`${ve}-group`]:Object.assign(Object.assign({},(0,_e.Wf)(Ce)),{display:"inline-flex",flexWrap:"wrap",columnGap:Ce.marginXS,[`> ${Ce.antCls}-row`]:{flex:1}}),[ye]:Object.assign(Object.assign({},(0,_e.Wf)(Ce)),{display:"inline-flex",alignItems:"baseline",cursor:"pointer","&:after":{display:"inline-block",width:0,overflow:"hidden",content:"'\\a0'"},[`& + ${ye}`]:{marginInlineStart:0},[`&${ye}-in-form-item`]:{'input[type="checkbox"]':{width:14,height:14}}}),[ve]:Object.assign(Object.assign({},(0,_e.Wf)(Ce)),{position:"relative",whiteSpace:"nowrap",lineHeight:1,cursor:"pointer",borderRadius:Ce.borderRadiusSM,alignSelf:"center",[`${ve}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0,margin:0,[`&:focus-visible + ${ve}-inner`]:Object.assign({},(0,_e.oN)(Ce))},[`${ve}-inner`]:{boxSizing:"border-box",position:"relative",top:0,insetInlineStart:0,display:"block",width:Ce.checkboxSize,height:Ce.checkboxSize,direction:"ltr",backgroundColor:Ce.colorBgContainer,border:`${Ce.lineWidth}px ${Ce.lineType} ${Ce.colorBorder}`,borderRadius:Ce.borderRadiusSM,borderCollapse:"separate",transition:`all ${Ce.motionDurationSlow}`,"&:after":{boxSizing:"border-box",position:"absolute",top:"50%",insetInlineStart:"21.5%",display:"table",width:Ce.checkboxSize/14*5,height:Ce.checkboxSize/14*8,border:`${Ce.lineWidthBold}px solid ${Ce.colorWhite}`,borderTop:0,borderInlineStart:0,transform:"rotate(45deg) scale(0) translate(-50%,-50%)",opacity:0,content:'""',transition:`all ${Ce.motionDurationFast} ${Ce.motionEaseInBack}, opacity ${Ce.motionDurationFast}`}},"& + span":{paddingInlineStart:Ce.paddingXS,paddingInlineEnd:Ce.paddingXS}})},{[`
|
|
|
${ye}:not(${ye}-disabled),
|
|
|
${ve}:not(${ve}-disabled)
|
|
|
`]:{[`&:hover ${ve}-inner`]:{borderColor:Ce.colorPrimary}},[`${ye}:not(${ye}-disabled)`]:{[`&:hover ${ve}-checked:not(${ve}-disabled) ${ve}-inner`]:{backgroundColor:Ce.colorPrimaryHover,borderColor:"transparent"},[`&:hover ${ve}-checked:not(${ve}-disabled):after`]:{borderColor:Ce.colorPrimaryHover}}},{[`${ve}-checked`]:{[`${ve}-inner`]:{backgroundColor:Ce.colorPrimary,borderColor:Ce.colorPrimary,"&:after":{opacity:1,transform:"rotate(45deg) scale(1) translate(-50%,-50%)",transition:`all ${Ce.motionDurationMid} ${Ce.motionEaseOutBack} ${Ce.motionDurationFast}`}}},[`
|
|
|
${ye}-checked:not(${ye}-disabled),
|
|
|
${ve}-checked:not(${ve}-disabled)
|
|
|
`]:{[`&:hover ${ve}-inner`]:{backgroundColor:Ce.colorPrimaryHover,borderColor:"transparent"}}},{[ve]:{"&-indeterminate":{[`${ve}-inner`]:{backgroundColor:Ce.colorBgContainer,borderColor:Ce.colorBorder,"&:after":{top:"50%",insetInlineStart:"50%",width:Ce.fontSizeLG/2,height:Ce.fontSizeLG/2,backgroundColor:Ce.colorPrimary,border:0,transform:"translate(-50%, -50%) scale(1)",opacity:1,content:'""'}}}}},{[`${ye}-disabled`]:{cursor:"not-allowed"},[`${ve}-disabled`]:{[`&, ${ve}-input`]:{cursor:"not-allowed",pointerEvents:"none"},[`${ve}-inner`]:{background:Ce.colorBgContainerDisabled,borderColor:Ce.colorBorder,"&:after":{borderColor:Ce.colorTextDisabled}},"&:after":{display:"none"},"& + span":{color:Ce.colorTextDisabled},[`&${ve}-indeterminate ${ve}-inner::after`]:{background:Ce.colorTextDisabled}}}]};function Fe(Ce,ve){const ye=(0,Ve.TS)(ve,{checkboxCls:`.${Ce}`,checkboxSize:ve.controlInteractiveSize});return[be(ye)]}Mt.ZP=(0,Re.Z)("Checkbox",(Ce,ve)=>{let{prefixCls:ye}=ve;return[Fe(ye,Ce)]})},5083:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{default:function(){return Qf}});var _e=Oe(61186),Ve=Oe.n(_e),Re=Oe(48736),be=Oe(90111),Fe=Oe.n(be),Ce=Oe(58319),ve=Oe.n(Ce),ye=Oe(23250),we=Oe.n(ye),De=Oe(74959),pe=Oe.n(De),Ee=Oe(10238),Pe=Oe.n(Ee),de=Oe(33656),ee=Oe.n(de);Ve().extend(ee()),Ve().extend(Pe()),Ve().extend(Fe()),Ve().extend(ve()),Ve().extend(we()),Ve().extend(pe()),Ve().extend(function(Ct,_t){var zt=_t.prototype,bn=zt.format;zt.format=function(cr){var ir=(cr||"").replace("Wo","wo");return bn.bind(this)(ir)}});var ne={bn_BD:"bn-bd",by_BY:"be",en_GB:"en-gb",en_US:"en",fr_BE:"fr",fr_CA:"fr-ca",hy_AM:"hy-am",kmr_IQ:"ku",nl_BE:"nl-be",pt_BR:"pt-br",zh_CN:"zh-cn",zh_HK:"zh-hk",zh_TW:"zh-tw"},le=function(_t){var zt=ne[_t];return zt||_t.split("_")[0]},oe=function(){(0,Re.ET)(!1,"Not match any format. Please help to fire a issue about this.")},ce={getNow:function(){return Ve()()},getFixedDate:function(_t){return Ve()(_t,["YYYY-M-DD","YYYY-MM-DD"])},getEndDate:function(_t){return _t.endOf("month")},getWeekDay:function(_t){var zt=_t.locale("en");return zt.weekday()+zt.localeData().firstDayOfWeek()},getYear:function(_t){return _t.year()},getMonth:function(_t){return _t.month()},getDate:function(_t){return _t.date()},getHour:function(_t){return _t.hour()},getMinute:function(_t){return _t.minute()},getSecond:function(_t){return _t.second()},addYear:function(_t,zt){return _t.add(zt,"year")},addMonth:function(_t,zt){return _t.add(zt,"month")},addDate:function(_t,zt){return _t.add(zt,"day")},setYear:function(_t,zt){return _t.year(zt)},setMonth:function(_t,zt){return _t.month(zt)},setDate:function(_t,zt){return _t.date(zt)},setHour:function(_t,zt){return _t.hour(zt)},setMinute:function(_t,zt){return _t.minute(zt)},setSecond:function(_t,zt){return _t.second(zt)},isAfter:function(_t,zt){return _t.isAfter(zt)},isValidate:function(_t){return _t.isValid()},locale:{getWeekFirstDay:function(_t){return Ve()().locale(le(_t)).localeData().firstDayOfWeek()},getWeekFirstDate:function(_t,zt){return zt.locale(le(_t)).weekday(0)},getWeek:function(_t,zt){return zt.locale(le(_t)).week()},getShortWeekDays:function(_t){return Ve()().locale(le(_t)).localeData().weekdaysMin()},getShortMonths:function(_t){return Ve()().locale(le(_t)).localeData().monthsShort()},format:function(_t,zt,bn){return zt.locale(le(_t)).format(bn)},parse:function(_t,zt,bn){for(var An=le(_t),cr=0;cr<bn.length;cr+=1){var ir=bn[cr],kr=zt;if(ir.includes("wo")||ir.includes("Wo")){for(var Rr=kr.split("-")[0],qr=kr.split("-")[1],_a=Ve()(Rr,"YYYY").startOf("year").locale(An),ta=0;ta<=52;ta+=1){var ia=_a.add(ta,"week");if(ia.format("Wo")===qr)return ia}return oe(),null}var Aa=Ve()(kr,ir,!0).locale(An);if(Aa.isValid())return Aa}return zt&&oe(),null}}},he=ce,ie=Oe(53487),ue=Oe(92413),ge=Oe(59301),xe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z"}}]},name:"calendar",theme:"outlined"},Me=xe,Be=Oe(7657),Ne=function(_t,zt){return ge.createElement(Be.Z,(0,ue.Z)({},_t,{ref:zt,icon:Me}))},Ue=ge.forwardRef(Ne),Ge=Ue,Xe={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"},Ye=Xe,nt=function(_t,zt){return ge.createElement(Be.Z,(0,ue.Z)({},_t,{ref:zt,icon:Ye}))},$e=ge.forwardRef(nt),qe=$e,st=Oe(19248),rt={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z"}}]},name:"swap-right",theme:"outlined"},ct=rt,tt=function(_t,zt){return ge.createElement(Be.Z,(0,ue.Z)({},_t,{ref:zt,icon:ct}))},dt=ge.forwardRef(tt),At=dt,mt=Oe(92310),ht=Oe.n(mt),vt=Oe(6909),Wt=Oe(4771),Jt=Oe(25314),en=Oe(9427),mn=Oe(25440),Ot=Oe(400),an=Oe(33708),tn=Oe(33606),Dn=Oe(18929),Tn=Oe(26112),sn=Oe(80547),dn=Oe(13697),Kt=10,Tt=Kt*10,yt=7;function Gt(Ct,_t){if(!Ct&&!_t)return!0;if(!Ct||!_t)return!1}function gt(Ct,_t,zt){var bn=Gt(_t,zt);if(typeof bn=="boolean")return bn;var An=Math.floor(Ct.getYear(_t)/10),cr=Math.floor(Ct.getYear(zt)/10);return An===cr}function St(Ct,_t,zt){var bn=Gt(_t,zt);return typeof bn=="boolean"?bn:Ct.getYear(_t)===Ct.getYear(zt)}function Qt(Ct,_t){var zt=Math.floor(Ct.getMonth(_t)/3);return zt+1}function Nt(Ct,_t,zt){var bn=Gt(_t,zt);return typeof bn=="boolean"?bn:St(Ct,_t,zt)&&Qt(Ct,_t)===Qt(Ct,zt)}function wt(Ct,_t,zt){var bn=Gt(_t,zt);return typeof bn=="boolean"?bn:St(Ct,_t,zt)&&Ct.getMonth(_t)===Ct.getMonth(zt)}function rn(Ct,_t,zt){var bn=Gt(_t,zt);return typeof bn=="boolean"?bn:Ct.getYear(_t)===Ct.getYear(zt)&&Ct.getMonth(_t)===Ct.getMonth(zt)&&Ct.getDate(_t)===Ct.getDate(zt)}function On(Ct,_t,zt){var bn=Gt(_t,zt);return typeof bn=="boolean"?bn:Ct.getHour(_t)===Ct.getHour(zt)&&Ct.getMinute(_t)===Ct.getMinute(zt)&&Ct.getSecond(_t)===Ct.getSecond(zt)}function zn(Ct,_t,zt,bn){var An=Gt(zt,bn);return typeof An=="boolean"?An:St(Ct,zt,bn)&&Ct.locale.getWeek(_t,zt)===Ct.locale.getWeek(_t,bn)}function Gn(Ct,_t,zt){return rn(Ct,_t,zt)&&On(Ct,_t,zt)}function nr(Ct,_t,zt,bn){return!_t||!zt||!bn?!1:!rn(Ct,_t,bn)&&!rn(Ct,zt,bn)&&Ct.isAfter(bn,_t)&&Ct.isAfter(zt,bn)}function Xn(Ct,_t,zt){var bn=_t.locale.getWeekFirstDay(Ct),An=_t.setDate(zt,1),cr=_t.getWeekDay(An),ir=_t.addDate(An,bn-cr);return _t.getMonth(ir)===_t.getMonth(zt)&&_t.getDate(ir)>1&&(ir=_t.addDate(ir,-7)),ir}function $t(Ct,_t,zt){var bn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;switch(_t){case"year":return zt.addYear(Ct,bn*10);case"quarter":case"month":return zt.addYear(Ct,bn);default:return zt.addMonth(Ct,bn)}}function gn(Ct,_t){var zt=_t.generateConfig,bn=_t.locale,An=_t.format;return typeof An=="function"?An(Ct):zt.locale.format(bn.locale,Ct,An)}function jn(Ct,_t){var zt=_t.generateConfig,bn=_t.locale,An=_t.formatList;return!Ct||typeof An[0]=="function"?null:zt.locale.parse(bn.locale,Ct,An)}function Ln(Ct){var _t=Ct.cellDate,zt=Ct.mode,bn=Ct.disabledDate,An=Ct.generateConfig;if(!bn)return!1;var cr=function(xa,zr,Kr){for(var Sa=zr;Sa<=Kr;){var gi=void 0;switch(xa){case"date":{if(gi=An.setDate(_t,Sa),!bn(gi))return!1;break}case"month":{if(gi=An.setMonth(_t,Sa),!Ln({cellDate:gi,mode:"month",generateConfig:An,disabledDate:bn}))return!1;break}case"year":{if(gi=An.setYear(_t,Sa),!Ln({cellDate:gi,mode:"year",generateConfig:An,disabledDate:bn}))return!1;break}}Sa+=1}return!0};switch(zt){case"date":case"week":return bn(_t);case"month":{var ir=1,kr=An.getDate(An.getEndDate(_t));return cr("date",ir,kr)}case"quarter":{var Rr=Math.floor(An.getMonth(_t)/3)*3,qr=Rr+2;return cr("month",Rr,qr)}case"year":return cr("month",0,11);case"decade":{var _a=An.getYear(_t),ta=Math.floor(_a/Kt)*Kt,ia=ta+Kt-1;return cr("year",ta,ia)}}}function Sr(Ct,_t){var zt=_t.formatList,bn=_t.generateConfig,An=_t.locale;return(0,sn.Z)(function(){if(!Ct)return[[""],""];for(var cr="",ir=[],kr=0;kr<zt.length;kr+=1){var Rr=zt[kr],qr=gn(Ct,{generateConfig:bn,locale:An,format:Rr});ir.push(qr),kr===0&&(cr=qr)}return[ir,cr]},[Ct,zt,An],function(cr,ir){return!Gn(bn,cr[0],ir[0])||!(0,dn.Z)(cr[1],ir[1],!0)||!(0,dn.Z)(cr[2],ir[2],!0)})}function Ur(Ct,_t){var zt=_t.formatList,bn=_t.generateConfig,An=_t.locale,cr=(0,ge.useState)(null),ir=(0,tn.Z)(cr,2),kr=ir[0],Rr=ir[1],qr=(0,ge.useRef)(null);function _a(Kr){var Sa=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(cancelAnimationFrame(qr.current),Sa){Rr(Kr);return}qr.current=requestAnimationFrame(function(){Rr(Kr)})}var ta=Sr(kr,{formatList:zt,generateConfig:bn,locale:An}),ia=(0,tn.Z)(ta,2),Aa=ia[1];function xa(Kr){_a(Kr)}function zr(){var Kr=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;_a(null,Kr)}return(0,ge.useEffect)(function(){zr(!0)},[Ct]),(0,ge.useEffect)(function(){return function(){return cancelAnimationFrame(qr.current)}},[]),[Aa,xa,zr]}var Mr=Oe(10228),Gr=Oe(16089),ma=Oe(26407),Oa=Oe(29194),Ea=new Map;function Ma(Ct,_t){var zt;function bn(){(0,Oa.Z)(Ct)?_t():zt=(0,Gr.Z)(function(){bn()})}return bn(),function(){Gr.Z.cancel(zt)}}function li(Ct,_t,zt){if(Ea.get(Ct)&&cancelAnimationFrame(Ea.get(Ct)),zt<=0){Ea.set(Ct,requestAnimationFrame(function(){Ct.scrollTop=_t}));return}var bn=_t-Ct.scrollTop,An=bn/zt*10;Ea.set(Ct,requestAnimationFrame(function(){Ct.scrollTop+=An,Ct.scrollTop!==_t&&li(Ct,_t,zt-10)}))}function di(Ct,_t){var zt=_t.onLeftRight,bn=_t.onCtrlLeftRight,An=_t.onUpDown,cr=_t.onPageUpDown,ir=_t.onEnter,kr=Ct.which,Rr=Ct.ctrlKey,qr=Ct.metaKey;switch(kr){case Mr.Z.LEFT:if(Rr||qr){if(bn)return bn(-1),!0}else if(zt)return zt(-1),!0;break;case Mr.Z.RIGHT:if(Rr||qr){if(bn)return bn(1),!0}else if(zt)return zt(1),!0;break;case Mr.Z.UP:if(An)return An(-1),!0;break;case Mr.Z.DOWN:if(An)return An(1),!0;break;case Mr.Z.PAGE_UP:if(cr)return cr(-1),!0;break;case Mr.Z.PAGE_DOWN:if(cr)return cr(1),!0;break;case Mr.Z.ENTER:if(ir)return ir(),!0;break}return!1}function Hr(Ct,_t,zt,bn){var An=Ct;if(!An)switch(_t){case"time":An=bn?"hh:mm:ss a":"HH:mm:ss";break;case"week":An="gggg-wo";break;case"month":An="YYYY-MM";break;case"quarter":An="YYYY-[Q]Q";break;case"year":An="YYYY";break;default:An=zt?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD"}return An}function Ta(Ct,_t,zt){var bn=Ct==="time"?8:10,An=typeof _t=="function"?_t(zt.getNow()).length:_t.length;return Math.max(bn,An)+2}var Ha=null,sr=new Set;function pr(Ct){return!Ha&&typeof window!="undefined"&&window.addEventListener&&(Ha=function(zt){(0,ma.Z)(sr).forEach(function(bn){bn(zt)})},window.addEventListener("mousedown",Ha)),sr.add(Ct),function(){sr.delete(Ct),sr.size===0&&(window.removeEventListener("mousedown",Ha),Ha=null)}}function Qa(Ct){var _t=Ct.target;if(Ct.composed&&_t.shadowRoot){var zt;return((zt=Ct.composedPath)===null||zt===void 0?void 0:zt.call(Ct)[0])||_t}return _t}var hn=function(_t){return _t==="month"||_t==="date"?"year":_t},kn=function(_t){return _t==="date"?"month":_t},ar=function(_t){return _t==="month"||_t==="date"?"quarter":_t},lr=function(_t){return _t==="date"?"week":_t},Fr={year:hn,month:kn,quarter:ar,week:lr,time:null,date:null};function pt(Ct,_t){return Ct.some(function(zt){return zt&&zt.contains(_t)})}function Ae(Ct){var _t=Ct.open,zt=Ct.value,bn=Ct.isClickOutside,An=Ct.triggerOpen,cr=Ct.forwardKeyDown,ir=Ct.onKeyDown,kr=Ct.blurToCancel,Rr=Ct.onSubmit,qr=Ct.onCancel,_a=Ct.onFocus,ta=Ct.onBlur,ia=Ct.changeOnBlur,Aa=(0,ge.useState)(!1),xa=(0,tn.Z)(Aa,2),zr=xa[0],Kr=xa[1],Sa=(0,ge.useState)(!1),gi=(0,tn.Z)(Sa,2),Ka=gi[0],vi=gi[1],bi=(0,ge.useRef)(!1),hi=(0,ge.useRef)(!1),ii=(0,ge.useRef)(!1),Ni={onMouseDown:function(){Kr(!0),An(!0)},onKeyDown:function(bo){var Mo=function(){ii.current=!0};if(ir(bo,Mo),!ii.current){switch(bo.which){case Mr.Z.ENTER:{_t?Rr()!==!1&&Kr(!0):An(!0),bo.preventDefault();return}case Mr.Z.TAB:{zr&&_t&&!bo.shiftKey?(Kr(!1),bo.preventDefault()):!zr&&_t&&!cr(bo)&&bo.shiftKey&&(Kr(!0),bo.preventDefault());return}case Mr.Z.ESC:{Kr(!0),qr();return}}!_t&&![Mr.Z.SHIFT].includes(bo.which)?An(!0):zr||cr(bo)}},onFocus:function(bo){Kr(!0),vi(!0),_a&&_a(bo)},onBlur:function(bo){if(bi.current||!bn(document.activeElement)){bi.current=!1;return}kr?setTimeout(function(){for(var Mo=document,ns=Mo.activeElement;ns&&ns.shadowRoot;)ns=ns.shadowRoot.activeElement;bn(ns)&&qr()},0):_t&&(An(!1),hi.current&&Rr()),vi(!1),ta==null||ta(bo)}};return(0,ge.useEffect)(function(){hi.current=!1},[_t]),(0,ge.useEffect)(function(){hi.current=!0},[zt]),(0,ge.useEffect)(function(){return pr(function(ro){var bo=Qa(ro),Mo=bn(bo);_t&&(Mo?!ia&&(!Ka||Mo)&&An(!1):(bi.current=!0,(0,Gr.Z)(function(){bi.current=!1})))})}),[Ni,{focused:Ka,typing:zr}]}function Le(Ct,_t){return ge.useMemo(function(){return Ct||(_t?((0,Re.ZP)(!1,"`ranges` is deprecated. Please use `presets` instead."),Object.entries(_t).map(function(zt){var bn=(0,tn.Z)(zt,2),An=bn[0],cr=bn[1];return{label:An,value:cr}})):[])},[Ct,_t])}var Ie=Oe(34280);function ze(Ct){var _t=Ct.valueTexts,zt=Ct.onTextChange,bn=ge.useState(""),An=(0,tn.Z)(bn,2),cr=An[0],ir=An[1],kr=ge.useRef([]);kr.current=_t;function Rr(_a){ir(_a),zt(_a)}function qr(){ir(kr.current[0])}return(0,Ie.Z)(function(){_t.every(function(_a){return _a!==cr})&&qr()},[_t.join("||")]),[cr,Rr,qr]}var Ze=ge.createContext({}),xt=Ze,bt=Oe(39559);function Yt(Ct){var _t=Ct.cellRender,zt=Ct.monthCellRender,bn=Ct.dateRender,An=ge.useMemo(function(){if(_t)return _t;if(!(!zt&&!bn))return function(cr,ir){var kr=cr;return bn&&ir.type==="date"?bn(kr,ir.today):zt&&ir.type==="month"?zt(kr,ir.locale):ir.originNode}},[_t,zt,bn]);return An}function Ht(Ct,_t){for(var zt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0",bn=String(Ct);bn.length<_t;)bn="".concat(zt).concat(Ct);return bn}var cn=function(){for(var _t=arguments.length,zt=new Array(_t),bn=0;bn<_t;bn++)zt[bn]=arguments[bn];return zt};function fn(Ct){return Ct==null?[]:Array.isArray(Ct)?Ct:[Ct]}function Zn(Ct,_t){return Ct?Ct[_t]:null}function Mn(Ct,_t,zt){var bn=[Zn(Ct,0),Zn(Ct,1)];return bn[zt]=typeof _t=="function"?_t(bn[zt]):_t,!bn[0]&&!bn[1]?null:bn}function er(Ct){return typeof Ct=="function"?Ct():Ct}function rr(Ct){var _t=Ct.cellPrefixCls,zt=Ct.generateConfig,bn=Ct.rangedValue,An=Ct.hoverRangedValue,cr=Ct.isInView,ir=Ct.isSameCell,kr=Ct.offsetCell,Rr=Ct.today,qr=Ct.value;function _a(ta){var ia,Aa=kr(ta,-1),xa=kr(ta,1),zr=Zn(bn,0),Kr=Zn(bn,1),Sa=Zn(An,0),gi=Zn(An,1),Ka=nr(zt,Sa,gi,ta);function vi(bo){return ir(zr,bo)}function bi(bo){return ir(Kr,bo)}var hi=ir(Sa,ta),ii=ir(gi,ta),Ni=(Ka||ii)&&(!cr(Aa)||bi(Aa)),ro=(Ka||hi)&&(!cr(xa)||vi(xa));return ia={},(0,Ot.Z)(ia,"".concat(_t,"-in-view"),cr(ta)),(0,Ot.Z)(ia,"".concat(_t,"-in-range"),nr(zt,zr,Kr,ta)),(0,Ot.Z)(ia,"".concat(_t,"-range-start"),vi(ta)),(0,Ot.Z)(ia,"".concat(_t,"-range-end"),bi(ta)),(0,Ot.Z)(ia,"".concat(_t,"-range-start-single"),vi(ta)&&!Kr),(0,Ot.Z)(ia,"".concat(_t,"-range-end-single"),bi(ta)&&!zr),(0,Ot.Z)(ia,"".concat(_t,"-range-start-near-hover"),vi(ta)&&(ir(Aa,Sa)||nr(zt,Sa,gi,Aa))),(0,Ot.Z)(ia,"".concat(_t,"-range-end-near-hover"),bi(ta)&&(ir(xa,gi)||nr(zt,Sa,gi,xa))),(0,Ot.Z)(ia,"".concat(_t,"-range-hover"),Ka),(0,Ot.Z)(ia,"".concat(_t,"-range-hover-start"),hi),(0,Ot.Z)(ia,"".concat(_t,"-range-hover-end"),ii),(0,Ot.Z)(ia,"".concat(_t,"-range-hover-edge-start"),Ni),(0,Ot.Z)(ia,"".concat(_t,"-range-hover-edge-end"),ro),(0,Ot.Z)(ia,"".concat(_t,"-range-hover-edge-start-near-range"),Ni&&ir(Aa,Kr)),(0,Ot.Z)(ia,"".concat(_t,"-range-hover-edge-end-near-range"),ro&&ir(xa,zr)),(0,Ot.Z)(ia,"".concat(_t,"-today"),ir(Rr,ta)),(0,Ot.Z)(ia,"".concat(_t,"-selected"),ir(qr,ta)),ia}return _a}var mr=ge.createContext({}),pn=mr;function nn(Ct,_t,zt,bn,An){var cr=Ct.setHour(_t,zt);return cr=Ct.setMinute(cr,bn),cr=Ct.setSecond(cr,An),cr}function Bn(Ct,_t,zt){if(!zt)return _t;var bn=_t;return bn=Ct.setHour(bn,Ct.getHour(zt)),bn=Ct.setMinute(bn,Ct.getMinute(zt)),bn=Ct.setSecond(bn,Ct.getSecond(zt)),bn}function Hn(Ct,_t,zt,bn,An,cr){var ir=Math.floor(Ct/bn)*bn;if(ir<Ct)return[ir,60-An,60-cr];var kr=Math.floor(_t/An)*An;if(kr<_t)return[ir,kr,60-cr];var Rr=Math.floor(zt/cr)*cr;return[ir,kr,Rr]}function fr(Ct,_t){var zt=Ct.getYear(_t),bn=Ct.getMonth(_t)+1,An=Ct.getEndDate(Ct.getFixedDate("".concat(zt,"-").concat(bn,"-01"))),cr=Ct.getDate(An),ir=bn<10?"0".concat(bn):"".concat(bn);return"".concat(zt,"-").concat(ir,"-").concat(cr)}function br(Ct){for(var _t=Ct.prefixCls,zt=Ct.disabledDate,bn=Ct.onSelect,An=Ct.picker,cr=Ct.rowNum,ir=Ct.colNum,kr=Ct.prefixColumn,Rr=Ct.rowClassName,qr=Ct.baseDate,_a=Ct.getCellClassName,ta=Ct.getCellText,ia=Ct.getCellNode,Aa=Ct.getCellDate,xa=Ct.generateConfig,zr=Ct.titleCell,Kr=Ct.headerCells,Sa=ge.useContext(xt),gi=Sa.onDateMouseEnter,Ka=Sa.onDateMouseLeave,vi=Sa.mode,bi="".concat(_t,"-cell"),hi=[],ii=0;ii<cr;ii+=1){for(var Ni=[],ro=void 0,bo=function(){var ps,Ns=ii*ir+Mo,$o=Aa(qr,Ns),ho=Ln({cellDate:$o,mode:vi,disabledDate:zt,generateConfig:xa});Mo===0&&(ro=$o,kr&&Ni.push(kr(ro)));var _o=zr&&zr($o),Do=ge.createElement("div",{className:"".concat(bi,"-inner")},ta($o));Ni.push(ge.createElement("td",{key:Mo,title:_o,className:ht()(bi,(0,an.Z)((ps={},(0,Ot.Z)(ps,"".concat(bi,"-disabled"),ho),(0,Ot.Z)(ps,"".concat(bi,"-start"),ta($o)===1||An==="year"&&Number(_o)%10===0),(0,Ot.Z)(ps,"".concat(bi,"-end"),_o===fr(xa,$o)||An==="year"&&Number(_o)%10===9),ps),_a($o))),onClick:function(){ho||bn($o)},onMouseEnter:function(){!ho&&gi&&gi($o)},onMouseLeave:function(){!ho&&Ka&&Ka($o)}},ia?ia($o,Do):Do))},Mo=0;Mo<ir;Mo+=1)bo();hi.push(ge.createElement("tr",{key:ii,className:Rr&&Rr(ro)},Ni))}return ge.createElement("div",{className:"".concat(_t,"-body")},ge.createElement("table",{className:"".concat(_t,"-content")},Kr&&ge.createElement("thead",null,ge.createElement("tr",null,Kr)),ge.createElement("tbody",null,hi)))}function tr(Ct){var _t=Ct.prefixCls,zt=Ct.generateConfig,bn=Ct.prefixColumn,An=Ct.locale,cr=Ct.rowCount,ir=Ct.viewDate,kr=Ct.value,Rr=Ct.cellRender,qr=Ct.isSameCell,_a=ge.useContext(pn),ta=_a.rangedValue,ia=_a.hoverRangedValue,Aa=Xn(An.locale,zt,ir),xa="".concat(_t,"-cell"),zr=zt.locale.getWeekFirstDay(An.locale),Kr=zt.getNow(),Sa=[],gi=An.shortWeekDays||(zt.locale.getShortWeekDays?zt.locale.getShortWeekDays(An.locale):[]);bn&&Sa.push(ge.createElement("th",{key:"empty","aria-label":"empty cell"}));for(var Ka=0;Ka<yt;Ka+=1)Sa.push(ge.createElement("th",{key:Ka},gi[(Ka+zr)%yt]));var vi=rr({cellPrefixCls:xa,today:Kr,value:kr,generateConfig:zt,rangedValue:bn?null:ta,hoverRangedValue:bn?null:ia,isSameCell:qr||function(hi,ii){return rn(zt,hi,ii)},isInView:function(ii){return wt(zt,ii,ir)},offsetCell:function(ii,Ni){return zt.addDate(ii,Ni)}}),bi=Rr?function(hi,ii){return Rr(hi,{originNode:ii,today:Kr,type:"date",locale:An})}:void 0;return ge.createElement(br,(0,ue.Z)({},Ct,{rowNum:cr,colNum:yt,baseDate:Aa,getCellNode:bi,getCellText:zt.getDate,getCellClassName:vi,getCellDate:zt.addDate,titleCell:function(ii){return gn(ii,{locale:An,format:"YYYY-MM-DD",generateConfig:zt})},headerCells:Sa}))}var hr=tr,vr={visibility:"hidden"};function Nn(Ct){var _t=Ct.prefixCls,zt=Ct.prevIcon,bn=zt===void 0?"\u2039":zt,An=Ct.nextIcon,cr=An===void 0?"\u203A":An,ir=Ct.superPrevIcon,kr=ir===void 0?"\xAB":ir,Rr=Ct.superNextIcon,qr=Rr===void 0?"\xBB":Rr,_a=Ct.onSuperPrev,ta=Ct.onSuperNext,ia=Ct.onPrev,Aa=Ct.onNext,xa=Ct.children,zr=ge.useContext(xt),Kr=zr.hideNextBtn,Sa=zr.hidePrevBtn;return ge.createElement("div",{className:_t},_a&&ge.createElement("button",{type:"button",onClick:_a,tabIndex:-1,className:"".concat(_t,"-super-prev-btn"),style:Sa?vr:{}},kr),ia&&ge.createElement("button",{type:"button",onClick:ia,tabIndex:-1,className:"".concat(_t,"-prev-btn"),style:Sa?vr:{}},bn),ge.createElement("div",{className:"".concat(_t,"-view")},xa),Aa&&ge.createElement("button",{type:"button",onClick:Aa,tabIndex:-1,className:"".concat(_t,"-next-btn"),style:Kr?vr:{}},cr),ta&&ge.createElement("button",{type:"button",onClick:ta,tabIndex:-1,className:"".concat(_t,"-super-next-btn"),style:Kr?vr:{}},qr))}var xr=Nn;function Jn(Ct){var _t=Ct.prefixCls,zt=Ct.generateConfig,bn=Ct.locale,An=Ct.viewDate,cr=Ct.onNextMonth,ir=Ct.onPrevMonth,kr=Ct.onNextYear,Rr=Ct.onPrevYear,qr=Ct.onYearClick,_a=Ct.onMonthClick,ta=ge.useContext(xt),ia=ta.hideHeader;if(ia)return null;var Aa="".concat(_t,"-header"),xa=bn.shortMonths||(zt.locale.getShortMonths?zt.locale.getShortMonths(bn.locale):[]),zr=zt.getMonth(An),Kr=ge.createElement("button",{type:"button",key:"year",onClick:qr,tabIndex:-1,className:"".concat(_t,"-year-btn")},gn(An,{locale:bn,format:bn.yearFormat,generateConfig:zt})),Sa=ge.createElement("button",{type:"button",key:"month",onClick:_a,tabIndex:-1,className:"".concat(_t,"-month-btn")},bn.monthFormat?gn(An,{locale:bn,format:bn.monthFormat,generateConfig:zt}):xa[zr]),gi=bn.monthBeforeYear?[Sa,Kr]:[Kr,Sa];return ge.createElement(xr,(0,ue.Z)({},Ct,{prefixCls:Aa,onSuperPrev:Rr,onPrev:ir,onNext:cr,onSuperNext:kr}),gi)}var Nr=Jn,Xa=6;function $a(Ct){var _t=Ct.prefixCls,zt=Ct.panelName,bn=zt===void 0?"date":zt,An=Ct.keyboardConfig,cr=Ct.active,ir=Ct.operationRef,kr=Ct.generateConfig,Rr=Ct.value,qr=Ct.viewDate,_a=Ct.onViewDateChange,ta=Ct.onPanelChange,ia=Ct.onSelect,Aa="".concat(_t,"-").concat(bn,"-panel");ir.current={onKeyDown:function(Sa){return di(Sa,(0,an.Z)({onLeftRight:function(Ka){ia(kr.addDate(Rr||qr,Ka),"key")},onCtrlLeftRight:function(Ka){ia(kr.addYear(Rr||qr,Ka),"key")},onUpDown:function(Ka){ia(kr.addDate(Rr||qr,Ka*yt),"key")},onPageUpDown:function(Ka){ia(kr.addMonth(Rr||qr,Ka),"key")}},An))}};var xa=function(Sa){var gi=kr.addYear(qr,Sa);_a(gi),ta(null,gi)},zr=function(Sa){var gi=kr.addMonth(qr,Sa);_a(gi),ta(null,gi)};return ge.createElement("div",{className:ht()(Aa,(0,Ot.Z)({},"".concat(Aa,"-active"),cr))},ge.createElement(Nr,(0,ue.Z)({},Ct,{prefixCls:_t,value:Rr,viewDate:qr,onPrevYear:function(){xa(-1)},onNextYear:function(){xa(1)},onPrevMonth:function(){zr(-1)},onNextMonth:function(){zr(1)},onMonthClick:function(){ta("month",qr)},onYearClick:function(){ta("year",qr)}})),ge.createElement(hr,(0,ue.Z)({},Ct,{onSelect:function(Sa){return ia(Sa,"mouse")},prefixCls:_t,value:Rr,viewDate:qr,rowCount:Xa})))}var ai=$a;function Zr(Ct){var _t=ge.useContext(xt),zt=_t.hideHeader;if(zt)return null;var bn=Ct.prefixCls,An=Ct.generateConfig,cr=Ct.locale,ir=Ct.value,kr=Ct.format,Rr="".concat(bn,"-header");return ge.createElement(xr,{prefixCls:Rr},ir?gn(ir,{locale:cr,format:kr,generateConfig:An}):"\xA0")}var ua=Zr;function Da(Ct){var _t=Ct.value,zt=Ct.generateConfig,bn=Ct.disabledMinutes,An=Ct.disabledSeconds,cr=Ct.minutes,ir=Ct.seconds,kr=Ct.use12Hours,Rr=function(_a,ta,ia,Aa){var xa=zt.getNow(),zr=_t||xa,Kr=ta<0?zt.getHour(xa):ta,Sa=ia<0?zt.getMinute(xa):ia,gi=Aa<0?zt.getSecond(xa):Aa,Ka=bn&&bn(Kr);if(Ka!=null&&Ka.includes(Sa)){var vi=cr.find(function(ii){return!Ka.includes(ii.value)});if(vi)Sa=vi.value;else return null}var bi=An&&An(Kr,Sa);if(bi!=null&&bi.includes(gi)){var hi=ir.find(function(ii){return!bi.includes(ii.value)});if(hi)gi=hi.value;else return null}return zr=nn(zt,zr,!kr||!_a?Kr:Kr+12,Sa,gi),zr};return Rr}function sa(Ct){var _t=Ct.prefixCls,zt=Ct.units,bn=Ct.onSelect,An=Ct.value,cr=Ct.active,ir=Ct.hideDisabledOptions,kr=Ct.info,Rr=Ct.type,qr="".concat(_t,"-cell"),_a=ge.useContext(xt),ta=_a.open,ia=(0,ge.useRef)(null),Aa=(0,ge.useRef)(new Map),xa=(0,ge.useRef)();return(0,ge.useLayoutEffect)(function(){var zr=Aa.current.get(An);zr&&ta!==!1&&li(ia.current,zr.offsetTop,120)},[An]),(0,ge.useLayoutEffect)(function(){if(ta){var zr=Aa.current.get(An);zr&&(xa.current=Ma(zr,function(){li(ia.current,zr.offsetTop,0)}))}return function(){var Kr;(Kr=xa.current)===null||Kr===void 0||Kr.call(xa)}},[ta]),ge.createElement("ul",{className:ht()("".concat(_t,"-column"),(0,Ot.Z)({},"".concat(_t,"-column-active"),cr)),ref:ia,style:{position:"relative"}},zt.map(function(zr){var Kr;return ir&&zr.disabled?null:ge.createElement("li",{key:zr.value,ref:function(gi){Aa.current.set(zr.value,gi)},className:ht()(qr,(Kr={},(0,Ot.Z)(Kr,"".concat(qr,"-disabled"),zr.disabled),(0,Ot.Z)(Kr,"".concat(qr,"-selected"),An===zr.value),Kr)),onClick:function(){zr.disabled||bn(zr.value)}},kr.cellRender?kr.cellRender(zr.value,{today:kr.today,locale:kr.locale,originNode:ge.createElement("div",{className:"".concat(qr,"-inner")},zr.label),type:"time",subType:Rr}):ge.createElement("div",{className:"".concat(qr,"-inner")},zr.label))}))}var Ja=sa;function Li(Ct,_t){if(Ct.length!==_t.length)return!0;for(var zt=0;zt<Ct.length;zt+=1)if(Ct[zt].disabled!==_t[zt].disabled)return!0;return!1}function Na(Ct,_t,zt,bn){for(var An=[],cr=zt>=1?zt|0:1,ir=Ct;ir<=_t;ir+=cr)An.push({label:Ht(ir,2),value:ir,disabled:(bn||[]).includes(ir)});return An}function Ti(Ct){var _t=Ct.generateConfig,zt=Ct.prefixCls,bn=Ct.operationRef,An=Ct.activeColumnIndex,cr=Ct.value,ir=Ct.showHour,kr=Ct.showMinute,Rr=Ct.showSecond,qr=Ct.use12Hours,_a=Ct.hourStep,ta=_a===void 0?1:_a,ia=Ct.minuteStep,Aa=ia===void 0?1:ia,xa=Ct.secondStep,zr=xa===void 0?1:xa,Kr=Ct.disabledHours,Sa=Ct.disabledMinutes,gi=Ct.disabledSeconds,Ka=Ct.disabledTime,vi=Ct.hideDisabledOptions,bi=Ct.onSelect,hi=Ct.cellRender,ii=Ct.locale,Ni=[],ro="".concat(zt,"-content"),bo="".concat(zt,"-time-panel"),Mo,ns=cr?_t.getHour(cr):-1,ps=ns,Ns=cr?_t.getMinute(cr):-1,$o=cr?_t.getSecond(cr):-1,ho=_t.getNow(),_o=ge.useMemo(function(){if(Ka){var Pr=Ka(ho);return[Pr.disabledHours,Pr.disabledMinutes,Pr.disabledSeconds]}return[Kr,Sa,gi]},[Kr,Sa,gi,Ka,ho]),Do=(0,tn.Z)(_o,3),As=Do[0],Qo=Do[1],Fa=Do[2],Zs=Na(0,23,ta,As&&As()),Rs=(0,sn.Z)(function(){return Zs},Zs,Li);qr&&(Mo=ps>=12,ps%=12);var Ft=ge.useMemo(function(){if(!qr)return[!1,!1];var Pr=[!0,!0];return Rs.forEach(function(Dr){var $r=Dr.disabled,Jr=Dr.value;$r||(Jr>=12?Pr[1]=!1:Pr[0]=!1)}),Pr},[qr,Rs]),Ut=(0,tn.Z)(Ft,2),un=Ut[0],Sn=Ut[1],_n=ge.useMemo(function(){return qr?Rs.filter(Mo?function(Pr){return Pr.value>=12}:function(Pr){return Pr.value<12}).map(function(Pr){var Dr=Pr.value%12,$r=Dr===0?"12":Ht(Dr,2);return(0,an.Z)((0,an.Z)({},Pr),{},{label:$r,value:Dr})}):Rs},[qr,Mo,Rs]),Un=Na(0,59,Aa,Qo&&Qo(ns)),gr=Na(0,59,zr,Fa&&Fa(ns,Ns)),ur=Da({value:cr,generateConfig:_t,disabledMinutes:Qo,disabledSeconds:Fa,minutes:Un,seconds:gr,use12Hours:qr});bn.current={onUpDown:function(Dr){var $r=Ni[An];if($r)for(var Jr=$r.units.findIndex(function(ka){return ka.value===$r.value}),Er=$r.units.length,pa=1;pa<Er;pa+=1){var ha=$r.units[(Jr+Dr*pa+Er)%Er];if(ha.disabled!==!0){$r.onSelect(ha.value);break}}}};function dr(Pr,Dr,$r,Jr,Er){Pr!==!1&&Ni.push({node:ge.cloneElement(Dr,{prefixCls:bo,value:$r,active:An===Ni.length,onSelect:Er,units:Jr,hideDisabledOptions:vi}),onSelect:Er,value:$r,units:Jr})}dr(ir,ge.createElement(Ja,{key:"hour",type:"hour",info:{today:ho,locale:ii,cellRender:hi}}),ps,_n,function(Pr){bi(ur(Mo,Pr,Ns,$o),"mouse")}),dr(kr,ge.createElement(Ja,{key:"minute",type:"minute",info:{today:ho,locale:ii,cellRender:hi}}),Ns,Un,function(Pr){bi(ur(Mo,ps,Pr,$o),"mouse")}),dr(Rr,ge.createElement(Ja,{key:"second",type:"second",info:{today:ho,locale:ii,cellRender:hi}}),$o,gr,function(Pr){bi(ur(Mo,ps,Ns,Pr),"mouse")});var Lr=-1;return typeof Mo=="boolean"&&(Lr=Mo?1:0),dr(qr===!0,ge.createElement(Ja,{key:"meridiem",type:"meridiem",info:{today:ho,locale:ii,cellRender:hi}}),Lr,[{label:"AM",value:0,disabled:un},{label:"PM",value:1,disabled:Sn}],function(Pr){bi(ur(!!Pr,ps,Ns,$o),"mouse")}),ge.createElement("div",{className:ro},Ni.map(function(Pr){var Dr=Pr.node;return Dr}))}var ji=Ti,Ao=function(_t){return _t.filter(function(zt){return zt!==!1}).length};function uo(Ct){var _t=Ct.generateConfig,zt=Ct.format,bn=zt===void 0?"HH:mm:ss":zt,An=Ct.prefixCls,cr=Ct.active,ir=Ct.operationRef,kr=Ct.showHour,Rr=Ct.showMinute,qr=Ct.showSecond,_a=Ct.use12Hours,ta=_a===void 0?!1:_a,ia=Ct.onSelect,Aa=Ct.value,xa="".concat(An,"-time-panel"),zr=ge.useRef(),Kr=ge.useState(-1),Sa=(0,tn.Z)(Kr,2),gi=Sa[0],Ka=Sa[1],vi=Ao([kr,Rr,qr,ta]);return ir.current={onKeyDown:function(hi){return di(hi,{onLeftRight:function(Ni){Ka((gi+Ni+vi)%vi)},onUpDown:function(Ni){gi===-1?Ka(0):zr.current&&zr.current.onUpDown(Ni)},onEnter:function(){ia(Aa||_t.getNow(),"key"),Ka(-1)}})},onBlur:function(){Ka(-1)}},ge.createElement("div",{className:ht()(xa,(0,Ot.Z)({},"".concat(xa,"-active"),cr))},ge.createElement(ua,(0,ue.Z)({},Ct,{format:bn,prefixCls:An})),ge.createElement(ji,(0,ue.Z)({},Ct,{prefixCls:An,activeColumnIndex:gi,operationRef:zr})))}var Os=uo,zo=cn("date","time");function po(Ct){var _t=Ct.prefixCls,zt=Ct.operationRef,bn=Ct.generateConfig,An=Ct.value,cr=Ct.defaultValue,ir=Ct.disabledTime,kr=Ct.showTime,Rr=Ct.onSelect,qr=Ct.cellRender,_a="".concat(_t,"-datetime-panel"),ta=ge.useState(null),ia=(0,tn.Z)(ta,2),Aa=ia[0],xa=ia[1],zr=ge.useRef({}),Kr=ge.useRef({}),Sa=(0,bt.Z)(kr)==="object"?(0,an.Z)({},kr):{};function gi(hi){var ii=zo.indexOf(Aa)+hi,Ni=zo[ii]||null;return Ni}var Ka=function(ii){Kr.current.onBlur&&Kr.current.onBlur(ii),xa(null)};zt.current={onKeyDown:function(ii){if(ii.which===Mr.Z.TAB){var Ni=gi(ii.shiftKey?-1:1);return xa(Ni),Ni&&ii.preventDefault(),!0}if(Aa){var ro=Aa==="date"?zr:Kr;return ro.current&&ro.current.onKeyDown&&ro.current.onKeyDown(ii),!0}return[Mr.Z.LEFT,Mr.Z.RIGHT,Mr.Z.UP,Mr.Z.DOWN].includes(ii.which)?(xa("date"),!0):!1},onBlur:Ka,onClose:Ka};var vi=function(ii,Ni){var ro=ii;Ni==="date"&&!An&&Sa.defaultValue?(ro=bn.setHour(ro,bn.getHour(Sa.defaultValue)),ro=bn.setMinute(ro,bn.getMinute(Sa.defaultValue)),ro=bn.setSecond(ro,bn.getSecond(Sa.defaultValue))):Ni==="time"&&!An&&cr&&(ro=bn.setYear(ro,bn.getYear(cr)),ro=bn.setMonth(ro,bn.getMonth(cr)),ro=bn.setDate(ro,bn.getDate(cr))),Rr&&Rr(ro,"mouse")},bi=ir?ir(An||null):{};return ge.createElement("div",{className:ht()(_a,(0,Ot.Z)({},"".concat(_a,"-active"),Aa))},ge.createElement(ai,(0,ue.Z)({},Ct,{cellRender:qr,operationRef:zr,active:Aa==="date",onSelect:function(ii){vi(Bn(bn,ii,!An&&(0,bt.Z)(kr)==="object"?kr.defaultValue:null),"date")}})),ge.createElement(Os,(0,ue.Z)({},Ct,{cellRender:qr?function(hi,ii){return qr(hi,(0,an.Z)((0,an.Z)({},ii),{},{type:"time"}))}:void 0,format:void 0},Sa,bi,{disabledTime:null,defaultValue:void 0,operationRef:Kr,active:Aa==="time",onSelect:function(ii){vi(ii,"time")}})))}var qo=po;function Uo(Ct){var _t=Ct.prefixCls,zt=Ct.generateConfig,bn=Ct.viewDate,An=Ct.onPrevDecades,cr=Ct.onNextDecades,ir=ge.useContext(xt),kr=ir.hideHeader;if(kr)return null;var Rr="".concat(_t,"-header"),qr=zt.getYear(bn),_a=Math.floor(qr/Tt)*Tt,ta=_a+Tt-1;return ge.createElement(xr,(0,ue.Z)({},Ct,{prefixCls:Rr,onSuperPrev:An,onSuperNext:cr}),_a,"-",ta)}var Wo=Uo,Qr=3,jo=4;function Ms(Ct){var _t=Kt-1,zt=Ct.prefixCls,bn=Ct.viewDate,An=Ct.generateConfig,cr=Ct.cellRender,ir=Ct.locale,kr="".concat(zt,"-cell"),Rr=An.getYear(bn),qr=Math.floor(Rr/Kt)*Kt,_a=Math.floor(Rr/Tt)*Tt,ta=_a+Tt-1,ia=An.setYear(bn,_a-Math.ceil((Qr*jo*Kt-Tt)/2)),Aa=function(Kr){var Sa,gi=An.getYear(Kr),Ka=gi+_t;return Sa={},(0,Ot.Z)(Sa,"".concat(kr,"-in-view"),_a<=gi&&Ka<=ta),(0,Ot.Z)(Sa,"".concat(kr,"-selected"),gi===qr),Sa},xa=cr?function(zr,Kr){return cr(zr,{originNode:Kr,today:An.getNow(),type:"decade",locale:ir})}:void 0;return ge.createElement(br,(0,ue.Z)({},Ct,{rowNum:jo,colNum:Qr,baseDate:ia,getCellNode:xa,getCellText:function(Kr){var Sa=An.getYear(Kr);return"".concat(Sa,"-").concat(Sa+_t)},getCellClassName:Aa,getCellDate:function(Kr,Sa){return An.addYear(Kr,Sa*Kt)}}))}var js=Ms;function yo(Ct){var _t=Ct.prefixCls,zt=Ct.onViewDateChange,bn=Ct.generateConfig,An=Ct.viewDate,cr=Ct.operationRef,ir=Ct.onSelect,kr=Ct.onPanelChange,Rr="".concat(_t,"-decade-panel");cr.current={onKeyDown:function(ia){return di(ia,{onLeftRight:function(xa){ir(bn.addYear(An,xa*Kt),"key")},onCtrlLeftRight:function(xa){ir(bn.addYear(An,xa*Tt),"key")},onUpDown:function(xa){ir(bn.addYear(An,xa*Kt*Qr),"key")},onEnter:function(){kr("year",An)}})}};var qr=function(ia){var Aa=bn.addYear(An,ia*Tt);zt(Aa),kr(null,Aa)},_a=function(ia){ir(ia,"mouse"),kr("year",ia)};return ge.createElement("div",{className:Rr},ge.createElement(Wo,(0,ue.Z)({},Ct,{prefixCls:_t,onPrevDecades:function(){qr(-1)},onNextDecades:function(){qr(1)}})),ge.createElement(js,(0,ue.Z)({},Ct,{prefixCls:_t,onSelect:_a})))}var ki=yo;function Gs(Ct){var _t=Ct.prefixCls,zt=Ct.generateConfig,bn=Ct.locale,An=Ct.viewDate,cr=Ct.onNextYear,ir=Ct.onPrevYear,kr=Ct.onYearClick,Rr=ge.useContext(xt),qr=Rr.hideHeader;if(qr)return null;var _a="".concat(_t,"-header");return ge.createElement(xr,(0,ue.Z)({},Ct,{prefixCls:_a,onSuperPrev:ir,onSuperNext:cr}),ge.createElement("button",{type:"button",onClick:kr,className:"".concat(_t,"-year-btn")},gn(An,{locale:bn,format:bn.yearFormat,generateConfig:zt})))}var $i=Gs,Go=3,No=4;function Cs(Ct){var _t=Ct.prefixCls,zt=Ct.locale,bn=Ct.value,An=Ct.viewDate,cr=Ct.generateConfig,ir=Ct.cellRender,kr=ge.useContext(pn),Rr=kr.rangedValue,qr=kr.hoverRangedValue,_a="".concat(_t,"-cell"),ta=rr({cellPrefixCls:_a,value:bn,generateConfig:cr,rangedValue:Rr,hoverRangedValue:qr,isSameCell:function(Kr,Sa){return wt(cr,Kr,Sa)},isInView:function(){return!0},offsetCell:function(Kr,Sa){return cr.addMonth(Kr,Sa)}}),ia=zt.shortMonths||(cr.locale.getShortMonths?cr.locale.getShortMonths(zt.locale):[]),Aa=cr.setMonth(An,0),xa=ir?function(zr,Kr){return ir(zr,{originNode:Kr,locale:zt,today:cr.getNow(),type:"month"})}:void 0;return ge.createElement(br,(0,ue.Z)({},Ct,{rowNum:No,colNum:Go,baseDate:Aa,getCellNode:xa,getCellText:function(Kr){return zt.monthFormat?gn(Kr,{locale:zt,format:zt.monthFormat,generateConfig:cr}):ia[cr.getMonth(Kr)]},getCellClassName:ta,getCellDate:cr.addMonth,titleCell:function(Kr){return gn(Kr,{locale:zt,format:"YYYY-MM",generateConfig:cr})}}))}var tl=Cs;function nl(Ct){var _t=Ct.prefixCls,zt=Ct.operationRef,bn=Ct.onViewDateChange,An=Ct.generateConfig,cr=Ct.value,ir=Ct.viewDate,kr=Ct.onPanelChange,Rr=Ct.onSelect,qr="".concat(_t,"-month-panel");zt.current={onKeyDown:function(ia){return di(ia,{onLeftRight:function(xa){Rr(An.addMonth(cr||ir,xa),"key")},onCtrlLeftRight:function(xa){Rr(An.addYear(cr||ir,xa),"key")},onUpDown:function(xa){Rr(An.addMonth(cr||ir,xa*Go),"key")},onEnter:function(){kr("date",cr||ir)}})}};var _a=function(ia){var Aa=An.addYear(ir,ia);bn(Aa),kr(null,Aa)};return ge.createElement("div",{className:qr},ge.createElement($i,(0,ue.Z)({},Ct,{prefixCls:_t,onPrevYear:function(){_a(-1)},onNextYear:function(){_a(1)},onYearClick:function(){kr("year",ir)}})),ge.createElement(tl,(0,ue.Z)({},Ct,{prefixCls:_t,onSelect:function(ia){Rr(ia,"mouse"),kr("date",ia)}})))}var hu=nl;function _l(Ct){var _t=Ct.prefixCls,zt=Ct.generateConfig,bn=Ct.locale,An=Ct.viewDate,cr=Ct.onNextYear,ir=Ct.onPrevYear,kr=Ct.onYearClick,Rr=ge.useContext(xt),qr=Rr.hideHeader;if(qr)return null;var _a="".concat(_t,"-header");return ge.createElement(xr,(0,ue.Z)({},Ct,{prefixCls:_a,onSuperPrev:ir,onSuperNext:cr}),ge.createElement("button",{type:"button",onClick:kr,className:"".concat(_t,"-year-btn")},gn(An,{locale:bn,format:bn.yearFormat,generateConfig:zt})))}var Ds=_l,vs=4,Fl=1;function Su(Ct){var _t=Ct.prefixCls,zt=Ct.locale,bn=Ct.value,An=Ct.viewDate,cr=Ct.generateConfig,ir=Ct.cellRender,kr=ge.useContext(pn),Rr=kr.rangedValue,qr=kr.hoverRangedValue,_a="".concat(_t,"-cell"),ta=rr({cellPrefixCls:_a,value:bn,generateConfig:cr,rangedValue:Rr,hoverRangedValue:qr,isSameCell:function(zr,Kr){return Nt(cr,zr,Kr)},isInView:function(){return!0},offsetCell:function(zr,Kr){return cr.addMonth(zr,Kr*3)}}),ia=cr.setDate(cr.setMonth(An,0),1),Aa=ir?function(xa,zr){return ir(xa,{originNode:zr,locale:zt,today:cr.getNow(),type:"quarter"})}:void 0;return ge.createElement(br,(0,ue.Z)({},Ct,{rowNum:Fl,colNum:vs,baseDate:ia,getCellNode:Aa,getCellText:function(zr){return gn(zr,{locale:zt,format:zt.quarterFormat||"[Q]Q",generateConfig:cr})},getCellClassName:ta,getCellDate:function(zr,Kr){return cr.addMonth(zr,Kr*3)},titleCell:function(zr){return gn(zr,{locale:zt,format:"YYYY-[Q]Q",generateConfig:cr})}}))}var Ps=Su;function Ku(Ct){var _t=Ct.prefixCls,zt=Ct.operationRef,bn=Ct.onViewDateChange,An=Ct.generateConfig,cr=Ct.value,ir=Ct.viewDate,kr=Ct.onPanelChange,Rr=Ct.onSelect,qr="".concat(_t,"-quarter-panel");zt.current={onKeyDown:function(ia){return di(ia,{onLeftRight:function(xa){Rr(An.addMonth(cr||ir,xa*3),"key")},onCtrlLeftRight:function(xa){Rr(An.addYear(cr||ir,xa),"key")},onUpDown:function(xa){Rr(An.addYear(cr||ir,xa),"key")}})}};var _a=function(ia){var Aa=An.addYear(ir,ia);bn(Aa),kr(null,Aa)};return ge.createElement("div",{className:qr},ge.createElement(Ds,(0,ue.Z)({},Ct,{prefixCls:_t,onPrevYear:function(){_a(-1)},onNextYear:function(){_a(1)},onYearClick:function(){kr("year",ir)}})),ge.createElement(Ps,(0,ue.Z)({},Ct,{prefixCls:_t,onSelect:function(ia){Rr(ia,"mouse")}})))}var Bi=Ku;function za(Ct){var _t=Ct.prefixCls,zt=Ct.generateConfig,bn=Ct.locale,An=Ct.value,cr=Ct.disabledDate,ir=Ct.onSelect,kr=ge.useContext(pn),Rr=kr.rangedValue,qr=kr.hoverRangedValue,_a=ge.useContext(xt),ta=_a.onDateMouseEnter,ia=_a.onDateMouseLeave,Aa=(qr==null?void 0:qr[0])||(Rr==null?void 0:Rr[0]),xa=(qr==null?void 0:qr[1])||(Rr==null?void 0:Rr[1]),zr="".concat(_t,"-cell"),Kr=function(vi){var bi=Ln({cellDate:vi,mode:"week",disabledDate:cr,generateConfig:zt});return ge.createElement("td",{key:"week",className:ht()(zr,"".concat(zr,"-week")),onClick:function(){bi||ir(vi,"mouse")},onMouseEnter:function(){!bi&&ta&&ta(vi)},onMouseLeave:function(){!bi&&ia&&ia(vi)}},ge.createElement("div",{className:"".concat(zr,"-inner")},zt.locale.getWeek(bn.locale,vi)))},Sa="".concat(_t,"-week-panel-row"),gi=function(vi){var bi,hi=zn(zt,bn.locale,Aa,vi),ii=zn(zt,bn.locale,xa,vi);return ht()(Sa,(bi={},(0,Ot.Z)(bi,"".concat(Sa,"-selected"),!Rr&&zn(zt,bn.locale,An,vi)),(0,Ot.Z)(bi,"".concat(Sa,"-range-start"),hi),(0,Ot.Z)(bi,"".concat(Sa,"-range-end"),ii),(0,Ot.Z)(bi,"".concat(Sa,"-range-hover"),!hi&&!ii&&nr(zt,Aa,xa,vi)),bi))};return ge.createElement(ai,(0,ue.Z)({},Ct,{panelName:"week",prefixColumn:Kr,rowClassName:gi,keyboardConfig:{onLeftRight:null},isSameCell:function(){return!1}}))}var Ua=za,ja=10;function Wi(Ct){var _t=Ct.prefixCls,zt=Ct.generateConfig,bn=Ct.viewDate,An=Ct.onPrevDecade,cr=Ct.onNextDecade,ir=Ct.onDecadeClick,kr=ge.useContext(xt),Rr=kr.hideHeader;if(Rr)return null;var qr="".concat(_t,"-header"),_a=zt.getYear(bn),ta=Math.floor(_a/ja)*ja,ia=ta+ja-1;return ge.createElement(xr,(0,ue.Z)({},Ct,{prefixCls:qr,onSuperPrev:An,onSuperNext:cr}),ge.createElement("button",{type:"button",onClick:ir,className:"".concat(_t,"-decade-btn")},ta,"-",ia))}var xo=Wi,es=3,ss=4;function fi(Ct){var _t=Ct.prefixCls,zt=Ct.value,bn=Ct.viewDate,An=Ct.locale,cr=Ct.generateConfig,ir=Ct.cellRender,kr=ge.useContext(pn),Rr=kr.rangedValue,qr=kr.hoverRangedValue,_a="".concat(_t,"-cell"),ta=cr.getYear(bn),ia=Math.floor(ta/ja)*ja,Aa=ia+ja-1,xa=cr.setYear(bn,ia-Math.ceil((es*ss-ja)/2)),zr=cr.getNow(),Kr=function(vi){var bi=cr.getYear(vi);return ia<=bi&&bi<=Aa},Sa=rr({cellPrefixCls:_a,value:zt,generateConfig:cr,rangedValue:Rr,hoverRangedValue:qr,isSameCell:function(vi,bi){return St(cr,vi,bi)},isInView:Kr,offsetCell:function(vi,bi){return cr.addYear(vi,bi)}}),gi=ir?function(Ka,vi){return ir(Ka,{originNode:vi,today:zr,type:"year",locale:An})}:void 0;return ge.createElement(br,(0,ue.Z)({},Ct,{rowNum:ss,colNum:es,baseDate:xa,getCellNode:gi,getCellText:cr.getYear,getCellClassName:Sa,getCellDate:cr.addYear,titleCell:function(vi){return gn(vi,{locale:An,format:"YYYY",generateConfig:cr})}}))}var Ts=fi;function kl(Ct){var _t=Ct.prefixCls,zt=Ct.operationRef,bn=Ct.onViewDateChange,An=Ct.generateConfig,cr=Ct.value,ir=Ct.viewDate,kr=Ct.sourceMode,Rr=Ct.onSelect,qr=Ct.onPanelChange,_a="".concat(_t,"-year-panel");zt.current={onKeyDown:function(Aa){return di(Aa,{onLeftRight:function(zr){Rr(An.addYear(cr||ir,zr),"key")},onCtrlLeftRight:function(zr){Rr(An.addYear(cr||ir,zr*ja),"key")},onUpDown:function(zr){Rr(An.addYear(cr||ir,zr*es),"key")},onEnter:function(){qr(kr==="date"?"date":"month",cr||ir)}})}};var ta=function(Aa){var xa=An.addYear(ir,Aa*10);bn(xa),qr(null,xa)};return ge.createElement("div",{className:_a},ge.createElement(xo,(0,ue.Z)({},Ct,{prefixCls:_t,onPrevDecade:function(){ta(-1)},onNextDecade:function(){ta(1)},onDecadeClick:function(){qr("decade",ir)}})),ge.createElement(Ts,(0,ue.Z)({},Ct,{prefixCls:_t,onSelect:function(Aa){qr(kr==="date"?"date":"month",Aa),Rr(Aa,"mouse")}})))}var Ks=kl;function so(Ct,_t,zt){return zt?ge.createElement("div",{className:"".concat(Ct,"-footer-extra")},zt(_t)):null}function Ro(Ct){var _t=Ct.prefixCls,zt=Ct.components,bn=zt===void 0?{}:zt,An=Ct.needConfirmButton,cr=Ct.onNow,ir=Ct.onOk,kr=Ct.okDisabled,Rr=Ct.showNow,qr=Ct.locale,_a,ta;if(An){var ia=bn.button||"button";cr&&Rr!==!1&&(_a=ge.createElement("li",{className:"".concat(_t,"-now")},ge.createElement("a",{className:"".concat(_t,"-now-btn"),onClick:cr},qr.now))),ta=An&&ge.createElement("li",{className:"".concat(_t,"-ok")},ge.createElement(ia,{disabled:kr,onClick:ir},qr.ok))}return!_a&&!ta?null:ge.createElement("ul",{className:"".concat(_t,"-ranges")},_a,ta)}var ms=["date","month"];function So(Ct){var _t,zt=Ct,bn=zt.prefixCls,An=bn===void 0?"rc-picker":bn,cr=zt.className,ir=zt.style,kr=zt.locale,Rr=zt.generateConfig,qr=zt.value,_a=zt.defaultValue,ta=zt.pickerValue,ia=zt.defaultPickerValue,Aa=zt.disabledDate,xa=zt.mode,zr=zt.picker,Kr=zr===void 0?"date":zr,Sa=zt.tabIndex,gi=Sa===void 0?0:Sa,Ka=zt.showNow,vi=zt.showTime,bi=zt.showToday,hi=zt.renderExtraFooter,ii=zt.hideHeader,Ni=zt.onSelect,ro=zt.onChange,bo=zt.onPanelChange,Mo=zt.onMouseDown,ns=zt.onPickerValueChange,ps=zt.onOk,Ns=zt.components,$o=zt.direction,ho=zt.hourStep,_o=ho===void 0?1:ho,Do=zt.minuteStep,As=Do===void 0?1:Do,Qo=zt.secondStep,Fa=Qo===void 0?1:Qo,Zs=zt.dateRender,Rs=zt.monthCellRender,Ft=zt.cellRender,Ut=Kr==="date"&&!!vi||Kr==="time",un=24%_o===0,Sn=60%As===0,_n=60%Fa===0,Un=ge.useContext(xt),gr=Un.operationRef,ur=Un.onSelect,dr=Un.hideRanges,Lr=Un.defaultOpenValue,Pr=ge.useContext(pn),Dr=Pr.inRange,$r=Pr.panelPosition,Jr=Pr.rangedValue,Er=Pr.hoverRangedValue,pa=ge.useRef({}),ha=ge.useRef(!0),ka=(0,Dn.Z)(null,{value:qr,defaultValue:_a,postState:function(Fn){return!Fn&&Lr&&Kr==="time"?Lr:Fn}}),Pa=(0,tn.Z)(ka,2),Ra=Pa[0],Ci=Pa[1],wi=(0,Dn.Z)(null,{value:ta,defaultValue:ia||Ra,postState:function(Fn){var Qn=Rr.getNow();if(!Fn)return Qn;if(!Ra&&vi){var wr=(0,bt.Z)(vi)==="object"?vi.defaultValue:_a;return Bn(Rr,Array.isArray(Fn)?Fn[0]:Fn,wr||Qn)}return Array.isArray(Fn)?Fn[0]:Fn}}),ui=(0,tn.Z)(wi,2),Mi=ui[0],Fi=ui[1],ei=function(Fn){Fi(Fn),ns&&ns(Fn)},Ei=function(Fn){var Qn=Fr[Kr];return Qn?Qn(Fn):Fn},ti=(0,Dn.Z)(function(){return Kr==="time"?"time":Ei("date")},{value:xa}),Wa=(0,tn.Z)(ti,2),ba=Wa[0],Ii=Wa[1];ge.useEffect(function(){Ii(Kr)},[Kr]);var eo=ge.useState(function(){return ba}),Ki=(0,tn.Z)(eo,2),xi=Ki[0],He=Ki[1],et=function(Fn,Qn){var wr=Ei(Fn||ba);He(ba),Ii(wr),bo&&(ba!==wr||Gn(Rr,Mi,Mi))&&bo(Qn,wr)},it=function(Fn,Qn){var wr=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;(ba===Kr||wr)&&(Ci(Fn),Ni&&Ni(Fn),ur&&ur(Fn,Qn),ro&&!Gn(Rr,Fn,Ra)&&!(Aa!=null&&Aa(Fn))&&ro(Fn))},Et=function(Fn){if(ms.includes(ba)){var Qn,wr,Cr=ba==="date";switch(Fn===Mr.Z.PAGE_UP||Fn===Mr.Z.PAGE_DOWN?wr=Cr?Rr.addMonth:Rr.addYear:wr=Cr?Rr.addDate:Rr.addMonth,Fn){case Mr.Z.LEFT:case Mr.Z.PAGE_UP:Qn=wr(Mi,-1);break;case Mr.Z.RIGHT:case Mr.Z.PAGE_DOWN:Qn=wr(Mi,1);break;case Mr.Z.UP:case Mr.Z.DOWN:Qn=wr(Mi,Number("".concat(Fn===Mr.Z.UP?"-":"").concat(Cr?yt:Go)));break}if(Qn)return!(Aa!=null&&Aa(Qn))}return!0},It=function(Fn){if(pa.current&&pa.current.onKeyDown){var Qn=!0,wr=Fn.which;if([Mr.Z.LEFT,Mr.Z.RIGHT,Mr.Z.UP,Mr.Z.DOWN,Mr.Z.PAGE_UP,Mr.Z.PAGE_DOWN,Mr.Z.ENTER].includes(wr)&&(Fn.preventDefault(),wr!==Mr.Z.ENTER&&gi===0&&(Qn=Et(wr))),Qn)return pa.current.onKeyDown(Fn)}return(0,Re.ZP)(!1,"Panel not correct handle keyDown event. Please help to fire issue about this."),!1},Lt=function(Fn){pa.current&&pa.current.onBlur&&pa.current.onBlur(Fn)};gr&&$r!=="right"&&(gr.current={onKeyDown:It,onClose:function(){pa.current&&pa.current.onClose&&pa.current.onClose()}}),ge.useEffect(function(){qr&&!ha.current&&Fi(qr)},[qr]),ge.useEffect(function(){ha.current=!1},[]);var jt,kt=Yt({cellRender:Ft,monthCellRender:Rs,dateRender:Zs}),qt=(0,an.Z)((0,an.Z)({},Ct),{},{cellRender:kt,operationRef:pa,prefixCls:An,viewDate:Mi,value:Ra,onViewDateChange:ei,sourceMode:xi,onPanelChange:et,disabledDate:Aa});switch(delete qt.onChange,delete qt.onSelect,ba){case"decade":jt=ge.createElement(ki,(0,ue.Z)({},qt,{onSelect:function(Fn,Qn){ei(Fn),it(Fn,Qn)}}));break;case"year":jt=ge.createElement(Ks,(0,ue.Z)({},qt,{onSelect:function(Fn,Qn){ei(Fn),it(Fn,Qn)}}));break;case"month":jt=ge.createElement(hu,(0,ue.Z)({},qt,{onSelect:function(Fn,Qn){ei(Fn),it(Fn,Qn)}}));break;case"quarter":jt=ge.createElement(Bi,(0,ue.Z)({},qt,{onSelect:function(Fn,Qn){ei(Fn),it(Fn,Qn)}}));break;case"week":jt=ge.createElement(Ua,(0,ue.Z)({},qt,{onSelect:function(Fn,Qn){ei(Fn),it(Fn,Qn)}}));break;case"time":delete qt.showTime,jt=ge.createElement(Os,(0,ue.Z)({},qt,(0,bt.Z)(vi)==="object"?vi:null,{onSelect:function(Fn,Qn){ei(Fn),it(Fn,Qn)}}));break;default:vi?jt=ge.createElement(qo,(0,ue.Z)({},qt,{onSelect:function(Fn,Qn){ei(Fn),it(Fn,Qn)}})):jt=ge.createElement(ai,(0,ue.Z)({},qt,{onSelect:function(Fn,Qn){ei(Fn),it(Fn,Qn)}}))}var Zt,ln,In=function(){var Fn=Rr.getNow(),Qn=Hn(Rr.getHour(Fn),Rr.getMinute(Fn),Rr.getSecond(Fn),un?_o:1,Sn?As:1,_n?Fa:1),wr=nn(Rr,Fn,Qn[0],Qn[1],Qn[2]);it(wr,"submit")};dr||(Zt=so(An,ba,hi),vi&&ba!=="date"?ln=null:ln=Ro({prefixCls:An,components:Ns,needConfirmButton:Ut,okDisabled:!Ra||Aa&&Aa(Ra),locale:kr,showNow:Ka,onNow:Ut&&In,onOk:function(){Ra&&(it(Ra,"submit",!0),ps&&ps(Ra))}}));var Cn;if(bi&&ba==="date"&&Kr==="date"&&!vi){var Yn=Rr.getNow(),Kn="".concat(An,"-today-btn"),Rn=Aa&&Aa(Yn);Cn=ge.createElement("a",{className:ht()(Kn,Rn&&"".concat(Kn,"-disabled")),"aria-disabled":Rn,onClick:function(){Rn||it(Yn,"mouse",!0)}},kr.today)}return ge.createElement(xt.Provider,{value:(0,an.Z)((0,an.Z)({},Un),{},{mode:ba,hideHeader:"hideHeader"in Ct?ii:Un.hideHeader,hidePrevBtn:Dr&&$r==="right",hideNextBtn:Dr&&$r==="left"})},ge.createElement("div",{tabIndex:gi,className:ht()("".concat(An,"-panel"),cr,(_t={},(0,Ot.Z)(_t,"".concat(An,"-panel-has-range"),Jr&&Jr[0]&&Jr[1]),(0,Ot.Z)(_t,"".concat(An,"-panel-has-range-hover"),Er&&Er[0]&&Er[1]),(0,Ot.Z)(_t,"".concat(An,"-panel-rtl"),$o==="rtl"),_t)),style:ir,onKeyDown:It,onBlur:Lt,onMouseDown:Mo},jt,Zt||ln||Cn?ge.createElement("div",{className:"".concat(An,"-footer")},Zt,ln,Cn):null))}var ts=So,Vs=Oe(35593),zs={bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:1,adjustY:1}},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:1,adjustY:1}},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:0,adjustY:1}},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:0,adjustY:1}}};function bu(Ct){var _t,zt=Ct.prefixCls,bn=Ct.popupElement,An=Ct.popupStyle,cr=Ct.visible,ir=Ct.dropdownClassName,kr=Ct.dropdownAlign,Rr=Ct.transitionName,qr=Ct.getPopupContainer,_a=Ct.children,ta=Ct.range,ia=Ct.popupPlacement,Aa=Ct.direction,xa="".concat(zt,"-dropdown"),zr=function(){return ia!==void 0?ia:Aa==="rtl"?"bottomRight":"bottomLeft"};return ge.createElement(Vs.Z,{showAction:[],hideAction:[],popupPlacement:zr(),builtinPlacements:zs,prefixCls:xa,popupTransitionName:Rr,popup:bn,popupAlign:kr,popupVisible:cr,popupClassName:ht()(ir,(_t={},(0,Ot.Z)(_t,"".concat(xa,"-range"),ta),(0,Ot.Z)(_t,"".concat(xa,"-rtl"),Aa==="rtl"),_t)),popupStyle:An,getPopupContainer:qr},_a)}var gu=bu;function Yc(Ct){var _t=Ct.prefixCls,zt=Ct.presets,bn=Ct.onClick,An=Ct.onHover;return zt.length?ge.createElement("div",{className:"".concat(_t,"-presets")},ge.createElement("ul",null,zt.map(function(cr,ir){var kr=cr.label,Rr=cr.value;return ge.createElement("li",{key:ir,onClick:function(){return bn==null?void 0:bn(er(Rr))},onMouseEnter:function(){return An==null?void 0:An(er(Rr))},onMouseLeave:function(){return An==null?void 0:An(null)}},kr)}))):null}function md(Ct){var _t=Ct.picker,zt=Ct.disabledHours,bn=Ct.disabledMinutes,An=Ct.disabledSeconds;_t==="time"&&(zt||bn||An)&&warning(!1,"'disabledHours', 'disabledMinutes', 'disabledSeconds' will be removed in the next major version, please use 'disabledTime' instead.")}function Zu(Ct,_t,zt){var bn=(0,bt.Z)(_t)==="object"?_t.clearIcon:zt;return bn||ge.createElement("span",{className:"".concat(Ct,"-clear-btn")})}function vu(Ct){var _t,zt=Ct,bn=zt.prefixCls,An=bn===void 0?"rc-picker":bn,cr=zt.id,ir=zt.name,kr=zt.tabIndex,Rr=zt.style,qr=zt.className,_a=zt.dropdownClassName,ta=zt.dropdownAlign,ia=zt.popupStyle,Aa=zt.transitionName,xa=zt.generateConfig,zr=zt.locale,Kr=zt.inputReadOnly,Sa=zt.allowClear,gi=zt.autoFocus,Ka=zt.showTime,vi=zt.picker,bi=vi===void 0?"date":vi,hi=zt.format,ii=zt.use12Hours,Ni=zt.value,ro=zt.defaultValue,bo=zt.presets,Mo=zt.open,ns=zt.defaultOpen,ps=zt.defaultOpenValue,Ns=zt.suffixIcon,$o=zt.clearIcon,ho=zt.disabled,_o=zt.disabledDate,Do=zt.placeholder,As=zt.getPopupContainer,Qo=zt.pickerRef,Fa=zt.panelRender,Zs=zt.onChange,Rs=zt.onOpenChange,Ft=zt.onFocus,Ut=zt.onBlur,un=zt.onMouseDown,Sn=zt.onMouseUp,_n=zt.onMouseEnter,Un=zt.onMouseLeave,gr=zt.onContextMenu,ur=zt.onClick,dr=zt.onKeyDown,Lr=zt.onSelect,Pr=zt.direction,Dr=zt.autoComplete,$r=Dr===void 0?"off":Dr,Jr=zt.inputRender,Er=zt.changeOnBlur,pa=ge.useRef(null),ha=bi==="date"&&!!Ka||bi==="time",ka=Le(bo),Pa=fn(Hr(hi,bi,Ka,ii)),Ra=ge.useRef(null),Ci=ge.useRef(null),wi=ge.useRef(null),ui=(0,Dn.Z)(null,{value:Ni,defaultValue:ro}),Mi=(0,tn.Z)(ui,2),Fi=Mi[0],ei=Mi[1],Ei=ge.useState(Fi),ti=(0,tn.Z)(Ei,2),Wa=ti[0],ba=ti[1],Ii=ge.useRef(null),eo=(0,Dn.Z)(!1,{value:Mo,defaultValue:ns,postState:function(oa){return ho?!1:oa},onChange:function(oa){Rs&&Rs(oa),!oa&&Ii.current&&Ii.current.onClose&&Ii.current.onClose()}}),Ki=(0,tn.Z)(eo,2),xi=Ki[0],He=Ki[1],et=Sr(Wa,{formatList:Pa,generateConfig:xa,locale:zr}),it=(0,tn.Z)(et,2),Et=it[0],It=it[1],Lt=ze({valueTexts:Et,onTextChange:function(oa){var ni=jn(oa,{locale:zr,formatList:Pa,generateConfig:xa});ni&&(!_o||!_o(ni))&&ba(ni)}}),jt=(0,tn.Z)(Lt,3),kt=jt[0],qt=jt[1],Zt=jt[2],ln=function(oa){ba(oa),ei(oa),Zs&&!Gn(xa,Fi,oa)&&Zs(oa,oa?gn(oa,{generateConfig:xa,locale:zr,format:Pa[0]}):"")},In=function(oa){ho&&oa||He(oa)},Cn=function(oa){return xi&&Ii.current&&Ii.current.onKeyDown?Ii.current.onKeyDown(oa):((0,Re.ZP)(!1,"Picker not correct forward KeyDown operation. Please help to fire issue about this."),!1)},Yn=function(){for(var oa=arguments.length,ni=new Array(oa),ao=0;ao<oa;ao++)ni[ao]=arguments[ao];ur==null||ur.apply(void 0,ni),pa.current&&(pa.current.focus(),In(!0))},Kn=function(oa){Er&&ln(Wa),Ut==null||Ut(oa)},Rn=Ae({blurToCancel:ha,open:xi,value:kt,triggerOpen:In,forwardKeyDown:Cn,isClickOutside:function(oa){return!pt([Ra.current,Ci.current,wi.current],oa)},onSubmit:function(){return!Wa||_o&&_o(Wa)?!1:(ln(Wa),In(!1),Zt(),!0)},onCancel:function(){In(!1),ba(Fi),Zt()},onKeyDown:function(oa,ni){dr==null||dr(oa,ni)},onFocus:Ft,onBlur:Kn,changeOnBlur:Er}),Vn=(0,tn.Z)(Rn,2),Fn=Vn[0],Qn=Vn[1],wr=Qn.focused,Cr=Qn.typing;ge.useEffect(function(){xi||(ba(Fi),!Et.length||Et[0]===""?qt(""):It!==kt&&Zt())},[xi,Et]),ge.useEffect(function(){xi||Zt()},[bi]),ge.useEffect(function(){ba(Fi)},[Fi]),Qo&&(Qo.current={focus:function(){var oa;(oa=pa.current)===null||oa===void 0||oa.focus()},blur:function(){var oa;(oa=pa.current)===null||oa===void 0||oa.blur()}});var Ar=Ur(kt,{formatList:Pa,generateConfig:xa,locale:zr}),$n=(0,tn.Z)(Ar,3),va=$n[0],Va=$n[1],Za=$n[2],Ir=(0,an.Z)((0,an.Z)({},Ct),{},{className:void 0,style:void 0,pickerValue:void 0,onPickerValueChange:void 0,onChange:null}),Tr=ge.createElement("div",{className:"".concat(An,"-panel-layout")},ge.createElement(Yc,{prefixCls:An,presets:ka,onClick:function(oa){ln(oa),In(!1)}}),ge.createElement(ts,(0,ue.Z)({},Ir,{generateConfig:xa,className:ht()((0,Ot.Z)({},"".concat(An,"-panel-focused"),!Cr)),value:Wa,locale:zr,tabIndex:-1,onSelect:function(oa){Lr==null||Lr(oa),ba(oa)},direction:Pr,onPanelChange:function(oa,ni){var ao=Ct.onPanelChange;Za(!0),ao==null||ao(oa,ni)}})));Fa&&(Tr=Fa(Tr));var da=ge.createElement("div",{className:"".concat(An,"-panel-container"),ref:Ra,onMouseDown:function(oa){oa.preventDefault()}},Tr),Wn;Ns&&(Wn=ge.createElement("span",{className:"".concat(An,"-suffix"),onMouseDown:function(oa){oa.preventDefault()}},Ns));var Br=Zu(An,Sa,$o),ra=ge.createElement("span",{onMouseDown:function(oa){oa.preventDefault(),oa.stopPropagation()},onMouseUp:function(oa){oa.preventDefault(),oa.stopPropagation(),ln(null),In(!1)},className:"".concat(An,"-clear"),role:"button"},Br),Wr=!!Sa&&Fi&&!ho,ca=(0,an.Z)((0,an.Z)((0,an.Z)({id:cr,tabIndex:kr,disabled:ho,readOnly:Kr||typeof Pa[0]=="function"||!Cr,value:va||kt,onChange:function(oa){qt(oa.target.value)},autoFocus:gi,placeholder:Do,ref:pa,title:kt},Fn),{},{size:Ta(bi,Pa[0],xa),name:ir},(0,Tn.Z)(Ct,{aria:!0,data:!0})),{},{autoComplete:$r}),aa=Jr?Jr(ca):ge.createElement("input",ca),Ba=function(oa,ni){(ni==="submit"||ni!=="key"&&!ha)&&(ln(oa),In(!1))},pi=Pr==="rtl"?"bottomRight":"bottomLeft";return ge.createElement(xt.Provider,{value:{operationRef:Ii,hideHeader:bi==="time",onSelect:Ba,open:xi,defaultOpenValue:ps,onDateMouseEnter:Va,onDateMouseLeave:Za}},ge.createElement(gu,{visible:xi,popupElement:da,popupStyle:ia,prefixCls:An,dropdownClassName:_a,dropdownAlign:ta,getPopupContainer:As,transitionName:Aa,popupPlacement:pi,direction:Pr},ge.createElement("div",{ref:wi,className:ht()(An,qr,(_t={},(0,Ot.Z)(_t,"".concat(An,"-disabled"),ho),(0,Ot.Z)(_t,"".concat(An,"-focused"),wr),(0,Ot.Z)(_t,"".concat(An,"-rtl"),Pr==="rtl"),_t)),style:Rr,onMouseDown:un,onMouseUp:Sn,onMouseEnter:_n,onMouseLeave:Un,onContextMenu:gr,onClick:Yn},ge.createElement("div",{className:ht()("".concat(An,"-input"),(0,Ot.Z)({},"".concat(An,"-input-placeholder"),!!va)),ref:Ci},aa,Wn,Wr&&ra))))}var pd=function(Ct){(0,en.Z)(zt,Ct);var _t=(0,mn.Z)(zt);function zt(){var bn;(0,vt.Z)(this,zt);for(var An=arguments.length,cr=new Array(An),ir=0;ir<An;ir++)cr[ir]=arguments[ir];return bn=_t.call.apply(_t,[this].concat(cr)),(0,Ot.Z)((0,Jt.Z)(bn),"pickerRef",ge.createRef()),(0,Ot.Z)((0,Jt.Z)(bn),"focus",function(){bn.pickerRef.current&&bn.pickerRef.current.focus()}),(0,Ot.Z)((0,Jt.Z)(bn),"blur",function(){bn.pickerRef.current&&bn.pickerRef.current.blur()}),bn}return(0,Wt.Z)(zt,[{key:"render",value:function(){return ge.createElement(vu,(0,ue.Z)({},this.props,{pickerRef:this.pickerRef}))}}]),zt}(ge.Component),yd=pd;function Xc(Ct,_t){var zt=Ct.picker,bn=Ct.locale,An=Ct.selectedValue,cr=Ct.disabledDate,ir=Ct.disabled,kr=Ct.generateConfig,Rr=Zn(An,0),qr=Zn(An,1);function _a(zr){return kr.locale.getWeekFirstDate(bn.locale,zr)}function ta(zr){var Kr=kr.getYear(zr),Sa=kr.getMonth(zr);return Kr*100+Sa}function ia(zr){var Kr=kr.getYear(zr),Sa=Qt(kr,zr);return Kr*10+Sa}var Aa=ge.useCallback(function(zr){if(ir[0]||cr&&cr(zr))return!0;if(ir[1]&&qr)return!rn(kr,zr,qr)&&kr.isAfter(zr,qr);if(!_t&&qr)switch(zt){case"quarter":return ia(zr)>ia(qr);case"month":return ta(zr)>ta(qr);case"week":return _a(zr)>_a(qr);default:return!rn(kr,zr,qr)&&kr.isAfter(zr,qr)}return!1},[cr,ir[1],qr,_t]),xa=ge.useCallback(function(zr){if(ir[1]||cr&&cr(zr))return!0;if(ir[0]&&Rr)return!rn(kr,zr,qr)&&kr.isAfter(Rr,zr);if(!_t&&Rr)switch(zt){case"quarter":return ia(zr)<ia(Rr);case"month":return ta(zr)<ta(Rr);case"week":return _a(zr)<_a(Rr);default:return!rn(kr,zr,Rr)&&kr.isAfter(Rr,zr)}return!1},[cr,ir[0],Rr,_t]);return[Aa,xa]}var jd=Oe(70425),Oh=Oe(6089);function _g(Ct,_t,zt,bn,An,cr,ir,kr,Rr,qr){var _a=ge.useState(!1),ta=(0,tn.Z)(_a,2),ia=ta[0],Aa=ta[1],xa=(0,jd.useMergedState)(Ct||!1,{value:_t}),zr=(0,tn.Z)(xa,2),Kr=zr[0],Sa=zr[1],gi=(0,jd.useMergedState)(Ct||!1,{value:_t,onChange:function(_o){qr==null||qr(_o)}}),Ka=(0,tn.Z)(gi,2),vi=Ka[0],bi=Ka[1],hi=(0,jd.useMergedState)(0,{value:zt}),ii=(0,tn.Z)(hi,2),Ni=ii[0],ro=ii[1],bo=ge.useState(null),Mo=(0,tn.Z)(bo,2),ns=Mo[0],ps=Mo[1];ge.useEffect(function(){vi&&Aa(!0)},[vi]);var Ns=function(_o){return _o===0?1:0},$o=(0,Oh.Z)(function(ho,_o,Do){if(_o===!1)bi(ho);else if(ho){ro(_o),bi(ho);var As=Ns(_o);!vi||![ir,kr][As]?ps(As):(Aa(!1),ns!==null&&ps(null))}else if(Do==="confirm"||Do==="blur"&&bn){var Qo=Kr?Ns(_o):ns;Qo!==null&&(Aa(!1),ro(Qo)),ps(null),Qo!==null&&!Rr[Qo]?(0,Gr.Z)(function(){var Fa,Zs=[An,cr][Qo];(Fa=Zs.current)===null||Fa===void 0||Fa.focus()}):bi(!1)}else bi(!1),Sa(!1)});return[vi,Ni,ia,$o]}function Th(Ct,_t,zt,bn){var An=$t(Ct,zt,bn,1);function cr(ir){return ir(Ct,_t)?"same":ir(An,_t)?"closing":"far"}switch(zt){case"year":return cr(function(ir,kr){return gt(bn,ir,kr)});case"quarter":case"month":return cr(function(ir,kr){return St(bn,ir,kr)});default:return cr(function(ir,kr){return wt(bn,ir,kr)})}}function Ed(Ct,_t,zt,bn){var An=Zn(Ct,0),cr=Zn(Ct,1);if(_t===0)return An;if(An&&cr){var ir=Th(An,cr,zt,bn);switch(ir){case"same":return An;case"closing":return An;default:return $t(cr,zt,bn,-1)}}return An}function Qu(Ct){var _t=Ct.values,zt=Ct.picker,bn=Ct.defaultDates,An=Ct.generateConfig,cr=ge.useState(function(){return[Zn(bn,0),Zn(bn,1)]}),ir=(0,tn.Z)(cr,2),kr=ir[0],Rr=ir[1],qr=ge.useState(null),_a=(0,tn.Z)(qr,2),ta=_a[0],ia=_a[1],Aa=Zn(_t,0),xa=Zn(_t,1);function zr(Sa){return kr[Sa]?kr[Sa]:Zn(ta,Sa)||Ed(_t,Sa,zt,An)||Aa||xa||An.getNow()}function Kr(Sa,gi){if(Sa){var Ka=Mn(ta,Sa,gi);Rr(Mn(kr,null,gi)||[null,null]);var vi=(gi+1)%2;Zn(_t,vi)||(Ka=Mn(Ka,Sa,vi)),ia(Ka)}else(Aa||xa)&&ia(null)}return[zr,Kr]}function Gd(Ct,_t){return Ct&&Ct[0]&&Ct[1]&&_t.isAfter(Ct[0],Ct[1])?[Ct[1],Ct[0]]:Ct}function mu(Ct,_t,zt,bn){return!!(Ct||bn&&bn[_t]||zt[(_t+1)%2])}function Uf(Ct){var _t,zt,bn,An=Ct,cr=An.prefixCls,ir=cr===void 0?"rc-picker":cr,kr=An.id,Rr=An.style,qr=An.className,_a=An.popupStyle,ta=An.dropdownClassName,ia=An.transitionName,Aa=An.dropdownAlign,xa=An.getPopupContainer,zr=An.generateConfig,Kr=An.locale,Sa=An.placeholder,gi=An.autoFocus,Ka=An.disabled,vi=An.format,bi=An.picker,hi=bi===void 0?"date":bi,ii=An.showTime,Ni=An.use12Hours,ro=An.separator,bo=ro===void 0?"~":ro,Mo=An.value,ns=An.defaultValue,ps=An.defaultPickerValue,Ns=An.open,$o=An.defaultOpen,ho=An.disabledDate,_o=An.disabledTime,Do=An.dateRender,As=An.monthCellRender,Qo=An.cellRender,Fa=An.panelRender,Zs=An.presets,Rs=An.ranges,Ft=An.allowEmpty,Ut=An.allowClear,un=An.suffixIcon,Sn=An.clearIcon,_n=An.pickerRef,Un=An.inputReadOnly,gr=An.mode,ur=An.renderExtraFooter,dr=An.onChange,Lr=An.onOpenChange,Pr=An.onPanelChange,Dr=An.onCalendarChange,$r=An.onFocus,Jr=An.onBlur,Er=An.onMouseDown,pa=An.onMouseUp,ha=An.onMouseEnter,ka=An.onMouseLeave,Pa=An.onClick,Ra=An.onOk,Ci=An.onKeyDown,wi=An.components,ui=An.order,Mi=An.direction,Fi=An.activePickerIndex,ei=An.autoComplete,Ei=ei===void 0?"off":ei,ti=An.changeOnBlur,Wa=hi==="date"&&!!ii||hi==="time",ba=(0,ge.useRef)(null),Ii=(0,ge.useRef)(null),eo=(0,ge.useRef)(null),Ki=(0,ge.useRef)(null),xi=(0,ge.useRef)(null),He=(0,ge.useRef)(null),et=(0,ge.useRef)(null),it=(0,ge.useRef)(null),Et=fn(Hr(vi,hi,ii,Ni)),It=(0,ge.useRef)(null),Lt=ge.useMemo(function(){return Array.isArray(Ka)?Ka:[Ka||!1,Ka||!1]},[Ka]),jt=(0,Dn.Z)(null,{value:Mo,defaultValue:ns,postState:function(Zi){return hi==="time"&&!ui?Zi:Gd(Zi,zr)}}),kt=(0,tn.Z)(jt,2),qt=kt[0],Zt=kt[1],ln=Qu({values:qt,picker:hi,defaultDates:ps,generateConfig:zr}),In=(0,tn.Z)(ln,2),Cn=In[0],Yn=In[1],Kn=(0,Dn.Z)(qt,{postState:function(Zi){var Pi=Zi;if(Lt[0]&&Lt[1])return Pi;for(var ys=0;ys<2;ys+=1)Lt[ys]&&!Pi&&!Zn(Pi,ys)&&!Zn(Ft,ys)&&(Pi=Mn(Pi,zr.getNow(),ys));return Pi}}),Rn=(0,tn.Z)(Kn,2),Vn=Rn[0],Fn=Rn[1],Qn=(0,Dn.Z)([hi,hi],{value:gr}),wr=(0,tn.Z)(Qn,2),Cr=wr[0],Ar=wr[1];(0,ge.useEffect)(function(){Ar([hi,hi])},[hi]);var $n=function(Zi,Pi){Ar(Zi),Pr&&Pr(Pi,Zi)},va=_g($o,Ns,Fi,ti,He,et,Zn(Vn,0),Zn(Vn,1),Lt,Lr),Va=(0,tn.Z)(va,4),Za=Va[0],Ir=Va[1],Tr=Va[2],da=Va[3],Wn=Za&&Ir===0,Br=Za&&Ir===1,ra=Xc({picker:hi,selectedValue:Vn,locale:Kr,disabled:Lt,disabledDate:ho,generateConfig:zr},!Za||Tr),Wr=(0,tn.Z)(ra,2),ca=Wr[0],aa=Wr[1],Ba=(0,ge.useState)(0),pi=(0,tn.Z)(Ba,2),Ai=pi[0],oa=pi[1];(0,ge.useEffect)(function(){!Za&&ba.current&&oa(ba.current.offsetWidth)},[Za]);function ni(xs){da(!0,xs,"open"),(0,Gr.Z)(function(){var Zi,Pi=[He,et][xs];(Zi=Pi.current)===null||Zi===void 0||Zi.focus()},0)}function ao(xs,Zi){var Pi=xs,ys=Zn(Pi,0),Fs=Zn(Pi,1);ys&&Fs&&zr.isAfter(ys,Fs)&&(hi==="week"&&!zn(zr,Kr.locale,ys,Fs)||hi==="quarter"&&!Nt(zr,ys,Fs)||hi!=="week"&&hi!=="quarter"&&hi!=="time"&&!rn(zr,ys,Fs)?Zi===0?(Pi=[ys,null],Fs=null):(ys=null,Pi=[null,Fs]):(hi!=="time"||ui!==!1)&&(Pi=Gd(Pi,zr))),Fn(Pi);var Sf=Pi&&Pi[0]?gn(Pi[0],{generateConfig:zr,locale:Kr,format:Et[0]}):"",qu=Pi&&Pi[1]?gn(Pi[1],{generateConfig:zr,locale:Kr,format:Et[0]}):"";if(Dr){var Pu={range:Zi===0?"start":"end"};Dr(Pi,[Sf,qu],Pu)}var Cd=mu(ys,0,Lt,Ft),zu=mu(Fs,1,Lt,Ft),bf=Pi===null||Cd&&zu;bf&&(Zt(Pi),dr&&(!Gn(zr,Zn(qt,0),ys)||!Gn(zr,Zn(qt,1),Fs))&&dr(Pi,[Sf,qu]))}var Io=function(Zi){return Za&&It.current&&It.current.onKeyDown?It.current.onKeyDown(Zi):((0,Re.ZP)(!1,"Picker not correct forward KeyDown operation. Please help to fire issue about this."),!1)},qi={formatList:Et,generateConfig:zr,locale:Kr},Fo=Sr(Zn(Vn,0),qi),Yo=(0,tn.Z)(Fo,2),fs=Yo[0],ws=Yo[1],cc=Sr(Zn(Vn,1),qi),Sd=(0,tn.Z)(cc,2),dc=Sd[0],Ic=Sd[1],pf=function(Zi,Pi){var ys=jn(Zi,{locale:Kr,formatList:Et,generateConfig:zr}),Fs=Pi===0?ca:aa;ys&&!Fs(ys)&&(Fn(Mn(Vn,ys,Pi)),Yn(ys,Pi))},Fh=ze({valueTexts:fs,onTextChange:function(Zi){return pf(Zi,0)}}),Vo=(0,tn.Z)(Fh,3),us=Vo[0],Ll=Vo[1],_s=Vo[2],Yl=ze({valueTexts:dc,onTextChange:function(Zi){return pf(Zi,1)}}),Xl=(0,tn.Z)(Yl,3),Wl=Xl[0],Lc=Xl[1],Oc=Xl[2],Ju=(0,ge.useState)(null),Qd=(0,tn.Z)(Ju,2),kh=Qd[0],_0=Qd[1],zh=(0,ge.useState)(null),Yd=(0,tn.Z)(zh,2),ll=Yd[0],Fg=Yd[1],kg=Ur(us,{formatList:Et,generateConfig:zr,locale:Kr}),zg=(0,tn.Z)(kg,3),Ug=zg[0],Uh=zg[1],Wh=zg[2],Xv=Ur(Wl,{formatList:Et,generateConfig:zr,locale:Kr}),jh=(0,tn.Z)(Xv,3),Wg=jh[0],yf=jh[1],Gh=jh[2],Jv=function(Zi){Fg(Mn(Vn,Zi,Ir)),Ir===0?Uh(Zi):yf(Zi)},F0=function(){Fg(Mn(Vn,null,Ir)),Ir===0?Wh():Gh()},Ef=ge.useState(Za),Vh=(0,tn.Z)(Ef,2),Yf=Vh[0],k0=Vh[1];ge.useEffect(function(){k0(Za)},[Za]);var z0=function(Zi){if(ti&&Yf){var Pi=Zn(Vn,Ir);Pi&&ao(Vn,Ir)}return Jr==null?void 0:Jr(Zi)},Fu=function(Zi,Pi){return{blurToCancel:!ti&&Wa,forwardKeyDown:Io,onBlur:z0,isClickOutside:function(Fs){return!pt([Ii.current,eo.current,Ki.current,ba.current],Fs)},onFocus:function(Fs){$r&&$r(Fs)},triggerOpen:function(Fs){Fs?da(Fs,Zi,"open"):da(Fs,Zn(Vn,Zi)?Zi:!1,"blur")},onSubmit:function(){if(!Vn||ho&&ho(Vn[Zi]))return!1;ao(Vn,Zi),Pi(),da(!1,Ir,"confirm")},onCancel:function(){da(!1,Zi,"cancel"),Fn(qt),Pi()}}},Hh={onKeyDown:function(Zi,Pi){Ci==null||Ci(Zi,Pi)},changeOnBlur:ti},Af=Ae((0,an.Z)((0,an.Z)({},Fu(0,_s)),{},{open:Wn,value:us},Hh)),Kh=(0,tn.Z)(Af,2),Zh=Kh[0],Qh=Kh[1],Yh=Qh.focused,jg=Qh.typing,qv=Ae((0,an.Z)((0,an.Z)({},Fu(1,Oc)),{},{open:Br,value:Wl},Hh)),hs=(0,tn.Z)(qv,2),Us=hs[0],ku=hs[1],ed=ku.focused,td=ku.typing,Gg=function(Zi){Pa&&Pa(Zi),!Za&&!He.current.contains(Zi.target)&&!et.current.contains(Zi.target)&&(Lt[0]?Lt[1]||ni(1):ni(0))},Vg=function(Zi){Er&&Er(Zi),Za&&(Yh||ed)&&!He.current.contains(Zi.target)&&!et.current.contains(Zi.target)&&Zi.preventDefault()},Hg=qt&&qt[0]?gn(qt[0],{locale:Kr,format:"YYYYMMDDHHmmss",generateConfig:zr}):"",Kg=qt&&qt[1]?gn(qt[1],{locale:Kr,format:"YYYYMMDDHHmmss",generateConfig:zr}):"";(0,ge.useEffect)(function(){Za||(Fn(qt),!fs.length||fs[0]===""?Ll(""):ws!==us&&_s(),!dc.length||dc[0]===""?Lc(""):Ic!==Wl&&Oc())},[Za,fs,dc]),(0,ge.useEffect)(function(){Fn(qt)},[Hg,Kg]);var xf=Yt({cellRender:Qo,monthCellRender:As,dateRender:Do}),G1=ge.useMemo(function(){if(xf)return function(xs,Zi){return xf(xs,(0,an.Z)((0,an.Z)({},Zi),{},{range:Ir?"end":"start"}))}},[Ir,xf]);_n&&(_n.current={focus:function(){He.current&&He.current.focus()},blur:function(){He.current&&He.current.blur(),et.current&&et.current.blur()}});var MS=Le(Zs,Rs);function $v(){var xs=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Zi=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Pi=null;Za&&ll&&ll[0]&&ll[1]&&zr.isAfter(ll[1],ll[0])&&(Pi=ll);var ys=ii;if(ii&&(0,bt.Z)(ii)==="object"&&ii.defaultValue){var Fs=ii.defaultValue;ys=(0,an.Z)((0,an.Z)({},ii),{},{defaultValue:Zn(Fs,Ir)||void 0})}return ge.createElement(pn.Provider,{value:{inRange:!0,panelPosition:xs,rangedValue:kh||Vn,hoverRangedValue:Pi}},ge.createElement(ts,(0,ue.Z)({},Ct,Zi,{cellRender:G1,showTime:ys,mode:Cr[Ir],generateConfig:zr,style:void 0,direction:Mi,disabledDate:Ir===0?ca:aa,disabledTime:function(qu){return _o?_o(qu,Ir===0?"start":"end"):!1},className:ht()((0,Ot.Z)({},"".concat(ir,"-panel-focused"),Ir===0?!jg:!td)),value:Zn(Vn,Ir),locale:Kr,tabIndex:-1,onPanelChange:function(qu,Pu){Ir===0&&Wh(!0),Ir===1&&Gh(!0),$n(Mn(Cr,Pu,Ir),Mn(Vn,qu,Ir));var Cd=qu;xs==="right"&&Cr[Ir]===Pu&&(Cd=$t(Cd,Pu,zr,-1)),Yn(Cd,Ir)},onOk:null,onSelect:void 0,onChange:void 0,defaultValue:Ir===0?Zn(Vn,1):Zn(Vn,0)})))}var Xd=0,em=0;if(Ir&&eo.current&&xi.current&&Ii.current&&it.current){Xd=eo.current.offsetWidth+xi.current.offsetWidth;var DS=it.current.offsetLeft>Xd?it.current.offsetLeft-Xd:it.current.offsetLeft,tm=Ii.current.offsetWidth,V1=it.current.offsetWidth;tm&&V1&&Xd>tm-V1-(Mi==="rtl"?0:DS)&&(em=Xd)}var bd=Mi==="rtl"?{right:Xd}:{left:Xd};function IS(){var xs,Zi=so(ir,Cr[Ir],ur),Pi=Ro({prefixCls:ir,components:wi,needConfirmButton:Wa,okDisabled:!Zn(Vn,Ir)||ho&&ho(Vn[Ir]),locale:Kr,onOk:function(){var fc=Zn(Vn,Ir);fc&&(ao(Vn,Ir),Ra==null||Ra(Vn),da(!1,Ir,"confirm"))}});if(hi!=="time"&&!ii){var ys=Cn(Ir),Fs=$t(ys,hi,zr),Sf=Cr[Ir],qu=Sf===hi,Pu=$v(qu?"left":!1,{pickerValue:ys,onPickerValueChange:function(fc){Yn(fc,Ir)}}),Cd=$v("right",{pickerValue:Fs,onPickerValueChange:function(fc){Yn($t(fc,hi,zr,-1),Ir)}});Mi==="rtl"?xs=ge.createElement(ge.Fragment,null,Cd,qu&&Pu):xs=ge.createElement(ge.Fragment,null,Pu,qu&&Cd)}else xs=$v();var zu=ge.createElement("div",{className:"".concat(ir,"-panel-layout")},ge.createElement(Yc,{prefixCls:ir,presets:MS,onClick:function(fc){ao(fc,null),da(!1,Ir,"preset")},onHover:function(fc){_0(fc)}}),ge.createElement("div",null,ge.createElement("div",{className:"".concat(ir,"-panels")},xs),(Zi||Pi)&&ge.createElement("div",{className:"".concat(ir,"-footer")},Zi,Pi)));return Fa&&(zu=Fa(zu)),ge.createElement("div",{className:"".concat(ir,"-panel-container"),style:{marginLeft:em},ref:Ii,onMouseDown:function(fc){fc.preventDefault()}},zu)}var LS=ge.createElement("div",{className:ht()("".concat(ir,"-range-wrapper"),"".concat(ir,"-").concat(hi,"-range-wrapper")),style:{minWidth:Ai}},ge.createElement("div",{ref:it,className:"".concat(ir,"-range-arrow"),style:bd}),IS()),H1;un&&(H1=ge.createElement("span",{className:"".concat(ir,"-suffix"),onMouseDown:function(Zi){Zi.preventDefault()}},un));var K1=Zu(ir,Ut,Sn),Z1=ge.createElement("span",{onMouseDown:function(Zi){Zi.preventDefault(),Zi.stopPropagation()},onMouseUp:function(Zi){Zi.preventDefault(),Zi.stopPropagation();var Pi=qt;Lt[0]||(Pi=Mn(Pi,null,0)),Lt[1]||(Pi=Mn(Pi,null,1)),ao(Pi,null),da(!1,Ir,"clear")},className:"".concat(ir,"-clear"),role:"button"},K1),OS=Ut&&(Zn(qt,0)&&!Lt[0]||Zn(qt,1)&&!Lt[1]),Q1={size:Ta(hi,Et[0],zr)},nm=0,rm=0;eo.current&&Ki.current&&xi.current&&(Ir===0?rm=eo.current.offsetWidth:(nm=Xd,rm=Ki.current.offsetWidth));var TS=Mi==="rtl"?{right:nm}:{left:nm},BS=function(Zi,Pi){var ys=Mn(Vn,Zi,Ir);if(Pi==="submit"||Pi!=="key"&&!Wa){ao(ys,Ir),Ir===0?Wh():Gh();var Fs=Ir===0?1:0;Lt[Fs]?da(!1,!1,"confirm"):da(!1,Ir,"confirm")}else Fn(ys)};return ge.createElement(xt.Provider,{value:{operationRef:It,hideHeader:hi==="time",onDateMouseEnter:Jv,onDateMouseLeave:F0,hideRanges:!0,onSelect:BS,open:Za}},ge.createElement(gu,{visible:Za,popupElement:LS,popupStyle:_a,prefixCls:ir,dropdownClassName:ta,dropdownAlign:Aa,getPopupContainer:xa,transitionName:ia,range:!0,direction:Mi},ge.createElement("div",(0,ue.Z)({ref:ba,className:ht()(ir,"".concat(ir,"-range"),qr,(_t={},(0,Ot.Z)(_t,"".concat(ir,"-disabled"),Lt[0]&&Lt[1]),(0,Ot.Z)(_t,"".concat(ir,"-focused"),Ir===0?Yh:ed),(0,Ot.Z)(_t,"".concat(ir,"-rtl"),Mi==="rtl"),_t)),style:Rr,onClick:Gg,onMouseEnter:ha,onMouseLeave:ka,onMouseDown:Vg,onMouseUp:pa},(0,Tn.Z)(Ct,{aria:!0,data:!0})),ge.createElement("div",{className:ht()("".concat(ir,"-input"),(zt={},(0,Ot.Z)(zt,"".concat(ir,"-input-active"),Ir===0),(0,Ot.Z)(zt,"".concat(ir,"-input-placeholder"),!!Ug),zt)),ref:eo},ge.createElement("input",(0,ue.Z)({id:kr,disabled:Lt[0],readOnly:Un||typeof Et[0]=="function"||!jg,value:Ug||us,onChange:function(Zi){Ll(Zi.target.value)},autoFocus:gi,placeholder:Zn(Sa,0)||"",ref:He},Zh,Q1,{autoComplete:Ei}))),ge.createElement("div",{className:"".concat(ir,"-range-separator"),ref:xi},bo),ge.createElement("div",{className:ht()("".concat(ir,"-input"),(bn={},(0,Ot.Z)(bn,"".concat(ir,"-input-active"),Ir===1),(0,Ot.Z)(bn,"".concat(ir,"-input-placeholder"),!!Wg),bn)),ref:Ki},ge.createElement("input",(0,ue.Z)({disabled:Lt[1],readOnly:Un||typeof Et[0]=="function"||!td,value:Wg||Wl,onChange:function(Zi){Lc(Zi.target.value)},placeholder:Zn(Sa,1)||"",ref:et},Us,Q1,{autoComplete:Ei}))),ge.createElement("div",{className:"".concat(ir,"-active-bar"),style:(0,an.Z)((0,an.Z)({},TS),{},{width:rm,position:"absolute"})}),H1,OS&&Z1)))}var Wf=function(Ct){(0,en.Z)(zt,Ct);var _t=(0,mn.Z)(zt);function zt(){var bn;(0,vt.Z)(this,zt);for(var An=arguments.length,cr=new Array(An),ir=0;ir<An;ir++)cr[ir]=arguments[ir];return bn=_t.call.apply(_t,[this].concat(cr)),(0,Ot.Z)((0,Jt.Z)(bn),"pickerRef",ge.createRef()),(0,Ot.Z)((0,Jt.Z)(bn),"focus",function(){bn.pickerRef.current&&bn.pickerRef.current.focus()}),(0,Ot.Z)((0,Jt.Z)(bn),"blur",function(){bn.pickerRef.current&&bn.pickerRef.current.blur()}),bn}return(0,Wt.Z)(zt,[{key:"render",value:function(){return ge.createElement(Uf,(0,ue.Z)({},this.props,{pickerRef:this.pickerRef}))}}]),zt}(ge.Component),Jc=Wf,Cc=yd,pu=Oe(19080),df=Oe(36355),Vd=Oe(1684),ff=Oe(19716),jf=Oe(32441),fl=Oe(9763),hf=Oe(33234),Gf=Oe(48183),Zo=Oe(64993),Yu=Oe(9937),Pc=Oe(17313),Ml=Oe(47585),Dl=Oe(74207),zl=Oe(13826),Ad=Oe(92899),gf=Oe(37613),Bh=Oe(83116);const Cu=(Ct,_t,zt,bn)=>{const{lineHeight:An}=Ct,cr=Math.floor(zt*An)+2,ir=Math.max((_t-cr)/2,0),kr=Math.max(_t-cr-ir,0);return{padding:`${ir}px ${bn}px ${kr}px`}},vf=Ct=>{const{componentCls:_t,pickerCellCls:zt,pickerCellInnerCls:bn,cellHeight:An,motionDurationSlow:cr,borderRadiusSM:ir,motionDurationMid:kr,cellHoverBg:Rr,lineWidth:qr,lineType:_a,colorPrimary:ta,cellActiveWithRangeBg:ia,colorTextLightSolid:Aa,controlHeightSM:xa,cellRangeBorderColor:zr,pickerCellBorderGap:Kr,cellHoverWithRangeBg:Sa,cellWidth:gi,colorTextDisabled:Ka,cellBgDisabled:vi}=Ct;return{"&::before":{position:"absolute",top:"50%",insetInlineStart:0,insetInlineEnd:0,zIndex:1,height:An,transform:"translateY(-50%)",transition:`all ${cr}`,content:'""'},[bn]:{position:"relative",zIndex:2,display:"inline-block",minWidth:An,height:An,lineHeight:`${An}px`,borderRadius:ir,transition:`background ${kr}, border ${kr}`},"&-range-hover-start, &-range-hover-end":{[bn]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:hover:not(${zt}-in-view),
|
|
|
&:hover:not(${zt}-selected):not(${zt}-range-start):not(${zt}-range-end):not(${zt}-range-hover-start):not(${zt}-range-hover-end)`]:{[bn]:{background:Rr}},[`&-in-view${zt}-today ${bn}`]:{"&::before":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,zIndex:1,border:`${qr}px ${_a} ${ta}`,borderRadius:ir,content:'""'}},[`&-in-view${zt}-in-range`]:{position:"relative","&::before":{background:ia}},[`&-in-view${zt}-selected ${bn},
|
|
|
&-in-view${zt}-range-start ${bn},
|
|
|
&-in-view${zt}-range-end ${bn}`]:{color:Aa,background:ta},[`&-in-view${zt}-range-start:not(${zt}-range-start-single),
|
|
|
&-in-view${zt}-range-end:not(${zt}-range-end-single)`]:{"&::before":{background:ia}},[`&-in-view${zt}-range-start::before`]:{insetInlineStart:"50%"},[`&-in-view${zt}-range-end::before`]:{insetInlineEnd:"50%"},[`&-in-view${zt}-range-hover-start:not(${zt}-in-range):not(${zt}-range-start):not(${zt}-range-end),
|
|
|
&-in-view${zt}-range-hover-end:not(${zt}-in-range):not(${zt}-range-start):not(${zt}-range-end),
|
|
|
&-in-view${zt}-range-hover-start${zt}-range-start-single,
|
|
|
&-in-view${zt}-range-hover-start${zt}-range-start${zt}-range-end${zt}-range-end-near-hover,
|
|
|
&-in-view${zt}-range-hover-end${zt}-range-start${zt}-range-end${zt}-range-start-near-hover,
|
|
|
&-in-view${zt}-range-hover-end${zt}-range-end-single,
|
|
|
&-in-view${zt}-range-hover:not(${zt}-in-range)`]:{"&::after":{position:"absolute",top:"50%",zIndex:0,height:xa,borderTop:`${qr}px dashed ${zr}`,borderBottom:`${qr}px dashed ${zr}`,transform:"translateY(-50%)",transition:`all ${cr}`,content:'""'}},"&-range-hover-start::after,\n &-range-hover-end::after,\n &-range-hover::after":{insetInlineEnd:0,insetInlineStart:Kr},[`&-in-view${zt}-in-range${zt}-range-hover::before,
|
|
|
&-in-view${zt}-in-range${zt}-range-hover-start::before,
|
|
|
&-in-view${zt}-in-range${zt}-range-hover-end::before,
|
|
|
&-in-view${zt}-range-start${zt}-range-hover::before,
|
|
|
&-in-view${zt}-range-end${zt}-range-hover::before,
|
|
|
&-in-view${zt}-range-start:not(${zt}-range-start-single)${zt}-range-hover-start::before,
|
|
|
&-in-view${zt}-range-end:not(${zt}-range-end-single)${zt}-range-hover-end::before,
|
|
|
${_t}-panel
|
|
|
> :not(${_t}-date-panel)
|
|
|
&-in-view${zt}-in-range${zt}-range-hover-start::before,
|
|
|
${_t}-panel
|
|
|
> :not(${_t}-date-panel)
|
|
|
&-in-view${zt}-in-range${zt}-range-hover-end::before`]:{background:Sa},[`&-in-view${zt}-range-start:not(${zt}-range-start-single):not(${zt}-range-end) ${bn}`]:{borderStartStartRadius:ir,borderEndStartRadius:ir,borderStartEndRadius:0,borderEndEndRadius:0},[`&-in-view${zt}-range-end:not(${zt}-range-end-single):not(${zt}-range-start) ${bn}`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:ir,borderEndEndRadius:ir},[`&-range-hover${zt}-range-end::after`]:{insetInlineStart:"50%"},[`tr > &-in-view${zt}-range-hover:first-child::after,
|
|
|
tr > &-in-view${zt}-range-hover-end:first-child::after,
|
|
|
&-in-view${zt}-start${zt}-range-hover-edge-start${zt}-range-hover-edge-start-near-range::after,
|
|
|
&-in-view${zt}-range-hover-edge-start:not(${zt}-range-hover-edge-start-near-range)::after,
|
|
|
&-in-view${zt}-range-hover-start::after`]:{insetInlineStart:(gi-An)/2,borderInlineStart:`${qr}px dashed ${zr}`,borderStartStartRadius:ir,borderEndStartRadius:ir},[`tr > &-in-view${zt}-range-hover:last-child::after,
|
|
|
tr > &-in-view${zt}-range-hover-start:last-child::after,
|
|
|
&-in-view${zt}-end${zt}-range-hover-edge-end${zt}-range-hover-edge-end-near-range::after,
|
|
|
&-in-view${zt}-range-hover-edge-end:not(${zt}-range-hover-edge-end-near-range)::after,
|
|
|
&-in-view${zt}-range-hover-end::after`]:{insetInlineEnd:(gi-An)/2,borderInlineEnd:`${qr}px dashed ${zr}`,borderStartEndRadius:ir,borderEndEndRadius:ir},"&-disabled":{color:Ka,pointerEvents:"none",[bn]:{background:"transparent"},"&::before":{background:vi}},[`&-disabled${zt}-today ${bn}::before`]:{borderColor:Ka}}},Hd=Ct=>{const{componentCls:_t,pickerCellCls:zt,pickerCellInnerCls:bn,pickerYearMonthCellWidth:An,pickerControlIconSize:cr,cellWidth:ir,paddingSM:kr,paddingXS:Rr,paddingXXS:qr,colorBgContainer:_a,lineWidth:ta,lineType:ia,borderRadiusLG:Aa,colorPrimary:xa,colorTextHeading:zr,colorSplit:Kr,pickerControlIconBorderWidth:Sa,colorIcon:gi,textHeight:Ka,motionDurationMid:vi,colorIconHover:bi,fontWeightStrong:hi,cellHeight:ii,pickerCellPaddingVertical:Ni,colorTextDisabled:ro,colorText:bo,fontSize:Mo,cellHoverWithRangeBg:ns,motionDurationSlow:ps,withoutTimeCellHeight:Ns,pickerQuarterPanelContentHeight:$o,colorLink:ho,colorLinkActive:_o,colorLinkHover:Do,cellRangeBorderColor:As,borderRadiusSM:Qo,colorTextLightSolid:Fa,cellHoverBg:Zs,timeColumnHeight:Rs,timeColumnWidth:Ft,timeCellHeight:Ut,controlItemBgActive:un,marginXXS:Sn,pickerDatePanelPaddingHorizontal:_n}=Ct,Un=ir*7+_n*2,gr=(Un-Rr*2)/3-An-kr,ur=(Un-Rr*2)/4-An;return{[_t]:{"&-panel":{display:"inline-flex",flexDirection:"column",textAlign:"center",background:_a,border:`${ta}px ${ia} ${Kr}`,borderRadius:Aa,outline:"none","&-focused":{borderColor:xa},"&-rtl":{direction:"rtl",[`${_t}-prev-icon,
|
|
|
${_t}-super-prev-icon`]:{transform:"rotate(45deg)"},[`${_t}-next-icon,
|
|
|
${_t}-super-next-icon`]:{transform:"rotate(-135deg)"}}},"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel,\n &-week-panel,\n &-date-panel,\n &-time-panel":{display:"flex",flexDirection:"column",width:Un},"&-header":{display:"flex",padding:`0 ${Rr}px`,color:zr,borderBottom:`${ta}px ${ia} ${Kr}`,"> *":{flex:"none"},button:{padding:0,color:gi,lineHeight:`${Ka}px`,background:"transparent",border:0,cursor:"pointer",transition:`color ${vi}`,fontSize:"inherit"},"> button":{minWidth:"1.6em",fontSize:Mo,"&:hover":{color:bi}},"&-view":{flex:"auto",fontWeight:hi,lineHeight:`${Ka}px`,button:{color:"inherit",fontWeight:"inherit",verticalAlign:"top","&:not(:first-child)":{marginInlineStart:Rr},"&:hover":{color:xa}}}},"&-prev-icon,\n &-next-icon,\n &-super-prev-icon,\n &-super-next-icon":{position:"relative",display:"inline-block",width:cr,height:cr,"&::before":{position:"absolute",top:0,insetInlineStart:0,display:"inline-block",width:cr,height:cr,border:"0 solid currentcolor",borderBlockStartWidth:Sa,borderBlockEndWidth:0,borderInlineStartWidth:Sa,borderInlineEndWidth:0,content:'""'}},"&-super-prev-icon,\n &-super-next-icon":{"&::after":{position:"absolute",top:Math.ceil(cr/2),insetInlineStart:Math.ceil(cr/2),display:"inline-block",width:cr,height:cr,border:"0 solid currentcolor",borderBlockStartWidth:Sa,borderBlockEndWidth:0,borderInlineStartWidth:Sa,borderInlineEndWidth:0,content:'""'}},"&-prev-icon,\n &-super-prev-icon":{transform:"rotate(-45deg)"},"&-next-icon,\n &-super-next-icon":{transform:"rotate(135deg)"},"&-content":{width:"100%",tableLayout:"fixed",borderCollapse:"collapse","th, td":{position:"relative",minWidth:ii,fontWeight:"normal"},th:{height:ii+Ni*2,color:bo,verticalAlign:"middle"}},"&-cell":Object.assign({padding:`${Ni}px 0`,color:ro,cursor:"pointer","&-in-view":{color:bo}},vf(Ct)),[`&-date-panel ${_t}-cell-in-view${_t}-cell-in-range${_t}-cell-range-hover-start ${bn},
|
|
|
&-date-panel ${_t}-cell-in-view${_t}-cell-in-range${_t}-cell-range-hover-end ${bn}`]:{"&::after":{position:"absolute",top:0,bottom:0,zIndex:-1,background:ns,transition:`all ${ps}`,content:'""'}},[`&-date-panel
|
|
|
${_t}-cell-in-view${_t}-cell-in-range${_t}-cell-range-hover-start
|
|
|
${bn}::after`]:{insetInlineEnd:-(ir-ii)/2,insetInlineStart:0},[`&-date-panel ${_t}-cell-in-view${_t}-cell-in-range${_t}-cell-range-hover-end ${bn}::after`]:{insetInlineEnd:0,insetInlineStart:-(ir-ii)/2},[`&-range-hover${_t}-range-start::after`]:{insetInlineEnd:"50%"},"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${_t}-content`]:{height:Ns*4},[bn]:{padding:`0 ${Rr}px`}},"&-quarter-panel":{[`${_t}-content`]:{height:$o},[`${_t}-cell-range-hover-start::after`]:{insetInlineStart:ur,borderInlineStart:`${ta}px dashed ${As}`,[`${_t}-panel-rtl &`]:{insetInlineEnd:ur,borderInlineEnd:`${ta}px dashed ${As}`}},[`${_t}-cell-range-hover-end::after`]:{insetInlineEnd:ur,borderInlineEnd:`${ta}px dashed ${As}`,[`${_t}-panel-rtl &`]:{insetInlineStart:ur,borderInlineStart:`${ta}px dashed ${As}`}}},[`&-panel ${_t}-footer`]:{borderTop:`${ta}px ${ia} ${Kr}`},"&-footer":{width:"min-content",minWidth:"100%",lineHeight:`${Ka-2*ta}px`,textAlign:"center","&-extra":{padding:`0 ${kr}px`,lineHeight:`${Ka-2*ta}px`,textAlign:"start","&:not(:last-child)":{borderBottom:`${ta}px ${ia} ${Kr}`}}},"&-now":{textAlign:"start"},"&-today-btn":{color:ho,"&:hover":{color:Do},"&:active":{color:_o},[`&${_t}-today-btn-disabled`]:{color:ro,cursor:"not-allowed"}},"&-decade-panel":{[bn]:{padding:`0 ${Rr/2}px`},[`${_t}-cell::before`]:{display:"none"}},"&-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${_t}-body`]:{padding:`0 ${Rr}px`},[bn]:{width:An},[`${_t}-cell-range-hover-start::after`]:{borderStartStartRadius:Qo,borderEndStartRadius:Qo,borderStartEndRadius:0,borderEndEndRadius:0,[`${_t}-panel-rtl &`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:Qo,borderEndEndRadius:Qo}},[`${_t}-cell-range-hover-end::after`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:Qo,borderEndEndRadius:Qo,[`${_t}-panel-rtl &`]:{borderStartStartRadius:Qo,borderEndStartRadius:Qo,borderStartEndRadius:0,borderEndEndRadius:0}}},"&-year-panel,\n &-month-panel":{[`${_t}-cell-range-hover-start::after`]:{insetInlineStart:gr,borderInlineStart:`${ta}px dashed ${As}`,[`${_t}-panel-rtl &`]:{insetInlineEnd:gr,borderInlineEnd:`${ta}px dashed ${As}`}},[`${_t}-cell-range-hover-end::after`]:{insetInlineEnd:gr,borderInlineEnd:`${ta}px dashed ${As}`,[`${_t}-panel-rtl &`]:{insetInlineStart:gr,borderInlineStart:`${ta}px dashed ${As}`}}},"&-week-panel":{[`${_t}-body`]:{padding:`${Rr}px ${kr}px`},[`${_t}-cell`]:{[`&:hover ${bn},
|
|
|
&-selected ${bn},
|
|
|
${bn}`]:{background:"transparent !important"}},"&-row":{td:{"&:before":{transition:`background ${vi}`},"&:first-child:before":{borderStartStartRadius:Qo,borderEndStartRadius:Qo},"&:last-child:before":{borderStartEndRadius:Qo,borderEndEndRadius:Qo}},"&:hover td":{"&:before":{background:Zs}},"&-range-start td,\n &-range-end td,\n &-selected td":{[`&${zt}`]:{"&:before":{background:xa},[`&${_t}-cell-week`]:{color:new Zo.C(Fa).setAlpha(.5).toHexString()},[bn]:{color:Fa}}},"&-range-hover td:before":{background:un}}},"&-date-panel":{[`${_t}-body`]:{padding:`${Rr}px ${_n}px`},[`${_t}-content`]:{width:ir*7,th:{width:ir,boxSizing:"border-box",padding:0}}},"&-datetime-panel":{display:"flex",[`${_t}-time-panel`]:{borderInlineStart:`${ta}px ${ia} ${Kr}`},[`${_t}-date-panel,
|
|
|
${_t}-time-panel`]:{transition:`opacity ${ps}`},"&-active":{[`${_t}-date-panel,
|
|
|
${_t}-time-panel`]:{opacity:.3,"&-active":{opacity:1}}}},"&-time-panel":{width:"auto",minWidth:"auto",direction:"ltr",[`${_t}-content`]:{display:"flex",flex:"auto",height:Rs},"&-column":{flex:"1 0 auto",width:Ft,margin:`${qr}px 0`,padding:0,overflowY:"hidden",textAlign:"start",listStyle:"none",transition:`background ${vi}`,overflowX:"hidden","&::after":{display:"block",height:Rs-Ut,content:'""'},"&:not(:first-child)":{borderInlineStart:`${ta}px ${ia} ${Kr}`},"&-active":{background:new Zo.C(un).setAlpha(.2).toHexString()},"&:hover":{overflowY:"auto"},"> li":{margin:0,padding:0,[`&${_t}-time-panel-cell`]:{marginInline:Sn,[`${_t}-time-panel-cell-inner`]:{display:"block",width:Ft-2*Sn,height:Ut,margin:0,paddingBlock:0,paddingInlineEnd:0,paddingInlineStart:(Ft-Ut)/2,color:bo,lineHeight:`${Ut}px`,borderRadius:Qo,cursor:"pointer",transition:`background ${vi}`,"&:hover":{background:Zs}},"&-selected":{[`${_t}-time-panel-cell-inner`]:{background:un}},"&-disabled":{[`${_t}-time-panel-cell-inner`]:{color:ro,background:"transparent",cursor:"not-allowed"}}}}}},[`&-datetime-panel ${_t}-time-panel-column:after`]:{height:Rs-Ut+qr*2}}}},ls=Ct=>{const{componentCls:_t,colorBgContainer:zt,colorError:bn,errorActiveShadow:An,colorWarning:cr,warningActiveShadow:ir}=Ct;return{[`${_t}:not(${_t}-disabled)`]:{[`&${_t}-status-error`]:{"&, &:not([disabled]):hover":{backgroundColor:zt,borderColor:bn},[`&${_t}-focused, &:focus`]:Object.assign({},(0,Yu.M1)((0,gf.TS)(Ct,{activeBorderColor:bn,activeShadow:An}))),[`${_t}-active-bar`]:{background:bn}},[`&${_t}-status-warning`]:{"&, &:not([disabled]):hover":{backgroundColor:zt,borderColor:cr},[`&${_t}-focused, &:focus`]:Object.assign({},(0,Yu.M1)((0,gf.TS)(Ct,{activeBorderColor:cr,activeShadow:ir}))),[`${_t}-active-bar`]:{background:cr}}}}},Vf=Ct=>{const{componentCls:_t,antCls:zt,controlHeight:bn,fontSize:An,paddingInline:cr,colorBgContainer:ir,lineWidth:kr,lineType:Rr,colorBorder:qr,borderRadius:_a,motionDurationMid:ta,colorBgContainerDisabled:ia,colorTextDisabled:Aa,colorTextPlaceholder:xa,controlHeightLG:zr,fontSizeLG:Kr,controlHeightSM:Sa,paddingInlineSM:gi,paddingXS:Ka,marginXS:vi,colorTextDescription:bi,lineWidthBold:hi,lineHeight:ii,colorPrimary:Ni,motionDurationSlow:ro,zIndexPopup:bo,paddingXXS:Mo,paddingSM:ns,textHeight:ps,cellActiveWithRangeBg:Ns,colorPrimaryBorder:$o,sizePopupArrow:ho,borderRadiusXS:_o,borderRadiusOuter:Do,colorBgElevated:As,borderRadiusLG:Qo,boxShadowSecondary:Fa,borderRadiusSM:Zs,colorSplit:Rs,cellHoverBg:Ft,presetsWidth:Ut,presetsMaxWidth:un,boxShadowPopoverArrow:Sn,colorTextQuaternary:_n}=Ct;return[{[_t]:Object.assign(Object.assign(Object.assign({},(0,Pc.Wf)(Ct)),Cu(Ct,bn,An,cr)),{position:"relative",display:"inline-flex",alignItems:"center",background:ir,lineHeight:1,border:`${kr}px ${Rr} ${qr}`,borderRadius:_a,transition:`border ${ta}, box-shadow ${ta}`,"&:hover, &-focused":Object.assign({},(0,Yu.pU)(Ct)),"&-focused":Object.assign({},(0,Yu.M1)(Ct)),[`&${_t}-disabled`]:{background:ia,borderColor:qr,cursor:"not-allowed",[`${_t}-suffix`]:{color:_n}},[`&${_t}-borderless`]:{backgroundColor:"transparent !important",borderColor:"transparent !important",boxShadow:"none !important"},[`${_t}-input`]:{position:"relative",display:"inline-flex",alignItems:"center",width:"100%","> input":Object.assign(Object.assign({},(0,Yu.ik)(Ct)),{flex:"auto",minWidth:1,height:"auto",padding:0,background:"transparent",border:0,borderRadius:0,"&:focus":{boxShadow:"none"},"&[disabled]":{background:"transparent"}}),"&:hover":{[`${_t}-clear`]:{opacity:1}},"&-placeholder":{"> input":{color:xa}}},"&-large":Object.assign(Object.assign({},Cu(Ct,zr,Kr,cr)),{[`${_t}-input > input`]:{fontSize:Kr}}),"&-small":Object.assign({},Cu(Ct,Sa,An,gi)),[`${_t}-suffix`]:{display:"flex",flex:"none",alignSelf:"center",marginInlineStart:Ka/2,color:Aa,lineHeight:1,pointerEvents:"none","> *":{verticalAlign:"top","&:not(:last-child)":{marginInlineEnd:vi}}},[`${_t}-clear`]:{position:"absolute",top:"50%",insetInlineEnd:0,color:Aa,lineHeight:1,background:ir,transform:"translateY(-50%)",cursor:"pointer",opacity:0,transition:`opacity ${ta}, color ${ta}`,"> *":{verticalAlign:"top"},"&:hover":{color:bi}},[`${_t}-separator`]:{position:"relative",display:"inline-block",width:"1em",height:Kr,color:Aa,fontSize:Kr,verticalAlign:"top",cursor:"default",[`${_t}-focused &`]:{color:bi},[`${_t}-range-separator &`]:{[`${_t}-disabled &`]:{cursor:"not-allowed"}}},"&-range":{position:"relative",display:"inline-flex",[`${_t}-clear`]:{insetInlineEnd:cr},"&:hover":{[`${_t}-clear`]:{opacity:1}},[`${_t}-active-bar`]:{bottom:-kr,height:hi,marginInlineStart:cr,background:Ni,opacity:0,transition:`all ${ro} ease-out`,pointerEvents:"none"},[`&${_t}-focused`]:{[`${_t}-active-bar`]:{opacity:1}},[`${_t}-range-separator`]:{alignItems:"center",padding:`0 ${Ka}px`,lineHeight:1},[`&${_t}-small`]:{[`${_t}-clear`]:{insetInlineEnd:gi},[`${_t}-active-bar`]:{marginInlineStart:gi}}},"&-dropdown":Object.assign(Object.assign(Object.assign({},(0,Pc.Wf)(Ct)),Hd(Ct)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:bo,[`&${_t}-dropdown-hidden`]:{display:"none"},[`&${_t}-dropdown-placement-bottomLeft`]:{[`${_t}-range-arrow`]:{top:0,display:"block",transform:"translateY(-100%)"}},[`&${_t}-dropdown-placement-topLeft`]:{[`${_t}-range-arrow`]:{bottom:0,display:"block",transform:"translateY(100%) rotate(180deg)"}},[`&${zt}-slide-up-enter${zt}-slide-up-enter-active${_t}-dropdown-placement-topLeft,
|
|
|
&${zt}-slide-up-enter${zt}-slide-up-enter-active${_t}-dropdown-placement-topRight,
|
|
|
&${zt}-slide-up-appear${zt}-slide-up-appear-active${_t}-dropdown-placement-topLeft,
|
|
|
&${zt}-slide-up-appear${zt}-slide-up-appear-active${_t}-dropdown-placement-topRight`]:{animationName:zl.Qt},[`&${zt}-slide-up-enter${zt}-slide-up-enter-active${_t}-dropdown-placement-bottomLeft,
|
|
|
&${zt}-slide-up-enter${zt}-slide-up-enter-active${_t}-dropdown-placement-bottomRight,
|
|
|
&${zt}-slide-up-appear${zt}-slide-up-appear-active${_t}-dropdown-placement-bottomLeft,
|
|
|
&${zt}-slide-up-appear${zt}-slide-up-appear-active${_t}-dropdown-placement-bottomRight`]:{animationName:zl.fJ},[`&${zt}-slide-up-leave${zt}-slide-up-leave-active${_t}-dropdown-placement-topLeft,
|
|
|
&${zt}-slide-up-leave${zt}-slide-up-leave-active${_t}-dropdown-placement-topRight`]:{animationName:zl.ly},[`&${zt}-slide-up-leave${zt}-slide-up-leave-active${_t}-dropdown-placement-bottomLeft,
|
|
|
&${zt}-slide-up-leave${zt}-slide-up-leave-active${_t}-dropdown-placement-bottomRight`]:{animationName:zl.Uw},[`${_t}-panel > ${_t}-time-panel`]:{paddingTop:Mo},[`${_t}-ranges`]:{marginBottom:0,padding:`${Mo}px ${ns}px`,overflow:"hidden",lineHeight:`${ps-2*kr-Ka/2}px`,textAlign:"start",listStyle:"none",display:"flex",justifyContent:"space-between","> li":{display:"inline-block"},[`${_t}-preset > ${zt}-tag-blue`]:{color:Ni,background:Ns,borderColor:$o,cursor:"pointer"},[`${_t}-ok`]:{marginInlineStart:"auto"}},[`${_t}-range-wrapper`]:{display:"flex",position:"relative"},[`${_t}-range-arrow`]:Object.assign({position:"absolute",zIndex:1,display:"none",marginInlineStart:cr*1.5,transition:`left ${ro} ease-out`},(0,Ml.r)(ho,_o,Do,As,Sn)),[`${_t}-panel-container`]:{overflow:"hidden",verticalAlign:"top",background:As,borderRadius:Qo,boxShadow:Fa,transition:`margin ${ro}`,[`${_t}-panel-layout`]:{display:"flex",flexWrap:"nowrap",alignItems:"stretch"},[`${_t}-presets`]:{display:"flex",flexDirection:"column",minWidth:Ut,maxWidth:un,ul:{height:0,flex:"auto",listStyle:"none",overflow:"auto",margin:0,padding:Ka,borderInlineEnd:`${kr}px ${Rr} ${Rs}`,li:Object.assign(Object.assign({},Pc.vS),{borderRadius:Zs,paddingInline:Ka,paddingBlock:(Sa-Math.round(An*ii))/2,cursor:"pointer",transition:`all ${ro}`,"+ li":{marginTop:vi},"&:hover":{background:Ft}})}},[`${_t}-panels`]:{display:"inline-flex",flexWrap:"nowrap",direction:"ltr",[`${_t}-panel`]:{borderWidth:`0 0 ${kr}px`},"&:last-child":{[`${_t}-panel`]:{borderWidth:0}}},[`${_t}-panel`]:{verticalAlign:"top",background:"transparent",borderRadius:0,borderWidth:0,[`${_t}-content,
|
|
|
table`]:{textAlign:"center"},"&-focused":{borderColor:qr}}}}),"&-dropdown-range":{padding:`${ho*2/3}px 0`,"&-hidden":{display:"none"}},"&-rtl":{direction:"rtl",[`${_t}-separator`]:{transform:"rotate(180deg)"},[`${_t}-footer`]:{"&-extra":{direction:"rtl"}}}})},(0,zl.oN)(Ct,"slide-up"),(0,zl.oN)(Ct,"slide-down"),(0,Ad.Fm)(Ct,"move-up"),(0,Ad.Fm)(Ct,"move-down")]},xd=Ct=>{const{componentCls:_t,controlHeightLG:zt,paddingXXS:bn,padding:An}=Ct;return{pickerCellCls:`${_t}-cell`,pickerCellInnerCls:`${_t}-cell-inner`,pickerYearMonthCellWidth:zt*1.5,pickerQuarterPanelContentHeight:zt*1.4,pickerCellPaddingVertical:bn+bn/2,pickerCellBorderGap:2,pickerControlIconSize:7,pickerControlIconBorderWidth:1.5,pickerDatePanelPaddingHorizontal:An+bn/2}},Nh=Ct=>({cellHoverBg:Ct.controlItemBgHover,cellActiveWithRangeBg:Ct.controlItemBgActive,cellHoverWithRangeBg:new Zo.C(Ct.colorPrimary).lighten(35).toHexString(),cellRangeBorderColor:new Zo.C(Ct.colorPrimary).lighten(20).toHexString(),cellBgDisabled:Ct.colorBgContainerDisabled,timeColumnWidth:Ct.controlHeightLG*1.4,timeColumnHeight:28*8,timeCellHeight:28,cellWidth:Ct.controlHeightSM*1.5,cellHeight:Ct.controlHeightSM,textHeight:Ct.controlHeightLG,withoutTimeCellHeight:Ct.controlHeightLG*1.65});var xl=(0,Bh.Z)("DatePicker",Ct=>{const _t=(0,gf.TS)((0,Yu.e5)(Ct),xd(Ct));return[Vf(_t),ls(_t),(0,Dl.c)(Ct,{focusElCls:`${Ct.componentCls}-focused`})]},Ct=>Object.assign(Object.assign(Object.assign({},(0,Yu.TM)(Ct)),Nh(Ct)),{presetsWidth:120,presetsMaxWidth:200,zIndexPopup:Ct.zIndexPopupBase+50}));function mf(Ct,_t,zt){return zt!==void 0?zt:_t==="year"&&Ct.lang.yearPlaceholder?Ct.lang.yearPlaceholder:_t==="quarter"&&Ct.lang.quarterPlaceholder?Ct.lang.quarterPlaceholder:_t==="month"&&Ct.lang.monthPlaceholder?Ct.lang.monthPlaceholder:_t==="week"&&Ct.lang.weekPlaceholder?Ct.lang.weekPlaceholder:_t==="time"&&Ct.timePickerLocale.placeholder?Ct.timePickerLocale.placeholder:Ct.lang.placeholder}function Sl(Ct,_t,zt){return zt!==void 0?zt:_t==="year"&&Ct.lang.yearPlaceholder?Ct.lang.rangeYearPlaceholder:_t==="quarter"&&Ct.lang.quarterPlaceholder?Ct.lang.rangeQuarterPlaceholder:_t==="month"&&Ct.lang.monthPlaceholder?Ct.lang.rangeMonthPlaceholder:_t==="week"&&Ct.lang.weekPlaceholder?Ct.lang.rangeWeekPlaceholder:_t==="time"&&Ct.timePickerLocale.placeholder?Ct.timePickerLocale.rangePlaceholder:Ct.lang.rangePlaceholder}function Xu(Ct,_t){const zt={adjustX:1,adjustY:1};switch(_t){case"bottomLeft":return{points:["tl","bl"],offset:[0,4],overflow:zt};case"bottomRight":return{points:["tr","br"],offset:[0,4],overflow:zt};case"topLeft":return{points:["bl","tl"],offset:[0,-4],overflow:zt};case"topRight":return{points:["br","tr"],offset:[0,-4],overflow:zt};default:return{points:Ct==="rtl"?["tr","br"]:["tl","bl"],offset:[0,4],overflow:zt}}}function Kd(Ct){return Ct?Array.isArray(Ct)?Ct:[Ct]:[]}function uc(Ct){const{format:_t,picker:zt,showHour:bn,showMinute:An,showSecond:cr,use12Hours:ir}=Ct,kr=Kd(_t)[0],Rr=Object.assign({},Ct);return _t&&Array.isArray(_t)&&(Rr.format=kr),kr&&typeof kr=="string"&&(!kr.includes("s")&&cr===void 0&&(Rr.showSecond=!1),!kr.includes("m")&&An===void 0&&(Rr.showMinute=!1),!kr.includes("H")&&!kr.includes("h")&&!kr.includes("K")&&!kr.includes("k")&&bn===void 0&&(Rr.showHour=!1),(kr.includes("a")||kr.includes("A"))&&ir===void 0&&(Rr.use12Hours=!0)),zt==="time"?Rr:(typeof kr=="function"&&delete Rr.format,{showTime:Rr})}function Ql(Ct,_t,zt){if(Ct===!1)return!1;const bn={clearIcon:_t!=null?_t:zt};return typeof Ct=="object"?Object.assign(Object.assign({},bn),Ct):bn}var wc=Oe(3113);function Ul(Ct){return ge.createElement(wc.ZP,Object.assign({size:"small",type:"primary"},Ct))}var $c={button:Ul},Xr=function(Ct,_t){var zt={};for(var bn in Ct)Object.prototype.hasOwnProperty.call(Ct,bn)&&_t.indexOf(bn)<0&&(zt[bn]=Ct[bn]);if(Ct!=null&&typeof Object.getOwnPropertySymbols=="function")for(var An=0,bn=Object.getOwnPropertySymbols(Ct);An<bn.length;An++)_t.indexOf(bn[An])<0&&Object.prototype.propertyIsEnumerable.call(Ct,bn[An])&&(zt[bn[An]]=Ct[bn[An]]);return zt};function Hf(Ct){return(0,ge.forwardRef)((zt,bn)=>{const{prefixCls:An,getPopupContainer:cr,className:ir,placement:kr,size:Rr,disabled:qr,bordered:_a=!0,placeholder:ta,popupClassName:ia,dropdownClassName:Aa,status:xa,clearIcon:zr,allowClear:Kr,rootClassName:Sa}=zt,gi=Xr(zt,["prefixCls","getPopupContainer","className","placement","size","disabled","bordered","placeholder","popupClassName","dropdownClassName","status","clearIcon","allowClear","rootClassName"]),Ka=ge.useRef(null),{getPrefixCls:vi,direction:bi,getPopupContainer:hi}=(0,ge.useContext)(df.E_),ii=vi("picker",An),{compactSize:Ni,compactItemClassnames:ro}=(0,hf.ri)(ii,bi),{format:bo,showTime:Mo,picker:ns}=zt,ps=vi(),[Ns,$o]=xl(ii),ho=Object.assign(Object.assign({},Mo?uc(Object.assign({format:bo,picker:ns},Mo)):{}),ns==="time"?uc(Object.assign(Object.assign({format:bo},zt),{picker:ns})):{}),_o=(0,ff.Z)(Sn=>{var _n;return(_n=Rr!=null?Rr:Ni)!==null&&_n!==void 0?_n:Sn}),Do=ge.useContext(Vd.Z),As=qr!=null?qr:Do,Qo=(0,ge.useContext)(jf.aM),{hasFeedback:Fa,status:Zs,feedbackIcon:Rs}=Qo,Ft=ge.createElement(ge.Fragment,null,ns==="time"?ge.createElement(qe,null):ge.createElement(Ge,null),Fa&&Rs);(0,ge.useImperativeHandle)(bn,()=>({focus:()=>{var Sn;return(Sn=Ka.current)===null||Sn===void 0?void 0:Sn.focus()},blur:()=>{var Sn;return(Sn=Ka.current)===null||Sn===void 0?void 0:Sn.blur()}}));const[Ut]=(0,fl.Z)("Calendar",Gf.Z),un=Object.assign(Object.assign({},Ut),zt.locale);return Ns(ge.createElement(Jc,Object.assign({separator:ge.createElement("span",{"aria-label":"to",className:`${ii}-separator`},ge.createElement(At,null)),disabled:As,ref:Ka,dropdownAlign:Xu(bi,kr),placeholder:Sl(un,ns,ta),suffixIcon:Ft,prevIcon:ge.createElement("span",{className:`${ii}-prev-icon`}),nextIcon:ge.createElement("span",{className:`${ii}-next-icon`}),superPrevIcon:ge.createElement("span",{className:`${ii}-super-prev-icon`}),superNextIcon:ge.createElement("span",{className:`${ii}-super-next-icon`}),transitionName:`${ps}-slide-up`},gi,ho,{className:ht()({[`${ii}-${_o}`]:_o,[`${ii}-borderless`]:!_a},(0,pu.Z)(ii,(0,pu.F)(Zs,xa),Fa),$o,ro,ir,Sa),locale:un.lang,prefixCls:ii,getPopupContainer:cr||hi,generateConfig:Ct,components:$c,direction:bi,dropdownClassName:ht()($o,ia||Aa,Sa),allowClear:Ql(Kr,zr,ge.createElement(st.Z,null))})))})}var Zd=function(Ct,_t){var zt={};for(var bn in Ct)Object.prototype.hasOwnProperty.call(Ct,bn)&&_t.indexOf(bn)<0&&(zt[bn]=Ct[bn]);if(Ct!=null&&typeof Object.getOwnPropertySymbols=="function")for(var An=0,bn=Object.getOwnPropertySymbols(Ct);An<bn.length;An++)_t.indexOf(bn[An])<0&&Object.prototype.propertyIsEnumerable.call(Ct,bn[An])&&(zt[bn[An]]=Ct[bn[An]]);return zt};function Rh(Ct){function _t(Rr,qr){const _a=qr==="TimePicker"?"timePicker":"datePicker",ta=(0,ge.forwardRef)((ia,Aa)=>{const{prefixCls:xa,getPopupContainer:zr,style:Kr,className:Sa,rootClassName:gi,size:Ka,bordered:vi=!0,placement:bi,placeholder:hi,popupClassName:ii,dropdownClassName:Ni,disabled:ro,status:bo,clearIcon:Mo,allowClear:ns}=ia,ps=Zd(ia,["prefixCls","getPopupContainer","style","className","rootClassName","size","bordered","placement","placeholder","popupClassName","dropdownClassName","disabled","status","clearIcon","allowClear"]),{getPrefixCls:Ns,direction:$o,getPopupContainer:ho,[_a]:_o}=(0,ge.useContext)(df.E_),Do=Ns("picker",xa),{compactSize:As,compactItemClassnames:Qo}=(0,hf.ri)(Do,$o),Fa=ge.useRef(null),{format:Zs,showTime:Rs}=ia,[Ft,Ut]=xl(Do);(0,ge.useImperativeHandle)(Aa,()=>({focus:()=>{var ha;return(ha=Fa.current)===null||ha===void 0?void 0:ha.focus()},blur:()=>{var ha;return(ha=Fa.current)===null||ha===void 0?void 0:ha.blur()}}));const un={showToday:!0};let Sn={};Rr&&(Sn.picker=Rr);const _n=Rr||ia.picker;Sn=Object.assign(Object.assign(Object.assign({},Sn),Rs?uc(Object.assign({format:Zs,picker:_n},Rs)):{}),_n==="time"?uc(Object.assign(Object.assign({format:Zs},ia),{picker:_n})):{});const Un=Ns(),gr=(0,ff.Z)(ha=>{var ka;return(ka=Ka!=null?Ka:As)!==null&&ka!==void 0?ka:ha}),ur=ge.useContext(Vd.Z),dr=ro!=null?ro:ur,Lr=(0,ge.useContext)(jf.aM),{hasFeedback:Pr,status:Dr,feedbackIcon:$r}=Lr,Jr=ge.createElement(ge.Fragment,null,_n==="time"?ge.createElement(qe,null):ge.createElement(Ge,null),Pr&&$r),[Er]=(0,fl.Z)("DatePicker",Gf.Z),pa=Object.assign(Object.assign({},Er),ia.locale);return Ft(ge.createElement(Cc,Object.assign({ref:Fa,placeholder:mf(pa,_n,hi),suffixIcon:Jr,dropdownAlign:Xu($o,bi),prevIcon:ge.createElement("span",{className:`${Do}-prev-icon`}),nextIcon:ge.createElement("span",{className:`${Do}-next-icon`}),superPrevIcon:ge.createElement("span",{className:`${Do}-super-prev-icon`}),superNextIcon:ge.createElement("span",{className:`${Do}-super-next-icon`}),transitionName:`${Un}-slide-up`},un,ps,Sn,{locale:pa.lang,className:ht()({[`${Do}-${gr}`]:gr,[`${Do}-borderless`]:!vi},(0,pu.Z)(Do,(0,pu.F)(Dr,bo),Pr),Ut,Qo,_o==null?void 0:_o.className,Sa,gi),style:Object.assign(Object.assign({},_o==null?void 0:_o.style),Kr),prefixCls:Do,getPopupContainer:zr||ho,generateConfig:Ct,components:$c,direction:$o,disabled:dr,dropdownClassName:ht()(Ut,gi,ii||Ni),allowClear:Ql(ns,Mo,ge.createElement(st.Z,null))})))});return qr&&(ta.displayName=qr),ta}const zt=_t(),bn=_t("week","WeekPicker"),An=_t("month","MonthPicker"),cr=_t("year","YearPicker"),ir=_t("time","TimePicker"),kr=_t("quarter","QuarterPicker");return{DatePicker:zt,WeekPicker:bn,MonthPicker:An,YearPicker:cr,TimePicker:ir,QuarterPicker:kr}}const Kf=null;function _h(Ct){const{DatePicker:_t,WeekPicker:zt,MonthPicker:bn,YearPicker:An,TimePicker:cr,QuarterPicker:ir}=Rh(Ct),kr=Hf(Ct),Rr=_t;return Rr.WeekPicker=zt,Rr.MonthPicker=bn,Rr.YearPicker=An,Rr.RangePicker=kr,Rr.TimePicker=cr,Rr.QuarterPicker=ir,Rr}var Zf=_h;const Mc=Zf(he);function Il(Ct){const _t=Xu(Ct.direction,Ct.placement);return _t.overflow.adjustY=!1,_t.overflow.adjustX=!1,Object.assign(Object.assign({},Ct),{dropdownAlign:_t})}const Dc=(0,ie.Z)(Mc,"picker",null,Il);Mc._InternalPanelDoNotUseOrYouWillBeFired=Dc;const iu=(0,ie.Z)(Mc.RangePicker,"picker",null,Il);Mc._InternalRangePanelDoNotUseOrYouWillBeFired=iu,Mc.generatePicker=Zf;var Qf=Mc},28103:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return Ee}});var _e=Oe(92310),Ve=Oe.n(_e),Re=Oe(59301),be=Oe(36355),Fe=Oe(17313),Ce=Oe(83116),ve=Oe(37613);const ye=Pe=>{const{componentCls:de,sizePaddingEdgeHorizontal:ee,colorSplit:ne,lineWidth:le,textPaddingInline:oe,orientationMargin:ce,verticalMarginInline:he}=Pe;return{[de]:Object.assign(Object.assign({},(0,Fe.Wf)(Pe)),{borderBlockStart:`${le}px solid ${ne}`,"&-vertical":{position:"relative",top:"-0.06em",display:"inline-block",height:"0.9em",marginInline:he,marginBlock:0,verticalAlign:"middle",borderTop:0,borderInlineStart:`${le}px solid ${ne}`},"&-horizontal":{display:"flex",clear:"both",width:"100%",minWidth:"100%",margin:`${Pe.dividerHorizontalGutterMargin}px 0`},[`&-horizontal${de}-with-text`]:{display:"flex",alignItems:"center",margin:`${Pe.dividerHorizontalWithTextGutterMargin}px 0`,color:Pe.colorTextHeading,fontWeight:500,fontSize:Pe.fontSizeLG,whiteSpace:"nowrap",textAlign:"center",borderBlockStart:`0 ${ne}`,"&::before, &::after":{position:"relative",width:"50%",borderBlockStart:`${le}px solid transparent`,borderBlockStartColor:"inherit",borderBlockEnd:0,transform:"translateY(50%)",content:"''"}},[`&-horizontal${de}-with-text-left`]:{"&::before":{width:`${ce*100}%`},"&::after":{width:`${100-ce*100}%`}},[`&-horizontal${de}-with-text-right`]:{"&::before":{width:`${100-ce*100}%`},"&::after":{width:`${ce*100}%`}},[`${de}-inner-text`]:{display:"inline-block",paddingBlock:0,paddingInline:oe},"&-dashed":{background:"none",borderColor:ne,borderStyle:"dashed",borderWidth:`${le}px 0 0`},[`&-horizontal${de}-with-text${de}-dashed`]:{"&::before, &::after":{borderStyle:"dashed none none"}},[`&-vertical${de}-dashed`]:{borderInlineStartWidth:le,borderInlineEnd:0,borderBlockStart:0,borderBlockEnd:0},[`&-plain${de}-with-text`]:{color:Pe.colorText,fontWeight:"normal",fontSize:Pe.fontSize},[`&-horizontal${de}-with-text-left${de}-no-default-orientation-margin-left`]:{"&::before":{width:0},"&::after":{width:"100%"},[`${de}-inner-text`]:{paddingInlineStart:ee}},[`&-horizontal${de}-with-text-right${de}-no-default-orientation-margin-right`]:{"&::before":{width:"100%"},"&::after":{width:0},[`${de}-inner-text`]:{paddingInlineEnd:ee}}})}};var we=(0,Ce.Z)("Divider",Pe=>{const de=(0,ve.TS)(Pe,{dividerHorizontalWithTextGutterMargin:Pe.margin,dividerHorizontalGutterMargin:Pe.marginLG,sizePaddingEdgeHorizontal:0});return[ye(de)]},Pe=>({textPaddingInline:"1em",orientationMargin:.05,verticalMarginInline:Pe.marginXS})),De=function(Pe,de){var ee={};for(var ne in Pe)Object.prototype.hasOwnProperty.call(Pe,ne)&&de.indexOf(ne)<0&&(ee[ne]=Pe[ne]);if(Pe!=null&&typeof Object.getOwnPropertySymbols=="function")for(var le=0,ne=Object.getOwnPropertySymbols(Pe);le<ne.length;le++)de.indexOf(ne[le])<0&&Object.prototype.propertyIsEnumerable.call(Pe,ne[le])&&(ee[ne[le]]=Pe[ne[le]]);return ee},Ee=Pe=>{const{getPrefixCls:de,direction:ee,divider:ne}=Re.useContext(be.E_),{prefixCls:le,type:oe="horizontal",orientation:ce="center",orientationMargin:he,className:ie,rootClassName:ue,children:ge,dashed:xe,plain:Me,style:Be}=Pe,Ne=De(Pe,["prefixCls","type","orientation","orientationMargin","className","rootClassName","children","dashed","plain","style"]),Ue=de("divider",le),[Ge,Xe]=we(Ue),Ye=ce.length>0?`-${ce}`:ce,nt=!!ge,$e=ce==="left"&&he!=null,qe=ce==="right"&&he!=null,st=Ve()(Ue,ne==null?void 0:ne.className,Xe,`${Ue}-${oe}`,{[`${Ue}-with-text`]:nt,[`${Ue}-with-text${Ye}`]:nt,[`${Ue}-dashed`]:!!xe,[`${Ue}-plain`]:!!Me,[`${Ue}-rtl`]:ee==="rtl",[`${Ue}-no-default-orientation-margin-left`]:$e,[`${Ue}-no-default-orientation-margin-right`]:qe},ie,ue),rt=Re.useMemo(()=>typeof he=="number"?he:/^\d+$/.test(he)?Number(he):he,[he]),ct=Object.assign(Object.assign({},$e&&{marginLeft:rt}),qe&&{marginRight:rt});return Ge(Re.createElement("div",Object.assign({className:st,style:Object.assign(Object.assign({},ne==null?void 0:ne.style),Be)},Ne,{role:"separator"}),ge&&oe!=="vertical"&&Re.createElement("span",{className:`${Ue}-inner-text`,style:ct},ge)))}},43428:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return Ot}});var _e=Oe(92310),Ve=Oe.n(_e),Re=Oe(33708),be=Oe(33606),Fe=Oe(43403),Ce=Oe(34280),ve=Oe(59301),ye=ve.createContext(null),we=ve.createContext({}),De=ye,pe=Oe(400),Ee=Oe(92413),Pe=Oe(77900),de=Oe(10228),ee=Oe(26112),ne=Oe(70425),le=function(tn){var Dn=tn.prefixCls,Tn=tn.className,sn=tn.style,dn=tn.children,Kt=tn.containerRef,Tt=tn.id,yt=tn.onMouseEnter,Gt=tn.onMouseOver,gt=tn.onMouseLeave,St=tn.onClick,Qt=tn.onKeyDown,Nt=tn.onKeyUp,wt={onMouseEnter:yt,onMouseOver:Gt,onMouseLeave:gt,onClick:St,onKeyDown:Qt,onKeyUp:Nt},rn=ve.useContext(we),On=rn.panel,zn=(0,ne.useComposeRef)(On,Kt);return ve.createElement(ve.Fragment,null,ve.createElement("div",(0,Ee.Z)({id:Tt,className:Ve()("".concat(Dn,"-content"),Tn),style:(0,Re.Z)({},sn),"aria-modal":"true",role:"dialog",ref:zn},wt),dn))},oe=le,ce=Oe(48736);function he(an){return typeof an=="string"&&String(Number(an))===an?((0,ce.ZP)(!1,"Invalid value type of `width` or `height` which should be number type instead."),Number(an)):an}function ie(an){warning(!("wrapperClassName"in an),"'wrapperClassName' is removed. Please use 'rootClassName' instead."),warning(canUseDom()||!an.open,"Drawer with 'open' in SSR is not work since no place to createPortal. Please move to 'useEffect' instead.")}var ue={width:0,height:0,overflow:"hidden",outline:"none",position:"absolute"};function ge(an,tn){var Dn,Tn,sn,dn,Kt=an.prefixCls,Tt=an.open,yt=an.placement,Gt=an.inline,gt=an.push,St=an.forceRender,Qt=an.autoFocus,Nt=an.keyboard,wt=an.rootClassName,rn=an.rootStyle,On=an.zIndex,zn=an.className,Gn=an.id,nr=an.style,Xn=an.motion,$t=an.width,gn=an.height,jn=an.children,Ln=an.contentWrapperStyle,Sr=an.mask,Ur=an.maskClosable,Mr=an.maskMotion,Gr=an.maskClassName,ma=an.maskStyle,Oa=an.afterOpenChange,Ea=an.onClose,Ma=an.onMouseEnter,li=an.onMouseOver,di=an.onMouseLeave,Hr=an.onClick,Ta=an.onKeyDown,Ha=an.onKeyUp,sr=ve.useRef(),pr=ve.useRef(),Qa=ve.useRef();ve.useImperativeHandle(tn,function(){return sr.current});var hn=function(fn){var Zn=fn.keyCode,Mn=fn.shiftKey;switch(Zn){case de.Z.TAB:{if(Zn===de.Z.TAB){if(!Mn&&document.activeElement===Qa.current){var er;(er=pr.current)===null||er===void 0||er.focus({preventScroll:!0})}else if(Mn&&document.activeElement===pr.current){var rr;(rr=Qa.current)===null||rr===void 0||rr.focus({preventScroll:!0})}}break}case de.Z.ESC:{Ea&&Nt&&(fn.stopPropagation(),Ea(fn));break}}};ve.useEffect(function(){if(Tt&&Qt){var cn;(cn=sr.current)===null||cn===void 0||cn.focus({preventScroll:!0})}},[Tt]);var kn=ve.useState(!1),ar=(0,be.Z)(kn,2),lr=ar[0],Fr=ar[1],pt=ve.useContext(De),Ae;gt===!1?Ae={distance:0}:gt===!0?Ae={}:Ae=gt||{};var Le=(Dn=(Tn=(sn=Ae)===null||sn===void 0?void 0:sn.distance)!==null&&Tn!==void 0?Tn:pt==null?void 0:pt.pushDistance)!==null&&Dn!==void 0?Dn:180,Ie=ve.useMemo(function(){return{pushDistance:Le,push:function(){Fr(!0)},pull:function(){Fr(!1)}}},[Le]);ve.useEffect(function(){if(Tt){var cn;pt==null||(cn=pt.push)===null||cn===void 0||cn.call(pt)}else{var fn;pt==null||(fn=pt.pull)===null||fn===void 0||fn.call(pt)}},[Tt]),ve.useEffect(function(){return function(){var cn;pt==null||(cn=pt.pull)===null||cn===void 0||cn.call(pt)}},[]);var ze=Sr&&ve.createElement(Pe.default,(0,Ee.Z)({key:"mask"},Mr,{visible:Tt}),function(cn,fn){var Zn=cn.className,Mn=cn.style;return ve.createElement("div",{className:Ve()("".concat(Kt,"-mask"),Zn,Gr),style:(0,Re.Z)((0,Re.Z)({},Mn),ma),onClick:Ur&&Tt?Ea:void 0,ref:fn})}),Ze=typeof Xn=="function"?Xn(yt):Xn,xt={};if(lr&&Le)switch(yt){case"top":xt.transform="translateY(".concat(Le,"px)");break;case"bottom":xt.transform="translateY(".concat(-Le,"px)");break;case"left":xt.transform="translateX(".concat(Le,"px)");break;default:xt.transform="translateX(".concat(-Le,"px)");break}yt==="left"||yt==="right"?xt.width=he($t):xt.height=he(gn);var bt={onMouseEnter:Ma,onMouseOver:li,onMouseLeave:di,onClick:Hr,onKeyDown:Ta,onKeyUp:Ha},Yt=ve.createElement(Pe.default,(0,Ee.Z)({key:"panel"},Ze,{visible:Tt,forceRender:St,onVisibleChanged:function(fn){Oa==null||Oa(fn)},removeOnLeave:!1,leavedClassName:"".concat(Kt,"-content-wrapper-hidden")}),function(cn,fn){var Zn=cn.className,Mn=cn.style;return ve.createElement("div",(0,Ee.Z)({className:Ve()("".concat(Kt,"-content-wrapper"),Zn),style:(0,Re.Z)((0,Re.Z)((0,Re.Z)({},xt),Mn),Ln)},(0,ee.Z)(an,{data:!0})),ve.createElement(oe,(0,Ee.Z)({id:Gn,containerRef:fn,prefixCls:Kt,className:zn,style:nr},bt),jn))}),Ht=(0,Re.Z)({},rn);return On&&(Ht.zIndex=On),ve.createElement(De.Provider,{value:Ie},ve.createElement("div",{className:Ve()(Kt,"".concat(Kt,"-").concat(yt),wt,(dn={},(0,pe.Z)(dn,"".concat(Kt,"-open"),Tt),(0,pe.Z)(dn,"".concat(Kt,"-inline"),Gt),dn)),style:Ht,tabIndex:-1,ref:sr,onKeyDown:hn},ze,ve.createElement("div",{tabIndex:0,ref:pr,style:ue,"aria-hidden":"true","data-sentinel":"start"}),Yt,ve.createElement("div",{tabIndex:0,ref:Qa,style:ue,"aria-hidden":"true","data-sentinel":"end"})))}var xe=ve.forwardRef(ge),Me=xe,Be=function(tn){var Dn=tn.open,Tn=Dn===void 0?!1:Dn,sn=tn.prefixCls,dn=sn===void 0?"rc-drawer":sn,Kt=tn.placement,Tt=Kt===void 0?"right":Kt,yt=tn.autoFocus,Gt=yt===void 0?!0:yt,gt=tn.keyboard,St=gt===void 0?!0:gt,Qt=tn.width,Nt=Qt===void 0?378:Qt,wt=tn.mask,rn=wt===void 0?!0:wt,On=tn.maskClosable,zn=On===void 0?!0:On,Gn=tn.getContainer,nr=tn.forceRender,Xn=tn.afterOpenChange,$t=tn.destroyOnClose,gn=tn.onMouseEnter,jn=tn.onMouseOver,Ln=tn.onMouseLeave,Sr=tn.onClick,Ur=tn.onKeyDown,Mr=tn.onKeyUp,Gr=tn.panelRef,ma=ve.useState(!1),Oa=(0,be.Z)(ma,2),Ea=Oa[0],Ma=Oa[1],li=ve.useState(!1),di=(0,be.Z)(li,2),Hr=di[0],Ta=di[1];(0,Ce.Z)(function(){Ta(!0)},[]);var Ha=Hr?Tn:!1,sr=ve.useRef(),pr=ve.useRef();(0,Ce.Z)(function(){Ha&&(pr.current=document.activeElement)},[Ha]);var Qa=function(Fr){var pt;if(Ma(Fr),Xn==null||Xn(Fr),!Fr&&pr.current&&!((pt=sr.current)!==null&&pt!==void 0&&pt.contains(pr.current))){var Ae;(Ae=pr.current)===null||Ae===void 0||Ae.focus({preventScroll:!0})}},hn=ve.useMemo(function(){return{panel:Gr}},[Gr]);if(!nr&&!Ea&&!Ha&&$t)return null;var kn={onMouseEnter:gn,onMouseOver:jn,onMouseLeave:Ln,onClick:Sr,onKeyDown:Ur,onKeyUp:Mr},ar=(0,Re.Z)((0,Re.Z)({},tn),{},{open:Ha,prefixCls:dn,placement:Tt,autoFocus:Gt,keyboard:St,width:Nt,mask:rn,maskClosable:zn,inline:Gn===!1,afterOpenChange:Qa,ref:sr},kn);return ve.createElement(we.Provider,{value:hn},ve.createElement(Fe.Z,{open:Ha||nr||Ea,autoDestroy:!1,getContainer:Gn,autoLock:rn&&(Ha||Ea)},ve.createElement(Me,ar)))},Ne=Be,Ue=Ne,Ge=Oe(62892),Xe=Oe(36355),Ye=Oe(32441),nt=Oe(47729),qe=an=>{const{prefixCls:tn,title:Dn,footer:Tn,extra:sn,closeIcon:dn,closable:Kt,onClose:Tt,headerStyle:yt,drawerStyle:Gt,bodyStyle:gt,footerStyle:St,children:Qt}=an,Nt=ve.useCallback(Gn=>ve.createElement("button",{type:"button",onClick:Tt,"aria-label":"Close",className:`${tn}-close`},Gn),[Tt]),[wt,rn]=(0,nt.Z)(Kt,dn,Nt,void 0,!0),On=ve.useMemo(()=>!Dn&&!wt?null:ve.createElement("div",{style:yt,className:Ve()(`${tn}-header`,{[`${tn}-header-close-only`]:wt&&!Dn&&!sn})},ve.createElement("div",{className:`${tn}-header-title`},rn,Dn&&ve.createElement("div",{className:`${tn}-title`},Dn)),sn&&ve.createElement("div",{className:`${tn}-extra`},sn)),[wt,rn,sn,yt,tn,Dn]),zn=ve.useMemo(()=>{if(!Tn)return null;const Gn=`${tn}-footer`;return ve.createElement("div",{className:Gn,style:St},Tn)},[Tn,St,tn]);return ve.createElement("div",{className:`${tn}-wrapper-body`,style:Gt},On,ve.createElement("div",{className:`${tn}-body`,style:gt},Qt),zn)},st=Oe(33234),rt=Oe(83116),ct=Oe(37613),dt=an=>{const{componentCls:tn,motionDurationSlow:Dn}=an,Tn={"&-enter, &-appear, &-leave":{"&-start":{transition:"none"},"&-active":{transition:`all ${Dn}`}}};return{[tn]:{[`${tn}-mask-motion`]:{"&-enter, &-appear, &-leave":{"&-active":{transition:`all ${Dn}`}},"&-enter, &-appear":{opacity:0,"&-active":{opacity:1}},"&-leave":{opacity:1,"&-active":{opacity:0}}},[`${tn}-panel-motion`]:{"&-left":[Tn,{"&-enter, &-appear":{"&-start":{transform:"translateX(-100%) !important"},"&-active":{transform:"translateX(0)"}},"&-leave":{transform:"translateX(0)","&-active":{transform:"translateX(-100%)"}}}],"&-right":[Tn,{"&-enter, &-appear":{"&-start":{transform:"translateX(100%) !important"},"&-active":{transform:"translateX(0)"}},"&-leave":{transform:"translateX(0)","&-active":{transform:"translateX(100%)"}}}],"&-top":[Tn,{"&-enter, &-appear":{"&-start":{transform:"translateY(-100%) !important"},"&-active":{transform:"translateY(0)"}},"&-leave":{transform:"translateY(0)","&-active":{transform:"translateY(-100%)"}}}],"&-bottom":[Tn,{"&-enter, &-appear":{"&-start":{transform:"translateY(100%) !important"},"&-active":{transform:"translateY(0)"}},"&-leave":{transform:"translateY(0)","&-active":{transform:"translateY(100%)"}}}]}}}};const At=an=>{const{componentCls:tn,zIndexPopup:Dn,colorBgMask:Tn,colorBgElevated:sn,motionDurationSlow:dn,motionDurationMid:Kt,padding:Tt,paddingLG:yt,fontSizeLG:Gt,lineHeightLG:gt,lineWidth:St,lineType:Qt,colorSplit:Nt,marginSM:wt,colorIcon:rn,colorIconHover:On,colorText:zn,fontWeightStrong:Gn,footerPaddingBlock:nr,footerPaddingInline:Xn}=an,$t=`${tn}-content-wrapper`;return{[tn]:{position:"fixed",inset:0,zIndex:Dn,pointerEvents:"none","&-pure":{position:"relative",background:sn,[`&${tn}-left`]:{boxShadow:an.boxShadowDrawerLeft},[`&${tn}-right`]:{boxShadow:an.boxShadowDrawerRight},[`&${tn}-top`]:{boxShadow:an.boxShadowDrawerUp},[`&${tn}-bottom`]:{boxShadow:an.boxShadowDrawerDown}},"&-inline":{position:"absolute"},[`${tn}-mask`]:{position:"absolute",inset:0,zIndex:Dn,background:Tn,pointerEvents:"auto"},[$t]:{position:"absolute",zIndex:Dn,maxWidth:"100vw",transition:`all ${dn}`,"&-hidden":{display:"none"}},[`&-left > ${$t}`]:{top:0,bottom:0,left:{_skip_check_:!0,value:0},boxShadow:an.boxShadowDrawerLeft},[`&-right > ${$t}`]:{top:0,right:{_skip_check_:!0,value:0},bottom:0,boxShadow:an.boxShadowDrawerRight},[`&-top > ${$t}`]:{top:0,insetInline:0,boxShadow:an.boxShadowDrawerUp},[`&-bottom > ${$t}`]:{bottom:0,insetInline:0,boxShadow:an.boxShadowDrawerDown},[`${tn}-content`]:{width:"100%",height:"100%",overflow:"auto",background:sn,pointerEvents:"auto"},[`${tn}-wrapper-body`]:{display:"flex",flexDirection:"column",width:"100%",height:"100%"},[`${tn}-header`]:{display:"flex",flex:0,alignItems:"center",padding:`${Tt}px ${yt}px`,fontSize:Gt,lineHeight:gt,borderBottom:`${St}px ${Qt} ${Nt}`,"&-title":{display:"flex",flex:1,alignItems:"center",minWidth:0,minHeight:0}},[`${tn}-extra`]:{flex:"none"},[`${tn}-close`]:{display:"inline-block",marginInlineEnd:wt,color:rn,fontWeight:Gn,fontSize:Gt,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",textDecoration:"none",background:"transparent",border:0,outline:0,cursor:"pointer",transition:`color ${Kt}`,textRendering:"auto","&:focus, &:hover":{color:On,textDecoration:"none"}},[`${tn}-title`]:{flex:1,margin:0,color:zn,fontWeight:an.fontWeightStrong,fontSize:Gt,lineHeight:gt},[`${tn}-body`]:{flex:1,minWidth:0,minHeight:0,padding:yt,overflow:"auto"},[`${tn}-footer`]:{flexShrink:0,padding:`${nr}px ${Xn}px`,borderTop:`${St}px ${Qt} ${Nt}`},"&-rtl":{direction:"rtl"}}}};var mt=(0,rt.Z)("Drawer",an=>{const tn=(0,ct.TS)(an,{});return[At(tn),dt(tn)]},an=>({zIndexPopup:an.zIndexPopupBase,footerPaddingBlock:an.paddingXS,footerPaddingInline:an.padding})),ht=Oe(11575),vt=function(an,tn){var Dn={};for(var Tn in an)Object.prototype.hasOwnProperty.call(an,Tn)&&tn.indexOf(Tn)<0&&(Dn[Tn]=an[Tn]);if(an!=null&&typeof Object.getOwnPropertySymbols=="function")for(var sn=0,Tn=Object.getOwnPropertySymbols(an);sn<Tn.length;sn++)tn.indexOf(Tn[sn])<0&&Object.prototype.propertyIsEnumerable.call(an,Tn[sn])&&(Dn[Tn[sn]]=an[Tn[sn]]);return Dn};const Wt=null,Jt={distance:180},en=an=>{var tn;const{rootClassName:Dn,width:Tn,height:sn,size:dn="default",mask:Kt=!0,push:Tt=Jt,open:yt,afterOpenChange:Gt,onClose:gt,prefixCls:St,getContainer:Qt,style:Nt,className:wt,visible:rn,afterVisibleChange:On}=an,zn=vt(an,["rootClassName","width","height","size","mask","push","open","afterOpenChange","onClose","prefixCls","getContainer","style","className","visible","afterVisibleChange"]),{getPopupContainer:Gn,getPrefixCls:nr,direction:Xn,drawer:$t}=ve.useContext(Xe.E_),gn=nr("drawer",St),[jn,Ln]=mt(gn),Sr=Qt===void 0&&Gn?()=>Gn(document.body):Qt,Ur=Ve()({"no-mask":!Kt,[`${gn}-rtl`]:Xn==="rtl"},Dn,Ln),Mr=ve.useMemo(()=>Tn!=null?Tn:dn==="large"?736:378,[Tn,dn]),Gr=ve.useMemo(()=>sn!=null?sn:dn==="large"?736:378,[sn,dn]),ma={motionName:(0,Ge.m)(gn,"mask-motion"),motionAppear:!0,motionEnter:!0,motionLeave:!0,motionDeadline:500},Oa=Ma=>({motionName:(0,Ge.m)(gn,`panel-motion-${Ma}`),motionAppear:!0,motionEnter:!0,motionLeave:!0,motionDeadline:500}),Ea=(0,ht.H)();return jn(ve.createElement(st.BR,null,ve.createElement(Ye.Ux,{status:!0,override:!0},ve.createElement(Ue,Object.assign({prefixCls:gn,onClose:gt,maskMotion:ma,motion:Oa},zn,{open:yt!=null?yt:rn,mask:Kt,push:Tt,width:Mr,height:Gr,style:Object.assign(Object.assign({},$t==null?void 0:$t.style),Nt),className:Ve()($t==null?void 0:$t.className,wt),rootClassName:Ur,getContainer:Sr,afterOpenChange:Gt!=null?Gt:On,panelRef:Ea}),ve.createElement(qe,Object.assign({prefixCls:gn},zn,{onClose:gt}))))))},mn=an=>{const{prefixCls:tn,style:Dn,className:Tn,placement:sn="right"}=an,dn=vt(an,["prefixCls","style","className","placement"]),{getPrefixCls:Kt}=ve.useContext(Xe.E_),Tt=Kt("drawer",tn),[yt,Gt]=mt(Tt),gt=Ve()(Tt,`${Tt}-pure`,`${Tt}-${sn}`,Gt,Tn);return yt(ve.createElement("div",{className:gt,style:Dn},ve.createElement(qe,Object.assign({prefixCls:Tt},dn))))};en._InternalPanelDoNotUseOrYouWillBeFired=mn;var Ot=en},91857:function(Pt,Mt,Oe){"use strict";var _e=Oe(59301),Ve=Oe(38819),Re=Oe(92310),be=Oe.n(Re),Fe=Oe(31561),Ce=Oe(70425),ve=Oe(18929),ye=Oe(2738),we=Oe(79676),De=Oe(53487),pe=Oe(92343),Ee=Oe(36355),Pe=Oe(20834),de=Oe(40875),ee=Oe(88088),ne=Oe(47211);const le=null,oe=ue=>{const{menu:ge,arrow:xe,prefixCls:Me,children:Be,trigger:Ne,disabled:Ue,dropdownRender:Ge,getPopupContainer:Xe,overlayClassName:Ye,rootClassName:nt,open:$e,onOpenChange:qe,visible:st,onVisibleChange:rt,mouseEnterDelay:ct=.15,mouseLeaveDelay:tt=.1,autoAdjustOverflow:dt=!0,placement:At="",overlay:mt,transitionName:ht}=ue,{getPopupContainer:vt,getPrefixCls:Wt,direction:Jt}=_e.useContext(Ee.E_),en=_e.useMemo(()=>{const wt=Wt();return ht!==void 0?ht:At.includes("top")?`${wt}-slide-down`:`${wt}-slide-up`},[Wt,At,ht]),mn=_e.useMemo(()=>At?At.includes("Center")?At.slice(0,At.indexOf("Center")):At:Jt==="rtl"?"bottomRight":"bottomLeft",[At,Jt]),Ot=Wt("dropdown",Me),[an,tn]=(0,ne.Z)(Ot),[,Dn]=(0,ee.Z)(),Tn=_e.Children.only(Be),sn=(0,pe.Tm)(Tn,{className:be()(`${Ot}-trigger`,{[`${Ot}-rtl`]:Jt==="rtl"},Tn.props.className),disabled:Ue}),dn=Ue?[]:Ne;let Kt;dn&&dn.includes("contextMenu")&&(Kt=!0);const[Tt,yt]=(0,ve.Z)(!1,{value:$e!=null?$e:st}),Gt=(0,Ce.useEvent)(wt=>{qe==null||qe(wt),rt==null||rt(wt),yt(wt)}),gt=be()(Ye,nt,tn,{[`${Ot}-rtl`]:Jt==="rtl"}),St=(0,we.Z)({arrowPointAtCenter:typeof xe=="object"&&xe.pointAtCenter,autoAdjustOverflow:dt,offset:Dn.marginXXS,arrowWidth:xe?Dn.sizePopupArrow:0,borderRadius:Dn.borderRadius}),Qt=_e.useCallback(()=>{yt(!1)},[]),Nt=()=>{let wt;return ge!=null&&ge.items?wt=_e.createElement(Pe.default,Object.assign({},ge)):typeof mt=="function"?wt=mt():wt=mt,Ge&&(wt=Ge(wt)),wt=_e.Children.only(typeof wt=="string"?_e.createElement("span",null,wt):wt),_e.createElement(de.J,{prefixCls:`${Ot}-menu`,expandIcon:_e.createElement("span",{className:`${Ot}-menu-submenu-arrow`},_e.createElement(Ve.Z,{className:`${Ot}-menu-submenu-arrow-icon`})),mode:"vertical",selectable:!1,onClick:Qt,validator:rn=>{let{mode:On}=rn}},wt)};return an(_e.createElement(Fe.Z,Object.assign({alignPoint:Kt},(0,ye.Z)(ue,["rootClassName"]),{mouseEnterDelay:ct,mouseLeaveDelay:tt,visible:Tt,builtinPlacements:St,arrow:!!xe,overlayClassName:gt,prefixCls:Ot,getPopupContainer:Xe||vt,transitionName:en,trigger:dn,overlay:Nt,placement:mn,onVisibleChange:Gt}),sn))};function ce(ue){return Object.assign(Object.assign({},ue),{align:{overflow:{adjustX:!1,adjustY:!1}}})}const he=(0,De.Z)(oe,"dropdown",ue=>ue,ce),ie=ue=>_e.createElement(he,Object.assign({},ue),_e.createElement("span",null));oe._InternalPanelDoNotUseOrYouWillBeFired=ie,Mt.Z=oe},38854:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return ee}});var _e=Oe(91857),Ve=Oe(92310),Re=Oe.n(Ve),be=Oe(59301),Fe=Oe(18785),Ce=Oe(3113),ve=Oe(36355),ye=Oe(81327),we=Oe(33234),De=Oe(47211),pe=function(ne,le){var oe={};for(var ce in ne)Object.prototype.hasOwnProperty.call(ne,ce)&&le.indexOf(ce)<0&&(oe[ce]=ne[ce]);if(ne!=null&&typeof Object.getOwnPropertySymbols=="function")for(var he=0,ce=Object.getOwnPropertySymbols(ne);he<ce.length;he++)le.indexOf(ce[he])<0&&Object.prototype.propertyIsEnumerable.call(ne,ce[he])&&(oe[ce[he]]=ne[ce[he]]);return oe};const Ee=ne=>{const{getPopupContainer:le,getPrefixCls:oe,direction:ce}=be.useContext(ve.E_),{prefixCls:he,type:ie="default",danger:ue,disabled:ge,loading:xe,onClick:Me,htmlType:Be,children:Ne,className:Ue,menu:Ge,arrow:Xe,autoFocus:Ye,overlay:nt,trigger:$e,align:qe,open:st,onOpenChange:rt,placement:ct,getPopupContainer:tt,href:dt,icon:At=be.createElement(Fe.Z,null),title:mt,buttonsRender:ht=Nt=>Nt,mouseEnterDelay:vt,mouseLeaveDelay:Wt,overlayClassName:Jt,overlayStyle:en,destroyPopupOnHide:mn,dropdownRender:Ot}=ne,an=pe(ne,["prefixCls","type","danger","disabled","loading","onClick","htmlType","children","className","menu","arrow","autoFocus","overlay","trigger","align","open","onOpenChange","placement","getPopupContainer","href","icon","title","buttonsRender","mouseEnterDelay","mouseLeaveDelay","overlayClassName","overlayStyle","destroyPopupOnHide","dropdownRender"]),tn=oe("dropdown",he),Dn=`${tn}-button`,[Tn,sn]=(0,De.Z)(tn),dn={menu:Ge,arrow:Xe,autoFocus:Ye,align:qe,disabled:ge,trigger:ge?[]:$e,onOpenChange:rt,getPopupContainer:tt||le,mouseEnterDelay:vt,mouseLeaveDelay:Wt,overlayClassName:Jt,overlayStyle:en,destroyPopupOnHide:mn,dropdownRender:Ot},{compactSize:Kt,compactItemClassnames:Tt}=(0,we.ri)(tn,ce),yt=Re()(Dn,Tt,Ue,sn);"overlay"in ne&&(dn.overlay=nt),"open"in ne&&(dn.open=st),"placement"in ne?dn.placement=ct:dn.placement=ce==="rtl"?"bottomLeft":"bottomRight";const Gt=be.createElement(Ce.ZP,{type:ie,danger:ue,disabled:ge,loading:xe,onClick:Me,htmlType:Be,href:dt,title:mt},Ne),gt=be.createElement(Ce.ZP,{type:ie,danger:ue,icon:At}),[St,Qt]=ht([Gt,gt]);return Tn(be.createElement(ye.Z.Compact,Object.assign({className:yt,size:Kt,block:!0},an),St,be.createElement(_e.Z,Object.assign({},dn),Qt)))};Ee.__ANT_BUTTON=!0;var Pe=Ee;const de=_e.Z;de.Button=Pe;var ee=de},47211:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return pe}});var _e=Oe(17313),Ve=Oe(13826),Re=Oe(92899),be=Oe(29878),Fe=Oe(19447),Ce=Oe(83116),ve=Oe(37613),we=Ee=>{const{componentCls:Pe,menuCls:de,colorError:ee,colorTextLightSolid:ne}=Ee,le=`${de}-item`;return{[`${Pe}, ${Pe}-menu-submenu`]:{[`${de} ${le}`]:{[`&${le}-danger:not(${le}-disabled)`]:{color:ee,"&:hover":{color:ne,backgroundColor:ee}}}}}};const De=Ee=>{const{componentCls:Pe,menuCls:de,zIndexPopup:ee,dropdownArrowDistance:ne,sizePopupArrow:le,antCls:oe,iconCls:ce,motionDurationMid:he,dropdownPaddingVertical:ie,fontSize:ue,dropdownEdgeChildPadding:ge,colorTextDisabled:xe,fontSizeIcon:Me,controlPaddingHorizontal:Be,colorBgElevated:Ne}=Ee;return[{[Pe]:Object.assign(Object.assign({},(0,_e.Wf)(Ee)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:ee,display:"block","&::before":{position:"absolute",insetBlock:-ne+le/2,zIndex:-9999,opacity:1e-4,content:'""'},[`&-trigger${oe}-btn`]:{[`& > ${ce}-down, & > ${oe}-btn-icon > ${ce}-down`]:{fontSize:Me}},[`${Pe}-wrap`]:{position:"relative",[`${oe}-btn > ${ce}-down`]:{fontSize:Me},[`${ce}-down::before`]:{transition:`transform ${he}`}},[`${Pe}-wrap-open`]:{[`${ce}-down::before`]:{transform:"rotate(180deg)"}},"\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n ":{display:"none"},[`&${oe}-slide-down-enter${oe}-slide-down-enter-active${Pe}-placement-bottomLeft,
|
|
|
&${oe}-slide-down-appear${oe}-slide-down-appear-active${Pe}-placement-bottomLeft,
|
|
|
&${oe}-slide-down-enter${oe}-slide-down-enter-active${Pe}-placement-bottom,
|
|
|
&${oe}-slide-down-appear${oe}-slide-down-appear-active${Pe}-placement-bottom,
|
|
|
&${oe}-slide-down-enter${oe}-slide-down-enter-active${Pe}-placement-bottomRight,
|
|
|
&${oe}-slide-down-appear${oe}-slide-down-appear-active${Pe}-placement-bottomRight`]:{animationName:Ve.fJ},[`&${oe}-slide-up-enter${oe}-slide-up-enter-active${Pe}-placement-topLeft,
|
|
|
&${oe}-slide-up-appear${oe}-slide-up-appear-active${Pe}-placement-topLeft,
|
|
|
&${oe}-slide-up-enter${oe}-slide-up-enter-active${Pe}-placement-top,
|
|
|
&${oe}-slide-up-appear${oe}-slide-up-appear-active${Pe}-placement-top,
|
|
|
&${oe}-slide-up-enter${oe}-slide-up-enter-active${Pe}-placement-topRight,
|
|
|
&${oe}-slide-up-appear${oe}-slide-up-appear-active${Pe}-placement-topRight`]:{animationName:Ve.Qt},[`&${oe}-slide-down-leave${oe}-slide-down-leave-active${Pe}-placement-bottomLeft,
|
|
|
&${oe}-slide-down-leave${oe}-slide-down-leave-active${Pe}-placement-bottom,
|
|
|
&${oe}-slide-down-leave${oe}-slide-down-leave-active${Pe}-placement-bottomRight`]:{animationName:Ve.Uw},[`&${oe}-slide-up-leave${oe}-slide-up-leave-active${Pe}-placement-topLeft,
|
|
|
&${oe}-slide-up-leave${oe}-slide-up-leave-active${Pe}-placement-top,
|
|
|
&${oe}-slide-up-leave${oe}-slide-up-leave-active${Pe}-placement-topRight`]:{animationName:Ve.ly}})},(0,Fe.ZP)(Ee,{colorBg:Ne,limitVerticalRadius:!0,arrowPlacement:{top:!0,bottom:!0}}),{[`${Pe} ${de}`]:{position:"relative",margin:0},[`${de}-submenu-popup`]:{position:"absolute",zIndex:ee,background:"transparent",boxShadow:"none",transformOrigin:"0 0","ul, li":{listStyle:"none",margin:0}},[`${Pe}, ${Pe}-menu-submenu`]:{[de]:Object.assign(Object.assign({padding:ge,listStyleType:"none",backgroundColor:Ne,backgroundClip:"padding-box",borderRadius:Ee.borderRadiusLG,outline:"none",boxShadow:Ee.boxShadowSecondary},(0,_e.Qy)(Ee)),{[`${de}-item-group-title`]:{padding:`${ie}px ${Be}px`,color:Ee.colorTextDescription,transition:`all ${he}`},[`${de}-item`]:{position:"relative",display:"flex",alignItems:"center"},[`${de}-item-icon`]:{minWidth:ue,marginInlineEnd:Ee.marginXS,fontSize:Ee.fontSizeSM},[`${de}-title-content`]:{flex:"auto","> a":{color:"inherit",transition:`all ${he}`,"&:hover":{color:"inherit"},"&::after":{position:"absolute",inset:0,content:'""'}}},[`${de}-item, ${de}-submenu-title`]:Object.assign(Object.assign({clear:"both",margin:0,padding:`${ie}px ${Be}px`,color:Ee.colorText,fontWeight:"normal",fontSize:ue,lineHeight:Ee.lineHeight,cursor:"pointer",transition:`all ${he}`,borderRadius:Ee.borderRadiusSM,"&:hover, &-active":{backgroundColor:Ee.controlItemBgHover}},(0,_e.Qy)(Ee)),{"&-selected":{color:Ee.colorPrimary,backgroundColor:Ee.controlItemBgActive,"&:hover, &-active":{backgroundColor:Ee.controlItemBgActiveHover}},"&-disabled":{color:xe,cursor:"not-allowed","&:hover":{color:xe,backgroundColor:Ne,cursor:"not-allowed"},a:{pointerEvents:"none"}},"&-divider":{height:1,margin:`${Ee.marginXXS}px 0`,overflow:"hidden",lineHeight:0,backgroundColor:Ee.colorSplit},[`${Pe}-menu-submenu-expand-icon`]:{position:"absolute",insetInlineEnd:Ee.paddingXS,[`${Pe}-menu-submenu-arrow-icon`]:{marginInlineEnd:"0 !important",color:Ee.colorTextDescription,fontSize:Me,fontStyle:"normal"}}}),[`${de}-item-group-list`]:{margin:`0 ${Ee.marginXS}px`,padding:0,listStyle:"none"},[`${de}-submenu-title`]:{paddingInlineEnd:Be+Ee.fontSizeSM},[`${de}-submenu-vertical`]:{position:"relative"},[`${de}-submenu${de}-submenu-disabled ${Pe}-menu-submenu-title`]:{[`&, ${Pe}-menu-submenu-arrow-icon`]:{color:xe,backgroundColor:Ne,cursor:"not-allowed"}},[`${de}-submenu-selected ${Pe}-menu-submenu-title`]:{color:Ee.colorPrimary}})}},[(0,Ve.oN)(Ee,"slide-up"),(0,Ve.oN)(Ee,"slide-down"),(0,Re.Fm)(Ee,"move-up"),(0,Re.Fm)(Ee,"move-down"),(0,be._y)(Ee,"zoom-big")]]};var pe=(0,Ce.Z)("Dropdown",(Ee,Pe)=>{let{rootPrefixCls:de}=Pe;const{marginXXS:ee,sizePopupArrow:ne,controlHeight:le,fontSize:oe,lineHeight:ce,paddingXXS:he,componentCls:ie,borderRadiusLG:ue}=Ee,ge=(le-oe*ce)/2,{dropdownArrowOffset:xe}=(0,Fe.fS)({contentRadius:ue}),Me=(0,ve.TS)(Ee,{menuCls:`${ie}-menu`,rootPrefixCls:de,dropdownArrowDistance:ne/2+ee,dropdownArrowOffset:xe,dropdownPaddingVertical:ge,dropdownEdgeChildPadding:he});return[De(Me),we(Me)]},Ee=>({zIndexPopup:Ee.zIndexPopupBase+50}))},8628:function(Pt,Mt,Oe){"use strict";var _e=Oe(59301),Ve=Oe(34280),Re=Oe(56762),be=Oe(69507);function Fe(){let Ce=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;const ve=(0,_e.useRef)({}),ye=(0,Re.Z)(),we=(0,be.ZP)();return(0,Ve.Z)(()=>{const De=we.subscribe(pe=>{ve.current=pe,Ce&&ye()});return()=>we.unsubscribe(De)},[]),ve.current}Mt.Z=Fe},45818:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{D:function(){return he},Z:function(){return ge}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"bars",theme:"outlined"},be=Re,Fe=Oe(7657),Ce=function(Me,Be){return Ve.createElement(Fe.Z,(0,_e.Z)({},Me,{ref:Be,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve,we=Oe(33853),De=Oe(38819),pe=Oe(92310),Ee=Oe.n(pe),Pe=Oe(2738),ee=xe=>!isNaN(parseFloat(xe))&&isFinite(xe),ne=Oe(36355),le=Oe(84966),oe=function(xe,Me){var Be={};for(var Ne in xe)Object.prototype.hasOwnProperty.call(xe,Ne)&&Me.indexOf(Ne)<0&&(Be[Ne]=xe[Ne]);if(xe!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ue=0,Ne=Object.getOwnPropertySymbols(xe);Ue<Ne.length;Ue++)Me.indexOf(Ne[Ue])<0&&Object.prototype.propertyIsEnumerable.call(xe,Ne[Ue])&&(Be[Ne[Ue]]=xe[Ne[Ue]]);return Be};const ce={xs:"479.98px",sm:"575.98px",md:"767.98px",lg:"991.98px",xl:"1199.98px",xxl:"1599.98px"},he=Ve.createContext({}),ie=(()=>{let xe=0;return function(){let Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return xe+=1,`${Me}${xe}`}})();var ge=Ve.forwardRef((xe,Me)=>{const{prefixCls:Be,className:Ne,trigger:Ue,children:Ge,defaultCollapsed:Xe=!1,theme:Ye="dark",style:nt={},collapsible:$e=!1,reverseArrow:qe=!1,width:st=200,collapsedWidth:rt=80,zeroWidthTriggerStyle:ct,breakpoint:tt,onCollapse:dt,onBreakpoint:At}=xe,mt=oe(xe,["prefixCls","className","trigger","children","defaultCollapsed","theme","style","collapsible","reverseArrow","width","collapsedWidth","zeroWidthTriggerStyle","breakpoint","onCollapse","onBreakpoint"]),{siderHook:ht}=(0,Ve.useContext)(le.Gs),[vt,Wt]=(0,Ve.useState)("collapsed"in xe?xe.collapsed:Xe),[Jt,en]=(0,Ve.useState)(!1);(0,Ve.useEffect)(()=>{"collapsed"in xe&&Wt(xe.collapsed)},[xe.collapsed]);const mn=(sn,dn)=>{"collapsed"in xe||Wt(sn),dt==null||dt(sn,dn)},Ot=(0,Ve.useRef)();Ot.current=sn=>{en(sn.matches),At==null||At(sn.matches),vt!==sn.matches&&mn(sn.matches,"responsive")},(0,Ve.useEffect)(()=>{function sn(Kt){return Ot.current(Kt)}let dn;if(typeof window!="undefined"){const{matchMedia:Kt}=window;if(Kt&&tt&&tt in ce){dn=Kt(`(max-width: ${ce[tt]})`);try{dn.addEventListener("change",sn)}catch(Tt){dn.addListener(sn)}sn(dn)}}return()=>{try{dn==null||dn.removeEventListener("change",sn)}catch(Kt){dn==null||dn.removeListener(sn)}}},[tt]),(0,Ve.useEffect)(()=>{const sn=ie("ant-sider-");return ht.addSider(sn),()=>ht.removeSider(sn)},[]);const an=()=>{mn(!vt,"clickTrigger")},{getPrefixCls:tn}=(0,Ve.useContext)(ne.E_),Dn=()=>{const sn=tn("layout-sider",Be),dn=(0,Pe.Z)(mt,["collapsed"]),Kt=vt?rt:st,Tt=ee(Kt)?`${Kt}px`:String(Kt),yt=parseFloat(String(rt||0))===0?Ve.createElement("span",{onClick:an,className:Ee()(`${sn}-zero-width-trigger`,`${sn}-zero-width-trigger-${qe?"right":"left"}`),style:ct},Ue||Ve.createElement(ye,null)):null,St={expanded:qe?Ve.createElement(De.Z,null):Ve.createElement(we.Z,null),collapsed:qe?Ve.createElement(we.Z,null):Ve.createElement(De.Z,null)}[vt?"collapsed":"expanded"],Qt=Ue!==null?yt||Ve.createElement("div",{className:`${sn}-trigger`,onClick:an,style:{width:Tt}},Ue||St):null,Nt=Object.assign(Object.assign({},nt),{flex:`0 0 ${Tt}`,maxWidth:Tt,minWidth:Tt,width:Tt}),wt=Ee()(sn,`${sn}-${Ye}`,{[`${sn}-collapsed`]:!!vt,[`${sn}-has-trigger`]:$e&&Ue!==null&&!yt,[`${sn}-below`]:!!Jt,[`${sn}-zero-width`]:parseFloat(Tt)===0},Ne);return Ve.createElement("aside",Object.assign({className:wt},dn,{style:Nt,ref:Me}),Ve.createElement("div",{className:`${sn}-children`},Ge),$e||Jt&&yt?Qt:null)},Tn=Ve.useMemo(()=>({siderCollapsed:vt}),[vt]);return Ve.createElement(he.Provider,{value:Tn},Dn())})},84966:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{VY:function(){return he},$_:function(){return ce},h4:function(){return oe},Gs:function(){return Pe},ZP:function(){return ie}});var _e=Oe(26407),Ve=Oe(92310),Re=Oe.n(Ve),be=Oe(2738),Fe=Oe(59301),Ce=Oe(36355),ve=Oe(83116),we=ue=>{const{componentCls:ge,bodyBg:xe,lightSiderBg:Me,lightTriggerBg:Be,lightTriggerColor:Ne}=ue;return{[`${ge}-sider-light`]:{background:Me,[`${ge}-sider-trigger`]:{color:Ne,background:Be},[`${ge}-sider-zero-width-trigger`]:{color:Ne,background:Be,border:`1px solid ${xe}`,borderInlineStart:0}}}};const De=ue=>{const{antCls:ge,componentCls:xe,colorText:Me,triggerColor:Be,footerBg:Ne,triggerBg:Ue,headerHeight:Ge,headerPadding:Xe,headerColor:Ye,footerPadding:nt,triggerHeight:$e,zeroTriggerHeight:qe,zeroTriggerWidth:st,motionDurationMid:rt,motionDurationSlow:ct,fontSize:tt,borderRadius:dt,bodyBg:At,headerBg:mt,siderBg:ht}=ue;return{[xe]:Object.assign(Object.assign({display:"flex",flex:"auto",flexDirection:"column",minHeight:0,background:At,"&, *":{boxSizing:"border-box"},[`&${xe}-has-sider`]:{flexDirection:"row",[`> ${xe}, > ${xe}-content`]:{width:0}},[`${xe}-header, &${xe}-footer`]:{flex:"0 0 auto"},[`${xe}-sider`]:{position:"relative",minWidth:0,background:ht,transition:`all ${rt}, background 0s`,"&-children":{height:"100%",marginTop:-.1,paddingTop:.1,[`${ge}-menu${ge}-menu-inline-collapsed`]:{width:"auto"}},"&-has-trigger":{paddingBottom:$e},"&-right":{order:1},"&-trigger":{position:"fixed",bottom:0,zIndex:1,height:$e,color:Be,lineHeight:`${$e}px`,textAlign:"center",background:Ue,cursor:"pointer",transition:`all ${rt}`},"&-zero-width":{"> *":{overflow:"hidden"},"&-trigger":{position:"absolute",top:Ge,insetInlineEnd:-st,zIndex:1,width:st,height:qe,color:Be,fontSize:ue.fontSizeXL,display:"flex",alignItems:"center",justifyContent:"center",background:ht,borderStartStartRadius:0,borderStartEndRadius:dt,borderEndEndRadius:dt,borderEndStartRadius:0,cursor:"pointer",transition:`background ${ct} ease`,"&::after":{position:"absolute",inset:0,background:"transparent",transition:`all ${ct}`,content:'""'},"&:hover::after":{background:"rgba(255, 255, 255, 0.2)"},"&-right":{insetInlineStart:-st,borderStartStartRadius:dt,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:dt}}}}},we(ue)),{"&-rtl":{direction:"rtl"}}),[`${xe}-header`]:{height:Ge,padding:Xe,color:Ye,lineHeight:`${Ge}px`,background:mt,[`${ge}-menu`]:{lineHeight:"inherit"}},[`${xe}-footer`]:{padding:nt,color:Me,fontSize:tt,background:Ne},[`${xe}-content`]:{flex:"auto",minHeight:0}}};var pe=(0,ve.Z)("Layout",ue=>[De(ue)],ue=>{const{colorBgLayout:ge,controlHeight:xe,controlHeightLG:Me,colorText:Be,controlHeightSM:Ne,marginXXS:Ue,colorTextLightSolid:Ge,colorBgContainer:Xe}=ue,Ye=Me*1.25;return{colorBgHeader:"#001529",colorBgBody:ge,colorBgTrigger:"#002140",bodyBg:ge,headerBg:"#001529",headerHeight:xe*2,headerPadding:`0 ${Ye}px`,headerColor:Be,footerPadding:`${Ne}px ${Ye}px`,footerBg:ge,siderBg:"#001529",triggerHeight:Me+Ue*2,triggerBg:"#002140",triggerColor:Ge,zeroTriggerWidth:Me,zeroTriggerHeight:Me,lightSiderBg:Xe,lightTriggerBg:Xe,lightTriggerColor:Be}},{deprecatedTokens:[["colorBgBody","bodyBg"],["colorBgHeader","headerBg"],["colorBgTrigger","triggerBg"]]}),Ee=function(ue,ge){var xe={};for(var Me in ue)Object.prototype.hasOwnProperty.call(ue,Me)&&ge.indexOf(Me)<0&&(xe[Me]=ue[Me]);if(ue!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Be=0,Me=Object.getOwnPropertySymbols(ue);Be<Me.length;Be++)ge.indexOf(Me[Be])<0&&Object.prototype.propertyIsEnumerable.call(ue,Me[Be])&&(xe[Me[Be]]=ue[Me[Be]]);return xe};const Pe=Fe.createContext({siderHook:{addSider:()=>null,removeSider:()=>null}});function de(ue){let{suffixCls:ge,tagName:xe,displayName:Me}=ue;return Be=>Fe.forwardRef((Ue,Ge)=>Fe.createElement(Be,Object.assign({ref:Ge,suffixCls:ge,tagName:xe},Ue)))}const ee=Fe.forwardRef((ue,ge)=>{const{prefixCls:xe,suffixCls:Me,className:Be,tagName:Ne}=ue,Ue=Ee(ue,["prefixCls","suffixCls","className","tagName"]),{getPrefixCls:Ge}=Fe.useContext(Ce.E_),Xe=Ge("layout",xe),[Ye,nt]=pe(Xe),$e=Me?`${Xe}-${Me}`:Xe;return Ye(Fe.createElement(Ne,Object.assign({className:Re()(xe||$e,Be,nt),ref:ge},Ue)))}),ne=Fe.forwardRef((ue,ge)=>{const{direction:xe}=Fe.useContext(Ce.E_),[Me,Be]=Fe.useState([]),{prefixCls:Ne,className:Ue,rootClassName:Ge,children:Xe,hasSider:Ye,tagName:nt,style:$e}=ue,qe=Ee(ue,["prefixCls","className","rootClassName","children","hasSider","tagName","style"]),st=(0,be.Z)(qe,["suffixCls"]),{getPrefixCls:rt,layout:ct}=Fe.useContext(Ce.E_),tt=rt("layout",Ne),[dt,At]=pe(tt),mt=Re()(tt,{[`${tt}-has-sider`]:typeof Ye=="boolean"?Ye:Me.length>0,[`${tt}-rtl`]:xe==="rtl"},ct==null?void 0:ct.className,Ue,Ge,At),ht=Fe.useMemo(()=>({siderHook:{addSider:vt=>{Be(Wt=>[].concat((0,_e.Z)(Wt),[vt]))},removeSider:vt=>{Be(Wt=>Wt.filter(Jt=>Jt!==vt))}}}),[]);return dt(Fe.createElement(Pe.Provider,{value:ht},Fe.createElement(nt,Object.assign({ref:ge,className:mt,style:Object.assign(Object.assign({},ct==null?void 0:ct.style),$e)},st),Xe)))}),le=de({tagName:"div",displayName:"Layout"})(ne),oe=de({suffixCls:"header",tagName:"header",displayName:"Header"})(ee),ce=de({suffixCls:"footer",tagName:"footer",displayName:"Footer"})(ee),he=de({suffixCls:"content",tagName:"main",displayName:"Content"})(ee);var ie=le},40875:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{J:function(){return Ce}});var _e=Oe(59301),Ve=Oe(33234),Re=Oe(70425),be=function(ve,ye){var we={};for(var De in ve)Object.prototype.hasOwnProperty.call(ve,De)&&ye.indexOf(De)<0&&(we[De]=ve[De]);if(ve!=null&&typeof Object.getOwnPropertySymbols=="function")for(var pe=0,De=Object.getOwnPropertySymbols(ve);pe<De.length;pe++)ye.indexOf(De[pe])<0&&Object.prototype.propertyIsEnumerable.call(ve,De[pe])&&(we[De[pe]]=ve[De[pe]]);return we};const Fe=_e.createContext(null),Ce=_e.forwardRef((ve,ye)=>{const{children:we}=ve,De=be(ve,["children"]),pe=_e.useContext(Fe),Ee=_e.useMemo(()=>Object.assign(Object.assign({},pe),De),[pe,De.prefixCls,De.mode,De.selectable]);return _e.createElement(Fe.Provider,{value:Ee},_e.createElement(Ve.BR,null,(0,Re.supportNodeRef)(we)?_e.cloneElement(we,{ref:ye}):we))});Mt.Z=Fe},20834:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{default:function(){return Tn}});var _e=Oe(15285),Ve=Oe(59301),Re=Oe(45818),be=Oe(92310),Fe=Oe.n(be),Ce=Oe(36355),ve=function(sn,dn){var Kt={};for(var Tt in sn)Object.prototype.hasOwnProperty.call(sn,Tt)&&dn.indexOf(Tt)<0&&(Kt[Tt]=sn[Tt]);if(sn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var yt=0,Tt=Object.getOwnPropertySymbols(sn);yt<Tt.length;yt++)dn.indexOf(Tt[yt])<0&&Object.prototype.propertyIsEnumerable.call(sn,Tt[yt])&&(Kt[Tt[yt]]=sn[Tt[yt]]);return Kt},we=sn=>{const{prefixCls:dn,className:Kt,dashed:Tt}=sn,yt=ve(sn,["prefixCls","className","dashed"]),{getPrefixCls:Gt}=Ve.useContext(Ce.E_),gt=Gt("menu",dn),St=Fe()({[`${gt}-item-divider-dashed`]:!!Tt},Kt);return Ve.createElement(_e.iz,Object.assign({className:St},yt))},De=Oe(11592),pe=Oe(2738),Ee=Oe(6848),Pe=Oe(92343),ee=(0,Ve.createContext)({prefixCls:"",firstLevel:!0,inlineCollapsed:!1}),le=sn=>{var dn;const{className:Kt,children:Tt,icon:yt,title:Gt,danger:gt}=sn,{prefixCls:St,firstLevel:Qt,direction:Nt,disableMenuItemTitleTooltip:wt,inlineCollapsed:rn}=Ve.useContext(ee),On=gn=>{const jn=Ve.createElement("span",{className:`${St}-title-content`},Tt);return(!yt||(0,Pe.l$)(Tt)&&Tt.type==="span")&&Tt&&gn&&Qt&&typeof Tt=="string"?Ve.createElement("div",{className:`${St}-inline-collapsed-noicon`},Tt.charAt(0)):jn},{siderCollapsed:zn}=Ve.useContext(Re.D);let Gn=Gt;typeof Gt=="undefined"?Gn=Qt?Tt:"":Gt===!1&&(Gn="");const nr={title:Gn};!zn&&!rn&&(nr.title=null,nr.open=!1);const Xn=(0,De.Z)(Tt).length;let $t=Ve.createElement(_e.ck,Object.assign({},(0,pe.Z)(sn,["title","icon","danger"]),{className:Fe()({[`${St}-item-danger`]:gt,[`${St}-item-only-child`]:(yt?Xn+1:Xn)===1},Kt),title:typeof Gt=="string"?Gt:void 0}),(0,Pe.Tm)(yt,{className:Fe()((0,Pe.l$)(yt)?(dn=yt.props)===null||dn===void 0?void 0:dn.className:"",`${St}-item-icon`)}),On(rn));return wt||($t=Ve.createElement(Ee.Z,Object.assign({},nr,{placement:Nt==="rtl"?"left":"right",overlayClassName:`${St}-inline-collapsed-tooltip`}),$t)),$t},ce=sn=>{var dn;const{popupClassName:Kt,icon:Tt,title:yt,theme:Gt}=sn,gt=Ve.useContext(ee),{prefixCls:St,inlineCollapsed:Qt,theme:Nt}=gt,wt=(0,_e.Xl)();let rn;if(!Tt)rn=Qt&&!wt.length&&yt&&typeof yt=="string"?Ve.createElement("div",{className:`${St}-inline-collapsed-noicon`},yt.charAt(0)):Ve.createElement("span",{className:`${St}-title-content`},yt);else{const zn=(0,Pe.l$)(yt)&&yt.type==="span";rn=Ve.createElement(Ve.Fragment,null,(0,Pe.Tm)(Tt,{className:Fe()((0,Pe.l$)(Tt)?(dn=Tt.props)===null||dn===void 0?void 0:dn.className:"",`${St}-item-icon`)}),zn?yt:Ve.createElement("span",{className:`${St}-title-content`},yt))}const On=Ve.useMemo(()=>Object.assign(Object.assign({},gt),{firstLevel:!1}),[gt]);return Ve.createElement(ee.Provider,{value:On},Ve.createElement(_e.Wd,Object.assign({},(0,pe.Z)(sn,["icon"]),{title:rn,popupClassName:Fe()(St,Kt,`${St}-${Gt||Nt}`)})))},he=Oe(18785),ie=Oe(70425),ue=Oe(62892),ge=Oe(40875),xe=function(sn,dn){var Kt={};for(var Tt in sn)Object.prototype.hasOwnProperty.call(sn,Tt)&&dn.indexOf(Tt)<0&&(Kt[Tt]=sn[Tt]);if(sn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var yt=0,Tt=Object.getOwnPropertySymbols(sn);yt<Tt.length;yt++)dn.indexOf(Tt[yt])<0&&Object.prototype.propertyIsEnumerable.call(sn,Tt[yt])&&(Kt[Tt[yt]]=sn[Tt[yt]]);return Kt};function Me(sn){return(sn||[]).map((dn,Kt)=>{if(dn&&typeof dn=="object"){const Tt=dn,{label:yt,children:Gt,key:gt,type:St}=Tt,Qt=xe(Tt,["label","children","key","type"]),Nt=gt!=null?gt:`tmp-${Kt}`;return Gt||St==="group"?St==="group"?Ve.createElement(_e.BW,Object.assign({key:Nt},Qt,{title:yt}),Me(Gt)):Ve.createElement(ce,Object.assign({key:Nt},Qt,{title:yt}),Me(Gt)):St==="divider"?Ve.createElement(we,Object.assign({key:Nt},Qt)):Ve.createElement(le,Object.assign({key:Nt},Qt),yt)}return null}).filter(dn=>dn)}function Be(sn){return Ve.useMemo(()=>sn&&Me(sn),[sn])}var Ne=Oe(64993),Ue=Oe(17313),Ge=Oe(8378),Xe=Oe(13826),Ye=Oe(29878),nt=Oe(83116),$e=Oe(37613),st=sn=>{const{componentCls:dn,motionDurationSlow:Kt,horizontalLineHeight:Tt,colorSplit:yt,lineWidth:Gt,lineType:gt,itemPaddingInline:St}=sn;return{[`${dn}-horizontal`]:{lineHeight:Tt,border:0,borderBottom:`${Gt}px ${gt} ${yt}`,boxShadow:"none","&::after":{display:"block",clear:"both",height:0,content:'"\\20"'},[`${dn}-item, ${dn}-submenu`]:{position:"relative",display:"inline-block",verticalAlign:"bottom",paddingInline:St},[`> ${dn}-item:hover,
|
|
|
> ${dn}-item-active,
|
|
|
> ${dn}-submenu ${dn}-submenu-title:hover`]:{backgroundColor:"transparent"},[`${dn}-item, ${dn}-submenu-title`]:{transition:[`border-color ${Kt}`,`background ${Kt}`].join(",")},[`${dn}-submenu-arrow`]:{display:"none"}}}},ct=sn=>{let{componentCls:dn,menuArrowOffset:Kt}=sn;return{[`${dn}-rtl`]:{direction:"rtl"},[`${dn}-submenu-rtl`]:{transformOrigin:"100% 0"},[`${dn}-rtl${dn}-vertical,
|
|
|
${dn}-submenu-rtl ${dn}-vertical`]:{[`${dn}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateY(-${Kt})`},"&::after":{transform:`rotate(45deg) translateY(${Kt})`}}}}};const tt=sn=>Object.assign({},(0,Ue.oN)(sn));var At=(sn,dn)=>{const{componentCls:Kt,itemColor:Tt,itemSelectedColor:yt,groupTitleColor:Gt,itemBg:gt,subMenuItemBg:St,itemSelectedBg:Qt,activeBarHeight:Nt,activeBarWidth:wt,activeBarBorderWidth:rn,motionDurationSlow:On,motionEaseInOut:zn,motionEaseOut:Gn,itemPaddingInline:nr,motionDurationMid:Xn,itemHoverColor:$t,lineType:gn,colorSplit:jn,itemDisabledColor:Ln,dangerItemColor:Sr,dangerItemHoverColor:Ur,dangerItemSelectedColor:Mr,dangerItemActiveBg:Gr,dangerItemSelectedBg:ma,itemHoverBg:Oa,itemActiveBg:Ea,menuSubMenuBg:Ma,horizontalItemSelectedColor:li,horizontalItemSelectedBg:di,horizontalItemBorderRadius:Hr,horizontalItemHoverBg:Ta,popupBg:Ha}=sn;return{[`${Kt}-${dn}, ${Kt}-${dn} > ${Kt}`]:{color:Tt,background:gt,[`&${Kt}-root:focus-visible`]:Object.assign({},tt(sn)),[`${Kt}-item-group-title`]:{color:Gt},[`${Kt}-submenu-selected`]:{[`> ${Kt}-submenu-title`]:{color:yt}},[`${Kt}-item-disabled, ${Kt}-submenu-disabled`]:{color:`${Ln} !important`},[`${Kt}-item:not(${Kt}-item-selected):not(${Kt}-submenu-selected)`]:{[`&:hover, > ${Kt}-submenu-title:hover`]:{color:$t}},[`&:not(${Kt}-horizontal)`]:{[`${Kt}-item:not(${Kt}-item-selected)`]:{"&:hover":{backgroundColor:Oa},"&:active":{backgroundColor:Ea}},[`${Kt}-submenu-title`]:{"&:hover":{backgroundColor:Oa},"&:active":{backgroundColor:Ea}}},[`${Kt}-item-danger`]:{color:Sr,[`&${Kt}-item:hover`]:{[`&:not(${Kt}-item-selected):not(${Kt}-submenu-selected)`]:{color:Ur}},[`&${Kt}-item:active`]:{background:Gr}},[`${Kt}-item a`]:{"&, &:hover":{color:"inherit"}},[`${Kt}-item-selected`]:{color:yt,[`&${Kt}-item-danger`]:{color:Mr},"a, a:hover":{color:"inherit"}},[`& ${Kt}-item-selected`]:{backgroundColor:Qt,[`&${Kt}-item-danger`]:{backgroundColor:ma}},[`${Kt}-item, ${Kt}-submenu-title`]:{[`&:not(${Kt}-item-disabled):focus-visible`]:Object.assign({},tt(sn))},[`&${Kt}-submenu > ${Kt}`]:{backgroundColor:Ma},[`&${Kt}-popup > ${Kt}`]:{backgroundColor:Ha},[`&${Kt}-horizontal`]:Object.assign(Object.assign({},dn==="dark"?{borderBottom:0}:{}),{[`> ${Kt}-item, > ${Kt}-submenu`]:{top:rn,marginTop:-rn,marginBottom:0,borderRadius:Hr,"&::after":{position:"absolute",insetInline:nr,bottom:0,borderBottom:`${Nt}px solid transparent`,transition:`border-color ${On} ${zn}`,content:'""'},"&:hover, &-active, &-open":{background:Ta,"&::after":{borderBottomWidth:Nt,borderBottomColor:li}},"&-selected":{color:li,backgroundColor:di,"&:hover":{backgroundColor:di},"&::after":{borderBottomWidth:Nt,borderBottomColor:li}}}}),[`&${Kt}-root`]:{[`&${Kt}-inline, &${Kt}-vertical`]:{borderInlineEnd:`${rn}px ${gn} ${jn}`}},[`&${Kt}-inline`]:{[`${Kt}-sub${Kt}-inline`]:{background:St},[`${Kt}-item, ${Kt}-submenu-title`]:rn&&wt?{width:`calc(100% + ${rn}px)`}:{},[`${Kt}-item`]:{position:"relative","&::after":{position:"absolute",insetBlock:0,insetInlineEnd:0,borderInlineEnd:`${wt}px solid ${yt}`,transform:"scaleY(0.0001)",opacity:0,transition:[`transform ${Xn} ${Gn}`,`opacity ${Xn} ${Gn}`].join(","),content:'""'},[`&${Kt}-item-danger`]:{"&::after":{borderInlineEndColor:Mr}}},[`${Kt}-selected, ${Kt}-item-selected`]:{"&::after":{transform:"scaleY(1)",opacity:1,transition:[`transform ${Xn} ${zn}`,`opacity ${Xn} ${zn}`].join(",")}}}}}};const mt=sn=>{const{componentCls:dn,itemHeight:Kt,itemMarginInline:Tt,padding:yt,menuArrowSize:Gt,marginXS:gt,itemMarginBlock:St}=sn,Qt=yt+Gt+gt;return{[`${dn}-item`]:{position:"relative",overflow:"hidden"},[`${dn}-item, ${dn}-submenu-title`]:{height:Kt,lineHeight:`${Kt}px`,paddingInline:yt,overflow:"hidden",textOverflow:"ellipsis",marginInline:Tt,marginBlock:St,width:`calc(100% - ${Tt*2}px)`},[`> ${dn}-item,
|
|
|
> ${dn}-submenu > ${dn}-submenu-title`]:{height:Kt,lineHeight:`${Kt}px`},[`${dn}-item-group-list ${dn}-submenu-title,
|
|
|
${dn}-submenu-title`]:{paddingInlineEnd:Qt}}};var vt=sn=>{const{componentCls:dn,iconCls:Kt,itemHeight:Tt,colorTextLightSolid:yt,dropdownWidth:Gt,controlHeightLG:gt,motionDurationMid:St,motionEaseOut:Qt,paddingXL:Nt,itemMarginInline:wt,fontSizeLG:rn,motionDurationSlow:On,paddingXS:zn,boxShadowSecondary:Gn,collapsedWidth:nr,collapsedIconSize:Xn}=sn,$t={height:Tt,lineHeight:`${Tt}px`,listStylePosition:"inside",listStyleType:"disc"};return[{[dn]:{"&-inline, &-vertical":Object.assign({[`&${dn}-root`]:{boxShadow:"none"}},mt(sn))},[`${dn}-submenu-popup`]:{[`${dn}-vertical`]:Object.assign(Object.assign({},mt(sn)),{boxShadow:Gn})}},{[`${dn}-submenu-popup ${dn}-vertical${dn}-sub`]:{minWidth:Gt,maxHeight:`calc(100vh - ${gt*2.5}px)`,padding:"0",overflow:"hidden",borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:"hidden",overflowY:"auto"}}},{[`${dn}-inline`]:{width:"100%",[`&${dn}-root`]:{[`${dn}-item, ${dn}-submenu-title`]:{display:"flex",alignItems:"center",transition:[`border-color ${On}`,`background ${On}`,`padding ${St} ${Qt}`].join(","),[`> ${dn}-title-content`]:{flex:"auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},"> *":{flex:"none"}}},[`${dn}-sub${dn}-inline`]:{padding:0,border:0,borderRadius:0,boxShadow:"none",[`& > ${dn}-submenu > ${dn}-submenu-title`]:$t,[`& ${dn}-item-group-title`]:{paddingInlineStart:Nt}},[`${dn}-item`]:$t}},{[`${dn}-inline-collapsed`]:{width:nr,[`&${dn}-root`]:{[`${dn}-item, ${dn}-submenu ${dn}-submenu-title`]:{[`> ${dn}-inline-collapsed-noicon`]:{fontSize:rn,textAlign:"center"}}},[`> ${dn}-item,
|
|
|
> ${dn}-item-group > ${dn}-item-group-list > ${dn}-item,
|
|
|
> ${dn}-item-group > ${dn}-item-group-list > ${dn}-submenu > ${dn}-submenu-title,
|
|
|
> ${dn}-submenu > ${dn}-submenu-title`]:{insetInlineStart:0,paddingInline:`calc(50% - ${rn/2}px - ${wt}px)`,textOverflow:"clip",[`
|
|
|
${dn}-submenu-arrow,
|
|
|
${dn}-submenu-expand-icon
|
|
|
`]:{opacity:0},[`${dn}-item-icon, ${Kt}`]:{margin:0,fontSize:Xn,lineHeight:`${Tt}px`,"+ span":{display:"inline-block",opacity:0}}},[`${dn}-item-icon, ${Kt}`]:{display:"inline-block"},"&-tooltip":{pointerEvents:"none",[`${dn}-item-icon, ${Kt}`]:{display:"none"},"a, a:hover":{color:yt}},[`${dn}-item-group-title`]:Object.assign(Object.assign({},Ue.vS),{paddingInline:zn})}}]};const Wt=sn=>{const{componentCls:dn,motionDurationSlow:Kt,motionDurationMid:Tt,motionEaseInOut:yt,motionEaseOut:Gt,iconCls:gt,iconSize:St,iconMarginInlineEnd:Qt}=sn;return{[`${dn}-item, ${dn}-submenu-title`]:{position:"relative",display:"block",margin:0,whiteSpace:"nowrap",cursor:"pointer",transition:[`border-color ${Kt}`,`background ${Kt}`,`padding ${Kt} ${yt}`].join(","),[`${dn}-item-icon, ${gt}`]:{minWidth:St,fontSize:St,transition:[`font-size ${Tt} ${Gt}`,`margin ${Kt} ${yt}`,`color ${Kt}`].join(","),"+ span":{marginInlineStart:Qt,opacity:1,transition:[`opacity ${Kt} ${yt}`,`margin ${Kt}`,`color ${Kt}`].join(",")}},[`${dn}-item-icon`]:Object.assign({},(0,Ue.Ro)()),[`&${dn}-item-only-child`]:{[`> ${gt}, > ${dn}-item-icon`]:{marginInlineEnd:0}}},[`${dn}-item-disabled, ${dn}-submenu-disabled`]:{background:"none !important",cursor:"not-allowed","&::after":{borderColor:"transparent !important"},a:{color:"inherit !important"},[`> ${dn}-submenu-title`]:{color:"inherit !important",cursor:"not-allowed"}}}},Jt=sn=>{const{componentCls:dn,motionDurationSlow:Kt,motionEaseInOut:Tt,borderRadius:yt,menuArrowSize:Gt,menuArrowOffset:gt}=sn;return{[`${dn}-submenu`]:{"&-expand-icon, &-arrow":{position:"absolute",top:"50%",insetInlineEnd:sn.margin,width:Gt,color:"currentcolor",transform:"translateY(-50%)",transition:`transform ${Kt} ${Tt}, opacity ${Kt}`},"&-arrow":{"&::before, &::after":{position:"absolute",width:Gt*.6,height:Gt*.15,backgroundColor:"currentcolor",borderRadius:yt,transition:[`background ${Kt} ${Tt}`,`transform ${Kt} ${Tt}`,`top ${Kt} ${Tt}`,`color ${Kt} ${Tt}`].join(","),content:'""'},"&::before":{transform:`rotate(45deg) translateY(-${gt})`},"&::after":{transform:`rotate(-45deg) translateY(${gt})`}}}}},en=sn=>{const{antCls:dn,componentCls:Kt,fontSize:Tt,motionDurationSlow:yt,motionDurationMid:Gt,motionEaseInOut:gt,paddingXS:St,padding:Qt,colorSplit:Nt,lineWidth:wt,zIndexPopup:rn,borderRadiusLG:On,subMenuItemBorderRadius:zn,menuArrowSize:Gn,menuArrowOffset:nr,lineType:Xn,menuPanelMaskInset:$t,groupTitleLineHeight:gn,groupTitleFontSize:jn}=sn;return[{"":{[`${Kt}`]:Object.assign(Object.assign({},(0,Ue.dF)()),{"&-hidden":{display:"none"}})},[`${Kt}-submenu-hidden`]:{display:"none"}},{[Kt]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,Ue.Wf)(sn)),(0,Ue.dF)()),{marginBottom:0,paddingInlineStart:0,fontSize:Tt,lineHeight:0,listStyle:"none",outline:"none",transition:`width ${yt} cubic-bezier(0.2, 0, 0, 1) 0s`,"ul, ol":{margin:0,padding:0,listStyle:"none"},"&-overflow":{display:"flex",[`${Kt}-item`]:{flex:"none"}},[`${Kt}-item, ${Kt}-submenu, ${Kt}-submenu-title`]:{borderRadius:sn.itemBorderRadius},[`${Kt}-item-group-title`]:{padding:`${St}px ${Qt}px`,fontSize:jn,lineHeight:gn,transition:`all ${yt}`},[`&-horizontal ${Kt}-submenu`]:{transition:[`border-color ${yt} ${gt}`,`background ${yt} ${gt}`].join(",")},[`${Kt}-submenu, ${Kt}-submenu-inline`]:{transition:[`border-color ${yt} ${gt}`,`background ${yt} ${gt}`,`padding ${Gt} ${gt}`].join(",")},[`${Kt}-submenu ${Kt}-sub`]:{cursor:"initial",transition:[`background ${yt} ${gt}`,`padding ${yt} ${gt}`].join(",")},[`${Kt}-title-content`]:{transition:`color ${yt}`},[`${Kt}-item a`]:{"&::before":{position:"absolute",inset:0,backgroundColor:"transparent",content:'""'}},[`${Kt}-item-divider`]:{overflow:"hidden",lineHeight:0,borderColor:Nt,borderStyle:Xn,borderWidth:0,borderTopWidth:wt,marginBlock:wt,padding:0,"&-dashed":{borderStyle:"dashed"}}}),Wt(sn)),{[`${Kt}-item-group`]:{[`${Kt}-item-group-list`]:{margin:0,padding:0,[`${Kt}-item, ${Kt}-submenu-title`]:{paddingInline:`${Tt*2}px ${Qt}px`}}},"&-submenu":{"&-popup":{position:"absolute",zIndex:rn,borderRadius:On,boxShadow:"none",transformOrigin:"0 0",[`&${Kt}-submenu`]:{background:"transparent"},"&::before":{position:"absolute",inset:`${$t}px 0 0`,zIndex:-1,width:"100%",height:"100%",opacity:0,content:'""'}},"&-placement-rightTop::before":{top:0,insetInlineStart:$t},"\n &-placement-leftTop,\n &-placement-bottomRight,\n ":{transformOrigin:"100% 0"},"\n &-placement-leftBottom,\n &-placement-topRight,\n ":{transformOrigin:"100% 100%"},"\n &-placement-rightBottom,\n &-placement-topLeft,\n ":{transformOrigin:"0 100%"},"\n &-placement-bottomLeft,\n &-placement-rightTop,\n ":{transformOrigin:"0 0"},"\n &-placement-leftTop,\n &-placement-leftBottom\n ":{paddingInlineEnd:sn.paddingXS},"\n &-placement-rightTop,\n &-placement-rightBottom\n ":{paddingInlineStart:sn.paddingXS},"\n &-placement-topRight,\n &-placement-topLeft\n ":{paddingBottom:sn.paddingXS},"\n &-placement-bottomRight,\n &-placement-bottomLeft\n ":{paddingTop:sn.paddingXS},[`> ${Kt}`]:Object.assign(Object.assign(Object.assign({borderRadius:On},Wt(sn)),Jt(sn)),{[`${Kt}-item, ${Kt}-submenu > ${Kt}-submenu-title`]:{borderRadius:zn},[`${Kt}-submenu-title::after`]:{transition:`transform ${yt} ${gt}`}})}}),Jt(sn)),{[`&-inline-collapsed ${Kt}-submenu-arrow,
|
|
|
&-inline ${Kt}-submenu-arrow`]:{"&::before":{transform:`rotate(-45deg) translateX(${nr})`},"&::after":{transform:`rotate(45deg) translateX(-${nr})`}},[`${Kt}-submenu-open${Kt}-submenu-inline > ${Kt}-submenu-title > ${Kt}-submenu-arrow`]:{transform:`translateY(-${Gn*.2}px)`,"&::after":{transform:`rotate(-45deg) translateX(-${nr})`},"&::before":{transform:`rotate(45deg) translateX(${nr})`}}})},{[`${dn}-layout-header`]:{[Kt]:{lineHeight:"inherit"}}}]};var mn=(sn,dn)=>(0,nt.Z)("Menu",Tt=>{if(dn===!1)return[];const{colorBgElevated:yt,colorPrimary:Gt,colorTextLightSolid:gt,controlHeightLG:St,fontSize:Qt,darkItemColor:Nt,darkDangerItemColor:wt,darkItemBg:rn,darkSubMenuItemBg:On,darkItemSelectedColor:zn,darkItemSelectedBg:Gn,darkDangerItemSelectedBg:nr,darkItemHoverBg:Xn,darkGroupTitleColor:$t,darkItemHoverColor:gn,darkItemDisabledColor:jn,darkDangerItemHoverColor:Ln,darkDangerItemSelectedColor:Sr,darkDangerItemActiveBg:Ur}=Tt,Mr=Qt/7*5,Gr=(0,$e.TS)(Tt,{menuArrowSize:Mr,menuHorizontalHeight:St*1.15,menuArrowOffset:`${Mr*.25}px`,menuPanelMaskInset:-7,menuSubMenuBg:yt}),ma=(0,$e.TS)(Gr,{itemColor:Nt,itemHoverColor:gn,groupTitleColor:$t,itemSelectedColor:zn,itemBg:rn,popupBg:rn,subMenuItemBg:On,itemActiveBg:"transparent",itemSelectedBg:Gn,activeBarHeight:0,activeBarBorderWidth:0,itemHoverBg:Xn,itemDisabledColor:jn,dangerItemColor:wt,dangerItemHoverColor:Ln,dangerItemSelectedColor:Sr,dangerItemActiveBg:Ur,dangerItemSelectedBg:nr,menuSubMenuBg:On,horizontalItemSelectedColor:gt,horizontalItemSelectedBg:Gt});return[en(Gr),st(Gr),vt(Gr),At(Gr,"light"),At(ma,"dark"),ct(Gr),(0,Ge.Z)(Gr),(0,Xe.oN)(Gr,"slide-up"),(0,Xe.oN)(Gr,"slide-down"),(0,Ye._y)(Gr,"zoom-big")]},Tt=>{const{colorPrimary:yt,colorError:Gt,colorTextDisabled:gt,colorErrorBg:St,colorText:Qt,colorTextDescription:Nt,colorBgContainer:wt,colorFillAlter:rn,colorFillContent:On,lineWidth:zn,lineWidthBold:Gn,controlItemBgActive:nr,colorBgTextHover:Xn,controlHeightLG:$t,lineHeight:gn,colorBgElevated:jn,marginXXS:Ln,padding:Sr,fontSize:Ur,controlHeightSM:Mr,fontSizeLG:Gr,colorTextLightSolid:ma,colorErrorHover:Oa}=Tt,Ea=new Ne.C(ma).setAlpha(.65).toRgbString();return{dropdownWidth:160,zIndexPopup:Tt.zIndexPopupBase+50,radiusItem:Tt.borderRadiusLG,itemBorderRadius:Tt.borderRadiusLG,radiusSubMenuItem:Tt.borderRadiusSM,subMenuItemBorderRadius:Tt.borderRadiusSM,colorItemText:Qt,itemColor:Qt,colorItemTextHover:Qt,itemHoverColor:Qt,colorItemTextHoverHorizontal:yt,horizontalItemHoverColor:yt,colorGroupTitle:Nt,groupTitleColor:Nt,colorItemTextSelected:yt,itemSelectedColor:yt,colorItemTextSelectedHorizontal:yt,horizontalItemSelectedColor:yt,colorItemBg:wt,itemBg:wt,colorItemBgHover:Xn,itemHoverBg:Xn,colorItemBgActive:On,itemActiveBg:nr,colorSubItemBg:rn,subMenuItemBg:rn,colorItemBgSelected:nr,itemSelectedBg:nr,colorItemBgSelectedHorizontal:"transparent",horizontalItemSelectedBg:"transparent",colorActiveBarWidth:0,activeBarWidth:0,colorActiveBarHeight:Gn,activeBarHeight:Gn,colorActiveBarBorderSize:zn,activeBarBorderWidth:zn,colorItemTextDisabled:gt,itemDisabledColor:gt,colorDangerItemText:Gt,dangerItemColor:Gt,colorDangerItemTextHover:Gt,dangerItemHoverColor:Gt,colorDangerItemTextSelected:Gt,dangerItemSelectedColor:Gt,colorDangerItemBgActive:St,dangerItemActiveBg:St,colorDangerItemBgSelected:St,dangerItemSelectedBg:St,itemMarginInline:Tt.marginXXS,horizontalItemBorderRadius:0,horizontalItemHoverBg:"transparent",itemHeight:$t,groupTitleLineHeight:gn,collapsedWidth:$t*2,popupBg:jn,itemMarginBlock:Ln,itemPaddingInline:Sr,horizontalLineHeight:`${$t*1.15}px`,iconSize:Ur,iconMarginInlineEnd:Mr-Ur,collapsedIconSize:Gr,groupTitleFontSize:Ur,darkItemDisabledColor:new Ne.C(ma).setAlpha(.25).toRgbString(),darkItemColor:Ea,darkDangerItemColor:Gt,darkItemBg:"#001529",darkSubMenuItemBg:"#000c17",darkItemSelectedColor:ma,darkItemSelectedBg:yt,darkDangerItemSelectedBg:Gt,darkItemHoverBg:"transparent",darkGroupTitleColor:Ea,darkItemHoverColor:ma,darkDangerItemHoverColor:Oa,darkDangerItemSelectedColor:ma,darkDangerItemActiveBg:Gt}},{deprecatedTokens:[["colorGroupTitle","groupTitleColor"],["radiusItem","itemBorderRadius"],["radiusSubMenuItem","subMenuItemBorderRadius"],["colorItemText","itemColor"],["colorItemTextHover","itemHoverColor"],["colorItemTextHoverHorizontal","horizontalItemHoverColor"],["colorItemTextSelected","itemSelectedColor"],["colorItemTextSelectedHorizontal","horizontalItemSelectedColor"],["colorItemTextDisabled","itemDisabledColor"],["colorDangerItemText","dangerItemColor"],["colorDangerItemTextHover","dangerItemHoverColor"],["colorDangerItemTextSelected","dangerItemSelectedColor"],["colorDangerItemBgActive","dangerItemActiveBg"],["colorDangerItemBgSelected","dangerItemSelectedBg"],["colorItemBg","itemBg"],["colorItemBgHover","itemHoverBg"],["colorSubItemBg","subMenuItemBg"],["colorItemBgActive","itemActiveBg"],["colorItemBgSelectedHorizontal","horizontalItemSelectedBg"],["colorActiveBarWidth","activeBarWidth"],["colorActiveBarHeight","activeBarHeight"],["colorActiveBarBorderSize","activeBarBorderWidth"],["colorItemBgSelected","itemSelectedBg"]]})(sn),Ot=function(sn,dn){var Kt={};for(var Tt in sn)Object.prototype.hasOwnProperty.call(sn,Tt)&&dn.indexOf(Tt)<0&&(Kt[Tt]=sn[Tt]);if(sn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var yt=0,Tt=Object.getOwnPropertySymbols(sn);yt<Tt.length;yt++)dn.indexOf(Tt[yt])<0&&Object.prototype.propertyIsEnumerable.call(sn,Tt[yt])&&(Kt[Tt[yt]]=sn[Tt[yt]]);return Kt},tn=(0,Ve.forwardRef)((sn,dn)=>{var Kt,Tt;const yt=Ve.useContext(ge.Z),Gt=yt||{},{getPrefixCls:gt,getPopupContainer:St,direction:Qt,menu:Nt}=Ve.useContext(Ce.E_),wt=gt(),{prefixCls:rn,className:On,style:zn,theme:Gn="light",expandIcon:nr,_internalDisableMenuItemTitleTooltip:Xn,inlineCollapsed:$t,siderCollapsed:gn,items:jn,children:Ln,rootClassName:Sr,mode:Ur,selectable:Mr,onClick:Gr,overflowedIndicatorPopupClassName:ma}=sn,Oa=Ot(sn,["prefixCls","className","style","theme","expandIcon","_internalDisableMenuItemTitleTooltip","inlineCollapsed","siderCollapsed","items","children","rootClassName","mode","selectable","onClick","overflowedIndicatorPopupClassName"]),Ea=(0,pe.Z)(Oa,["collapsedWidth"]),Ma=Be(jn)||Ln;(Kt=Gt.validator)===null||Kt===void 0||Kt.call(Gt,{mode:Ur});const li=(0,ie.useEvent)(function(){var lr;Gr==null||Gr.apply(void 0,arguments),(lr=Gt.onClick)===null||lr===void 0||lr.call(Gt)}),di=Gt.mode||Ur,Hr=Mr!=null?Mr:Gt.selectable,Ta=Ve.useMemo(()=>gn!==void 0?gn:$t,[$t,gn]),Ha={horizontal:{motionName:`${wt}-slide-up`},inline:(0,ue.Z)(wt),other:{motionName:`${wt}-zoom-big`}},sr=gt("menu",rn||Gt.prefixCls),[pr,Qa]=mn(sr,!yt),hn=Fe()(`${sr}-${Gn}`,Nt==null?void 0:Nt.className,On);let kn;if(typeof nr=="function")kn=nr;else if(nr===null||nr===!1)kn=null;else if(Gt.expandIcon===null||Gt.expandIcon===!1)kn=null;else{const lr=nr!=null?nr:Gt.expandIcon;kn=(0,Pe.Tm)(lr,{className:Fe()(`${sr}-submenu-expand-icon`,(0,Pe.l$)(lr)?(Tt=lr.props)===null||Tt===void 0?void 0:Tt.className:"")})}const ar=Ve.useMemo(()=>({prefixCls:sr,inlineCollapsed:Ta||!1,direction:Qt,firstLevel:!0,theme:Gn,mode:di,disableMenuItemTitleTooltip:Xn}),[sr,Ta,Qt,Xn,Gn]);return pr(Ve.createElement(ge.Z.Provider,{value:null},Ve.createElement(ee.Provider,{value:ar},Ve.createElement(_e.ZP,Object.assign({getPopupContainer:St,overflowedIndicator:Ve.createElement(he.Z,null),overflowedIndicatorPopupClassName:Fe()(sr,`${sr}-${Gn}`,ma),mode:di,selectable:Hr,onClick:li},Ea,{inlineCollapsed:Ta,style:Object.assign(Object.assign({},Nt==null?void 0:Nt.style),zn),className:hn,prefixCls:sr,direction:Qt,defaultMotions:Ha,expandIcon:kn,ref:dn,rootClassName:Fe()(Sr,Qa)}),Ma))))});const Dn=(0,Ve.forwardRef)((sn,dn)=>{const Kt=(0,Ve.useRef)(null),Tt=Ve.useContext(Re.D);return(0,Ve.useImperativeHandle)(dn,()=>({menu:Kt.current,focus:yt=>{var Gt;(Gt=Kt.current)===null||Gt===void 0||Gt.focus(yt)}})),Ve.createElement(tn,Object.assign({ref:Kt},sn,Tt))});Dn.Item=le,Dn.SubMenu=ce,Dn.Divider=we,Dn.ItemGroup=_e.BW;var Tn=Dn},58421:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return Gt}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z"}}]},name:"double-left",theme:"outlined"},be=Re,Fe=Oe(7657),Ce=function(St,Qt){return Ve.createElement(Fe.Z,(0,_e.Z)({},St,{ref:Qt,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve,we=Oe(49198),De=Oe(33853),pe=Oe(38819),Ee=Oe(92310),Pe=Oe.n(Ee),de=Oe(400),ee=Oe(33708),ne=Oe(6909),le=Oe(4771),oe=Oe(9427),ce=Oe(25440),he=Oe(26112),ie={ZERO:48,NINE:57,NUMPAD_ZERO:96,NUMPAD_NINE:105,BACKSPACE:8,DELETE:46,ENTER:13,ARROW_UP:38,ARROW_DOWN:40},ue=ie,ge=Oe(91735),xe=function(gt){(0,oe.Z)(Qt,gt);var St=(0,ce.Z)(Qt);function Qt(){var Nt;(0,ne.Z)(this,Qt);for(var wt=arguments.length,rn=new Array(wt),On=0;On<wt;On++)rn[On]=arguments[On];return Nt=St.call.apply(St,[this].concat(rn)),Nt.state={goInputText:""},Nt.getValidValue=function(){var zn=Nt.state.goInputText;return!zn||Number.isNaN(zn)?void 0:Number(zn)},Nt.buildOptionText=function(zn){return"".concat(zn," ").concat(Nt.props.locale.items_per_page)},Nt.changeSize=function(zn){Nt.props.changeSize(Number(zn))},Nt.handleChange=function(zn){Nt.setState({goInputText:zn.target.value})},Nt.handleBlur=function(zn){var Gn=Nt.props,nr=Gn.goButton,Xn=Gn.quickGo,$t=Gn.rootPrefixCls,gn=Nt.state.goInputText;nr||gn===""||(Nt.setState({goInputText:""}),!(zn.relatedTarget&&(zn.relatedTarget.className.indexOf("".concat($t,"-item-link"))>=0||zn.relatedTarget.className.indexOf("".concat($t,"-item"))>=0))&&Xn(Nt.getValidValue()))},Nt.go=function(zn){var Gn=Nt.state.goInputText;Gn!==""&&(zn.keyCode===ue.ENTER||zn.type==="click")&&(Nt.setState({goInputText:""}),Nt.props.quickGo(Nt.getValidValue()))},Nt}return(0,le.Z)(Qt,[{key:"getPageSizeOptions",value:function(){var wt=this.props,rn=wt.pageSize,On=wt.pageSizeOptions;return On.some(function(zn){return zn.toString()===rn.toString()})?On:On.concat([rn.toString()]).sort(function(zn,Gn){var nr=Number.isNaN(Number(zn))?0:Number(zn),Xn=Number.isNaN(Number(Gn))?0:Number(Gn);return nr-Xn})}},{key:"render",value:function(){var wt=this,rn=this.props,On=rn.pageSize,zn=rn.locale,Gn=rn.rootPrefixCls,nr=rn.changeSize,Xn=rn.quickGo,$t=rn.goButton,gn=rn.selectComponentClass,jn=rn.buildOptionText,Ln=rn.selectPrefixCls,Sr=rn.disabled,Ur=this.state.goInputText,Mr="".concat(Gn,"-options"),Gr=gn,ma=null,Oa=null,Ea=null;if(!nr&&!Xn)return null;var Ma=this.getPageSizeOptions();if(nr&&Gr){var li=Ma.map(function(di,Hr){return Ve.createElement(Gr.Option,{key:Hr,value:di.toString()},(jn||wt.buildOptionText)(di))});ma=Ve.createElement(Gr,{disabled:Sr,prefixCls:Ln,showSearch:!1,className:"".concat(Mr,"-size-changer"),optionLabelProp:"children",popupMatchSelectWidth:!1,value:(On||Ma[0]).toString(),onChange:this.changeSize,getPopupContainer:function(Hr){return Hr.parentNode},"aria-label":zn.page_size,defaultOpen:!1},li)}return Xn&&($t&&(Ea=typeof $t=="boolean"?Ve.createElement("button",{type:"button",onClick:this.go,onKeyUp:this.go,disabled:Sr,className:"".concat(Mr,"-quick-jumper-button")},zn.jump_to_confirm):Ve.createElement("span",{onClick:this.go,onKeyUp:this.go},$t)),Oa=Ve.createElement("div",{className:"".concat(Mr,"-quick-jumper")},zn.jump_to,Ve.createElement("input",{disabled:Sr,type:"text",value:Ur,onChange:this.handleChange,onKeyUp:this.go,onBlur:this.handleBlur,"aria-label":zn.page}),zn.page,Ea)),Ve.createElement("li",{className:"".concat(Mr)},ma,Oa)}}]),Qt}(Ve.Component);xe.defaultProps={pageSizeOptions:["10","20","50","100"]};var Me=xe,Be=function(St){var Qt,Nt=St.rootPrefixCls,wt=St.page,rn=St.active,On=St.className,zn=St.showTitle,Gn=St.onClick,nr=St.onKeyPress,Xn=St.itemRender,$t="".concat(Nt,"-item"),gn=Pe()($t,"".concat($t,"-").concat(wt),(Qt={},(0,de.Z)(Qt,"".concat($t,"-active"),rn),(0,de.Z)(Qt,"".concat($t,"-disabled"),!wt),(0,de.Z)(Qt,St.className,On),Qt)),jn=function(){Gn(wt)},Ln=function(Mr){nr(Mr,Gn,wt)},Sr=Xn(wt,"page",Ve.createElement("a",{rel:"nofollow"},wt));return Sr?Ve.createElement("li",{title:zn?wt.toString():null,className:gn,onClick:jn,onKeyPress:Ln,tabIndex:0},Sr):null},Ne=Be;function Ue(){}function Ge(gt){var St=Number(gt);return typeof St=="number"&&!Number.isNaN(St)&&isFinite(St)&&Math.floor(St)===St}var Xe=function(St,Qt,Nt){return Nt};function Ye(gt,St,Qt){var Nt=typeof gt=="undefined"?St.pageSize:gt;return Math.floor((Qt.total-1)/Nt)+1}var nt=function(gt){(0,oe.Z)(Qt,gt);var St=(0,ce.Z)(Qt);function Qt(Nt){var wt;(0,ne.Z)(this,Qt),wt=St.call(this,Nt),wt.paginationNode=Ve.createRef(),wt.getJumpPrevPage=function(){return Math.max(1,wt.state.current-(wt.props.showLessItems?3:5))},wt.getJumpNextPage=function(){return Math.min(Ye(void 0,wt.state,wt.props),wt.state.current+(wt.props.showLessItems?3:5))},wt.getItemIcon=function(nr,Xn){var $t=wt.props.prefixCls,gn=nr||Ve.createElement("button",{type:"button","aria-label":Xn,className:"".concat($t,"-item-link")});return typeof nr=="function"&&(gn=Ve.createElement(nr,(0,ee.Z)({},wt.props))),gn},wt.isValid=function(nr){var Xn=wt.props.total;return Ge(nr)&&nr!==wt.state.current&&Ge(Xn)&&Xn>0},wt.shouldDisplayQuickJumper=function(){var nr=wt.props,Xn=nr.showQuickJumper,$t=nr.total,gn=wt.state.pageSize;return $t<=gn?!1:Xn},wt.handleKeyDown=function(nr){(nr.keyCode===ue.ARROW_UP||nr.keyCode===ue.ARROW_DOWN)&&nr.preventDefault()},wt.handleKeyUp=function(nr){var Xn=wt.getValidValue(nr),$t=wt.state.currentInputValue;Xn!==$t&&wt.setState({currentInputValue:Xn}),nr.keyCode===ue.ENTER?wt.handleChange(Xn):nr.keyCode===ue.ARROW_UP?wt.handleChange(Xn-1):nr.keyCode===ue.ARROW_DOWN&&wt.handleChange(Xn+1)},wt.handleBlur=function(nr){var Xn=wt.getValidValue(nr);wt.handleChange(Xn)},wt.changePageSize=function(nr){var Xn=wt.state.current,$t=Ye(nr,wt.state,wt.props);Xn=Xn>$t?$t:Xn,$t===0&&(Xn=wt.state.current),typeof nr=="number"&&("pageSize"in wt.props||wt.setState({pageSize:nr}),"current"in wt.props||wt.setState({current:Xn,currentInputValue:Xn})),wt.props.onShowSizeChange(Xn,nr),"onChange"in wt.props&&wt.props.onChange&&wt.props.onChange(Xn,nr)},wt.handleChange=function(nr){var Xn=wt.props,$t=Xn.disabled,gn=Xn.onChange,jn=wt.state,Ln=jn.pageSize,Sr=jn.current,Ur=jn.currentInputValue;if(wt.isValid(nr)&&!$t){var Mr=Ye(void 0,wt.state,wt.props),Gr=nr;return nr>Mr?Gr=Mr:nr<1&&(Gr=1),"current"in wt.props||wt.setState({current:Gr}),Gr!==Ur&&wt.setState({currentInputValue:Gr}),gn(Gr,Ln),Gr}return Sr},wt.prev=function(){wt.hasPrev()&&wt.handleChange(wt.state.current-1)},wt.next=function(){wt.hasNext()&&wt.handleChange(wt.state.current+1)},wt.jumpPrev=function(){wt.handleChange(wt.getJumpPrevPage())},wt.jumpNext=function(){wt.handleChange(wt.getJumpNextPage())},wt.hasPrev=function(){return wt.state.current>1},wt.hasNext=function(){return wt.state.current<Ye(void 0,wt.state,wt.props)},wt.runIfEnter=function(nr,Xn){if(nr.key==="Enter"||nr.charCode===13){for(var $t=arguments.length,gn=new Array($t>2?$t-2:0),jn=2;jn<$t;jn++)gn[jn-2]=arguments[jn];Xn.apply(void 0,gn)}},wt.runIfEnterPrev=function(nr){wt.runIfEnter(nr,wt.prev)},wt.runIfEnterNext=function(nr){wt.runIfEnter(nr,wt.next)},wt.runIfEnterJumpPrev=function(nr){wt.runIfEnter(nr,wt.jumpPrev)},wt.runIfEnterJumpNext=function(nr){wt.runIfEnter(nr,wt.jumpNext)},wt.handleGoTO=function(nr){(nr.keyCode===ue.ENTER||nr.type==="click")&&wt.handleChange(wt.state.currentInputValue)},wt.renderPrev=function(nr){var Xn=wt.props,$t=Xn.prevIcon,gn=Xn.itemRender,jn=gn(nr,"prev",wt.getItemIcon($t,"prev page")),Ln=!wt.hasPrev();return(0,Ve.isValidElement)(jn)?(0,Ve.cloneElement)(jn,{disabled:Ln}):jn},wt.renderNext=function(nr){var Xn=wt.props,$t=Xn.nextIcon,gn=Xn.itemRender,jn=gn(nr,"next",wt.getItemIcon($t,"next page")),Ln=!wt.hasNext();return(0,Ve.isValidElement)(jn)?(0,Ve.cloneElement)(jn,{disabled:Ln}):jn};var rn=Nt.onChange!==Ue,On="current"in Nt;On&&!rn&&console.warn("Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.");var zn=Nt.defaultCurrent;"current"in Nt&&(zn=Nt.current);var Gn=Nt.defaultPageSize;return"pageSize"in Nt&&(Gn=Nt.pageSize),zn=Math.min(zn,Ye(Gn,void 0,Nt)),wt.state={current:zn,currentInputValue:zn,pageSize:Gn},wt}return(0,le.Z)(Qt,[{key:"componentDidUpdate",value:function(wt,rn){var On=this.props.prefixCls;if(rn.current!==this.state.current&&this.paginationNode.current){var zn=this.paginationNode.current.querySelector(".".concat(On,"-item-").concat(rn.current));if(zn&&document.activeElement===zn){var Gn;zn==null||(Gn=zn.blur)===null||Gn===void 0||Gn.call(zn)}}}},{key:"getValidValue",value:function(wt){var rn=wt.target.value,On=Ye(void 0,this.state,this.props),zn=this.state.currentInputValue,Gn;return rn===""?Gn=rn:Number.isNaN(Number(rn))?Gn=zn:rn>=On?Gn=On:Gn=Number(rn),Gn}},{key:"getShowSizeChanger",value:function(){var wt=this.props,rn=wt.showSizeChanger,On=wt.total,zn=wt.totalBoundaryShowSizeChanger;return typeof rn!="undefined"?rn:On>zn}},{key:"render",value:function(){var wt=this.props,rn=wt.prefixCls,On=wt.className,zn=wt.style,Gn=wt.disabled,nr=wt.hideOnSinglePage,Xn=wt.total,$t=wt.locale,gn=wt.showQuickJumper,jn=wt.showLessItems,Ln=wt.showTitle,Sr=wt.showTotal,Ur=wt.simple,Mr=wt.itemRender,Gr=wt.showPrevNextJumpers,ma=wt.jumpPrevIcon,Oa=wt.jumpNextIcon,Ea=wt.selectComponentClass,Ma=wt.selectPrefixCls,li=wt.pageSizeOptions,di=this.state,Hr=di.current,Ta=di.pageSize,Ha=di.currentInputValue;if(nr===!0&&Xn<=Ta)return null;var sr=Ye(void 0,this.state,this.props),pr=[],Qa=null,hn=null,kn=null,ar=null,lr=null,Fr=gn&&gn.goButton,pt=jn?1:2,Ae=Hr-1>0?Hr-1:0,Le=Hr+1<sr?Hr+1:sr,Ie=(0,he.Z)(this.props,{aria:!0,data:!0}),ze=Sr&&Ve.createElement("li",{className:"".concat(rn,"-total-text")},Sr(Xn,[Xn===0?0:(Hr-1)*Ta+1,Hr*Ta>Xn?Xn:Hr*Ta]));if(Ur){Fr&&(typeof Fr=="boolean"?lr=Ve.createElement("button",{type:"button",onClick:this.handleGoTO,onKeyUp:this.handleGoTO},$t.jump_to_confirm):lr=Ve.createElement("span",{onClick:this.handleGoTO,onKeyUp:this.handleGoTO},Fr),lr=Ve.createElement("li",{title:Ln?"".concat($t.jump_to).concat(Hr,"/").concat(sr):null,className:"".concat(rn,"-simple-pager")},lr));var Ze=this.renderPrev(Ae);return Ve.createElement("ul",(0,_e.Z)({className:Pe()(rn,"".concat(rn,"-simple"),(0,de.Z)({},"".concat(rn,"-disabled"),Gn),On),style:zn,ref:this.paginationNode},Ie),ze,Ze?Ve.createElement("li",{title:Ln?$t.prev_page:null,onClick:this.prev,tabIndex:this.hasPrev()?0:null,onKeyPress:this.runIfEnterPrev,className:Pe()("".concat(rn,"-prev"),(0,de.Z)({},"".concat(rn,"-disabled"),!this.hasPrev())),"aria-disabled":!this.hasPrev()},Ze):null,Ve.createElement("li",{title:Ln?"".concat(Hr,"/").concat(sr):null,className:"".concat(rn,"-simple-pager")},Ve.createElement("input",{type:"text",value:Ha,disabled:Gn,onKeyDown:this.handleKeyDown,onKeyUp:this.handleKeyUp,onChange:this.handleKeyUp,onBlur:this.handleBlur,size:3}),Ve.createElement("span",{className:"".concat(rn,"-slash")},"/"),sr),Ve.createElement("li",{title:Ln?$t.next_page:null,onClick:this.next,tabIndex:this.hasPrev()?0:null,onKeyPress:this.runIfEnterNext,className:Pe()("".concat(rn,"-next"),(0,de.Z)({},"".concat(rn,"-disabled"),!this.hasNext())),"aria-disabled":!this.hasNext()},this.renderNext(Le)),lr)}if(sr<=3+pt*2){var xt={locale:$t,rootPrefixCls:rn,onClick:this.handleChange,onKeyPress:this.runIfEnter,showTitle:Ln,itemRender:Mr};sr||pr.push(Ve.createElement(Ne,(0,_e.Z)({},xt,{key:"noPager",page:1,className:"".concat(rn,"-item-disabled")})));for(var bt=1;bt<=sr;bt+=1){var Yt=Hr===bt;pr.push(Ve.createElement(Ne,(0,_e.Z)({},xt,{key:bt,page:bt,active:Yt})))}}else{var Ht=jn?$t.prev_3:$t.prev_5,cn=jn?$t.next_3:$t.next_5,fn=Mr(this.getJumpPrevPage(),"jump-prev",this.getItemIcon(ma,"prev page")),Zn=Mr(this.getJumpNextPage(),"jump-next",this.getItemIcon(Oa,"next page"));Gr&&(Qa=fn?Ve.createElement("li",{title:Ln?Ht:null,key:"prev",onClick:this.jumpPrev,tabIndex:0,onKeyPress:this.runIfEnterJumpPrev,className:Pe()("".concat(rn,"-jump-prev"),(0,de.Z)({},"".concat(rn,"-jump-prev-custom-icon"),!!ma))},fn):null,hn=Zn?Ve.createElement("li",{title:Ln?cn:null,key:"next",tabIndex:0,onClick:this.jumpNext,onKeyPress:this.runIfEnterJumpNext,className:Pe()("".concat(rn,"-jump-next"),(0,de.Z)({},"".concat(rn,"-jump-next-custom-icon"),!!Oa))},Zn):null),ar=Ve.createElement(Ne,{locale:$t,last:!0,rootPrefixCls:rn,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:sr,page:sr,active:!1,showTitle:Ln,itemRender:Mr}),kn=Ve.createElement(Ne,{locale:$t,rootPrefixCls:rn,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:1,page:1,active:!1,showTitle:Ln,itemRender:Mr});var Mn=Math.max(1,Hr-pt),er=Math.min(Hr+pt,sr);Hr-1<=pt&&(er=1+pt*2),sr-Hr<=pt&&(Mn=sr-pt*2);for(var rr=Mn;rr<=er;rr+=1){var mr=Hr===rr;pr.push(Ve.createElement(Ne,{locale:$t,rootPrefixCls:rn,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:rr,page:rr,active:mr,showTitle:Ln,itemRender:Mr}))}Hr-1>=pt*2&&Hr!==3&&(pr[0]=(0,Ve.cloneElement)(pr[0],{className:"".concat(rn,"-item-after-jump-prev")}),pr.unshift(Qa)),sr-Hr>=pt*2&&Hr!==sr-2&&(pr[pr.length-1]=(0,Ve.cloneElement)(pr[pr.length-1],{className:"".concat(rn,"-item-before-jump-next")}),pr.push(hn)),Mn!==1&&pr.unshift(kn),er!==sr&&pr.push(ar)}var pn=!this.hasPrev()||!sr,nn=!this.hasNext()||!sr,Bn=this.renderPrev(Ae),Hn=this.renderNext(Le);return Ve.createElement("ul",(0,_e.Z)({className:Pe()(rn,On,(0,de.Z)({},"".concat(rn,"-disabled"),Gn)),style:zn,ref:this.paginationNode},Ie),ze,Bn?Ve.createElement("li",{title:Ln?$t.prev_page:null,onClick:this.prev,tabIndex:pn?null:0,onKeyPress:this.runIfEnterPrev,className:Pe()("".concat(rn,"-prev"),(0,de.Z)({},"".concat(rn,"-disabled"),pn)),"aria-disabled":pn},Bn):null,pr,Hn?Ve.createElement("li",{title:Ln?$t.next_page:null,onClick:this.next,tabIndex:nn?null:0,onKeyPress:this.runIfEnterNext,className:Pe()("".concat(rn,"-next"),(0,de.Z)({},"".concat(rn,"-disabled"),nn)),"aria-disabled":nn},Hn):null,Ve.createElement(Me,{disabled:Gn,locale:$t,rootPrefixCls:rn,selectComponentClass:Ea,selectPrefixCls:Ma,changeSize:this.getShowSizeChanger()?this.changePageSize:null,current:Hr,pageSize:Ta,pageSizeOptions:li,quickGo:this.shouldDisplayQuickJumper()?this.handleChange:null,goButton:Fr}))}}],[{key:"getDerivedStateFromProps",value:function(wt,rn){var On={};if("current"in wt&&(On.current=wt.current,wt.current!==rn.current&&(On.currentInputValue=On.current)),"pageSize"in wt&&wt.pageSize!==rn.pageSize){var zn=rn.current,Gn=Ye(wt.pageSize,rn,wt);zn=zn>Gn?Gn:zn,"current"in wt||(On.current=zn,On.currentInputValue=zn),On.pageSize=wt.pageSize}return On}}]),Qt}(Ve.Component);nt.defaultProps={defaultCurrent:1,total:0,defaultPageSize:10,onChange:Ue,className:"",selectPrefixCls:"rc-select",prefixCls:"rc-pagination",selectComponentClass:null,hideOnSinglePage:!1,showPrevNextJumpers:!0,showQuickJumper:!1,showLessItems:!1,showTitle:!0,onShowSizeChange:Ue,locale:ge.Z,style:{},itemRender:Xe,totalBoundaryShowSizeChanger:50};var $e=nt,qe=Oe(22075),st=Oe(36355),rt=Oe(19716),ct=Oe(8628),tt=Oe(9763),dt=Oe(57809);const At=gt=>Ve.createElement(dt.default,Object.assign({},gt,{showSearch:!0,size:"small"})),mt=gt=>Ve.createElement(dt.default,Object.assign({},gt,{showSearch:!0,size:"middle"}));At.Option=dt.default.Option,mt.Option=dt.default.Option;var ht=Oe(9937),vt=Oe(17313),Wt=Oe(83116),Jt=Oe(37613);const en=gt=>{const{componentCls:St}=gt;return{[`${St}-disabled`]:{"&, &:hover":{cursor:"not-allowed",[`${St}-item-link`]:{color:gt.colorTextDisabled,cursor:"not-allowed"}},"&:focus-visible":{cursor:"not-allowed",[`${St}-item-link`]:{color:gt.colorTextDisabled,cursor:"not-allowed"}}},[`&${St}-disabled`]:{cursor:"not-allowed",[`${St}-item`]:{cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},a:{color:gt.colorTextDisabled,backgroundColor:"transparent",border:"none",cursor:"not-allowed"},"&-active":{borderColor:gt.colorBorder,backgroundColor:gt.itemActiveBgDisabled,"&:hover, &:active":{backgroundColor:gt.itemActiveBgDisabled},a:{color:gt.itemActiveColorDisabled}}},[`${St}-item-link`]:{color:gt.colorTextDisabled,cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},[`${St}-simple&`]:{backgroundColor:"transparent","&:hover, &:active":{backgroundColor:"transparent"}}},[`${St}-simple-pager`]:{color:gt.colorTextDisabled},[`${St}-jump-prev, ${St}-jump-next`]:{[`${St}-item-link-icon`]:{opacity:0},[`${St}-item-ellipsis`]:{opacity:1}}},[`&${St}-simple`]:{[`${St}-prev, ${St}-next`]:{[`&${St}-disabled ${St}-item-link`]:{"&:hover, &:active":{backgroundColor:"transparent"}}}}}},mn=gt=>{const{componentCls:St}=gt;return{[`&${St}-mini ${St}-total-text, &${St}-mini ${St}-simple-pager`]:{height:gt.itemSizeSM,lineHeight:`${gt.itemSizeSM}px`},[`&${St}-mini ${St}-item`]:{minWidth:gt.itemSizeSM,height:gt.itemSizeSM,margin:0,lineHeight:`${gt.itemSizeSM-2}px`},[`&${St}-mini:not(${St}-disabled) ${St}-item:not(${St}-item-active)`]:{backgroundColor:"transparent",borderColor:"transparent","&:hover":{backgroundColor:gt.colorBgTextHover},"&:active":{backgroundColor:gt.colorBgTextActive}},[`&${St}-mini ${St}-prev, &${St}-mini ${St}-next`]:{minWidth:gt.itemSizeSM,height:gt.itemSizeSM,margin:0,lineHeight:`${gt.itemSizeSM}px`},[`&${St}-mini:not(${St}-disabled)`]:{[`${St}-prev, ${St}-next`]:{[`&:hover ${St}-item-link`]:{backgroundColor:gt.colorBgTextHover},[`&:active ${St}-item-link`]:{backgroundColor:gt.colorBgTextActive},[`&${St}-disabled:hover ${St}-item-link`]:{backgroundColor:"transparent"}}},[`
|
|
|
&${St}-mini ${St}-prev ${St}-item-link,
|
|
|
&${St}-mini ${St}-next ${St}-item-link
|
|
|
`]:{backgroundColor:"transparent",borderColor:"transparent","&::after":{height:gt.itemSizeSM,lineHeight:`${gt.itemSizeSM}px`}},[`&${St}-mini ${St}-jump-prev, &${St}-mini ${St}-jump-next`]:{height:gt.itemSizeSM,marginInlineEnd:0,lineHeight:`${gt.itemSizeSM}px`},[`&${St}-mini ${St}-options`]:{marginInlineStart:gt.paginationMiniOptionsMarginInlineStart,"&-size-changer":{top:gt.miniOptionsSizeChangerTop},"&-quick-jumper":{height:gt.itemSizeSM,lineHeight:`${gt.itemSizeSM}px`,input:Object.assign(Object.assign({},(0,ht.x0)(gt)),{width:gt.paginationMiniQuickJumperInputWidth,height:gt.controlHeightSM})}}}},Ot=gt=>{const{componentCls:St}=gt;return{[`
|
|
|
&${St}-simple ${St}-prev,
|
|
|
&${St}-simple ${St}-next
|
|
|
`]:{height:gt.itemSizeSM,lineHeight:`${gt.itemSizeSM}px`,verticalAlign:"top",[`${St}-item-link`]:{height:gt.itemSizeSM,backgroundColor:"transparent",border:0,"&:hover":{backgroundColor:gt.colorBgTextHover},"&:active":{backgroundColor:gt.colorBgTextActive},"&::after":{height:gt.itemSizeSM,lineHeight:`${gt.itemSizeSM}px`}}},[`&${St}-simple ${St}-simple-pager`]:{display:"inline-block",height:gt.itemSizeSM,marginInlineEnd:gt.marginXS,input:{boxSizing:"border-box",height:"100%",marginInlineEnd:gt.marginXS,padding:`0 ${gt.paginationItemPaddingInline}px`,textAlign:"center",backgroundColor:gt.itemInputBg,border:`${gt.lineWidth}px ${gt.lineType} ${gt.colorBorder}`,borderRadius:gt.borderRadius,outline:"none",transition:`border-color ${gt.motionDurationMid}`,color:"inherit","&:hover":{borderColor:gt.colorPrimary},"&:focus":{borderColor:gt.colorPrimaryHover,boxShadow:`${gt.inputOutlineOffset}px 0 ${gt.controlOutlineWidth}px ${gt.controlOutline}`},"&[disabled]":{color:gt.colorTextDisabled,backgroundColor:gt.colorBgContainerDisabled,borderColor:gt.colorBorder,cursor:"not-allowed"}}}}},an=gt=>{const{componentCls:St}=gt;return{[`${St}-jump-prev, ${St}-jump-next`]:{outline:0,[`${St}-item-container`]:{position:"relative",[`${St}-item-link-icon`]:{color:gt.colorPrimary,fontSize:gt.fontSizeSM,opacity:0,transition:`all ${gt.motionDurationMid}`,"&-svg":{top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,margin:"auto"}},[`${St}-item-ellipsis`]:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,display:"block",margin:"auto",color:gt.colorTextDisabled,fontFamily:"Arial, Helvetica, sans-serif",letterSpacing:gt.paginationEllipsisLetterSpacing,textAlign:"center",textIndent:gt.paginationEllipsisTextIndent,opacity:1,transition:`all ${gt.motionDurationMid}`}},"&:hover":{[`${St}-item-link-icon`]:{opacity:1},[`${St}-item-ellipsis`]:{opacity:0}}},[`
|
|
|
${St}-prev,
|
|
|
${St}-jump-prev,
|
|
|
${St}-jump-next
|
|
|
`]:{marginInlineEnd:gt.marginXS},[`
|
|
|
${St}-prev,
|
|
|
${St}-next,
|
|
|
${St}-jump-prev,
|
|
|
${St}-jump-next
|
|
|
`]:{display:"inline-block",minWidth:gt.itemSize,height:gt.itemSize,color:gt.colorText,fontFamily:gt.fontFamily,lineHeight:`${gt.itemSize}px`,textAlign:"center",verticalAlign:"middle",listStyle:"none",borderRadius:gt.borderRadius,cursor:"pointer",transition:`all ${gt.motionDurationMid}`},[`${St}-prev, ${St}-next`]:{fontFamily:"Arial, Helvetica, sans-serif",outline:0,button:{color:gt.colorText,cursor:"pointer",userSelect:"none"},[`${St}-item-link`]:{display:"block",width:"100%",height:"100%",padding:0,fontSize:gt.fontSizeSM,textAlign:"center",backgroundColor:"transparent",border:`${gt.lineWidth}px ${gt.lineType} transparent`,borderRadius:gt.borderRadius,outline:"none",transition:`all ${gt.motionDurationMid}`},[`&:hover ${St}-item-link`]:{backgroundColor:gt.colorBgTextHover},[`&:active ${St}-item-link`]:{backgroundColor:gt.colorBgTextActive},[`&${St}-disabled:hover`]:{[`${St}-item-link`]:{backgroundColor:"transparent"}}},[`${St}-slash`]:{marginInlineEnd:gt.paginationSlashMarginInlineEnd,marginInlineStart:gt.paginationSlashMarginInlineStart},[`${St}-options`]:{display:"inline-block",marginInlineStart:gt.margin,verticalAlign:"middle","&-size-changer.-select":{display:"inline-block",width:"auto"},"&-quick-jumper":{display:"inline-block",height:gt.controlHeight,marginInlineStart:gt.marginXS,lineHeight:`${gt.controlHeight}px`,verticalAlign:"top",input:Object.assign(Object.assign({},(0,ht.ik)(gt)),{width:gt.controlHeightLG*1.25,height:gt.controlHeight,boxSizing:"border-box",margin:0,marginInlineStart:gt.marginXS,marginInlineEnd:gt.marginXS})}}}},tn=gt=>{const{componentCls:St}=gt;return{[`${St}-item`]:{display:"inline-block",minWidth:gt.itemSize,height:gt.itemSize,marginInlineEnd:gt.marginXS,fontFamily:gt.fontFamily,lineHeight:`${gt.itemSize-2}px`,textAlign:"center",verticalAlign:"middle",listStyle:"none",backgroundColor:"transparent",border:`${gt.lineWidth}px ${gt.lineType} transparent`,borderRadius:gt.borderRadius,outline:0,cursor:"pointer",userSelect:"none",a:{display:"block",padding:`0 ${gt.paginationItemPaddingInline}px`,color:gt.colorText,"&:hover":{textDecoration:"none"}},[`&:not(${St}-item-active)`]:{"&:hover":{transition:`all ${gt.motionDurationMid}`,backgroundColor:gt.colorBgTextHover},"&:active":{backgroundColor:gt.colorBgTextActive}},"&-active":{fontWeight:gt.fontWeightStrong,backgroundColor:gt.itemActiveBg,borderColor:gt.colorPrimary,a:{color:gt.colorPrimary},"&:hover":{borderColor:gt.colorPrimaryHover},"&:hover a":{color:gt.colorPrimaryHover}}}}},Dn=gt=>{const{componentCls:St}=gt;return{[St]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,vt.Wf)(gt)),{"ul, ol":{margin:0,padding:0,listStyle:"none"},"&::after":{display:"block",clear:"both",height:0,overflow:"hidden",visibility:"hidden",content:'""'},[`${St}-total-text`]:{display:"inline-block",height:gt.itemSize,marginInlineEnd:gt.marginXS,lineHeight:`${gt.itemSize-2}px`,verticalAlign:"middle"}}),tn(gt)),an(gt)),Ot(gt)),mn(gt)),en(gt)),{[`@media only screen and (max-width: ${gt.screenLG}px)`]:{[`${St}-item`]:{"&-after-jump-prev, &-before-jump-next":{display:"none"}}},[`@media only screen and (max-width: ${gt.screenSM}px)`]:{[`${St}-options`]:{display:"none"}}}),[`&${gt.componentCls}-rtl`]:{direction:"rtl"}}},Tn=gt=>{const{componentCls:St}=gt;return{[`${St}${St}-disabled:not(${St}-mini)`]:{"&, &:hover":{[`${St}-item-link`]:{borderColor:gt.colorBorder}},"&:focus-visible":{[`${St}-item-link`]:{borderColor:gt.colorBorder}},[`${St}-item, ${St}-item-link`]:{backgroundColor:gt.colorBgContainerDisabled,borderColor:gt.colorBorder,[`&:hover:not(${St}-item-active)`]:{backgroundColor:gt.colorBgContainerDisabled,borderColor:gt.colorBorder,a:{color:gt.colorTextDisabled}},[`&${St}-item-active`]:{backgroundColor:gt.itemActiveBgDisabled}},[`${St}-prev, ${St}-next`]:{"&:hover button":{backgroundColor:gt.colorBgContainerDisabled,borderColor:gt.colorBorder,color:gt.colorTextDisabled},[`${St}-item-link`]:{backgroundColor:gt.colorBgContainerDisabled,borderColor:gt.colorBorder}}},[`${St}:not(${St}-mini)`]:{[`${St}-prev, ${St}-next`]:{"&:hover button":{borderColor:gt.colorPrimaryHover,backgroundColor:gt.itemBg},[`${St}-item-link`]:{backgroundColor:gt.itemLinkBg,borderColor:gt.colorBorder},[`&:hover ${St}-item-link`]:{borderColor:gt.colorPrimary,backgroundColor:gt.itemBg,color:gt.colorPrimary},[`&${St}-disabled`]:{[`${St}-item-link`]:{borderColor:gt.colorBorder,color:gt.colorTextDisabled}}},[`${St}-item`]:{backgroundColor:gt.itemBg,border:`${gt.lineWidth}px ${gt.lineType} ${gt.colorBorder}`,[`&:hover:not(${St}-item-active)`]:{borderColor:gt.colorPrimary,backgroundColor:gt.itemBg,a:{color:gt.colorPrimary}},"&-active":{borderColor:gt.colorPrimary}}}}},sn=gt=>{const{componentCls:St}=gt;return{[`${St}:not(${St}-disabled)`]:{[`${St}-item`]:Object.assign({},(0,vt.Qy)(gt)),[`${St}-jump-prev, ${St}-jump-next`]:{"&:focus-visible":Object.assign({[`${St}-item-link-icon`]:{opacity:1},[`${St}-item-ellipsis`]:{opacity:0}},(0,vt.oN)(gt))},[`${St}-prev, ${St}-next`]:{[`&:focus-visible ${St}-item-link`]:Object.assign({},(0,vt.oN)(gt))}}}};var dn=(0,Wt.Z)("Pagination",gt=>{const St=(0,Jt.TS)(gt,{inputOutlineOffset:0,paginationMiniOptionsMarginInlineStart:gt.marginXXS/2,paginationMiniQuickJumperInputWidth:gt.controlHeightLG*1.1,paginationItemPaddingInline:gt.marginXXS*1.5,paginationEllipsisLetterSpacing:gt.marginXXS/2,paginationSlashMarginInlineStart:gt.marginXXS,paginationSlashMarginInlineEnd:gt.marginSM,paginationEllipsisTextIndent:"0.13em"},(0,ht.e5)(gt),(0,ht.TM)(gt));return[Dn(St),sn(St),gt.wireframe&&Tn(St)]},gt=>({itemBg:gt.colorBgContainer,itemSize:gt.controlHeight,itemSizeSM:gt.controlHeightSM,itemActiveBg:gt.colorBgContainer,itemLinkBg:gt.colorBgContainer,itemActiveColorDisabled:gt.colorTextDisabled,itemActiveBgDisabled:gt.controlItemBgActiveDisabled,itemInputBg:gt.colorBgContainer,miniOptionsSizeChangerTop:0})),Kt=function(gt,St){var Qt={};for(var Nt in gt)Object.prototype.hasOwnProperty.call(gt,Nt)&&St.indexOf(Nt)<0&&(Qt[Nt]=gt[Nt]);if(gt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var wt=0,Nt=Object.getOwnPropertySymbols(gt);wt<Nt.length;wt++)St.indexOf(Nt[wt])<0&&Object.prototype.propertyIsEnumerable.call(gt,Nt[wt])&&(Qt[Nt[wt]]=gt[Nt[wt]]);return Qt},yt=gt=>{const{prefixCls:St,selectPrefixCls:Qt,className:Nt,rootClassName:wt,style:rn,size:On,locale:zn,selectComponentClass:Gn,responsive:nr,showSizeChanger:Xn}=gt,$t=Kt(gt,["prefixCls","selectPrefixCls","className","rootClassName","style","size","locale","selectComponentClass","responsive","showSizeChanger"]),{xs:gn}=(0,ct.Z)(nr),{getPrefixCls:jn,direction:Ln,pagination:Sr={}}=Ve.useContext(st.E_),Ur=jn("pagination",St),[Mr,Gr]=dn(Ur),ma=Xn!=null?Xn:Sr.showSizeChanger,Oa=Ve.useMemo(()=>{const sr=Ve.createElement("span",{className:`${Ur}-item-ellipsis`},"\u2022\u2022\u2022"),pr=Ve.createElement("button",{className:`${Ur}-item-link`,type:"button",tabIndex:-1},Ln==="rtl"?Ve.createElement(pe.Z,null):Ve.createElement(De.Z,null)),Qa=Ve.createElement("button",{className:`${Ur}-item-link`,type:"button",tabIndex:-1},Ln==="rtl"?Ve.createElement(De.Z,null):Ve.createElement(pe.Z,null)),hn=Ve.createElement("a",{className:`${Ur}-item-link`},Ve.createElement("div",{className:`${Ur}-item-container`},Ln==="rtl"?Ve.createElement(we.Z,{className:`${Ur}-item-link-icon`}):Ve.createElement(ye,{className:`${Ur}-item-link-icon`}),sr)),kn=Ve.createElement("a",{className:`${Ur}-item-link`},Ve.createElement("div",{className:`${Ur}-item-container`},Ln==="rtl"?Ve.createElement(ye,{className:`${Ur}-item-link-icon`}):Ve.createElement(we.Z,{className:`${Ur}-item-link-icon`}),sr));return{prevIcon:pr,nextIcon:Qa,jumpPrevIcon:hn,jumpNextIcon:kn}},[Ln,Ur]),[Ea]=(0,tt.Z)("Pagination",qe.Z),Ma=Object.assign(Object.assign({},Ea),zn),li=(0,rt.Z)(On),di=li==="small"||!!(gn&&!li&&nr),Hr=jn("select",Qt),Ta=Pe()({[`${Ur}-mini`]:di,[`${Ur}-rtl`]:Ln==="rtl"},Sr==null?void 0:Sr.className,Nt,wt,Gr),Ha=Object.assign(Object.assign({},Sr==null?void 0:Sr.style),rn);return Mr(Ve.createElement($e,Object.assign({},Oa,$t,{style:Ha,prefixCls:Ur,selectPrefixCls:Hr,className:Ta,selectComponentClass:Gn||(di?At:mt),locale:Ma,showSizeChanger:ma})))},Gt=yt},93948:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return Xn}});var _e=Oe(59301),Ve=Oe(29679),Re=Oe(40001),be=Oe(19248),Fe=Oe(99267),Ce=Oe(92310),ve=Oe.n(Ce),ye=Oe(2738),we=Oe(36355),De=Oe(92413),pe=Oe(33708),Ee=Oe(37061),Pe={percent:0,prefixCls:"rc-progress",strokeColor:"#2db7f5",strokeLinecap:"round",strokeWidth:1,trailColor:"#D9D9D9",trailWidth:1,gapPosition:"bottom"},de=function(){var gn=(0,_e.useRef)([]),jn=(0,_e.useRef)(null);return(0,_e.useEffect)(function(){var Ln=Date.now(),Sr=!1;gn.current.forEach(function(Ur){if(Ur){Sr=!0;var Mr=Ur.style;Mr.transitionDuration=".3s, .3s, .3s, .06s",jn.current&&Ln-jn.current<100&&(Mr.transitionDuration="0s, 0s")}}),Sr&&(jn.current=Date.now())}),gn.current},ee=["className","percent","prefixCls","strokeColor","strokeLinecap","strokeWidth","style","trailColor","trailWidth","transition"],ne=function(gn){var jn=(0,pe.Z)((0,pe.Z)({},Pe),gn),Ln=jn.className,Sr=jn.percent,Ur=jn.prefixCls,Mr=jn.strokeColor,Gr=jn.strokeLinecap,ma=jn.strokeWidth,Oa=jn.style,Ea=jn.trailColor,Ma=jn.trailWidth,li=jn.transition,di=(0,Ee.Z)(jn,ee);delete di.gapPosition;var Hr=Array.isArray(Sr)?Sr:[Sr],Ta=Array.isArray(Mr)?Mr:[Mr],Ha=de(),sr=ma/2,pr=100-ma/2,Qa="M ".concat(Gr==="round"?sr:0,",").concat(sr,`
|
|
|
L `).concat(Gr==="round"?pr:100,",").concat(sr),hn="0 0 100 ".concat(ma),kn=0;return _e.createElement("svg",(0,De.Z)({className:ve()("".concat(Ur,"-line"),Ln),viewBox:hn,preserveAspectRatio:"none",style:Oa},di),_e.createElement("path",{className:"".concat(Ur,"-line-trail"),d:Qa,strokeLinecap:Gr,stroke:Ea,strokeWidth:Ma||ma,fillOpacity:"0"}),Hr.map(function(ar,lr){var Fr=1;switch(Gr){case"round":Fr=1-ma/100;break;case"square":Fr=1-ma/2/100;break;default:Fr=1;break}var pt={strokeDasharray:"".concat(ar*Fr,"px, 100px"),strokeDashoffset:"-".concat(kn,"px"),transition:li||"stroke-dashoffset 0.3s ease 0s, stroke-dasharray .3s ease 0s, stroke 0.3s linear"},Ae=Ta[lr]||Ta[Ta.length-1];return kn+=ar,_e.createElement("path",{key:lr,className:"".concat(Ur,"-line-path"),d:Qa,strokeLinecap:Gr,stroke:Ae,strokeWidth:ma,fillOpacity:"0",ref:function(Ie){Ha[lr]=Ie},style:pt})}))},le=ne,oe=Oe(39559),ce=Oe(33606),he=Oe(47273),ie=0,ue=(0,he.Z)();function ge(){var $t;return ue?($t=ie,ie+=1):$t="TEST_OR_SSR",$t}var xe=function($t){var gn=_e.useState(),jn=(0,ce.Z)(gn,2),Ln=jn[0],Sr=jn[1];return _e.useEffect(function(){Sr("rc_progress_".concat(ge()))},[]),$t||Ln},Me=function(gn){var jn=gn.bg,Ln=gn.children;return _e.createElement("div",{style:{width:"100%",height:"100%",background:jn}},Ln)};function Be($t,gn){return Object.keys($t).map(function(jn){var Ln=parseFloat(jn),Sr="".concat(Math.floor(Ln*gn),"%");return"".concat($t[jn]," ").concat(Sr)})}var Ne=_e.forwardRef(function($t,gn){var jn=$t.prefixCls,Ln=$t.color,Sr=$t.gradientId,Ur=$t.radius,Mr=$t.style,Gr=$t.ptg,ma=$t.strokeLinecap,Oa=$t.strokeWidth,Ea=$t.size,Ma=$t.gapDegree,li=Ln&&(0,oe.Z)(Ln)==="object",di=li?"#FFF":void 0,Hr=Ea/2,Ta=_e.createElement("circle",{className:"".concat(jn,"-circle-path"),r:Ur,cx:Hr,cy:Hr,stroke:di,strokeLinecap:ma,strokeWidth:Oa,opacity:Gr===0?0:1,style:Mr,ref:gn});if(!li)return Ta;var Ha="".concat(Sr,"-conic"),sr=Ma?"".concat(180+Ma/2,"deg"):"0deg",pr=Be(Ln,(360-Ma)/360),Qa=Be(Ln,1),hn="conic-gradient(from ".concat(sr,", ").concat(pr.join(", "),")"),kn="linear-gradient(to ".concat(Ma?"bottom":"top",", ").concat(Qa.join(", "),")");return _e.createElement(_e.Fragment,null,_e.createElement("mask",{id:Ha},Ta),_e.createElement("foreignObject",{x:0,y:0,width:Ea,height:Ea,mask:"url(#".concat(Ha,")")},_e.createElement(Me,{bg:kn},_e.createElement(Me,{bg:hn}))))}),Ue=Ne,Ge=100,Xe=function(gn,jn,Ln,Sr,Ur,Mr,Gr,ma,Oa,Ea){var Ma=arguments.length>10&&arguments[10]!==void 0?arguments[10]:0,li=Ln/100*360*((360-Mr)/360),di=Mr===0?0:{bottom:0,top:180,left:90,right:-90}[Gr],Hr=(100-Sr)/100*jn;Oa==="round"&&Sr!==100&&(Hr+=Ea/2,Hr>=jn&&(Hr=jn-.01));var Ta=Ge/2;return{stroke:typeof ma=="string"?ma:void 0,strokeDasharray:"".concat(jn,"px ").concat(gn),strokeDashoffset:Hr+Ma,transform:"rotate(".concat(Ur+li+di,"deg)"),transformOrigin:"".concat(Ta,"px ").concat(Ta,"px"),transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s",fillOpacity:0}},Ye=["id","prefixCls","steps","strokeWidth","trailWidth","gapDegree","gapPosition","trailColor","strokeLinecap","style","className","strokeColor","percent"];function nt($t){var gn=$t!=null?$t:[];return Array.isArray(gn)?gn:[gn]}var $e=function(gn){var jn=(0,pe.Z)((0,pe.Z)({},Pe),gn),Ln=jn.id,Sr=jn.prefixCls,Ur=jn.steps,Mr=jn.strokeWidth,Gr=jn.trailWidth,ma=jn.gapDegree,Oa=ma===void 0?0:ma,Ea=jn.gapPosition,Ma=jn.trailColor,li=jn.strokeLinecap,di=jn.style,Hr=jn.className,Ta=jn.strokeColor,Ha=jn.percent,sr=(0,Ee.Z)(jn,Ye),pr=Ge/2,Qa=xe(Ln),hn="".concat(Qa,"-gradient"),kn=pr-Mr/2,ar=Math.PI*2*kn,lr=Oa>0?90+Oa/2:-90,Fr=ar*((360-Oa)/360),pt=(0,oe.Z)(Ur)==="object"?Ur:{count:Ur,space:2},Ae=pt.count,Le=pt.space,Ie=nt(Ha),ze=nt(Ta),Ze=ze.find(function(Zn){return Zn&&(0,oe.Z)(Zn)==="object"}),xt=Ze&&(0,oe.Z)(Ze)==="object",bt=xt?"butt":li,Yt=Xe(ar,Fr,0,100,lr,Oa,Ea,Ma,bt,Mr),Ht=de(),cn=function(){var Mn=0;return Ie.map(function(er,rr){var mr=ze[rr]||ze[ze.length-1],pn=Xe(ar,Fr,Mn,er,lr,Oa,Ea,mr,bt,Mr);return Mn+=er,_e.createElement(Ue,{key:rr,color:mr,ptg:er,radius:kn,prefixCls:Sr,gradientId:hn,style:pn,strokeLinecap:bt,strokeWidth:Mr,gapDegree:Oa,ref:function(Bn){Ht[rr]=Bn},size:Ge})}).reverse()},fn=function(){var Mn=Math.round(Ae*(Ie[0]/100)),er=100/Ae,rr=0;return new Array(Ae).fill(null).map(function(mr,pn){var nn=pn<=Mn-1?ze[0]:Ma,Bn=nn&&(0,oe.Z)(nn)==="object"?"url(#".concat(hn,")"):void 0,Hn=Xe(ar,Fr,rr,er,lr,Oa,Ea,nn,"butt",Mr,Le);return rr+=(Fr-Hn.strokeDashoffset+Le)*100/Fr,_e.createElement("circle",{key:pn,className:"".concat(Sr,"-circle-path"),r:kn,cx:pr,cy:pr,stroke:Bn,strokeWidth:Mr,opacity:1,style:Hn,ref:function(br){Ht[pn]=br}})})};return _e.createElement("svg",(0,De.Z)({className:ve()("".concat(Sr,"-circle"),Hr),viewBox:"0 0 ".concat(Ge," ").concat(Ge),style:di,id:Ln,role:"presentation"},sr),!Ae&&_e.createElement("circle",{className:"".concat(Sr,"-circle-trail"),r:kn,cx:pr,cy:pr,stroke:Ma,strokeLinecap:bt,strokeWidth:Gr||Mr,style:Yt}),Ae?fn():cn())},qe=$e,st={Line:le,Circle:qe},rt=Oe(6848),ct=Oe(93398);function tt($t){return!$t||$t<0?0:$t>100?100:$t}function dt($t){let{success:gn,successPercent:jn}=$t,Ln=jn;return gn&&"progress"in gn&&(Ln=gn.progress),gn&&"percent"in gn&&(Ln=gn.percent),Ln}const At=$t=>{let{percent:gn,success:jn,successPercent:Ln}=$t;const Sr=tt(dt({success:jn,successPercent:Ln}));return[Sr,tt(tt(gn)-Sr)]},mt=$t=>{let{success:gn={},strokeColor:jn}=$t;const{strokeColor:Ln}=gn;return[Ln||ct.presetPrimaryColors.green,jn||null]},ht=($t,gn,jn)=>{var Ln,Sr,Ur,Mr;let Gr=-1,ma=-1;if(gn==="step"){const Oa=jn.steps,Ea=jn.strokeWidth;typeof $t=="string"||typeof $t=="undefined"?(Gr=$t==="small"?2:14,ma=Ea!=null?Ea:8):typeof $t=="number"?[Gr,ma]=[$t,$t]:[Gr=14,ma=8]=$t,Gr*=Oa}else if(gn==="line"){const Oa=jn==null?void 0:jn.strokeWidth;typeof $t=="string"||typeof $t=="undefined"?ma=Oa||($t==="small"?6:8):typeof $t=="number"?[Gr,ma]=[$t,$t]:[Gr=-1,ma=8]=$t}else(gn==="circle"||gn==="dashboard")&&(typeof $t=="string"||typeof $t=="undefined"?[Gr,ma]=$t==="small"?[60,60]:[120,120]:typeof $t=="number"?[Gr,ma]=[$t,$t]:(Gr=(Sr=(Ln=$t[0])!==null&&Ln!==void 0?Ln:$t[1])!==null&&Sr!==void 0?Sr:120,ma=(Mr=(Ur=$t[0])!==null&&Ur!==void 0?Ur:$t[1])!==null&&Mr!==void 0?Mr:120));return[Gr,ma]},vt=3,Wt=$t=>vt/$t*100;var en=$t=>{const{prefixCls:gn,trailColor:jn=null,strokeLinecap:Ln="round",gapPosition:Sr,gapDegree:Ur,width:Mr=120,type:Gr,children:ma,success:Oa,size:Ea=Mr}=$t,[Ma,li]=ht(Ea,"circle");let{strokeWidth:di}=$t;di===void 0&&(di=Math.max(Wt(Ma),6));const Hr={width:Ma,height:li,fontSize:Ma*.15+6},Ta=_e.useMemo(()=>{if(Ur||Ur===0)return Ur;if(Gr==="dashboard")return 75},[Ur,Gr]),Ha=Sr||Gr==="dashboard"&&"bottom"||void 0,sr=Object.prototype.toString.call($t.strokeColor)==="[object Object]",pr=mt({success:Oa,strokeColor:$t.strokeColor}),Qa=ve()(`${gn}-inner`,{[`${gn}-circle-gradient`]:sr}),hn=_e.createElement(qe,{percent:At($t),strokeWidth:di,trailWidth:di,strokeColor:pr,strokeLinecap:Ln,trailColor:jn,prefixCls:gn,gapDegree:Ta,gapPosition:Ha});return _e.createElement("div",{className:Qa,style:Hr},Ma<=20?_e.createElement(rt.Z,{title:ma},_e.createElement("span",null,hn)):_e.createElement(_e.Fragment,null,hn,ma))},mn=function($t,gn){var jn={};for(var Ln in $t)Object.prototype.hasOwnProperty.call($t,Ln)&&gn.indexOf(Ln)<0&&(jn[Ln]=$t[Ln]);if($t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Sr=0,Ln=Object.getOwnPropertySymbols($t);Sr<Ln.length;Sr++)gn.indexOf(Ln[Sr])<0&&Object.prototype.propertyIsEnumerable.call($t,Ln[Sr])&&(jn[Ln[Sr]]=$t[Ln[Sr]]);return jn};const Ot=$t=>{let gn=[];return Object.keys($t).forEach(jn=>{const Ln=parseFloat(jn.replace(/%/g,""));isNaN(Ln)||gn.push({key:Ln,value:$t[jn]})}),gn=gn.sort((jn,Ln)=>jn.key-Ln.key),gn.map(jn=>{let{key:Ln,value:Sr}=jn;return`${Sr} ${Ln}%`}).join(", ")},an=($t,gn)=>{const{from:jn=ct.presetPrimaryColors.blue,to:Ln=ct.presetPrimaryColors.blue,direction:Sr=gn==="rtl"?"to left":"to right"}=$t,Ur=mn($t,["from","to","direction"]);if(Object.keys(Ur).length!==0){const Mr=Ot(Ur);return{backgroundImage:`linear-gradient(${Sr}, ${Mr})`}}return{backgroundImage:`linear-gradient(${Sr}, ${jn}, ${Ln})`}};var Dn=$t=>{const{prefixCls:gn,direction:jn,percent:Ln,size:Sr,strokeWidth:Ur,strokeColor:Mr,strokeLinecap:Gr="round",children:ma,trailColor:Oa=null,success:Ea}=$t,Ma=Mr&&typeof Mr!="string"?an(Mr,jn):{backgroundColor:Mr},li=Gr==="square"||Gr==="butt"?0:void 0,di={backgroundColor:Oa||void 0,borderRadius:li},Hr=Sr!=null?Sr:[-1,Ur||(Sr==="small"?6:8)],[Ta,Ha]=ht(Hr,"line",{strokeWidth:Ur}),sr=Object.assign({width:`${tt(Ln)}%`,height:Ha,borderRadius:li},Ma),pr=dt($t),Qa={width:`${tt(pr)}%`,height:Ha,borderRadius:li,backgroundColor:Ea==null?void 0:Ea.strokeColor},hn={width:Ta<0?"100%":Ta,height:Ha};return _e.createElement(_e.Fragment,null,_e.createElement("div",{className:`${gn}-outer`,style:hn},_e.createElement("div",{className:`${gn}-inner`,style:di},_e.createElement("div",{className:`${gn}-bg`,style:sr}),pr!==void 0?_e.createElement("div",{className:`${gn}-success-bg`,style:Qa}):null)),ma)},sn=$t=>{const{size:gn,steps:jn,percent:Ln=0,strokeWidth:Sr=8,strokeColor:Ur,trailColor:Mr=null,prefixCls:Gr,children:ma}=$t,Oa=Math.round(jn*(Ln/100)),Ea=gn==="small"?2:14,Ma=gn!=null?gn:[Ea,Sr],[li,di]=ht(Ma,"step",{steps:jn,strokeWidth:Sr}),Hr=li/jn,Ta=new Array(jn);for(let Ha=0;Ha<jn;Ha++){const sr=Array.isArray(Ur)?Ur[Ha]:Ur;Ta[Ha]=_e.createElement("div",{key:Ha,className:ve()(`${Gr}-steps-item`,{[`${Gr}-steps-item-active`]:Ha<=Oa-1}),style:{backgroundColor:Ha<=Oa-1?sr:Mr,width:Hr,height:di}})}return _e.createElement("div",{className:`${Gr}-steps-outer`},Ta,ma)},dn=Oe(93083),Kt=Oe(17313),Tt=Oe(83116),yt=Oe(37613);const Gt=$t=>{const gn=$t?"100%":"-100%";return new dn.Keyframes(`antProgress${$t?"RTL":"LTR"}Active`,{"0%":{transform:`translateX(${gn}) scaleX(0)`,opacity:.1},"20%":{transform:`translateX(${gn}) scaleX(0)`,opacity:.5},to:{transform:"translateX(0) scaleX(1)",opacity:0}})},gt=$t=>{const{componentCls:gn,iconCls:jn}=$t;return{[gn]:Object.assign(Object.assign({},(0,Kt.Wf)($t)),{display:"inline-block","&-rtl":{direction:"rtl"},"&-line":{position:"relative",width:"100%",fontSize:$t.fontSize,marginInlineEnd:$t.marginXS,marginBottom:$t.marginXS},[`${gn}-outer`]:{display:"inline-block",width:"100%"},[`&${gn}-show-info`]:{[`${gn}-outer`]:{marginInlineEnd:`calc(-2em - ${$t.marginXS}px)`,paddingInlineEnd:`calc(2em + ${$t.paddingXS}px)`}},[`${gn}-inner`]:{position:"relative",display:"inline-block",width:"100%",overflow:"hidden",verticalAlign:"middle",backgroundColor:$t.remainingColor,borderRadius:$t.lineBorderRadius},[`${gn}-inner:not(${gn}-circle-gradient)`]:{[`${gn}-circle-path`]:{stroke:$t.defaultColor}},[`${gn}-success-bg, ${gn}-bg`]:{position:"relative",backgroundColor:$t.defaultColor,borderRadius:$t.lineBorderRadius,transition:`all ${$t.motionDurationSlow} ${$t.motionEaseInOutCirc}`},[`${gn}-success-bg`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,backgroundColor:$t.colorSuccess},[`${gn}-text`]:{display:"inline-block",width:"2em",marginInlineStart:$t.marginXS,color:$t.colorText,lineHeight:1,whiteSpace:"nowrap",textAlign:"start",verticalAlign:"middle",wordBreak:"normal",[jn]:{fontSize:$t.fontSize}},[`&${gn}-status-active`]:{[`${gn}-bg::before`]:{position:"absolute",inset:0,backgroundColor:$t.colorBgContainer,borderRadius:$t.lineBorderRadius,opacity:0,animationName:Gt(),animationDuration:$t.progressActiveMotionDuration,animationTimingFunction:$t.motionEaseOutQuint,animationIterationCount:"infinite",content:'""'}},[`&${gn}-rtl${gn}-status-active`]:{[`${gn}-bg::before`]:{animationName:Gt(!0)}},[`&${gn}-status-exception`]:{[`${gn}-bg`]:{backgroundColor:$t.colorError},[`${gn}-text`]:{color:$t.colorError}},[`&${gn}-status-exception ${gn}-inner:not(${gn}-circle-gradient)`]:{[`${gn}-circle-path`]:{stroke:$t.colorError}},[`&${gn}-status-success`]:{[`${gn}-bg`]:{backgroundColor:$t.colorSuccess},[`${gn}-text`]:{color:$t.colorSuccess}},[`&${gn}-status-success ${gn}-inner:not(${gn}-circle-gradient)`]:{[`${gn}-circle-path`]:{stroke:$t.colorSuccess}}})}},St=$t=>{const{componentCls:gn,iconCls:jn}=$t;return{[gn]:{[`${gn}-circle-trail`]:{stroke:$t.remainingColor},[`&${gn}-circle ${gn}-inner`]:{position:"relative",lineHeight:1,backgroundColor:"transparent"},[`&${gn}-circle ${gn}-text`]:{position:"absolute",insetBlockStart:"50%",insetInlineStart:0,width:"100%",margin:0,padding:0,color:$t.circleTextColor,fontSize:$t.circleTextFontSize,lineHeight:1,whiteSpace:"normal",textAlign:"center",transform:"translateY(-50%)",[jn]:{fontSize:`${$t.fontSize/$t.fontSizeSM}em`}},[`${gn}-circle&-status-exception`]:{[`${gn}-text`]:{color:$t.colorError}},[`${gn}-circle&-status-success`]:{[`${gn}-text`]:{color:$t.colorSuccess}}},[`${gn}-inline-circle`]:{lineHeight:1,[`${gn}-inner`]:{verticalAlign:"bottom"}}}},Qt=$t=>{const{componentCls:gn}=$t;return{[gn]:{[`${gn}-steps`]:{display:"inline-block","&-outer":{display:"flex",flexDirection:"row",alignItems:"center"},"&-item":{flexShrink:0,minWidth:$t.progressStepMinWidth,marginInlineEnd:$t.progressStepMarginInlineEnd,backgroundColor:$t.remainingColor,transition:`all ${$t.motionDurationSlow}`,"&-active":{backgroundColor:$t.defaultColor}}}}}},Nt=$t=>{const{componentCls:gn,iconCls:jn}=$t;return{[gn]:{[`${gn}-small&-line, ${gn}-small&-line ${gn}-text ${jn}`]:{fontSize:$t.fontSizeSM}}}};var wt=(0,Tt.Z)("Progress",$t=>{const gn=$t.marginXXS/2,jn=(0,yt.TS)($t,{progressStepMarginInlineEnd:gn,progressStepMinWidth:gn,progressActiveMotionDuration:"2.4s"});return[gt(jn),St(jn),Qt(jn),Nt(jn)]},$t=>({circleTextColor:$t.colorText,defaultColor:$t.colorInfo,remainingColor:$t.colorFillSecondary,lineBorderRadius:100,circleTextFontSize:"1em"})),rn=function($t,gn){var jn={};for(var Ln in $t)Object.prototype.hasOwnProperty.call($t,Ln)&&gn.indexOf(Ln)<0&&(jn[Ln]=$t[Ln]);if($t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Sr=0,Ln=Object.getOwnPropertySymbols($t);Sr<Ln.length;Sr++)gn.indexOf(Ln[Sr])<0&&Object.prototype.propertyIsEnumerable.call($t,Ln[Sr])&&(jn[Ln[Sr]]=$t[Ln[Sr]]);return jn};const On=null,zn=["normal","exception","active","success"];var nr=_e.forwardRef(($t,gn)=>{const{prefixCls:jn,className:Ln,rootClassName:Sr,steps:Ur,strokeColor:Mr,percent:Gr=0,size:ma="default",showInfo:Oa=!0,type:Ea="line",status:Ma,format:li,style:di}=$t,Hr=rn($t,["prefixCls","className","rootClassName","steps","strokeColor","percent","size","showInfo","type","status","format","style"]),Ta=_e.useMemo(()=>{var Ie,ze;const Ze=dt($t);return parseInt(Ze!==void 0?(Ie=Ze!=null?Ze:0)===null||Ie===void 0?void 0:Ie.toString():(ze=Gr!=null?Gr:0)===null||ze===void 0?void 0:ze.toString(),10)},[Gr,$t.success,$t.successPercent]),Ha=_e.useMemo(()=>!zn.includes(Ma)&&Ta>=100?"success":Ma||"normal",[Ma,Ta]),{getPrefixCls:sr,direction:pr,progress:Qa}=_e.useContext(we.E_),hn=sr("progress",jn),[kn,ar]=wt(hn),lr=_e.useMemo(()=>{if(!Oa)return null;const Ie=dt($t);let ze;const Ze=li||(bt=>`${bt}%`),xt=Ea==="line";return li||Ha!=="exception"&&Ha!=="success"?ze=Ze(tt(Gr),tt(Ie)):Ha==="exception"?ze=xt?_e.createElement(be.Z,null):_e.createElement(Fe.Z,null):Ha==="success"&&(ze=xt?_e.createElement(Ve.Z,null):_e.createElement(Re.Z,null)),_e.createElement("span",{className:`${hn}-text`,title:typeof ze=="string"?ze:void 0},ze)},[Oa,Gr,Ta,Ha,Ea,hn,li]),Fr=Array.isArray(Mr)?Mr[0]:Mr,pt=typeof Mr=="string"||Array.isArray(Mr)?Mr:void 0;let Ae;Ea==="line"?Ae=Ur?_e.createElement(sn,Object.assign({},$t,{strokeColor:pt,prefixCls:hn,steps:Ur}),lr):_e.createElement(Dn,Object.assign({},$t,{strokeColor:Fr,prefixCls:hn,direction:pr}),lr):(Ea==="circle"||Ea==="dashboard")&&(Ae=_e.createElement(en,Object.assign({},$t,{strokeColor:Fr,prefixCls:hn,progressStatus:Ha}),lr));const Le=ve()(hn,`${hn}-status-${Ha}`,`${hn}-${Ea==="dashboard"&&"circle"||Ur&&"steps"||Ea}`,{[`${hn}-inline-circle`]:Ea==="circle"&&ht(ma,"circle")[0]<=20,[`${hn}-show-info`]:Oa,[`${hn}-${ma}`]:typeof ma=="string",[`${hn}-rtl`]:pr==="rtl"},Qa==null?void 0:Qa.className,Ln,Sr,ar);return kn(_e.createElement("div",Object.assign({ref:gn,style:Object.assign(Object.assign({},Qa==null?void 0:Qa.style),di),className:Le,role:"progressbar","aria-valuenow":Ta},(0,ye.Z)(Hr,["trailColor","strokeWidth","width","gapDegree","gapPosition","strokeLinecap","success","successPercent"])),Ae))}),Xn=nr},13570:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return tt}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z"}}]},name:"star",theme:"filled"},be=Re,Fe=Oe(7657),Ce=function(At,mt){return Ve.createElement(Fe.Z,(0,_e.Z)({},At,{ref:mt,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve,we=Oe(92310),De=Oe.n(we),pe=Oe(400),Ee=Oe(33606),Pe=Oe(37061),de=Oe(18929),ee=Oe(10228),ne=Oe(26112);function le(dt,At){var mt=dt.disabled,ht=dt.prefixCls,vt=dt.character,Wt=dt.characterRender,Jt=dt.index,en=dt.count,mn=dt.value,Ot=dt.allowHalf,an=dt.focused,tn=dt.onHover,Dn=dt.onClick,Tn=function(St){tn(St,Jt)},sn=function(St){Dn(St,Jt)},dn=function(St){St.keyCode===ee.Z.ENTER&&Dn(St,Jt)},Kt=Jt+1,Tt=new Set([ht]);mn===0&&Jt===0&&an?Tt.add("".concat(ht,"-focused")):Ot&&mn+.5>=Kt&&mn<Kt?(Tt.add("".concat(ht,"-half")),Tt.add("".concat(ht,"-active")),an&&Tt.add("".concat(ht,"-focused"))):(Kt<=mn?Tt.add("".concat(ht,"-full")):Tt.add("".concat(ht,"-zero")),Kt===mn&&an&&Tt.add("".concat(ht,"-focused")));var yt=typeof vt=="function"?vt(dt):vt,Gt=Ve.createElement("li",{className:De()(Array.from(Tt)),ref:At},Ve.createElement("div",{onClick:mt?null:sn,onKeyDown:mt?null:dn,onMouseMove:mt?null:Tn,role:"radio","aria-checked":mn>Jt?"true":"false","aria-posinset":Jt+1,"aria-setsize":en,tabIndex:mt?-1:0},Ve.createElement("div",{className:"".concat(ht,"-first")},yt),Ve.createElement("div",{className:"".concat(ht,"-second")},yt)));return Wt&&(Gt=Wt(Gt,dt)),Gt}var oe=Ve.forwardRef(le);function ce(){var dt=Ve.useRef({});function At(ht){return dt.current[ht]}function mt(ht){return function(vt){dt.current[ht]=vt}}return[At,mt]}function he(dt){var At=dt.pageXOffset,mt="scrollLeft";if(typeof At!="number"){var ht=dt.document;At=ht.documentElement[mt],typeof At!="number"&&(At=ht.body[mt])}return At}function ie(dt){var At,mt,ht=dt.ownerDocument,vt=ht.body,Wt=ht&&ht.documentElement,Jt=dt.getBoundingClientRect();return At=Jt.left,mt=Jt.top,At-=Wt.clientLeft||vt.clientLeft||0,mt-=Wt.clientTop||vt.clientTop||0,{left:At,top:mt}}function ue(dt){var At=ie(dt),mt=dt.ownerDocument,ht=mt.defaultView||mt.parentWindow;return At.left+=he(ht),At.left}var ge=["prefixCls","className","defaultValue","value","count","allowHalf","allowClear","character","characterRender","disabled","direction","tabIndex","autoFocus","onHoverChange","onChange","onFocus","onBlur","onKeyDown","onMouseLeave"];function xe(dt,At){var mt,ht=dt.prefixCls,vt=ht===void 0?"rc-rate":ht,Wt=dt.className,Jt=dt.defaultValue,en=dt.value,mn=dt.count,Ot=mn===void 0?5:mn,an=dt.allowHalf,tn=an===void 0?!1:an,Dn=dt.allowClear,Tn=Dn===void 0?!0:Dn,sn=dt.character,dn=sn===void 0?"\u2605":sn,Kt=dt.characterRender,Tt=dt.disabled,yt=dt.direction,Gt=yt===void 0?"ltr":yt,gt=dt.tabIndex,St=gt===void 0?0:gt,Qt=dt.autoFocus,Nt=dt.onHoverChange,wt=dt.onChange,rn=dt.onFocus,On=dt.onBlur,zn=dt.onKeyDown,Gn=dt.onMouseLeave,nr=(0,Pe.Z)(dt,ge),Xn=ce(),$t=(0,Ee.Z)(Xn,2),gn=$t[0],jn=$t[1],Ln=Ve.useRef(null),Sr=function(){if(!Tt){var bt;(bt=Ln.current)===null||bt===void 0||bt.focus()}};Ve.useImperativeHandle(At,function(){return{focus:Sr,blur:function(){if(!Tt){var bt;(bt=Ln.current)===null||bt===void 0||bt.blur()}}}});var Ur=(0,de.Z)(Jt||0,{value:en}),Mr=(0,Ee.Z)(Ur,2),Gr=Mr[0],ma=Mr[1],Oa=(0,de.Z)(null),Ea=(0,Ee.Z)(Oa,2),Ma=Ea[0],li=Ea[1],di=function(bt,Yt){var Ht=Gt==="rtl",cn=bt+1;if(tn){var fn=gn(bt),Zn=ue(fn),Mn=fn.clientWidth;(Ht&&Yt-Zn>Mn/2||!Ht&&Yt-Zn<Mn/2)&&(cn-=.5)}return cn},Hr=function(bt){ma(bt),wt==null||wt(bt)},Ta=Ve.useState(!1),Ha=(0,Ee.Z)(Ta,2),sr=Ha[0],pr=Ha[1],Qa=function(){pr(!0),rn==null||rn()},hn=function(){pr(!1),On==null||On()},kn=Ve.useState(null),ar=(0,Ee.Z)(kn,2),lr=ar[0],Fr=ar[1],pt=function(bt,Yt){var Ht=di(Yt,bt.pageX);Ht!==Ma&&(Fr(Ht),li(null)),Nt==null||Nt(Ht)},Ae=function(bt){Tt||(Fr(null),li(null),Nt==null||Nt(void 0)),bt&&(Gn==null||Gn(bt))},Le=function(bt,Yt){var Ht=di(Yt,bt.pageX),cn=!1;Tn&&(cn=Ht===Gr),Ae(),Hr(cn?0:Ht),li(cn?Ht:null)},Ie=function(bt){var Yt=bt.keyCode,Ht=Gt==="rtl",cn=Gr;Yt===ee.Z.RIGHT&&cn<Ot&&!Ht?(tn?cn+=.5:cn+=1,Hr(cn),bt.preventDefault()):Yt===ee.Z.LEFT&&cn>0&&!Ht||Yt===ee.Z.RIGHT&&cn>0&&Ht?(tn?cn-=.5:cn-=1,Hr(cn),bt.preventDefault()):Yt===ee.Z.LEFT&&cn<Ot&&Ht&&(tn?cn+=.5:cn+=1,Hr(cn),bt.preventDefault()),zn==null||zn(bt)};Ve.useEffect(function(){Qt&&!Tt&&Sr()},[]);var ze=new Array(Ot).fill(0).map(function(xt,bt){return Ve.createElement(oe,{ref:jn(bt),index:bt,count:Ot,disabled:Tt,prefixCls:"".concat(vt,"-star"),allowHalf:tn,value:lr===null?Gr:lr,onClick:Le,onHover:pt,key:xt||bt,character:dn,characterRender:Kt,focused:sr})}),Ze=De()(vt,Wt,(mt={},(0,pe.Z)(mt,"".concat(vt,"-disabled"),Tt),(0,pe.Z)(mt,"".concat(vt,"-rtl"),Gt==="rtl"),mt));return Ve.createElement("ul",(0,_e.Z)({className:Ze,onMouseLeave:Ae,tabIndex:Tt?-1:St,onFocus:Tt?null:Qa,onBlur:Tt?null:hn,onKeyDown:Tt?null:Ie,ref:Ln,role:"radiogroup"},(0,ne.Z)(nr,{aria:!0,data:!0,attr:!0})),ze)}var Me=Ve.forwardRef(xe),Be=Me,Ne=Oe(36355),Ue=Oe(6848),Ge=Oe(17313),Xe=Oe(83116),Ye=Oe(37613);const nt=dt=>{const{componentCls:At}=dt;return{[`${At}-star`]:{position:"relative",display:"inline-block",color:"inherit",cursor:"pointer","&:not(:last-child)":{marginInlineEnd:dt.marginXS},"> div":{transition:`all ${dt.motionDurationMid}, outline 0s`,"&:hover":{transform:dt.starHoverScale},"&:focus":{outline:0},"&:focus-visible":{outline:`${dt.lineWidth}px dashed ${dt.starColor}`,transform:dt.starHoverScale}},"&-first, &-second":{color:dt.starBg,transition:`all ${dt.motionDurationMid}`,userSelect:"none",[dt.iconCls]:{verticalAlign:"middle"}},"&-first":{position:"absolute",top:0,insetInlineStart:0,width:"50%",height:"100%",overflow:"hidden",opacity:0},[`&-half ${At}-star-first, &-half ${At}-star-second`]:{opacity:1},[`&-half ${At}-star-first, &-full ${At}-star-second`]:{color:"inherit"}}}},$e=dt=>({[`&-rtl${dt.componentCls}`]:{direction:"rtl"}}),qe=dt=>{const{componentCls:At}=dt;return{[At]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,Ge.Wf)(dt)),{display:"inline-block",margin:0,padding:0,color:dt.starColor,fontSize:dt.starSize,lineHeight:"unset",listStyle:"none",outline:"none",[`&-disabled${At} ${At}-star`]:{cursor:"default","> div:hover":{transform:"scale(1)"}}}),nt(dt)),{[`+ ${At}-text`]:{display:"inline-block",marginInlineStart:dt.marginXS,fontSize:dt.fontSize}}),$e(dt))}};var st=(0,Xe.Z)("Rate",dt=>{const At=(0,Ye.TS)(dt,{});return[qe(At)]},dt=>({starColor:dt.yellow6,starSize:dt.controlHeightLG*.5,starHoverScale:"scale(1.1)",starBg:dt.colorFillContent})),rt=function(dt,At){var mt={};for(var ht in dt)Object.prototype.hasOwnProperty.call(dt,ht)&&At.indexOf(ht)<0&&(mt[ht]=dt[ht]);if(dt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var vt=0,ht=Object.getOwnPropertySymbols(dt);vt<ht.length;vt++)At.indexOf(ht[vt])<0&&Object.prototype.propertyIsEnumerable.call(dt,ht[vt])&&(mt[ht[vt]]=dt[ht[vt]]);return mt},tt=Ve.forwardRef((dt,At)=>{const{prefixCls:mt,className:ht,rootClassName:vt,style:Wt,tooltips:Jt,character:en=Ve.createElement(ye,null)}=dt,mn=rt(dt,["prefixCls","className","rootClassName","style","tooltips","character"]),Ot=(Tt,yt)=>{let{index:Gt}=yt;return Jt?Ve.createElement(Ue.Z,{title:Jt[Gt]},Tt):Tt},{getPrefixCls:an,direction:tn,rate:Dn}=Ve.useContext(Ne.E_),Tn=an("rate",mt),[sn,dn]=st(Tn),Kt=Object.assign(Object.assign({},Dn==null?void 0:Dn.style),Wt);return sn(Ve.createElement(Be,Object.assign({ref:At,character:en,characterRender:Ot},mn,{className:De()(ht,vt,dn,Dn==null?void 0:Dn.className),style:Kt,prefixCls:Tn,direction:tn})))})},61621:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return dn}});var _e=Oe(92310),Ve=Oe.n(_e),Re=Oe(59301),be=Oe(36355),Fe=Oe(2738),ve=Kt=>{const{prefixCls:Tt,className:yt,style:Gt,size:gt,shape:St}=Kt,Qt=Ve()({[`${Tt}-lg`]:gt==="large",[`${Tt}-sm`]:gt==="small"}),Nt=Ve()({[`${Tt}-circle`]:St==="circle",[`${Tt}-square`]:St==="square",[`${Tt}-round`]:St==="round"}),wt=Re.useMemo(()=>typeof gt=="number"?{width:gt,height:gt,lineHeight:`${gt}px`}:{},[gt]);return Re.createElement("span",{className:Ve()(Tt,Qt,Nt,yt),style:Object.assign(Object.assign({},wt),Gt)})},ye=Oe(93083),we=Oe(83116),De=Oe(37613);const pe=new ye.Keyframes("ant-skeleton-loading",{"0%":{backgroundPosition:"100% 50%"},"100%":{backgroundPosition:"0 50%"}}),Ee=Kt=>({height:Kt,lineHeight:`${Kt}px`}),Pe=Kt=>Object.assign({width:Kt},Ee(Kt)),de=Kt=>({background:Kt.skeletonLoadingBackground,backgroundSize:"400% 100%",animationName:pe,animationDuration:Kt.skeletonLoadingMotionDuration,animationTimingFunction:"ease",animationIterationCount:"infinite"}),ee=Kt=>Object.assign({width:Kt*5,minWidth:Kt*5},Ee(Kt)),ne=Kt=>{const{skeletonAvatarCls:Tt,gradientFromColor:yt,controlHeight:Gt,controlHeightLG:gt,controlHeightSM:St}=Kt;return{[`${Tt}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:yt},Pe(Gt)),[`${Tt}${Tt}-circle`]:{borderRadius:"50%"},[`${Tt}${Tt}-lg`]:Object.assign({},Pe(gt)),[`${Tt}${Tt}-sm`]:Object.assign({},Pe(St))}},le=Kt=>{const{controlHeight:Tt,borderRadiusSM:yt,skeletonInputCls:Gt,controlHeightLG:gt,controlHeightSM:St,gradientFromColor:Qt}=Kt;return{[`${Gt}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:Qt,borderRadius:yt},ee(Tt)),[`${Gt}-lg`]:Object.assign({},ee(gt)),[`${Gt}-sm`]:Object.assign({},ee(St))}},oe=Kt=>Object.assign({width:Kt},Ee(Kt)),ce=Kt=>{const{skeletonImageCls:Tt,imageSizeBase:yt,gradientFromColor:Gt,borderRadiusSM:gt}=Kt;return{[`${Tt}`]:Object.assign(Object.assign({display:"flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",background:Gt,borderRadius:gt},oe(yt*2)),{[`${Tt}-path`]:{fill:"#bfbfbf"},[`${Tt}-svg`]:Object.assign(Object.assign({},oe(yt)),{maxWidth:yt*4,maxHeight:yt*4}),[`${Tt}-svg${Tt}-svg-circle`]:{borderRadius:"50%"}}),[`${Tt}${Tt}-circle`]:{borderRadius:"50%"}}},he=(Kt,Tt,yt)=>{const{skeletonButtonCls:Gt}=Kt;return{[`${yt}${Gt}-circle`]:{width:Tt,minWidth:Tt,borderRadius:"50%"},[`${yt}${Gt}-round`]:{borderRadius:Tt}}},ie=Kt=>Object.assign({width:Kt*2,minWidth:Kt*2},Ee(Kt)),ue=Kt=>{const{borderRadiusSM:Tt,skeletonButtonCls:yt,controlHeight:Gt,controlHeightLG:gt,controlHeightSM:St,gradientFromColor:Qt}=Kt;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({[`${yt}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:Qt,borderRadius:Tt,width:Gt*2,minWidth:Gt*2},ie(Gt))},he(Kt,Gt,yt)),{[`${yt}-lg`]:Object.assign({},ie(gt))}),he(Kt,gt,`${yt}-lg`)),{[`${yt}-sm`]:Object.assign({},ie(St))}),he(Kt,St,`${yt}-sm`))},ge=Kt=>{const{componentCls:Tt,skeletonAvatarCls:yt,skeletonTitleCls:Gt,skeletonParagraphCls:gt,skeletonButtonCls:St,skeletonInputCls:Qt,skeletonImageCls:Nt,controlHeight:wt,controlHeightLG:rn,controlHeightSM:On,gradientFromColor:zn,padding:Gn,marginSM:nr,borderRadius:Xn,titleHeight:$t,blockRadius:gn,paragraphLiHeight:jn,controlHeightXS:Ln,paragraphMarginTop:Sr}=Kt;return{[`${Tt}`]:{display:"table",width:"100%",[`${Tt}-header`]:{display:"table-cell",paddingInlineEnd:Gn,verticalAlign:"top",[`${yt}`]:Object.assign({display:"inline-block",verticalAlign:"top",background:zn},Pe(wt)),[`${yt}-circle`]:{borderRadius:"50%"},[`${yt}-lg`]:Object.assign({},Pe(rn)),[`${yt}-sm`]:Object.assign({},Pe(On))},[`${Tt}-content`]:{display:"table-cell",width:"100%",verticalAlign:"top",[`${Gt}`]:{width:"100%",height:$t,background:zn,borderRadius:gn,[`+ ${gt}`]:{marginBlockStart:On}},[`${gt}`]:{padding:0,"> li":{width:"100%",height:jn,listStyle:"none",background:zn,borderRadius:gn,"+ li":{marginBlockStart:Ln}}},[`${gt}> li:last-child:not(:first-child):not(:nth-child(2))`]:{width:"61%"}},[`&-round ${Tt}-content`]:{[`${Gt}, ${gt} > li`]:{borderRadius:Xn}}},[`${Tt}-with-avatar ${Tt}-content`]:{[`${Gt}`]:{marginBlockStart:nr,[`+ ${gt}`]:{marginBlockStart:Sr}}},[`${Tt}${Tt}-element`]:Object.assign(Object.assign(Object.assign(Object.assign({display:"inline-block",width:"auto"},ue(Kt)),ne(Kt)),le(Kt)),ce(Kt)),[`${Tt}${Tt}-block`]:{width:"100%",[`${St}`]:{width:"100%"},[`${Qt}`]:{width:"100%"}},[`${Tt}${Tt}-active`]:{[`
|
|
|
${Gt},
|
|
|
${gt} > li,
|
|
|
${yt},
|
|
|
${St},
|
|
|
${Qt},
|
|
|
${Nt}
|
|
|
`]:Object.assign({},de(Kt))}}};var xe=(0,we.Z)("Skeleton",Kt=>{const{componentCls:Tt}=Kt,yt=(0,De.TS)(Kt,{skeletonAvatarCls:`${Tt}-avatar`,skeletonTitleCls:`${Tt}-title`,skeletonParagraphCls:`${Tt}-paragraph`,skeletonButtonCls:`${Tt}-button`,skeletonInputCls:`${Tt}-input`,skeletonImageCls:`${Tt}-image`,imageSizeBase:Kt.controlHeight*1.5,borderRadius:100,skeletonLoadingBackground:`linear-gradient(90deg, ${Kt.gradientFromColor} 25%, ${Kt.gradientToColor} 37%, ${Kt.gradientFromColor} 63%)`,skeletonLoadingMotionDuration:"1.4s"});return[ge(yt)]},Kt=>{const{colorFillContent:Tt,colorFill:yt}=Kt,Gt=Tt,gt=yt;return{color:Gt,colorGradientEnd:gt,gradientFromColor:Gt,gradientToColor:gt,titleHeight:Kt.controlHeight/2,blockRadius:Kt.borderRadiusSM,paragraphMarginTop:Kt.marginLG+Kt.marginXXS,paragraphLiHeight:Kt.controlHeight/2}},{deprecatedTokens:[["color","gradientFromColor"],["colorGradientEnd","gradientToColor"]]}),Be=Kt=>{const{prefixCls:Tt,className:yt,rootClassName:Gt,active:gt,shape:St="circle",size:Qt="default"}=Kt,{getPrefixCls:Nt}=Re.useContext(be.E_),wt=Nt("skeleton",Tt),[rn,On]=xe(wt),zn=(0,Fe.Z)(Kt,["prefixCls","className"]),Gn=Ve()(wt,`${wt}-element`,{[`${wt}-active`]:gt},yt,Gt,On);return rn(Re.createElement("div",{className:Gn},Re.createElement(ve,Object.assign({prefixCls:`${wt}-avatar`,shape:St,size:Qt},zn))))},Ue=Kt=>{const{prefixCls:Tt,className:yt,rootClassName:Gt,active:gt,block:St=!1,size:Qt="default"}=Kt,{getPrefixCls:Nt}=Re.useContext(be.E_),wt=Nt("skeleton",Tt),[rn,On]=xe(wt),zn=(0,Fe.Z)(Kt,["prefixCls"]),Gn=Ve()(wt,`${wt}-element`,{[`${wt}-active`]:gt,[`${wt}-block`]:St},yt,Gt,On);return rn(Re.createElement("div",{className:Gn},Re.createElement(ve,Object.assign({prefixCls:`${wt}-button`,size:Qt},zn))))};const Ge="M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z";var Ye=Kt=>{const{prefixCls:Tt,className:yt,rootClassName:Gt,style:gt,active:St}=Kt,{getPrefixCls:Qt}=Re.useContext(be.E_),Nt=Qt("skeleton",Tt),[wt,rn]=xe(Nt),On=Ve()(Nt,`${Nt}-element`,{[`${Nt}-active`]:St},yt,Gt,rn);return wt(Re.createElement("div",{className:On},Re.createElement("div",{className:Ve()(`${Nt}-image`,yt),style:gt},Re.createElement("svg",{viewBox:"0 0 1098 1024",xmlns:"http://www.w3.org/2000/svg",className:`${Nt}-image-svg`},Re.createElement("path",{d:Ge,className:`${Nt}-image-path`})))))},$e=Kt=>{const{prefixCls:Tt,className:yt,rootClassName:Gt,active:gt,block:St,size:Qt="default"}=Kt,{getPrefixCls:Nt}=Re.useContext(be.E_),wt=Nt("skeleton",Tt),[rn,On]=xe(wt),zn=(0,Fe.Z)(Kt,["prefixCls"]),Gn=Ve()(wt,`${wt}-element`,{[`${wt}-active`]:gt,[`${wt}-block`]:St},yt,Gt,On);return rn(Re.createElement("div",{className:Gn},Re.createElement(ve,Object.assign({prefixCls:`${wt}-input`,size:Qt},zn))))},qe=Oe(92413),st={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"dot-chart",theme:"outlined"},rt=st,ct=Oe(7657),tt=function(Tt,yt){return Re.createElement(ct.Z,(0,qe.Z)({},Tt,{ref:yt,icon:rt}))},dt=Re.forwardRef(tt),At=dt,ht=Kt=>{const{prefixCls:Tt,className:yt,rootClassName:Gt,style:gt,active:St,children:Qt}=Kt,{getPrefixCls:Nt}=Re.useContext(be.E_),wt=Nt("skeleton",Tt),[rn,On]=xe(wt),zn=Ve()(wt,`${wt}-element`,{[`${wt}-active`]:St},On,yt,Gt),Gn=Qt!=null?Qt:Re.createElement(At,null);return rn(Re.createElement("div",{className:zn},Re.createElement("div",{className:Ve()(`${wt}-image`,yt),style:gt},Gn)))},vt=Oe(26407),Jt=Kt=>{const Tt=Nt=>{const{width:wt,rows:rn=2}=Kt;if(Array.isArray(wt))return wt[Nt];if(rn-1===Nt)return wt},{prefixCls:yt,className:Gt,style:gt,rows:St}=Kt,Qt=(0,vt.Z)(Array(St)).map((Nt,wt)=>Re.createElement("li",{key:wt,style:{width:Tt(wt)}}));return Re.createElement("ul",{className:Ve()(yt,Gt),style:gt},Qt)},mn=Kt=>{let{prefixCls:Tt,className:yt,width:Gt,style:gt}=Kt;return Re.createElement("h3",{className:Ve()(Tt,yt),style:Object.assign({width:Gt},gt)})};function Ot(Kt){return Kt&&typeof Kt=="object"?Kt:{}}function an(Kt,Tt){return Kt&&!Tt?{size:"large",shape:"square"}:{size:"large",shape:"circle"}}function tn(Kt,Tt){return!Kt&&Tt?{width:"38%"}:Kt&&Tt?{width:"50%"}:{}}function Dn(Kt,Tt){const yt={};return(!Kt||!Tt)&&(yt.width="61%"),!Kt&&Tt?yt.rows=3:yt.rows=2,yt}const Tn=Kt=>{const{prefixCls:Tt,loading:yt,className:Gt,rootClassName:gt,style:St,children:Qt,avatar:Nt=!1,title:wt=!0,paragraph:rn=!0,active:On,round:zn}=Kt,{getPrefixCls:Gn,direction:nr,skeleton:Xn}=Re.useContext(be.E_),$t=Gn("skeleton",Tt),[gn,jn]=xe($t);if(yt||!("loading"in Kt)){const Ln=!!Nt,Sr=!!wt,Ur=!!rn;let Mr;if(Ln){const Oa=Object.assign(Object.assign({prefixCls:`${$t}-avatar`},an(Sr,Ur)),Ot(Nt));Mr=Re.createElement("div",{className:`${$t}-header`},Re.createElement(ve,Object.assign({},Oa)))}let Gr;if(Sr||Ur){let Oa;if(Sr){const Ma=Object.assign(Object.assign({prefixCls:`${$t}-title`},tn(Ln,Ur)),Ot(wt));Oa=Re.createElement(mn,Object.assign({},Ma))}let Ea;if(Ur){const Ma=Object.assign(Object.assign({prefixCls:`${$t}-paragraph`},Dn(Ln,Sr)),Ot(rn));Ea=Re.createElement(Jt,Object.assign({},Ma))}Gr=Re.createElement("div",{className:`${$t}-content`},Oa,Ea)}const ma=Ve()($t,{[`${$t}-with-avatar`]:Ln,[`${$t}-active`]:On,[`${$t}-rtl`]:nr==="rtl",[`${$t}-round`]:zn},Xn==null?void 0:Xn.className,Gt,gt,jn);return gn(Re.createElement("div",{className:ma,style:Object.assign(Object.assign({},Xn==null?void 0:Xn.style),St)},Mr,Gr))}return typeof Qt!="undefined"?Qt:null};Tn.Button=Ue,Tn.Avatar=Be,Tn.Input=$e,Tn.Image=Ye,Tn.Node=ht;var sn=Tn,dn=sn},81327:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return le}});var _e=Oe(59301),Ve=Oe(92310),Re=Oe.n(Ve),be=Oe(11592),Fe=Oe(36355),Ce=Oe(33234);const ve=_e.createContext({latestIndex:0}),ye=ve.Provider;var De=oe=>{let{className:ce,index:he,children:ie,split:ue,style:ge}=oe;const{latestIndex:xe}=_e.useContext(ve);return ie==null?null:_e.createElement(_e.Fragment,null,_e.createElement("div",{className:ce,style:ge},ie),he<xe&&ue&&_e.createElement("span",{className:`${ce}-split`},ue))},pe=Oe(2856);function Ee(oe){return["small","middle","large"].includes(oe)}function Pe(oe){return oe?typeof oe=="number"&&!Number.isNaN(oe):!1}var de=function(oe,ce){var he={};for(var ie in oe)Object.prototype.hasOwnProperty.call(oe,ie)&&ce.indexOf(ie)<0&&(he[ie]=oe[ie]);if(oe!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ue=0,ie=Object.getOwnPropertySymbols(oe);ue<ie.length;ue++)ce.indexOf(ie[ue])<0&&Object.prototype.propertyIsEnumerable.call(oe,ie[ue])&&(he[ie[ue]]=oe[ie[ue]]);return he};const ne=_e.forwardRef((oe,ce)=>{var he,ie;const{getPrefixCls:ue,space:ge,direction:xe}=_e.useContext(Fe.E_),{size:Me=(ge==null?void 0:ge.size)||"small",align:Be,className:Ne,rootClassName:Ue,children:Ge,direction:Xe="horizontal",prefixCls:Ye,split:nt,style:$e,wrap:qe=!1,classNames:st,styles:rt}=oe,ct=de(oe,["size","align","className","rootClassName","children","direction","prefixCls","split","style","wrap","classNames","styles"]),[tt,dt]=Array.isArray(Me)?Me:[Me,Me],At=Ee(dt),mt=Ee(tt),ht=Pe(dt),vt=Pe(tt),Wt=(0,be.Z)(Ge,{keepEmpty:!0}),Jt=Be===void 0&&Xe==="horizontal"?"center":Be,en=ue("space",Ye),[mn,Ot]=(0,pe.Z)(en),an=Re()(en,ge==null?void 0:ge.className,Ot,`${en}-${Xe}`,{[`${en}-rtl`]:xe==="rtl",[`${en}-align-${Jt}`]:Jt,[`${en}-gap-row-${dt}`]:At,[`${en}-gap-col-${tt}`]:mt},Ne,Ue),tn=Re()(`${en}-item`,(he=st==null?void 0:st.item)!==null&&he!==void 0?he:(ie=ge==null?void 0:ge.classNames)===null||ie===void 0?void 0:ie.item);let Dn=0;const Tn=Wt.map((Kt,Tt)=>{var yt,Gt;Kt!=null&&(Dn=Tt);const gt=Kt&&Kt.key||`${tn}-${Tt}`;return _e.createElement(De,{className:tn,key:gt,index:Tt,split:nt,style:(yt=rt==null?void 0:rt.item)!==null&&yt!==void 0?yt:(Gt=ge==null?void 0:ge.styles)===null||Gt===void 0?void 0:Gt.item},Kt)}),sn=_e.useMemo(()=>({latestIndex:Dn}),[Dn]);if(Wt.length===0)return null;const dn={};return qe&&(dn.flexWrap="wrap"),!mt&&vt&&(dn.columnGap=tt),!At&&ht&&(dn.rowGap=dt),mn(_e.createElement("div",Object.assign({ref:ce,className:an,style:Object.assign(Object.assign(Object.assign({},dn),ge==null?void 0:ge.style),$e)},ct),_e.createElement(ye,{value:sn},Tn)))});ne.Compact=Ce.ZP;var le=ne},31797:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{default:function(){return xe}});var _e=Oe(59301),Ve=Oe(56762),Re=Oe(92343),be=Oe(92310),Fe=Oe.n(be),Ce=Oe(36355),ve=Oe(61621),we=Me=>{const{value:Be,formatter:Ne,precision:Ue,decimalSeparator:Ge,groupSeparator:Xe="",prefixCls:Ye}=Me;let nt;if(typeof Ne=="function")nt=Ne(Be);else{const $e=String(Be),qe=$e.match(/^(-?)(\d*)(\.(\d+))?$/);if(!qe||$e==="-")nt=$e;else{const st=qe[1];let rt=qe[2]||"0",ct=qe[4]||"";rt=rt.replace(/\B(?=(\d{3})+(?!\d))/g,Xe),typeof Ue=="number"&&(ct=ct.padEnd(Ue,"0").slice(0,Ue>0?Ue:0)),ct&&(ct=`${Ge}${ct}`),nt=[_e.createElement("span",{key:"int",className:`${Ye}-content-value-int`},st,rt),ct&&_e.createElement("span",{key:"decimal",className:`${Ye}-content-value-decimal`},ct)]}}return _e.createElement("span",{className:`${Ye}-content-value`},nt)},De=Oe(17313),pe=Oe(83116),Ee=Oe(37613);const Pe=Me=>{const{componentCls:Be,marginXXS:Ne,padding:Ue,colorTextDescription:Ge,titleFontSize:Xe,colorTextHeading:Ye,contentFontSize:nt,fontFamily:$e}=Me;return{[`${Be}`]:Object.assign(Object.assign({},(0,De.Wf)(Me)),{[`${Be}-title`]:{marginBottom:Ne,color:Ge,fontSize:Xe},[`${Be}-skeleton`]:{paddingTop:Ue},[`${Be}-content`]:{color:Ye,fontSize:nt,fontFamily:$e,[`${Be}-content-value`]:{display:"inline-block",direction:"ltr"},[`${Be}-content-prefix, ${Be}-content-suffix`]:{display:"inline-block"},[`${Be}-content-prefix`]:{marginInlineEnd:Ne},[`${Be}-content-suffix`]:{marginInlineStart:Ne}}})}};var de=(0,pe.Z)("Statistic",Me=>{const Be=(0,Ee.TS)(Me,{});return[Pe(Be)]},Me=>{const{fontSizeHeading3:Be,fontSize:Ne}=Me;return{titleFontSize:Ne,contentFontSize:Be}}),ne=Me=>{const{prefixCls:Be,className:Ne,rootClassName:Ue,style:Ge,valueStyle:Xe,value:Ye=0,title:nt,valueRender:$e,prefix:qe,suffix:st,loading:rt=!1,onMouseEnter:ct,onMouseLeave:tt,decimalSeparator:dt=".",groupSeparator:At=","}=Me,{getPrefixCls:mt,direction:ht,statistic:vt}=_e.useContext(Ce.E_),Wt=mt("statistic",Be),[Jt,en]=de(Wt),mn=_e.createElement(we,Object.assign({decimalSeparator:dt,groupSeparator:At,prefixCls:Wt},Me,{value:Ye})),Ot=Fe()(Wt,{[`${Wt}-rtl`]:ht==="rtl"},vt==null?void 0:vt.className,Ne,Ue,en);return Jt(_e.createElement("div",{className:Ot,style:Object.assign(Object.assign({},vt==null?void 0:vt.style),Ge),onMouseEnter:ct,onMouseLeave:tt},nt&&_e.createElement("div",{className:`${Wt}-title`},nt),_e.createElement(ve.Z,{paragraph:!1,loading:rt,className:`${Wt}-skeleton`},_e.createElement("div",{style:Xe,className:`${Wt}-content`},qe&&_e.createElement("span",{className:`${Wt}-content-prefix`},qe),$e?$e(mn):mn,st&&_e.createElement("span",{className:`${Wt}-content-suffix`},st)))))};const le=[["Y",1e3*60*60*24*365],["M",1e3*60*60*24*30],["D",1e3*60*60*24],["H",1e3*60*60],["m",1e3*60],["s",1e3],["S",1]];function oe(Me,Be){let Ne=Me;const Ue=/\[[^\]]*]/g,Ge=(Be.match(Ue)||[]).map($e=>$e.slice(1,-1)),Xe=Be.replace(Ue,"[]"),Ye=le.reduce(($e,qe)=>{let[st,rt]=qe;if($e.includes(st)){const ct=Math.floor(Ne/rt);return Ne-=ct*rt,$e.replace(new RegExp(`${st}+`,"g"),tt=>{const dt=tt.length;return ct.toString().padStart(dt,"0")})}return $e},Xe);let nt=0;return Ye.replace(Ue,()=>{const $e=Ge[nt];return nt+=1,$e})}function ce(Me,Be){const{format:Ne=""}=Be,Ue=new Date(Me).getTime(),Ge=Date.now(),Xe=Math.max(Ue-Ge,0);return oe(Xe,Ne)}const he=1e3/30;function ie(Me){return new Date(Me).getTime()}const ue=Me=>{const{value:Be,format:Ne="HH:mm:ss",onChange:Ue,onFinish:Ge}=Me,Xe=(0,Ve.Z)(),Ye=_e.useRef(null),nt=()=>{Ge==null||Ge(),Ye.current&&(clearInterval(Ye.current),Ye.current=null)},$e=()=>{const rt=ie(Be);rt>=Date.now()&&(Ye.current=setInterval(()=>{Xe(),Ue==null||Ue(rt-Date.now()),rt<Date.now()&&nt()},he))};_e.useEffect(()=>($e(),()=>{Ye.current&&(clearInterval(Ye.current),Ye.current=null)}),[Be]);const qe=(rt,ct)=>ce(rt,Object.assign(Object.assign({},ct),{format:Ne})),st=rt=>(0,Re.Tm)(rt,{title:void 0});return _e.createElement(ne,Object.assign({},Me,{valueRender:st,formatter:qe}))};var ge=_e.memo(ue);ne.Countdown=ge;var xe=ne},15969:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{N:function(){return _e}});const _e=Ve=>({color:Ve.colorLink,textDecoration:"none",outline:"none",cursor:"pointer",transition:`color ${Ve.motionDurationSlow}`,"&:focus, &:hover":{color:Ve.colorLinkHover},"&:active":{color:Ve.colorLinkActive}})},1710:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{default:function(){return Rs}});var _e={},Ve="rc-table-internal-hook",Re=Oe(33606),be=Oe(6089),Fe=Oe(34280),Ce=Oe(13697),ve=Oe(59301),ye=Oe(4676);function we(Ft){var Ut=ve.createContext(void 0),un=function(_n){var Un=_n.value,gr=_n.children,ur=ve.useRef(Un);ur.current=Un;var dr=ve.useState(function(){return{getValue:function(){return ur.current},listeners:new Set}}),Lr=(0,Re.Z)(dr,1),Pr=Lr[0];return(0,Fe.Z)(function(){(0,ye.unstable_batchedUpdates)(function(){Pr.listeners.forEach(function(Dr){Dr(Un)})})},[Un]),ve.createElement(Ut.Provider,{value:Pr},gr)};return{Context:Ut,Provider:un,defaultValue:Ft}}function De(Ft,Ut){var un=(0,be.Z)(typeof Ut=="function"?Ut:function(Dr){if(Ut===void 0)return Dr;if(!Array.isArray(Ut))return Dr[Ut];var $r={};return Ut.forEach(function(Jr){$r[Jr]=Dr[Jr]}),$r}),Sn=ve.useContext(Ft==null?void 0:Ft.Context),_n=Sn||{},Un=_n.listeners,gr=_n.getValue,ur=ve.useRef();ur.current=un(Sn?gr():Ft==null?void 0:Ft.defaultValue);var dr=ve.useState({}),Lr=(0,Re.Z)(dr,2),Pr=Lr[1];return(0,Fe.Z)(function(){if(!Sn)return;function Dr($r){var Jr=un($r);(0,Ce.Z)(ur.current,Jr,!0)||Pr({})}return Un.add(Dr),function(){Un.delete(Dr)}},[Sn]),ur.current}var pe=Oe(92413),Ee=Oe(8654);function Pe(){var Ft=ve.createContext(null);function Ut(){return ve.useContext(Ft)}function un(_n,Un){var gr=(0,Ee.Yr)(_n),ur=function(Lr,Pr){var Dr=gr?{ref:Pr}:{},$r=ve.useRef(0),Jr=ve.useRef(Lr),Er=Ut();return Er!==null?ve.createElement(_n,(0,pe.Z)({},Lr,Dr)):((!Un||Un(Jr.current,Lr))&&($r.current+=1),Jr.current=Lr,ve.createElement(Ft.Provider,{value:$r.current},ve.createElement(_n,(0,pe.Z)({},Lr,Dr))))};return gr?ve.forwardRef(ur):ur}function Sn(_n,Un){var gr=(0,Ee.Yr)(_n),ur=function(Lr,Pr){var Dr=gr?{ref:Pr}:{};return Ut(),ve.createElement(_n,(0,pe.Z)({},Lr,Dr))};return gr?ve.memo(ve.forwardRef(ur),Un):ve.memo(ur,Un)}return{makeImmutable:un,responseImmutable:Sn,useImmutableMark:Ut}}var de=Pe(),ee=de.makeImmutable,ne=de.responseImmutable,le=de.useImmutableMark,oe=Pe(),ce=oe.makeImmutable,he=oe.responseImmutable,ie=oe.useImmutableMark,ue=we(),ge=ue;function xe(Ft,Ut){var un=ve.useRef(0);un.current+=1;var Sn=ve.useRef(Ft),_n=[];Object.keys(Ft||{}).map(function(gr){var ur;(Ft==null?void 0:Ft[gr])!==((ur=Sn.current)===null||ur===void 0?void 0:ur[gr])&&_n.push(gr)}),Sn.current=Ft;var Un=ve.useRef([]);return _n.length&&(Un.current=_n),ve.useDebugValue(un.current),ve.useDebugValue(Un.current.join(", ")),Ut&&console.log("".concat(Ut,":"),un.current,Un.current),un.current}var Me=null,Be=ve.memo(function(){var Ft=xe();return ve.createElement("h1",null,"Render Times: ",Ft)});Be.displayName="RenderBlock";var Ne=Oe(39559),Ue=Oe(33708),Ge=Oe(400),Xe=Oe(92310),Ye=Oe.n(Xe),nt=Oe(80547),$e=Oe(97938),qe=Oe(48736),st=ve.createContext({renderWithProps:!1}),rt=st,ct="RC_TABLE_KEY";function tt(Ft){return Ft==null?[]:Array.isArray(Ft)?Ft:[Ft]}function dt(Ft){var Ut=[],un={};return Ft.forEach(function(Sn){for(var _n=Sn||{},Un=_n.key,gr=_n.dataIndex,ur=Un||tt(gr).join("-")||ct;un[ur];)ur="".concat(ur,"_next");un[ur]=!0,Ut.push(ur)}),Ut}function At(Ft){return Ft!=null}function mt(Ft){return Ft&&(0,Ne.Z)(Ft)==="object"&&!Array.isArray(Ft)&&!ve.isValidElement(Ft)}function ht(Ft,Ut,un,Sn,_n,Un){var gr=ve.useContext(rt),ur=ie(),dr=(0,nt.Z)(function(){if(At(Sn))return[Sn];var Lr=Ut==null||Ut===""?[]:Array.isArray(Ut)?Ut:[Ut],Pr=(0,$e.Z)(Ft,Lr),Dr=Pr,$r=void 0;if(_n){var Jr=_n(Pr,Ft,un);mt(Jr)?(Dr=Jr.children,$r=Jr.props,gr.renderWithProps=!0):Dr=Jr}return[Dr,$r]},[ur,Ft,Sn,Ut,_n,un],function(Lr,Pr){if(Un){var Dr=(0,Re.Z)(Lr,2),$r=Dr[1],Jr=(0,Re.Z)(Pr,2),Er=Jr[1];return Un(Er,$r)}return gr.renderWithProps?!0:!(0,Ce.Z)(Lr,Pr,!0)});return dr}function vt(Ft,Ut,un,Sn){var _n=Ft+Ut-1;return Ft<=Sn&&_n>=un}function Wt(Ft,Ut){return De(ge,function(un){var Sn=vt(Ft,Ut||1,un.hoverStartRow,un.hoverEndRow);return[Sn,un.onHover]})}var Jt=function(Ut){var un=Ut.ellipsis,Sn=Ut.rowType,_n=Ut.children,Un,gr=un===!0?{showTitle:!0}:un;return gr&&(gr.showTitle||Sn==="header")&&(typeof _n=="string"||typeof _n=="number"?Un=_n.toString():ve.isValidElement(_n)&&typeof _n.props.children=="string"&&(Un=_n.props.children)),Un};function en(Ft){var Ut,un,Sn,_n,Un,gr,ur,dr,Lr=Ft.component,Pr=Ft.children,Dr=Ft.ellipsis,$r=Ft.scope,Jr=Ft.prefixCls,Er=Ft.className,pa=Ft.align,ha=Ft.record,ka=Ft.render,Pa=Ft.dataIndex,Ra=Ft.renderIndex,Ci=Ft.shouldCellUpdate,wi=Ft.index,ui=Ft.rowType,Mi=Ft.colSpan,Fi=Ft.rowSpan,ei=Ft.fixLeft,Ei=Ft.fixRight,ti=Ft.firstFixLeft,Wa=Ft.lastFixLeft,ba=Ft.firstFixRight,Ii=Ft.lastFixRight,eo=Ft.appendNode,Ki=Ft.additionalProps,xi=Ki===void 0?{}:Ki,He=Ft.isSticky,et="".concat(Jr,"-cell"),it=De(ge,["supportSticky","allColumnsFixedLeft"]),Et=it.supportSticky,It=it.allColumnsFixedLeft,Lt=ht(ha,Pa,Ra,Pr,ka,Ci),jt=(0,Re.Z)(Lt,2),kt=jt[0],qt=jt[1],Zt={},ln=typeof ei=="number"&&Et,In=typeof Ei=="number"&&Et;ln&&(Zt.position="sticky",Zt.left=ei),In&&(Zt.position="sticky",Zt.right=Ei);var Cn=(Ut=(un=(Sn=qt==null?void 0:qt.colSpan)!==null&&Sn!==void 0?Sn:xi.colSpan)!==null&&un!==void 0?un:Mi)!==null&&Ut!==void 0?Ut:1,Yn=(_n=(Un=(gr=qt==null?void 0:qt.rowSpan)!==null&&gr!==void 0?gr:xi.rowSpan)!==null&&Un!==void 0?Un:Fi)!==null&&_n!==void 0?_n:1,Kn=Wt(wi,Yn),Rn=(0,Re.Z)(Kn,2),Vn=Rn[0],Fn=Rn[1],Qn=function(Ir){var Tr;ha&&Fn(wi,wi+Yn-1),xi==null||(Tr=xi.onMouseEnter)===null||Tr===void 0||Tr.call(xi,Ir)},wr=function(Ir){var Tr;ha&&Fn(-1,-1),xi==null||(Tr=xi.onMouseLeave)===null||Tr===void 0||Tr.call(xi,Ir)};if(Cn===0||Yn===0)return null;var Cr=(ur=xi.title)!==null&&ur!==void 0?ur:Jt({rowType:ui,ellipsis:Dr,children:kt}),Ar=Ye()(et,Er,(dr={},(0,Ge.Z)(dr,"".concat(et,"-fix-left"),ln&&Et),(0,Ge.Z)(dr,"".concat(et,"-fix-left-first"),ti&&Et),(0,Ge.Z)(dr,"".concat(et,"-fix-left-last"),Wa&&Et),(0,Ge.Z)(dr,"".concat(et,"-fix-left-all"),Wa&&It&&Et),(0,Ge.Z)(dr,"".concat(et,"-fix-right"),In&&Et),(0,Ge.Z)(dr,"".concat(et,"-fix-right-first"),ba&&Et),(0,Ge.Z)(dr,"".concat(et,"-fix-right-last"),Ii&&Et),(0,Ge.Z)(dr,"".concat(et,"-ellipsis"),Dr),(0,Ge.Z)(dr,"".concat(et,"-with-append"),eo),(0,Ge.Z)(dr,"".concat(et,"-fix-sticky"),(ln||In)&&He&&Et),(0,Ge.Z)(dr,"".concat(et,"-row-hover"),!qt&&Vn),dr),xi.className,qt==null?void 0:qt.className),$n={};pa&&($n.textAlign=pa);var va=(0,Ue.Z)((0,Ue.Z)((0,Ue.Z)((0,Ue.Z)({},Zt),xi.style),$n),qt==null?void 0:qt.style),Va=kt;return(0,Ne.Z)(Va)==="object"&&!Array.isArray(Va)&&!ve.isValidElement(Va)&&(Va=null),Dr&&(Wa||ba)&&(Va=ve.createElement("span",{className:"".concat(et,"-content")},Va)),ve.createElement(Lr,(0,pe.Z)({},qt,xi,{className:Ar,style:va,title:Cr,scope:$r,onMouseEnter:Qn,onMouseLeave:wr,colSpan:Cn!==1?Cn:null,rowSpan:Yn!==1?Yn:null}),eo,Va)}var mn=ve.memo(en);function Ot(Ft,Ut,un,Sn,_n,Un){var gr=un[Ft]||{},ur=un[Ut]||{},dr,Lr;gr.fixed==="left"?dr=Sn.left[_n==="rtl"?Ut:Ft]:ur.fixed==="right"&&(Lr=Sn.right[_n==="rtl"?Ft:Ut]);var Pr=!1,Dr=!1,$r=!1,Jr=!1,Er=un[Ut+1],pa=un[Ft-1],ha=!(Un!=null&&Un.children);if(_n==="rtl"){if(dr!==void 0){var ka=pa&&pa.fixed==="left";Jr=!ka&&ha}else if(Lr!==void 0){var Pa=Er&&Er.fixed==="right";$r=!Pa&&ha}}else if(dr!==void 0){var Ra=Er&&Er.fixed==="left";Pr=!Ra&&ha}else if(Lr!==void 0){var Ci=pa&&pa.fixed==="right";Dr=!Ci&&ha}return{fixLeft:dr,fixRight:Lr,lastFixLeft:Pr,firstFixRight:Dr,lastFixRight:$r,firstFixLeft:Jr,isSticky:Sn.isSticky}}var an=ve.createContext({}),tn=an;function Dn(Ft){var Ut=Ft.className,un=Ft.index,Sn=Ft.children,_n=Ft.colSpan,Un=_n===void 0?1:_n,gr=Ft.rowSpan,ur=Ft.align,dr=De(ge,["prefixCls","direction"]),Lr=dr.prefixCls,Pr=dr.direction,Dr=ve.useContext(tn),$r=Dr.scrollColumnIndex,Jr=Dr.stickyOffsets,Er=Dr.flattenColumns,pa=Dr.columns,ha=un+Un-1,ka=ha+1===$r?Un+1:Un,Pa=Ot(un,un+ka-1,Er,Jr,Pr,pa==null?void 0:pa[un]);return ve.createElement(mn,(0,pe.Z)({className:Ut,index:un,component:"td",prefixCls:Lr,record:null,dataIndex:null,align:ur,colSpan:ka,rowSpan:gr,render:function(){return Sn}},Pa))}var Tn=Oe(37061),sn=["children"];function dn(Ft){var Ut=Ft.children,un=(0,Tn.Z)(Ft,sn);return ve.createElement("tr",un,Ut)}function Kt(Ft){var Ut=Ft.children;return Ut}Kt.Row=dn,Kt.Cell=Dn;var Tt=Kt;function yt(Ft){var Ut=Ft.children,un=Ft.stickyOffsets,Sn=Ft.flattenColumns,_n=Ft.columns,Un=De(ge,"prefixCls"),gr=Sn.length-1,ur=Sn[gr],dr=ve.useMemo(function(){return{stickyOffsets:un,flattenColumns:Sn,scrollColumnIndex:ur!=null&&ur.scrollbar?gr:null,columns:_n}},[ur,Sn,gr,un,_n]);return ve.createElement(tn.Provider,{value:dr},ve.createElement("tfoot",{className:"".concat(Un,"-summary")},Ut))}var Gt=he(yt),gt=Tt,St=Oe(70425),Qt=Oe(29301),Nt=Oe(29194),wt=Oe(24514),rn=Oe(75152),On=Oe(26112);function zn(Ft,Ut,un,Sn,_n,Un,gr){Ft.push({record:Ut,indent:un,index:gr});var ur=Un(Ut),dr=_n==null?void 0:_n.has(ur);if(Ut&&Array.isArray(Ut[Sn])&&dr)for(var Lr=0;Lr<Ut[Sn].length;Lr+=1)zn(Ft,Ut[Sn][Lr],un+1,Sn,_n,Un,Lr)}function Gn(Ft,Ut,un,Sn){var _n=ve.useMemo(function(){if(un!=null&&un.size){for(var Un=[],gr=0;gr<(Ft==null?void 0:Ft.length);gr+=1){var ur=Ft[gr];zn(Un,ur,0,Ut,un,Sn,gr)}return Un}return Ft==null?void 0:Ft.map(function(dr,Lr){return{record:dr,indent:0,index:Lr}})},[Ft,Ut,un,Sn]);return _n}function nr(Ft){var Ut=Ft.prefixCls,un=Ft.children,Sn=Ft.component,_n=Ft.cellComponent,Un=Ft.className,gr=Ft.expanded,ur=Ft.colSpan,dr=Ft.isEmpty,Lr=De(ge,["scrollbarSize","fixHeader","fixColumn","componentWidth","horizonScroll"]),Pr=Lr.scrollbarSize,Dr=Lr.fixHeader,$r=Lr.fixColumn,Jr=Lr.componentWidth,Er=Lr.horizonScroll,pa=un;return(dr?Er&&Jr:$r)&&(pa=ve.createElement("div",{style:{width:Jr-(Dr?Pr:0),position:"sticky",left:0,overflow:"hidden"},className:"".concat(Ut,"-expanded-row-fixed")},pa)),ve.createElement(Sn,{className:Un,style:{display:gr?null:"none"}},ve.createElement(mn,{component:_n,prefixCls:Ut,colSpan:ur},pa))}var Xn=nr;function $t(Ft,Ut,un,Sn){var _n=De(ge,["prefixCls","fixedInfoList","flattenColumns","expandableType","expandRowByClick","onTriggerExpand","rowClassName","expandedRowClassName","indentSize","expandIcon","expandedRowRender","expandIconColumnIndex","expandedKeys","childrenColumnName","rowExpandable","onRow"]),Un=_n.flattenColumns,gr=_n.expandableType,ur=_n.expandedKeys,dr=_n.childrenColumnName,Lr=_n.onTriggerExpand,Pr=_n.rowExpandable,Dr=_n.onRow,$r=_n.expandRowByClick,Jr=_n.rowClassName,Er=gr==="nest",pa=gr==="row"&&(!Pr||Pr(Ft)),ha=pa||Er,ka=ur&&ur.has(Ut),Pa=dr&&Ft&&Ft[dr],Ra=(0,St.useEvent)(Lr),Ci=Dr==null?void 0:Dr(Ft,un),wi=Ci==null?void 0:Ci.onClick,ui=function(Ei){$r&&ha&&Lr(Ft,Ei);for(var ti=arguments.length,Wa=new Array(ti>1?ti-1:0),ba=1;ba<ti;ba++)Wa[ba-1]=arguments[ba];wi==null||wi.apply(void 0,[Ei].concat(Wa))},Mi;typeof Jr=="string"?Mi=Jr:typeof Jr=="function"&&(Mi=Jr(Ft,un,Sn));var Fi=dt(Un);return(0,Ue.Z)((0,Ue.Z)({},_n),{},{columnsKey:Fi,nestExpandable:Er,expanded:ka,hasNestChildren:Pa,record:Ft,onTriggerExpand:Ra,rowSupportExpand:pa,expandable:ha,rowProps:(0,Ue.Z)((0,Ue.Z)({},Ci),{},{className:Ye()(Mi,Ci==null?void 0:Ci.className),onClick:ui})})}function gn(Ft,Ut,un,Sn,_n){var Un=Ft.record,gr=Ft.prefixCls,ur=Ft.columnsKey,dr=Ft.fixedInfoList,Lr=Ft.expandIconColumnIndex,Pr=Ft.nestExpandable,Dr=Ft.indentSize,$r=Ft.expandIcon,Jr=Ft.expanded,Er=Ft.hasNestChildren,pa=Ft.onTriggerExpand,ha=ur[un],ka=dr[un],Pa;un===(Lr||0)&&Pr&&(Pa=ve.createElement(ve.Fragment,null,ve.createElement("span",{style:{paddingLeft:"".concat(Dr*Sn,"px")},className:"".concat(gr,"-row-indent indent-level-").concat(Sn)}),$r({prefixCls:gr,expanded:Jr,expandable:Er,record:Un,onExpand:pa})));var Ra;return Ut.onCell&&(Ra=Ut.onCell(Un,_n)),{key:ha,fixedInfo:ka,appendCellNode:Pa,additionalCellProps:Ra||{}}}function jn(Ft){var Ut=Ft.className,un=Ft.style,Sn=Ft.record,_n=Ft.index,Un=Ft.renderIndex,gr=Ft.rowKey,ur=Ft.indent,dr=ur===void 0?0:ur,Lr=Ft.rowComponent,Pr=Ft.cellComponent,Dr=Ft.scopeCellComponent,$r=$t(Sn,gr,_n,dr),Jr=$r.prefixCls,Er=$r.flattenColumns,pa=$r.expandedRowClassName,ha=$r.expandedRowRender,ka=$r.rowProps,Pa=$r.expanded,Ra=$r.rowSupportExpand,Ci=ve.useState(!1),wi=(0,Re.Z)(Ci,2),ui=wi[0],Mi=wi[1];ve.useEffect(function(){Pa&&Mi(!0)},[Pa]);var Fi=ve.createElement(Lr,(0,pe.Z)({},ka,{"data-row-key":gr,className:Ye()(Ut,"".concat(Jr,"-row"),"".concat(Jr,"-row-level-").concat(dr),ka==null?void 0:ka.className),style:(0,Ue.Z)((0,Ue.Z)({},un),ka==null?void 0:ka.style)}),Er.map(function(Wa,ba){var Ii=Wa.render,eo=Wa.dataIndex,Ki=Wa.className,xi=gn($r,Wa,ba,dr,_n),He=xi.key,et=xi.fixedInfo,it=xi.appendCellNode,Et=xi.additionalCellProps;return ve.createElement(mn,(0,pe.Z)({className:Ki,ellipsis:Wa.ellipsis,align:Wa.align,scope:Wa.rowScope,component:Wa.rowScope?Dr:Pr,prefixCls:Jr,key:He,record:Sn,index:_n,renderIndex:Un,dataIndex:eo,render:Ii,shouldCellUpdate:Wa.shouldCellUpdate},et,{appendNode:it,additionalProps:Et}))})),ei;if(Ra&&(ui||Pa)){var Ei=ha(Sn,_n,dr+1,Pa),ti=pa&&pa(Sn,_n,dr);ei=ve.createElement(Xn,{expanded:Pa,className:Ye()("".concat(Jr,"-expanded-row"),"".concat(Jr,"-expanded-row-level-").concat(dr+1),ti),prefixCls:Jr,component:Lr,cellComponent:Pr,colSpan:Er.length,isEmpty:!1},Ei)}return ve.createElement(ve.Fragment,null,Fi,ei)}jn.displayName="BodyRow";var Ln=he(jn);function Sr(Ft){var Ut=Ft.columnKey,un=Ft.onColumnResize,Sn=ve.useRef();return ve.useEffect(function(){Sn.current&&un(Ut,Sn.current.offsetWidth)},[]),ve.createElement(Qt.Z,{data:Ut},ve.createElement("td",{ref:Sn,style:{padding:0,border:0,height:0}},ve.createElement("div",{style:{height:0,overflow:"hidden"}},"\xA0")))}function Ur(Ft){var Ut=Ft.prefixCls,un=Ft.columnsKey,Sn=Ft.onColumnResize;return ve.createElement("tr",{"aria-hidden":"true",className:"".concat(Ut,"-measure-row"),style:{height:0,fontSize:0}},ve.createElement(Qt.Z.Collection,{onBatchResize:function(Un){Un.forEach(function(gr){var ur=gr.data,dr=gr.size;Sn(ur,dr.offsetWidth)})}},un.map(function(_n){return ve.createElement(Sr,{key:_n,columnKey:_n,onColumnResize:Sn})})))}function Mr(Ft){var Ut=Ft.data,un=Ft.measureColumnWidth,Sn=De(ge,["prefixCls","getComponent","onColumnResize","flattenColumns","getRowKey","expandedKeys","childrenColumnName","emptyNode"]),_n=Sn.prefixCls,Un=Sn.getComponent,gr=Sn.onColumnResize,ur=Sn.flattenColumns,dr=Sn.getRowKey,Lr=Sn.expandedKeys,Pr=Sn.childrenColumnName,Dr=Sn.emptyNode,$r=Gn(Ut,Pr,Lr,dr),Jr=ve.useRef({renderWithProps:!1}),Er=Un(["body","wrapper"],"tbody"),pa=Un(["body","row"],"tr"),ha=Un(["body","cell"],"td"),ka=Un(["body","cell"],"th"),Pa;Ut.length?Pa=$r.map(function(Ci,wi){var ui=Ci.record,Mi=Ci.indent,Fi=Ci.index,ei=dr(ui,wi);return ve.createElement(Ln,{key:ei,rowKey:ei,record:ui,index:wi,renderIndex:Fi,rowComponent:pa,cellComponent:ha,scopeCellComponent:ka,getRowKey:dr,indent:Mi})}):Pa=ve.createElement(Xn,{expanded:!0,className:"".concat(_n,"-placeholder"),prefixCls:_n,component:pa,cellComponent:ha,colSpan:ur.length,isEmpty:!0},Dr);var Ra=dt(ur);return ve.createElement(rt.Provider,{value:Jr.current},ve.createElement(Er,{className:"".concat(_n,"-tbody")},un&&ve.createElement(Ur,{prefixCls:_n,columnsKey:Ra,onColumnResize:gr}),Pa))}Mr.displayName="Body";var Gr=he(Mr),ma=["expandable"],Oa="RC_TABLE_INTERNAL_COL_DEFINE";function Ea(Ft){var Ut=Ft.expandable,un=(0,Tn.Z)(Ft,ma),Sn;return"expandable"in Ft?Sn=(0,Ue.Z)((0,Ue.Z)({},un),Ut):Sn=un,Sn.showExpandColumn===!1&&(Sn.expandIconColumnIndex=-1),Sn}var Ma=["columnType"];function li(Ft){for(var Ut=Ft.colWidths,un=Ft.columns,Sn=Ft.columCount,_n=[],Un=Sn||un.length,gr=!1,ur=Un-1;ur>=0;ur-=1){var dr=Ut[ur],Lr=un&&un[ur],Pr=Lr&&Lr[Oa];if(dr||Pr||gr){var Dr=Pr||{},$r=Dr.columnType,Jr=(0,Tn.Z)(Dr,Ma);_n.unshift(ve.createElement("col",(0,pe.Z)({key:ur,style:{width:dr}},Jr))),gr=!0}}return ve.createElement("colgroup",null,_n)}var di=li,Hr=Oe(26407),Ta=["className","noData","columns","flattenColumns","colWidths","columCount","stickyOffsets","direction","fixHeader","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","children"];function Ha(Ft,Ut){return(0,ve.useMemo)(function(){for(var un=[],Sn=0;Sn<Ut;Sn+=1){var _n=Ft[Sn];if(_n!==void 0)un[Sn]=_n;else return null}return un},[Ft.join("_"),Ut])}var sr=ve.forwardRef(function(Ft,Ut){var un=Ft.className,Sn=Ft.noData,_n=Ft.columns,Un=Ft.flattenColumns,gr=Ft.colWidths,ur=Ft.columCount,dr=Ft.stickyOffsets,Lr=Ft.direction,Pr=Ft.fixHeader,Dr=Ft.stickyTopOffset,$r=Ft.stickyBottomOffset,Jr=Ft.stickyClassName,Er=Ft.onScroll,pa=Ft.maxContentScroll,ha=Ft.children,ka=(0,Tn.Z)(Ft,Ta),Pa=De(ge,["prefixCls","scrollbarSize","isSticky"]),Ra=Pa.prefixCls,Ci=Pa.scrollbarSize,wi=Pa.isSticky,ui=wi&&!Pr?0:Ci,Mi=ve.useRef(null),Fi=ve.useCallback(function(Ki){(0,Ee.mH)(Ut,Ki),(0,Ee.mH)(Mi,Ki)},[]);ve.useEffect(function(){var Ki;function xi(He){var et=He,it=et.currentTarget,Et=et.deltaX;Et&&(Er({currentTarget:it,scrollLeft:it.scrollLeft+Et}),He.preventDefault())}return(Ki=Mi.current)===null||Ki===void 0||Ki.addEventListener("wheel",xi),function(){var He;(He=Mi.current)===null||He===void 0||He.removeEventListener("wheel",xi)}},[]);var ei=ve.useMemo(function(){return Un.every(function(Ki){return Ki.width})},[Un]),Ei=Un[Un.length-1],ti={fixed:Ei?Ei.fixed:null,scrollbar:!0,onHeaderCell:function(){return{className:"".concat(Ra,"-cell-scrollbar")}}},Wa=(0,ve.useMemo)(function(){return ui?[].concat((0,Hr.Z)(_n),[ti]):_n},[ui,_n]),ba=(0,ve.useMemo)(function(){return ui?[].concat((0,Hr.Z)(Un),[ti]):Un},[ui,Un]),Ii=(0,ve.useMemo)(function(){var Ki=dr.right,xi=dr.left;return(0,Ue.Z)((0,Ue.Z)({},dr),{},{left:Lr==="rtl"?[].concat((0,Hr.Z)(xi.map(function(He){return He+ui})),[0]):xi,right:Lr==="rtl"?Ki:[].concat((0,Hr.Z)(Ki.map(function(He){return He+ui})),[0]),isSticky:wi})},[ui,dr,wi]),eo=Ha(gr,ur);return ve.createElement("div",{style:(0,Ue.Z)({overflow:"hidden"},wi?{top:Dr,bottom:$r}:{}),ref:Fi,className:Ye()(un,(0,Ge.Z)({},Jr,!!Jr))},ve.createElement("table",{style:{tableLayout:"fixed",visibility:Sn||eo?null:"hidden"}},(!Sn||!pa||ei)&&ve.createElement(di,{colWidths:eo?[].concat((0,Hr.Z)(eo),[ui]):[],columCount:ur+1,columns:ba}),ha((0,Ue.Z)((0,Ue.Z)({},ka),{},{stickyOffsets:Ii,columns:Wa,flattenColumns:ba}))))});sr.displayName="FixedHolder";var pr=ve.memo(sr);function Qa(Ft){var Ut=Ft.cells,un=Ft.stickyOffsets,Sn=Ft.flattenColumns,_n=Ft.rowComponent,Un=Ft.cellComponent,gr=Ft.tdCellComponent,ur=Ft.onHeaderRow,dr=Ft.index,Lr=De(ge,["prefixCls","direction"]),Pr=Lr.prefixCls,Dr=Lr.direction,$r;ur&&($r=ur(Ut.map(function(Er){return Er.column}),dr));var Jr=dt(Ut.map(function(Er){return Er.column}));return ve.createElement(_n,$r,Ut.map(function(Er,pa){var ha=Er.column,ka=Ot(Er.colStart,Er.colEnd,Sn,un,Dr,ha),Pa;return ha&&ha.onHeaderCell&&(Pa=Er.column.onHeaderCell(ha)),ve.createElement(mn,(0,pe.Z)({},Er,{scope:ha.title?Er.colSpan>1?"colgroup":"col":null,ellipsis:ha.ellipsis,align:ha.align,component:ha.title?Un:gr,prefixCls:Pr,key:Jr[pa]},ka,{additionalProps:Pa,rowType:"header"}))}))}Qa.displayName="HeaderRow";var hn=Qa;function kn(Ft){var Ut=[];function un(gr,ur){var dr=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;Ut[dr]=Ut[dr]||[];var Lr=ur,Pr=gr.filter(Boolean).map(function(Dr){var $r={key:Dr.key,className:Dr.className||"",children:Dr.title,column:Dr,colStart:Lr},Jr=1,Er=Dr.children;return Er&&Er.length>0&&(Jr=un(Er,Lr,dr+1).reduce(function(pa,ha){return pa+ha},0),$r.hasSubColumns=!0),"colSpan"in Dr&&(Jr=Dr.colSpan),"rowSpan"in Dr&&($r.rowSpan=Dr.rowSpan),$r.colSpan=Jr,$r.colEnd=$r.colStart+Jr-1,Ut[dr].push($r),Lr+=Jr,Jr});return Pr}un(Ft,0);for(var Sn=Ut.length,_n=function(ur){Ut[ur].forEach(function(dr){!("rowSpan"in dr)&&!dr.hasSubColumns&&(dr.rowSpan=Sn-ur)})},Un=0;Un<Sn;Un+=1)_n(Un);return Ut}function ar(Ft){var Ut=Ft.stickyOffsets,un=Ft.columns,Sn=Ft.flattenColumns,_n=Ft.onHeaderRow,Un=De(ge,["prefixCls","getComponent"]),gr=Un.prefixCls,ur=Un.getComponent,dr=ve.useMemo(function(){return kn(un)},[un]),Lr=ur(["header","wrapper"],"thead"),Pr=ur(["header","row"],"tr"),Dr=ur(["header","cell"],"th"),$r=ur(["header","cell"],"td");return ve.createElement(Lr,{className:"".concat(gr,"-thead")},dr.map(function(Jr,Er){var pa=ve.createElement(hn,{key:Er,flattenColumns:Sn,cells:Jr,stickyOffsets:Ut,rowComponent:Pr,cellComponent:Dr,tdCellComponent:$r,onHeaderRow:_n,index:Er});return pa}))}var lr=he(ar),Fr=Oe(11592);function pt(Ft){var Ut=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return typeof Ut=="number"?Ut:Ut.endsWith("%")?Ft*parseFloat(Ut)/100:null}function Ae(Ft,Ut){return ve.useMemo(function(){if(Ut&&Ut>0){var un=0,Sn=0;Ft.forEach(function(Lr){var Pr=pt(Ut,Lr.width);Pr?un+=Pr:Sn+=1});var _n=Ut-un,Un=Sn,gr=_n/Sn,ur=0,dr=Ft.map(function(Lr){var Pr=(0,Ue.Z)({},Lr),Dr=pt(Ut,Pr.width);if(Dr)Pr.width=Dr;else{var $r=Math.floor(gr);Pr.width=Un===1?_n:$r,_n-=$r,Un-=1}return ur+=Pr.width,Pr});return[dr,ur]}return[Ft,Ut]},[Ft,Ut])}var Le=["children"],Ie=["fixed"];function ze(Ft){return(0,Fr.Z)(Ft).filter(function(Ut){return ve.isValidElement(Ut)}).map(function(Ut){var un=Ut.key,Sn=Ut.props,_n=Sn.children,Un=(0,Tn.Z)(Sn,Le),gr=(0,Ue.Z)({key:un},Un);return _n&&(gr.children=ze(_n)),gr})}function Ze(Ft){var Ut=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key";return Ft.filter(function(un){return un&&(0,Ne.Z)(un)==="object"}).reduce(function(un,Sn,_n){var Un=Sn.fixed,gr=Un===!0?"left":Un,ur="".concat(Ut,"-").concat(_n),dr=Sn.children;return dr&&dr.length>0?[].concat((0,Hr.Z)(un),(0,Hr.Z)(Ze(dr,ur).map(function(Lr){return(0,Ue.Z)({fixed:gr},Lr)}))):[].concat((0,Hr.Z)(un),[(0,Ue.Z)((0,Ue.Z)({key:ur},Sn),{},{fixed:gr})])},[])}function xt(Ft){for(var Ut=!0,un=0;un<Ft.length;un+=1){var Sn=Ft[un];if(Ut&&Sn.fixed!=="left")Ut=!1;else if(!Ut&&Sn.fixed==="left"){warning(!1,"Index ".concat(un-1," of `columns` missing `fixed='left'` prop."));break}}for(var _n=!0,Un=Ft.length-1;Un>=0;Un-=1){var gr=Ft[Un];if(_n&&gr.fixed!=="right")_n=!1;else if(!_n&&gr.fixed==="right"){warning(!1,"Index ".concat(Un+1," of `columns` missing `fixed='right'` prop."));break}}}function bt(Ft){return Ft.map(function(Ut){var un=Ut.fixed,Sn=(0,Tn.Z)(Ut,Ie),_n=un;return un==="left"?_n="right":un==="right"&&(_n="left"),(0,Ue.Z)({fixed:_n},Sn)})}function Yt(Ft,Ut){var un=Ft.prefixCls,Sn=Ft.columns,_n=Ft.children,Un=Ft.expandable,gr=Ft.expandedKeys,ur=Ft.columnTitle,dr=Ft.getRowKey,Lr=Ft.onTriggerExpand,Pr=Ft.expandIcon,Dr=Ft.rowExpandable,$r=Ft.expandIconColumnIndex,Jr=Ft.direction,Er=Ft.expandRowByClick,pa=Ft.columnWidth,ha=Ft.fixed,ka=Ft.scrollWidth,Pa=ve.useMemo(function(){return Sn||ze(_n)},[Sn,_n]),Ra=ve.useMemo(function(){if(Un){var Ei,ti=Pa.slice();if(!ti.includes(_e)){var Wa=$r||0;Wa>=0&&ti.splice(Wa,0,_e)}var ba=ti.indexOf(_e);ti=ti.filter(function(xi,He){return xi!==_e||He===ba});var Ii=Pa[ba],eo;(ha==="left"||ha)&&!$r?eo="left":(ha==="right"||ha)&&$r===Pa.length?eo="right":eo=Ii?Ii.fixed:null;var Ki=(Ei={},(0,Ge.Z)(Ei,Oa,{className:"".concat(un,"-expand-icon-col"),columnType:"EXPAND_COLUMN"}),(0,Ge.Z)(Ei,"title",ur),(0,Ge.Z)(Ei,"fixed",eo),(0,Ge.Z)(Ei,"className","".concat(un,"-row-expand-icon-cell")),(0,Ge.Z)(Ei,"width",pa),(0,Ge.Z)(Ei,"render",function(He,et,it){var Et=dr(et,it),It=gr.has(Et),Lt=Dr?Dr(et):!0,jt=Pr({prefixCls:un,expanded:It,expandable:Lt,record:et,onExpand:Lr});return Er?ve.createElement("span",{onClick:function(qt){return qt.stopPropagation()}},jt):jt}),Ei);return ti.map(function(xi){return xi===_e?Ki:xi})}return Pa.filter(function(xi){return xi!==_e})},[Un,Pa,dr,gr,Pr,Jr]),Ci=ve.useMemo(function(){var Ei=Ra;return Ut&&(Ei=Ut(Ei)),Ei.length||(Ei=[{render:function(){return null}}]),Ei},[Ut,Ra,Jr]),wi=ve.useMemo(function(){return Jr==="rtl"?bt(Ze(Ci)):Ze(Ci)},[Ci,Jr,ka]),ui=Ae(wi,ka),Mi=(0,Re.Z)(ui,2),Fi=Mi[0],ei=Mi[1];return[Ci,Fi,ei]}var Ht=Yt;function cn(Ft){var Ut,un=Ft.prefixCls,Sn=Ft.record,_n=Ft.onExpand,Un=Ft.expanded,gr=Ft.expandable,ur="".concat(un,"-row-expand-icon");if(!gr)return ve.createElement("span",{className:Ye()(ur,"".concat(un,"-row-spaced"))});var dr=function(Pr){_n(Sn,Pr),Pr.stopPropagation()};return ve.createElement("span",{className:Ye()(ur,(Ut={},(0,Ge.Z)(Ut,"".concat(un,"-row-expanded"),Un),(0,Ge.Z)(Ut,"".concat(un,"-row-collapsed"),!Un),Ut)),onClick:dr})}function fn(Ft,Ut,un){var Sn=[];function _n(Un){(Un||[]).forEach(function(gr,ur){Sn.push(Ut(gr,ur)),_n(gr[un])})}return _n(Ft),Sn}function Zn(Ft,Ut,un){var Sn=Ea(Ft),_n=Sn.expandIcon,Un=Sn.expandedRowKeys,gr=Sn.defaultExpandedRowKeys,ur=Sn.defaultExpandAllRows,dr=Sn.expandedRowRender,Lr=Sn.onExpand,Pr=Sn.onExpandedRowsChange,Dr=Sn.childrenColumnName,$r=_n||cn,Jr=Dr||"children",Er=ve.useMemo(function(){return dr?"row":Ft.expandable&&Ft.internalHooks===Ve&&Ft.expandable.__PARENT_RENDER_ICON__||Ut.some(function(wi){return wi&&(0,Ne.Z)(wi)==="object"&&wi[Jr]})?"nest":!1},[!!dr,Ut]),pa=ve.useState(function(){return gr||(ur?fn(Ut,un,Jr):[])}),ha=(0,Re.Z)(pa,2),ka=ha[0],Pa=ha[1],Ra=ve.useMemo(function(){return new Set(Un||ka||[])},[Un,ka]),Ci=ve.useCallback(function(wi){var ui=un(wi,Ut.indexOf(wi)),Mi,Fi=Ra.has(ui);Fi?(Ra.delete(ui),Mi=(0,Hr.Z)(Ra)):Mi=[].concat((0,Hr.Z)(Ra),[ui]),Pa(Mi),Lr&&Lr(!Fi,wi),Pr&&Pr(Mi)},[un,Ra,Ut,Lr,Pr]);return[Sn,Er,Ra,$r,Jr,Ci]}function Mn(Ft,Ut,un,Sn){var _n=Ft.map(function(Un,gr){return Ot(gr,gr,Ft,Ut,un,Sn==null?void 0:Sn[gr])});return(0,nt.Z)(function(){return _n},[_n],function(Un,gr){return!(0,Ce.Z)(Un,gr)})}function er(Ft){var Ut=(0,ve.useRef)(Ft),un=(0,ve.useState)({}),Sn=(0,Re.Z)(un,2),_n=Sn[1],Un=(0,ve.useRef)(null),gr=(0,ve.useRef)([]);function ur(dr){gr.current.push(dr);var Lr=Promise.resolve();Un.current=Lr,Lr.then(function(){if(Un.current===Lr){var Pr=gr.current,Dr=Ut.current;gr.current=[],Pr.forEach(function($r){Ut.current=$r(Ut.current)}),Un.current=null,Dr!==Ut.current&&_n({})}})}return(0,ve.useEffect)(function(){return function(){Un.current=null}},[]),[Ut.current,ur]}function rr(Ft){var Ut=(0,ve.useRef)(Ft||null),un=(0,ve.useRef)();function Sn(){window.clearTimeout(un.current)}function _n(gr){Ut.current=gr,Sn(),un.current=window.setTimeout(function(){Ut.current=null,un.current=void 0},100)}function Un(){return Ut.current}return(0,ve.useEffect)(function(){return Sn},[]),[_n,Un]}function mr(){var Ft=ve.useState(-1),Ut=(0,Re.Z)(Ft,2),un=Ut[0],Sn=Ut[1],_n=ve.useState(-1),Un=(0,Re.Z)(_n,2),gr=Un[0],ur=Un[1],dr=ve.useCallback(function(Lr,Pr){Sn(Lr),ur(Pr)},[]);return[un,gr,dr]}var pn=Oe(47273),nn=(0,pn.Z)()?window:null;function Bn(Ft,Ut){var un=(0,Ne.Z)(Ft)==="object"?Ft:{},Sn=un.offsetHeader,_n=Sn===void 0?0:Sn,Un=un.offsetSummary,gr=Un===void 0?0:Un,ur=un.offsetScroll,dr=ur===void 0?0:ur,Lr=un.getContainer,Pr=Lr===void 0?function(){return nn}:Lr,Dr=Pr()||nn;return ve.useMemo(function(){var $r=!!Ft;return{isSticky:$r,stickyClassName:$r?"".concat(Ut,"-sticky-holder"):"",offsetHeader:_n,offsetSummary:gr,offsetScroll:dr,container:Dr}},[dr,_n,gr,Ut,Dr])}function Hn(Ft,Ut,un){var Sn=(0,ve.useMemo)(function(){for(var _n=[],Un=[],gr=0,ur=0,dr=0;dr<Ut;dr+=1)if(un==="rtl"){Un[dr]=ur,ur+=Ft[dr]||0;var Lr=Ut-dr-1;_n[Lr]=gr,gr+=Ft[Lr]||0}else{_n[dr]=gr,gr+=Ft[dr]||0;var Pr=Ut-dr-1;Un[Pr]=ur,ur+=Ft[Pr]||0}return{left:_n,right:Un}},[Ft,Ut,un]);return Sn}var fr=Hn;function br(Ft){var Ut=Ft.className,un=Ft.children;return ve.createElement("div",{className:Ut},un)}var tr=br,hr=Oe(8224),vr=Oe(55468),Nn=function(Ut,un){var Sn,_n,Un=Ut.scrollBodyRef,gr=Ut.onScroll,ur=Ut.offsetScroll,dr=Ut.container,Lr=De(ge,"prefixCls"),Pr=((Sn=Un.current)===null||Sn===void 0?void 0:Sn.scrollWidth)||0,Dr=((_n=Un.current)===null||_n===void 0?void 0:_n.clientWidth)||0,$r=Pr&&Dr*(Dr/Pr),Jr=ve.useRef(),Er=er({scrollLeft:0,isHiddenScrollBar:!1}),pa=(0,Re.Z)(Er,2),ha=pa[0],ka=pa[1],Pa=ve.useRef({delta:0,x:0}),Ra=ve.useState(!1),Ci=(0,Re.Z)(Ra,2),wi=Ci[0],ui=Ci[1],Mi=function(){ui(!1)},Fi=function(ba){ba.persist(),Pa.current.delta=ba.pageX-ha.scrollLeft,Pa.current.x=0,ui(!0),ba.preventDefault()},ei=function(ba){var Ii,eo=ba||((Ii=window)===null||Ii===void 0?void 0:Ii.event),Ki=eo.buttons;if(!wi||Ki===0){wi&&ui(!1);return}var xi=Pa.current.x+ba.pageX-Pa.current.x-Pa.current.delta;xi<=0&&(xi=0),xi+$r>=Dr&&(xi=Dr-$r),gr({scrollLeft:xi/Dr*(Pr+2)}),Pa.current.x=ba.pageX},Ei=function(){if(Un.current){var ba=(0,vr.os)(Un.current).top,Ii=ba+Un.current.offsetHeight,eo=dr===window?document.documentElement.scrollTop+window.innerHeight:(0,vr.os)(dr).top+dr.clientHeight;Ii-(0,rn.Z)()<=eo||ba>=eo-ur?ka(function(Ki){return(0,Ue.Z)((0,Ue.Z)({},Ki),{},{isHiddenScrollBar:!0})}):ka(function(Ki){return(0,Ue.Z)((0,Ue.Z)({},Ki),{},{isHiddenScrollBar:!1})})}},ti=function(ba){ka(function(Ii){return(0,Ue.Z)((0,Ue.Z)({},Ii),{},{scrollLeft:ba/Pr*Dr||0})})};return ve.useImperativeHandle(un,function(){return{setScrollLeft:ti}}),ve.useEffect(function(){var Wa=(0,hr.Z)(document.body,"mouseup",Mi,!1),ba=(0,hr.Z)(document.body,"mousemove",ei,!1);return Ei(),function(){Wa.remove(),ba.remove()}},[$r,wi]),ve.useEffect(function(){var Wa=(0,hr.Z)(dr,"scroll",Ei,!1),ba=(0,hr.Z)(window,"resize",Ei,!1);return function(){Wa.remove(),ba.remove()}},[dr]),ve.useEffect(function(){ha.isHiddenScrollBar||ka(function(Wa){var ba=Un.current;return ba?(0,Ue.Z)((0,Ue.Z)({},Wa),{},{scrollLeft:ba.scrollLeft/ba.scrollWidth*ba.clientWidth}):Wa})},[ha.isHiddenScrollBar]),Pr<=Dr||!$r||ha.isHiddenScrollBar?null:ve.createElement("div",{style:{height:(0,rn.Z)(),width:Dr,bottom:ur},className:"".concat(Lr,"-sticky-scroll")},ve.createElement("div",{onMouseDown:Fi,ref:Jr,className:Ye()("".concat(Lr,"-sticky-scroll-bar"),(0,Ge.Z)({},"".concat(Lr,"-sticky-scroll-bar-active"),wi)),style:{width:"".concat($r,"px"),transform:"translate3d(".concat(ha.scrollLeft,"px, 0, 0)")}}))},xr=ve.forwardRef(Nn);function Jn(Ft){return null}var Nr=Jn;function Xa(Ft){return null}var $a=Xa,ai="rc-table",Zr=[],ua={};function Da(){return"No Data"}function sa(Ft){var Ut,un=(0,Ue.Z)({rowKey:"key",prefixCls:ai,emptyText:Da},Ft),Sn=un.prefixCls,_n=un.className,Un=un.rowClassName,gr=un.style,ur=un.data,dr=un.rowKey,Lr=un.scroll,Pr=un.tableLayout,Dr=un.direction,$r=un.title,Jr=un.footer,Er=un.summary,pa=un.caption,ha=un.id,ka=un.showHeader,Pa=un.components,Ra=un.emptyText,Ci=un.onRow,wi=un.onHeaderRow,ui=un.internalHooks,Mi=un.transformColumns,Fi=un.internalRefs,ei=un.tailor,Ei=un.sticky,ti=ur||Zr,Wa=!!ti.length,ba=ui===Ve,Ii=ve.useCallback(function(hs,Us){return(0,$e.Z)(Pa,hs)||Us},[Pa]),eo=ve.useMemo(function(){return typeof dr=="function"?dr:function(hs){var Us=hs&&hs[dr];return Us}},[dr]),Ki=Ii(["body"]),xi=mr(),He=(0,Re.Z)(xi,3),et=He[0],it=He[1],Et=He[2],It=Zn(un,ti,eo),Lt=(0,Re.Z)(It,6),jt=Lt[0],kt=Lt[1],qt=Lt[2],Zt=Lt[3],ln=Lt[4],In=Lt[5],Cn=Lr==null?void 0:Lr.x,Yn=ve.useState(0),Kn=(0,Re.Z)(Yn,2),Rn=Kn[0],Vn=Kn[1],Fn=Ht((0,Ue.Z)((0,Ue.Z)((0,Ue.Z)({},un),jt),{},{expandable:!!jt.expandedRowRender,columnTitle:jt.columnTitle,expandedKeys:qt,getRowKey:eo,onTriggerExpand:In,expandIcon:Zt,expandIconColumnIndex:jt.expandIconColumnIndex,direction:Dr,scrollWidth:ba&&ei&&typeof Cn=="number"?Cn:null}),ba?Mi:null),Qn=(0,Re.Z)(Fn,3),wr=Qn[0],Cr=Qn[1],Ar=Qn[2],$n=Ar!=null?Ar:Cn,va=ve.useMemo(function(){return{columns:wr,flattenColumns:Cr}},[wr,Cr]),Va=ve.useRef(),Za=ve.useRef(),Ir=ve.useRef(),Tr=ve.useRef(),da=ve.useRef(),Wn=ve.useState(!1),Br=(0,Re.Z)(Wn,2),ra=Br[0],Wr=Br[1],ca=ve.useState(!1),aa=(0,Re.Z)(ca,2),Ba=aa[0],pi=aa[1],Ai=er(new Map),oa=(0,Re.Z)(Ai,2),ni=oa[0],ao=oa[1],Io=dt(Cr),qi=Io.map(function(hs){return ni.get(hs)}),Fo=ve.useMemo(function(){return qi},[qi.join("_")]),Yo=fr(Fo,Cr.length,Dr),fs=Lr&&At(Lr.y),ws=Lr&&At($n)||!!jt.fixed,cc=ws&&Cr.some(function(hs){var Us=hs.fixed;return Us}),Sd=ve.useRef(),dc=Bn(Ei,Sn),Ic=dc.isSticky,pf=dc.offsetHeader,Fh=dc.offsetSummary,Vo=dc.offsetScroll,us=dc.stickyClassName,Ll=dc.container,_s=ve.useMemo(function(){return Er==null?void 0:Er(ti)},[Er,ti]),Yl=(fs||Ic)&&ve.isValidElement(_s)&&_s.type===Tt&&_s.props.fixed,Xl,Wl,Lc;fs&&(Wl={overflowY:"scroll",maxHeight:Lr.y}),ws&&(Xl={overflowX:"auto"},fs||(Wl={overflowY:"hidden"}),Lc={width:$n===!0?"auto":$n,minWidth:"100%"});var Oc=ve.useCallback(function(hs,Us){(0,Nt.Z)(Va.current)&&ao(function(ku){if(ku.get(hs)!==Us){var ed=new Map(ku);return ed.set(hs,Us),ed}return ku})},[]),Ju=rr(null),Qd=(0,Re.Z)(Ju,2),kh=Qd[0],_0=Qd[1];function zh(hs,Us){Us&&(typeof Us=="function"?Us(hs):Us.scrollLeft!==hs&&(Us.scrollLeft=hs,Us.scrollLeft!==hs&&setTimeout(function(){Us.scrollLeft=hs},0)))}var Yd=(0,be.Z)(function(hs){var Us=hs.currentTarget,ku=hs.scrollLeft,ed=Dr==="rtl",td=typeof ku=="number"?ku:Us.scrollLeft,Gg=Us||ua;if(!_0()||_0()===Gg){var Vg;kh(Gg),zh(td,Za.current),zh(td,Ir.current),zh(td,da.current),zh(td,(Vg=Sd.current)===null||Vg===void 0?void 0:Vg.setScrollLeft)}var Hg=Us||Za.current;if(Hg){var Kg=Hg.scrollWidth,xf=Hg.clientWidth;if(Kg===xf){Wr(!1),pi(!1);return}ed?(Wr(-td<Kg-xf),pi(-td>0)):(Wr(td>0),pi(td<Kg-xf))}}),ll=function(){ws&&Ir.current?Yd({currentTarget:Ir.current}):(Wr(!1),pi(!1))},Fg=function(Us){var ku=Us.width;ku!==Rn&&(ll(),Vn(Va.current?Va.current.offsetWidth:ku))},kg=ve.useRef(!1);ve.useEffect(function(){kg.current&&ll()},[ws,ur,wr.length]),ve.useEffect(function(){kg.current=!0},[]);var zg=ve.useState(0),Ug=(0,Re.Z)(zg,2),Uh=Ug[0],Wh=Ug[1],Xv=ve.useState(!0),jh=(0,Re.Z)(Xv,2),Wg=jh[0],yf=jh[1];ve.useEffect(function(){(!ei||!ba)&&(Ir.current instanceof Element?Wh((0,rn.o)(Ir.current).width):Wh((0,rn.o)(Tr.current).width)),yf((0,wt.G)("position","sticky"))},[]),ve.useEffect(function(){ba&&Fi&&(Fi.body.current=Ir.current)});var Gh=ve.useCallback(function(hs){return ve.createElement(ve.Fragment,null,ve.createElement(lr,hs),Yl==="top"&&ve.createElement(Gt,hs,_s))},[Yl,_s]),Jv=ve.useCallback(function(hs){return ve.createElement(Gt,hs,_s)},[_s]),F0=Ii(["table"],"table"),Ef=ve.useMemo(function(){return Pr||(cc?$n==="max-content"?"auto":"fixed":fs||Ic||Cr.some(function(hs){var Us=hs.ellipsis;return Us})?"fixed":"auto")},[fs,cc,Cr,Pr,Ic]),Vh,Yf={colWidths:Fo,columCount:Cr.length,stickyOffsets:Yo,onHeaderRow:wi,fixHeader:fs,scroll:Lr},k0=ve.useMemo(function(){return Wa?null:typeof Ra=="function"?Ra():Ra},[Wa,Ra]),z0=ve.createElement(Gr,{data:ti,measureColumnWidth:fs||ws||Ic}),Fu=ve.createElement(di,{colWidths:Cr.map(function(hs){var Us=hs.width;return Us}),columns:Cr}),Hh=pa!=null?ve.createElement("caption",{className:"".concat(Sn,"-caption")},pa):void 0,Af=(0,On.Z)(un,{data:!0}),Kh=(0,On.Z)(un,{aria:!0});if(fs||Ic){var Zh;typeof Ki=="function"?(Zh=Ki(ti,{scrollbarSize:Uh,ref:Ir,onScroll:Yd}),Yf.colWidths=Cr.map(function(hs,Us){var ku=hs.width,ed=Us===Cr.length-1?ku-Uh:ku;return typeof ed=="number"&&!Number.isNaN(ed)?ed:0})):Zh=ve.createElement("div",{style:(0,Ue.Z)((0,Ue.Z)({},Xl),Wl),onScroll:Yd,ref:Ir,className:Ye()("".concat(Sn,"-body"))},ve.createElement(F0,(0,pe.Z)({style:(0,Ue.Z)((0,Ue.Z)({},Lc),{},{tableLayout:Ef})},Kh),Hh,Fu,z0,!Yl&&_s&&ve.createElement(Gt,{stickyOffsets:Yo,flattenColumns:Cr,columns:wr},_s)));var Qh=(0,Ue.Z)((0,Ue.Z)((0,Ue.Z)({noData:!ti.length,maxContentScroll:ws&&$n==="max-content"},Yf),va),{},{direction:Dr,stickyClassName:us,onScroll:Yd});Vh=ve.createElement(ve.Fragment,null,ka!==!1&&ve.createElement(pr,(0,pe.Z)({},Qh,{stickyTopOffset:pf,className:"".concat(Sn,"-header"),ref:Za}),Gh),Zh,Yl&&Yl!=="top"&&ve.createElement(pr,(0,pe.Z)({},Qh,{stickyBottomOffset:Fh,className:"".concat(Sn,"-summary"),ref:da}),Jv),Ic&&ve.createElement(xr,{ref:Sd,offsetScroll:Vo,scrollBodyRef:Ir,onScroll:Yd,container:Ll}))}else Vh=ve.createElement("div",{style:(0,Ue.Z)((0,Ue.Z)({},Xl),Wl),className:Ye()("".concat(Sn,"-content")),onScroll:Yd,ref:Ir},ve.createElement(F0,(0,pe.Z)({style:(0,Ue.Z)((0,Ue.Z)({},Lc),{},{tableLayout:Ef})},Kh),Hh,Fu,ka!==!1&&ve.createElement(lr,(0,pe.Z)({},Yf,va)),z0,_s&&ve.createElement(Gt,{stickyOffsets:Yo,flattenColumns:Cr,columns:wr},_s)));var Yh=ve.createElement("div",(0,pe.Z)({className:Ye()(Sn,_n,(Ut={},(0,Ge.Z)(Ut,"".concat(Sn,"-rtl"),Dr==="rtl"),(0,Ge.Z)(Ut,"".concat(Sn,"-ping-left"),ra),(0,Ge.Z)(Ut,"".concat(Sn,"-ping-right"),Ba),(0,Ge.Z)(Ut,"".concat(Sn,"-layout-fixed"),Pr==="fixed"),(0,Ge.Z)(Ut,"".concat(Sn,"-fixed-header"),fs),(0,Ge.Z)(Ut,"".concat(Sn,"-fixed-column"),cc),(0,Ge.Z)(Ut,"".concat(Sn,"-scroll-horizontal"),ws),(0,Ge.Z)(Ut,"".concat(Sn,"-has-fix-left"),Cr[0]&&Cr[0].fixed),(0,Ge.Z)(Ut,"".concat(Sn,"-has-fix-right"),Cr[Cr.length-1]&&Cr[Cr.length-1].fixed==="right"),Ut)),style:gr,id:ha,ref:Va},Af),$r&&ve.createElement(tr,{className:"".concat(Sn,"-title")},$r(ti)),ve.createElement("div",{ref:Tr,className:"".concat(Sn,"-container")},Vh),Jr&&ve.createElement(tr,{className:"".concat(Sn,"-footer")},Jr(ti)));ws&&(Yh=ve.createElement(Qt.Z,{onResize:Fg},Yh));var jg=Mn(Cr,Yo,Dr,wr),qv=ve.useMemo(function(){return{scrollX:$n,prefixCls:Sn,getComponent:Ii,scrollbarSize:Uh,direction:Dr,fixedInfoList:jg,isSticky:Ic,supportSticky:Wg,componentWidth:Rn,fixHeader:fs,fixColumn:cc,horizonScroll:ws,tableLayout:Ef,rowClassName:Un,expandedRowClassName:jt.expandedRowClassName,expandIcon:Zt,expandableType:kt,expandRowByClick:jt.expandRowByClick,expandedRowRender:jt.expandedRowRender,onTriggerExpand:In,expandIconColumnIndex:jt.expandIconColumnIndex,indentSize:jt.indentSize,allColumnsFixedLeft:Cr.every(function(hs){return hs.fixed==="left"}),emptyNode:k0,columns:wr,flattenColumns:Cr,onColumnResize:Oc,hoverStartRow:et,hoverEndRow:it,onHover:Et,rowExpandable:jt.rowExpandable,onRow:Ci,getRowKey:eo,expandedKeys:qt,childrenColumnName:ln}},[$n,Sn,Ii,Uh,Dr,jg,Ic,Wg,Rn,fs,cc,ws,Ef,Un,jt.expandedRowClassName,Zt,kt,jt.expandRowByClick,jt.expandedRowRender,In,jt.expandIconColumnIndex,jt.indentSize,k0,wr,Cr,Oc,et,it,Et,jt.rowExpandable,Ci,eo,qt,ln]);return ve.createElement(ge.Provider,{value:qv},Yh)}function Ja(Ft){return ce(sa,Ft)}var Li=Ja();Li.EXPAND_COLUMN=_e,Li.INTERNAL_HOOKS=Ve,Li.Column=Nr,Li.ColumnGroup=$a,Li.Summary=gt;var Na=Li,Ti=Oe(4409),ji=we(null),Ao=we(null);function uo(Ft,Ut,un){var Sn=Ut||1;return un[Ft+Sn]-(un[Ft]||0)}function Os(Ft){var Ut=Ft.rowInfo,un=Ft.column,Sn=Ft.colIndex,_n=Ft.indent,Un=Ft.index,gr=Ft.renderIndex,ur=Ft.record,dr=Ft.style,Lr=Ft.className,Pr=Ft.inverse,Dr=Ft.getHeight,$r=un.render,Jr=un.dataIndex,Er=un.className,pa=un.width,ha=De(Ao,["columnsOffset"]),ka=ha.columnsOffset,Pa=gn(Ut,un,Sn,_n,Un),Ra=Pa.key,Ci=Pa.fixedInfo,wi=Pa.appendCellNode,ui=Pa.additionalCellProps,Mi=ui.style,Fi=ui.colSpan,ei=Fi===void 0?1:Fi,Ei=ui.rowSpan,ti=Ei===void 0?1:Ei,Wa=Sn-1,ba=uo(Wa,ei,ka),Ii=ei>1?pa-ba:0,eo=(0,Ue.Z)((0,Ue.Z)((0,Ue.Z)({},Mi),dr),{},{flex:"0 0 ".concat(ba,"px"),width:"".concat(ba,"px"),marginRight:Ii,pointerEvents:"auto"}),Ki=ve.useMemo(function(){return Pr?ti<=1:ei===0||ti===0||ti>1},[ti,ei,Pr]);Ki?eo.visibility="hidden":Pr&&(eo.height=Dr==null?void 0:Dr(ti));var xi=Ki?function(){return null}:$r,He={};return(ti===0||ei===0)&&(He.rowSpan=1,He.colSpan=1),ve.createElement(mn,(0,pe.Z)({className:Ye()(Er,Lr),ellipsis:un.ellipsis,align:un.align,scope:un.rowScope,component:"div",prefixCls:Ut.prefixCls,key:Ra,record:ur,index:Un,renderIndex:gr,dataIndex:Jr,render:xi,shouldCellUpdate:un.shouldCellUpdate},Ci,{appendNode:wi,additionalProps:(0,Ue.Z)((0,Ue.Z)({},ui),{},{style:eo},He)}))}var zo=Os,po=["data","index","className","rowKey","style","extra","getHeight"],qo=ve.forwardRef(function(Ft,Ut){var un=Ft.data,Sn=Ft.index,_n=Ft.className,Un=Ft.rowKey,gr=Ft.style,ur=Ft.extra,dr=Ft.getHeight,Lr=(0,Tn.Z)(Ft,po),Pr=un.record,Dr=un.indent,$r=un.index,Jr=De(ge,["prefixCls","flattenColumns","fixColumn","componentWidth","scrollX"]),Er=Jr.scrollX,pa=Jr.flattenColumns,ha=Jr.prefixCls,ka=Jr.fixColumn,Pa=Jr.componentWidth,Ra=$t(Pr,Un,Sn,Dr),Ci=Ra.rowSupportExpand,wi=Ra.expanded,ui=Ra.rowProps,Mi=Ra.expandedRowRender,Fi=Ra.expandedRowClassName,ei;if(Ci&&wi){var Ei=Mi(Pr,Sn,Dr+1,wi),ti=Fi==null?void 0:Fi(Pr,Sn,Dr),Wa={};ka&&(Wa={style:(0,Ge.Z)({},"--virtual-width","".concat(Pa,"px"))});var ba="".concat(ha,"-expanded-row-cell");ei=ve.createElement("div",{className:Ye()("".concat(ha,"-expanded-row"),"".concat(ha,"-expanded-row-level-").concat(Dr+1),ti)},ve.createElement(mn,{component:"div",prefixCls:ha,className:Ye()(ba,(0,Ge.Z)({},"".concat(ba,"-fixed"),ka)),additionalProps:Wa},Ei))}var Ii=(0,Ue.Z)((0,Ue.Z)({},gr),{},{width:Er});ur&&(Ii.position="absolute",Ii.pointerEvents="none");var eo=ve.createElement("div",(0,pe.Z)({},ui,Lr,{ref:Ci?null:Ut,className:Ye()(_n,"".concat(ha,"-row"),ui==null?void 0:ui.className,(0,Ge.Z)({},"".concat(ha,"-row-extra"),ur)),style:(0,Ue.Z)((0,Ue.Z)({},Ii),ui==null?void 0:ui.style)}),pa.map(function(Ki,xi){return ve.createElement(zo,{key:xi,rowInfo:Ra,column:Ki,colIndex:xi,indent:Dr,index:Sn,renderIndex:$r,record:Pr,inverse:ur,getHeight:dr})}));return Ci?ve.createElement("div",{ref:Ut},eo,ei):eo}),Uo=he(qo),Wo=Uo,Qr=ve.forwardRef(function(Ft,Ut){var un=Ft.data,Sn=Ft.onScroll,_n=De(ge,["flattenColumns","onColumnResize","getRowKey","prefixCls","expandedKeys","childrenColumnName","emptyNode","scrollX"]),Un=_n.flattenColumns,gr=_n.onColumnResize,ur=_n.getRowKey,dr=_n.expandedKeys,Lr=_n.prefixCls,Pr=_n.childrenColumnName,Dr=_n.emptyNode,$r=_n.scrollX,Jr=De(ji),Er=Jr.scrollY,pa=Jr.listItemHeight,ha=ve.useRef(),ka=Gn(un,Pr,dr,ur),Pa=ve.useMemo(function(){var ei=0;return Un.map(function(Ei){var ti=Ei.width,Wa=Ei.key;return ei+=ti,[Wa,ti,ei]})},[Un]),Ra=ve.useMemo(function(){return Pa.map(function(ei){return ei[2]})},[Pa]);ve.useEffect(function(){Pa.forEach(function(ei){var Ei=(0,Re.Z)(ei,2),ti=Ei[0],Wa=Ei[1];gr(ti,Wa)})},[Pa]),ve.useImperativeHandle(Ut,function(){var ei={};return Object.defineProperty(ei,"scrollLeft",{get:function(){var ti;return((ti=ha.current)===null||ti===void 0?void 0:ti.getScrollInfo().x)||0},set:function(ti){var Wa;(Wa=ha.current)===null||Wa===void 0||Wa.scrollTo({left:ti})}}),ei});var Ci=function(Ei,ti){var Wa,ba=(Wa=ka[ti])===null||Wa===void 0?void 0:Wa.record,Ii=Ei.onCell;if(Ii){var eo,Ki=Ii(ba,ti);return(eo=Ki==null?void 0:Ki.rowSpan)!==null&&eo!==void 0?eo:1}return 1},wi=function(Ei){var ti=Ei.start,Wa=Ei.end,ba=Ei.getSize,Ii=Ei.offsetY;if(Wa<0)return null;for(var eo=Un.filter(function(Cn){return Ci(Cn,ti)===0}),Ki=ti,xi=function(Yn){if(eo=eo.filter(function(Kn){return Ci(Kn,Yn)===0}),!eo.length)return Ki=Yn,"break"},He=ti;He>=0;He-=1){var et=xi(He);if(et==="break")break}for(var it=Un.filter(function(Cn){return Ci(Cn,Wa)!==1}),Et=Wa,It=function(Yn){if(it=it.filter(function(Kn){return Ci(Kn,Yn)!==1}),!it.length)return Et=Math.max(Yn-1,Wa),"break"},Lt=Wa;Lt<ka.length;Lt+=1){var jt=It(Lt);if(jt==="break")break}for(var kt=[],qt=function(Yn){var Kn=ka[Yn];if(!Kn)return"continue";Un.some(function(Rn){return Ci(Rn,Yn)>1})&&kt.push(Yn)},Zt=Ki;Zt<=Et;Zt+=1)var ln=qt(Zt);var In=kt.map(function(Cn){var Yn=ka[Cn],Kn=ur(Yn.record,Cn),Rn=function(Qn){var wr=Cn+Qn-1,Cr=ur(ka[wr].record,wr),Ar=ba(Kn,Cr);return Ar.bottom-Ar.top},Vn=ba(Kn);return ve.createElement(Wo,{key:Cn,data:Yn,rowKey:Kn,index:Cn,style:{top:-Ii+Vn.top},extra:!0,getHeight:Rn})});return In},ui=ve.useMemo(function(){return{columnsOffset:Ra}},[Ra]),Mi="".concat(Lr,"-tbody"),Fi;return ka.length?Fi=ve.createElement(Ti.Z,{fullHeight:!1,ref:ha,className:Ye()(Mi,"".concat(Mi,"-virtual")),height:Er,itemHeight:pa||24,data:ka,itemKey:function(Ei){return ur(Ei.record)},scrollWidth:$r,onVirtualScroll:function(Ei){var ti=Ei.x;Sn({scrollLeft:ti})},extraRender:wi},function(ei,Ei,ti){var Wa=ur(ei.record,Ei);return ve.createElement(Wo,(0,pe.Z)({data:ei,rowKey:Wa,index:Ei},ti))}):Fi=ve.createElement("div",{className:Ye()("".concat(Lr,"-placeholder"))},ve.createElement(mn,{component:"div",prefixCls:Lr},Dr)),ve.createElement(Ao.Provider,{value:ui},Fi)}),jo=he(Qr),Ms=jo,js=function(Ut,un){var Sn=un.ref,_n=un.onScroll;return ve.createElement(Ms,{ref:Sn,data:Ut,onScroll:_n})},yo=100;function ki(Ft){var Ut=Ft.columns,un=Ft.scroll,Sn=Ft.prefixCls,_n=Sn===void 0?ai:Sn,Un=Ft.className,gr=Ft.listItemHeight,ur=un||{},dr=ur.x,Lr=ur.y;typeof dr!="number"&&(dr=((Ut||[]).length+1)*yo),typeof Lr!="number"&&(Lr=500);var Pr=ve.useMemo(function(){return{scrollY:Lr,listItemHeight:gr}},[Lr,gr]);return ve.createElement(ji.Provider,{value:Pr},ve.createElement(Na,(0,pe.Z)({},Ft,{className:Ye()(Un,"".concat(_n,"-virtual")),scroll:(0,Ue.Z)((0,Ue.Z)({},un),{},{x:dr}),components:{body:js},columns:Ut,internalHooks:Ve,tailor:!0})))}function Gs(Ft){return ce(ki,Ft)}var $i=Gs(),Go=null;function No(Ft){return null}var Cs=No;function tl(Ft){return null}var nl=tl,hu=Oe(2738),_l=Oe(68031),Ds=Oe(36355),vs=Oe(93891),Fl=Oe(19716),Su=Oe(8628),Ps=Oe(31724),Ku=Oe(58421),Bi=Oe(71418),za=Oe(88088);function Ua(Ft){return function(un){let{prefixCls:Sn,onExpand:_n,record:Un,expanded:gr,expandable:ur}=un;const dr=`${Sn}-row-expand-icon`;return ve.createElement("button",{type:"button",onClick:Lr=>{_n(Un,Lr),Lr.stopPropagation()},className:Ye()(dr,{[`${dr}-spaced`]:!ur,[`${dr}-expanded`]:ur&&gr,[`${dr}-collapsed`]:ur&&!gr}),"aria-label":gr?Ft.collapse:Ft.expand,"aria-expanded":gr})}}var ja=Ua;function Wi(Ft,Ut){return"key"in Ft&&Ft.key!==void 0&&Ft.key!==null?Ft.key:Ft.dataIndex?Array.isArray(Ft.dataIndex)?Ft.dataIndex.join("."):Ft.dataIndex:Ut}function xo(Ft,Ut){return Ut?`${Ut}-${Ft}`:`${Ft}`}function es(Ft,Ut){return typeof Ft=="function"?Ft(Ut):Ft}function ss(Ft,Ut){const un=es(Ft,Ut);return Object.prototype.toString.call(un)==="[object Object]"?"":un}var fi={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z"}}]},name:"filter",theme:"filled"},Ts=fi,kl=Oe(7657),Ks=function(Ut,un){return ve.createElement(kl.Z,(0,pe.Z)({},Ut,{ref:un,icon:Ts}))},so=ve.forwardRef(Ks),Ro=so,ms=Oe(56762);function So(Ft){const Ut=ve.useRef(Ft),un=(0,ms.Z)();return[()=>Ut.current,Sn=>{Ut.current=Sn,un()}]}var ts=Oe(3113),Vs=Oe(24905),zs=Oe(38854),bu=Oe(64165),gu=Oe(20834),Yc=Oe(40875),md=Oe(5112),Zu=Oe(17574),vu=Oe(47472),pd=Oe(92832);function yd(Ft){let{value:Ut,onChange:un,filterSearch:Sn,tablePrefixCls:_n,locale:Un}=Ft;return Sn?ve.createElement("div",{className:`${_n}-filter-dropdown-search`},ve.createElement(pd.default,{prefix:ve.createElement(vu.Z,null),placeholder:Un.filterSearchPlaceholder,onChange:un,value:Ut,htmlSize:1,className:`${_n}-filter-dropdown-search-input`})):null}var Xc=yd,jd=Oe(10228);const Oh=Ft=>{const{keyCode:Ut}=Ft;Ut===jd.Z.ENTER&&Ft.stopPropagation()};var Th=ve.forwardRef((Ft,Ut)=>ve.createElement("div",{className:Ft.className,onClick:un=>un.stopPropagation(),onKeyDown:Oh,ref:Ut},Ft.children));function Ed(Ft){let Ut=[];return(Ft||[]).forEach(un=>{let{value:Sn,children:_n}=un;Ut.push(Sn),_n&&(Ut=[].concat((0,Hr.Z)(Ut),(0,Hr.Z)(Ed(_n))))}),Ut}function Qu(Ft){return Ft.some(Ut=>{let{children:un}=Ut;return un})}function Gd(Ft,Ut){return typeof Ut=="string"||typeof Ut=="number"?Ut==null?void 0:Ut.toString().toLowerCase().includes(Ft.trim().toLowerCase()):!1}function mu(Ft){let{filters:Ut,prefixCls:un,filteredKeys:Sn,filterMultiple:_n,searchValue:Un,filterSearch:gr}=Ft;return Ut.map((ur,dr)=>{const Lr=String(ur.value);if(ur.children)return{key:Lr||dr,label:ur.text,popupClassName:`${un}-dropdown-submenu`,children:mu({filters:ur.children,prefixCls:un,filteredKeys:Sn,filterMultiple:_n,searchValue:Un,filterSearch:gr})};const Pr=_n?Vs.default:md.ZP,Dr={key:ur.value!==void 0?Lr:dr,label:ve.createElement(ve.Fragment,null,ve.createElement(Pr,{checked:Sn.includes(Lr)}),ve.createElement("span",null,ur.text))};return Un.trim()?typeof gr=="function"?gr(Un,ur)?Dr:null:Gd(Un,ur.text)?Dr:null:Dr})}function Uf(Ft){var Ut,un;const{tablePrefixCls:Sn,prefixCls:_n,column:Un,dropdownPrefixCls:gr,columnKey:ur,filterMultiple:dr,filterMode:Lr="menu",filterSearch:Pr=!1,filterState:Dr,triggerFilter:$r,locale:Jr,children:Er,getPopupContainer:pa}=Ft,{filterDropdownOpen:ha,onFilterDropdownOpenChange:ka,filterResetToDefaultFilteredValue:Pa,defaultFilteredValue:Ra,filterDropdownVisible:Ci,onFilterDropdownVisibleChange:wi}=Un,[ui,Mi]=ve.useState(!1),Fi=!!(Dr&&(!((Ut=Dr.filteredKeys)===null||Ut===void 0)&&Ut.length||Dr.forceFiltered)),ei=Fn=>{Mi(Fn),ka==null||ka(Fn),wi==null||wi(Fn)},Ei=(un=ha!=null?ha:Ci)!==null&&un!==void 0?un:ui,ti=Dr==null?void 0:Dr.filteredKeys,[Wa,ba]=So(ti||[]),Ii=Fn=>{let{selectedKeys:Qn}=Fn;ba(Qn)},eo=(Fn,Qn)=>{let{node:wr,checked:Cr}=Qn;Ii(dr?{selectedKeys:Fn}:{selectedKeys:Cr&&wr.key?[wr.key]:[]})};ve.useEffect(()=>{ui&&Ii({selectedKeys:ti||[]})},[ti]);const[Ki,xi]=ve.useState([]),He=Fn=>{xi(Fn)},[et,it]=ve.useState(""),Et=Fn=>{const{value:Qn}=Fn.target;it(Qn)};ve.useEffect(()=>{ui||it("")},[ui]);const It=Fn=>{const Qn=Fn&&Fn.length?Fn:null;if(Qn===null&&(!Dr||!Dr.filteredKeys)||(0,Ce.Z)(Qn,Dr==null?void 0:Dr.filteredKeys,!0))return null;$r({column:Un,key:ur,filteredKeys:Qn})},Lt=()=>{ei(!1),It(Wa())},jt=function(){let{confirm:Fn,closeDropdown:Qn}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{confirm:!1,closeDropdown:!1};Fn&&It([]),Qn&&ei(!1),it(""),ba(Pa?(Ra||[]).map(wr=>String(wr)):[])},kt=function(){let{closeDropdown:Fn}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{closeDropdown:!0};Fn&&ei(!1),It(Wa())},qt=Fn=>{Fn&&ti!==void 0&&ba(ti||[]),ei(Fn),!Fn&&!Un.filterDropdown&&Lt()},Zt=Ye()({[`${gr}-menu-without-submenu`]:!Qu(Un.filters||[])}),ln=Fn=>{if(Fn.target.checked){const Qn=Ed(Un==null?void 0:Un.filters).map(wr=>String(wr));ba(Qn)}else ba([])},In=Fn=>{let{filters:Qn}=Fn;return(Qn||[]).map((wr,Cr)=>{const Ar=String(wr.value),$n={title:wr.text,key:wr.value!==void 0?Ar:Cr};return wr.children&&($n.children=In({filters:wr.children})),$n})},Cn=Fn=>{var Qn;return Object.assign(Object.assign({},Fn),{text:Fn.title,value:Fn.key,children:((Qn=Fn.children)===null||Qn===void 0?void 0:Qn.map(wr=>Cn(wr)))||[]})};let Yn;if(typeof Un.filterDropdown=="function")Yn=Un.filterDropdown({prefixCls:`${gr}-custom`,setSelectedKeys:Fn=>Ii({selectedKeys:Fn}),selectedKeys:Wa(),confirm:kt,clearFilters:jt,filters:Un.filters,visible:Ei,close:()=>{ei(!1)}});else if(Un.filterDropdown)Yn=Un.filterDropdown;else{const Fn=Wa()||[],Qn=()=>(Un.filters||[]).length===0?ve.createElement(bu.Z,{image:bu.Z.PRESENTED_IMAGE_SIMPLE,description:Jr.filterEmptyText,imageStyle:{height:24},style:{margin:0,padding:"16px 0"}}):Lr==="tree"?ve.createElement(ve.Fragment,null,ve.createElement(Xc,{filterSearch:Pr,value:et,onChange:Et,tablePrefixCls:Sn,locale:Jr}),ve.createElement("div",{className:`${Sn}-filter-dropdown-tree`},dr?ve.createElement(Vs.default,{checked:Fn.length===Ed(Un.filters).length,indeterminate:Fn.length>0&&Fn.length<Ed(Un.filters).length,className:`${Sn}-filter-dropdown-checkall`,onChange:ln},Jr.filterCheckall):null,ve.createElement(Zu.default,{checkable:!0,selectable:!1,blockNode:!0,multiple:dr,checkStrictly:!dr,className:`${gr}-menu`,onCheck:eo,checkedKeys:Fn,selectedKeys:Fn,showIcon:!1,treeData:In({filters:Un.filters}),autoExpandParent:!0,defaultExpandAll:!0,filterTreeNode:et.trim()?Cr=>typeof Pr=="function"?Pr(et,Cn(Cr)):Gd(et,Cr.title):void 0}))):ve.createElement(ve.Fragment,null,ve.createElement(Xc,{filterSearch:Pr,value:et,onChange:Et,tablePrefixCls:Sn,locale:Jr}),ve.createElement(gu.default,{selectable:!0,multiple:dr,prefixCls:`${gr}-menu`,className:Zt,onSelect:Ii,onDeselect:Ii,selectedKeys:Fn,getPopupContainer:pa,openKeys:Ki,onOpenChange:He,items:mu({filters:Un.filters||[],filterSearch:Pr,prefixCls:_n,filteredKeys:Wa(),filterMultiple:dr,searchValue:et})})),wr=()=>Pa?(0,Ce.Z)((Ra||[]).map(Cr=>String(Cr)),Fn,!0):Fn.length===0;Yn=ve.createElement(ve.Fragment,null,Qn(),ve.createElement("div",{className:`${_n}-dropdown-btns`},ve.createElement(ts.ZP,{type:"link",size:"small",disabled:wr(),onClick:()=>jt()},Jr.filterReset),ve.createElement(ts.ZP,{type:"primary",size:"small",onClick:Lt},Jr.filterConfirm)))}Un.filterDropdown&&(Yn=ve.createElement(Yc.J,{selectable:void 0},Yn));const Kn=()=>ve.createElement(Th,{className:`${_n}-dropdown`},Yn);let Rn;typeof Un.filterIcon=="function"?Rn=Un.filterIcon(Fi):Un.filterIcon?Rn=Un.filterIcon:Rn=ve.createElement(Ro,null);const{direction:Vn}=ve.useContext(Ds.E_);return ve.createElement("div",{className:`${_n}-column`},ve.createElement("span",{className:`${Sn}-column-title`},Er),ve.createElement(zs.Z,{dropdownRender:Kn,trigger:["click"],open:Ei,onOpenChange:qt,getPopupContainer:pa,placement:Vn==="rtl"?"bottomLeft":"bottomRight"},ve.createElement("span",{role:"button",tabIndex:-1,className:Ye()(`${_n}-trigger`,{active:Fi}),onClick:Fn=>{Fn.stopPropagation()}},Rn)))}var Wf=Uf;function Jc(Ft,Ut,un){let Sn=[];return(Ft||[]).forEach((_n,Un)=>{var gr;const ur=xo(Un,un);if(_n.filters||"filterDropdown"in _n||"onFilter"in _n)if("filteredValue"in _n){let dr=_n.filteredValue;"filterDropdown"in _n||(dr=(gr=dr==null?void 0:dr.map(String))!==null&&gr!==void 0?gr:dr),Sn.push({column:_n,key:Wi(_n,ur),filteredKeys:dr,forceFiltered:_n.filtered})}else Sn.push({column:_n,key:Wi(_n,ur),filteredKeys:Ut&&_n.defaultFilteredValue?_n.defaultFilteredValue:void 0,forceFiltered:_n.filtered});"children"in _n&&(Sn=[].concat((0,Hr.Z)(Sn),(0,Hr.Z)(Jc(_n.children,Ut,ur))))}),Sn}function Cc(Ft,Ut,un,Sn,_n,Un,gr,ur){return un.map((dr,Lr)=>{const Pr=xo(Lr,ur),{filterMultiple:Dr=!0,filterMode:$r,filterSearch:Jr}=dr;let Er=dr;if(Er.filters||Er.filterDropdown){const pa=Wi(Er,Pr),ha=Sn.find(ka=>{let{key:Pa}=ka;return pa===Pa});Er=Object.assign(Object.assign({},Er),{title:ka=>ve.createElement(Wf,{tablePrefixCls:Ft,prefixCls:`${Ft}-filter`,dropdownPrefixCls:Ut,column:Er,columnKey:pa,filterState:ha,filterMultiple:Dr,filterMode:$r,filterSearch:Jr,triggerFilter:Un,locale:_n,getPopupContainer:gr},es(dr.title,ka))})}return"children"in Er&&(Er=Object.assign(Object.assign({},Er),{children:Cc(Ft,Ut,Er.children,Sn,_n,Un,gr,Pr)})),Er})}function pu(Ft){const Ut={};return Ft.forEach(un=>{let{key:Sn,filteredKeys:_n,column:Un}=un;const{filters:gr,filterDropdown:ur}=Un;if(ur)Ut[Sn]=_n||null;else if(Array.isArray(_n)){const dr=Ed(gr);Ut[Sn]=dr.filter(Lr=>_n.includes(String(Lr)))}else Ut[Sn]=null}),Ut}function df(Ft,Ut){return Ut.reduce((un,Sn)=>{const{column:{onFilter:_n,filters:Un},filteredKeys:gr}=Sn;return _n&&gr&&gr.length?un.filter(ur=>gr.some(dr=>{const Lr=Ed(Un),Pr=Lr.findIndex($r=>String($r)===String(dr)),Dr=Pr!==-1?Lr[Pr]:dr;return _n(Dr,ur)})):un},Ft)}const Vd=Ft=>Ft.flatMap(Ut=>"children"in Ut?[Ut].concat((0,Hr.Z)(Vd(Ut.children||[]))):[Ut]);function ff(Ft){let{prefixCls:Ut,dropdownPrefixCls:un,mergedColumns:Sn,onFilterChange:_n,getPopupContainer:Un,locale:gr}=Ft;const ur=ve.useMemo(()=>Vd(Sn||[]),[Sn]),[dr,Lr]=ve.useState(()=>Jc(ur,!0)),Pr=ve.useMemo(()=>{const Er=Jc(ur,!1);if(Er.length===0)return Er;let pa=!0,ha=!0;if(Er.forEach(ka=>{let{filteredKeys:Pa}=ka;Pa!==void 0?pa=!1:ha=!1}),pa){const ka=(ur||[]).map((Pa,Ra)=>Wi(Pa,xo(Ra)));return dr.filter(Pa=>{let{key:Ra}=Pa;return ka.includes(Ra)}).map(Pa=>{const Ra=ur[ka.findIndex(Ci=>Ci===Pa.key)];return Object.assign(Object.assign({},Pa),{column:Object.assign(Object.assign({},Pa.column),Ra),forceFiltered:Ra.filtered})})}return Er},[ur,dr]),Dr=ve.useMemo(()=>pu(Pr),[Pr]),$r=Er=>{const pa=Pr.filter(ha=>{let{key:ka}=ha;return ka!==Er.key});pa.push(Er),Lr(pa),_n(pu(pa),pa)};return[Er=>Cc(Ut,un,Er,Pr,gr,$r,Un),Pr,Dr]}var jf=ff;function fl(Ft,Ut,un){const Sn=ve.useRef({});function _n(Un){if(!Sn.current||Sn.current.data!==Ft||Sn.current.childrenColumnName!==Ut||Sn.current.getRowKey!==un){let ur=function(dr){dr.forEach((Lr,Pr)=>{const Dr=un(Lr,Pr);gr.set(Dr,Lr),Lr&&typeof Lr=="object"&&Ut in Lr&&ur(Lr[Ut]||[])})};const gr=new Map;ur(Ft),Sn.current={data:Ft,childrenColumnName:Ut,kvMap:gr,getRowKey:un}}return Sn.current.kvMap.get(Un)}return[_n]}var hf=Oe(50371),Gf=function(Ft,Ut){var un={};for(var Sn in Ft)Object.prototype.hasOwnProperty.call(Ft,Sn)&&Ut.indexOf(Sn)<0&&(un[Sn]=Ft[Sn]);if(Ft!=null&&typeof Object.getOwnPropertySymbols=="function")for(var _n=0,Sn=Object.getOwnPropertySymbols(Ft);_n<Sn.length;_n++)Ut.indexOf(Sn[_n])<0&&Object.prototype.propertyIsEnumerable.call(Ft,Sn[_n])&&(un[Sn[_n]]=Ft[Sn[_n]]);return un};const Zo=10;function Yu(Ft,Ut){const un={current:Ft.current,pageSize:Ft.pageSize};return Object.keys(Ut&&typeof Ut=="object"?Ut:{}).forEach(_n=>{const Un=Ft[_n];typeof Un!="function"&&(un[_n]=Un)}),un}function Pc(Ft,Ut,un){const Sn=un&&typeof un=="object"?un:{},{total:_n=0}=Sn,Un=Gf(Sn,["total"]),[gr,ur]=(0,ve.useState)(()=>({current:"defaultCurrent"in Un?Un.defaultCurrent:1,pageSize:"defaultPageSize"in Un?Un.defaultPageSize:Zo})),dr=(0,hf.Z)(gr,Un,{total:_n>0?_n:Ft}),Lr=Math.ceil((_n||Ft)/dr.pageSize);dr.current>Lr&&(dr.current=Lr||1);const Pr=($r,Jr)=>{ur({current:$r!=null?$r:1,pageSize:Jr||dr.pageSize})},Dr=($r,Jr)=>{var Er;un&&((Er=un.onChange)===null||Er===void 0||Er.call(un,$r,Jr)),Pr($r,Jr),Ut($r,Jr||(dr==null?void 0:dr.pageSize))};return un===!1?[{},()=>{}]:[Object.assign(Object.assign({},dr),{onChange:Dr}),Pr]}var Ml=Pc,Dl=Oe(84105),zl=Oe(35654),Ad=Oe(90782),gf=Oe(71430),Bh=Oe(18929);const Cu={},vf="SELECT_ALL",Hd="SELECT_INVERT",ls="SELECT_NONE",Vf=[],xd=(Ft,Ut)=>{let un=[];return(Ut||[]).forEach(Sn=>{un.push(Sn),Sn&&typeof Sn=="object"&&Ft in Sn&&(un=[].concat((0,Hr.Z)(un),(0,Hr.Z)(xd(Ft,Sn[Ft]))))}),un};var xl=(Ft,Ut)=>{const{preserveSelectedRowKeys:un,selectedRowKeys:Sn,defaultSelectedRowKeys:_n,getCheckboxProps:Un,onChange:gr,onSelect:ur,onSelectAll:dr,onSelectInvert:Lr,onSelectNone:Pr,onSelectMultiple:Dr,columnWidth:$r,type:Jr,selections:Er,fixed:pa,renderCell:ha,hideSelectAll:ka,checkStrictly:Pa=!0}=Ut||{},{prefixCls:Ra,data:Ci,pageData:wi,getRecordByKey:ui,getRowKey:Mi,expandType:Fi,childrenColumnName:ei,locale:Ei,getPopupContainer:ti}=Ft,[Wa,ba]=(0,Bh.Z)(Sn||_n||Vf,{value:Sn}),Ii=ve.useRef(new Map),eo=(0,ve.useCallback)(Cn=>{if(un){const Yn=new Map;Cn.forEach(Kn=>{let Rn=ui(Kn);!Rn&&Ii.current.has(Kn)&&(Rn=Ii.current.get(Kn)),Yn.set(Kn,Rn)}),Ii.current=Yn}},[ui,un]);ve.useEffect(()=>{eo(Wa)},[Wa]);const{keyEntities:Ki}=(0,ve.useMemo)(()=>{if(Pa)return{keyEntities:null};let Cn=Ci;if(un){const Yn=new Set(Ci.map((Rn,Vn)=>Mi(Rn,Vn))),Kn=Array.from(Ii.current).reduce((Rn,Vn)=>{let[Fn,Qn]=Vn;return Yn.has(Fn)?Rn:Rn.concat(Qn)},[]);Cn=[].concat((0,Hr.Z)(Cn),(0,Hr.Z)(Kn))}return(0,gf.I8)(Cn,{externalGetKey:Mi,childrenPropName:ei})},[Ci,Mi,Pa,ei,un]),xi=(0,ve.useMemo)(()=>xd(ei,wi),[ei,wi]),He=(0,ve.useMemo)(()=>{const Cn=new Map;return xi.forEach((Yn,Kn)=>{const Rn=Mi(Yn,Kn),Vn=(Un?Un(Yn):null)||{};Cn.set(Rn,Vn)}),Cn},[xi,Mi,Un]),et=(0,ve.useCallback)(Cn=>{var Yn;return!!(!((Yn=He.get(Mi(Cn)))===null||Yn===void 0)&&Yn.disabled)},[He,Mi]),[it,Et]=(0,ve.useMemo)(()=>{if(Pa)return[Wa||[],[]];const{checkedKeys:Cn,halfCheckedKeys:Yn}=(0,Ad.S)(Wa,!0,Ki,et);return[Cn||[],Yn]},[Wa,Pa,Ki,et]),It=(0,ve.useMemo)(()=>{const Cn=Jr==="radio"?it.slice(0,1):it;return new Set(Cn)},[it,Jr]),Lt=(0,ve.useMemo)(()=>Jr==="radio"?new Set:new Set(Et),[Et,Jr]),[jt,kt]=(0,ve.useState)(null);ve.useEffect(()=>{Ut||ba(Vf)},[!!Ut]);const qt=(0,ve.useCallback)((Cn,Yn)=>{let Kn,Rn;eo(Cn),un?(Kn=Cn,Rn=Cn.map(Vn=>Ii.current.get(Vn))):(Kn=[],Rn=[],Cn.forEach(Vn=>{const Fn=ui(Vn);Fn!==void 0&&(Kn.push(Vn),Rn.push(Fn))})),ba(Kn),gr==null||gr(Kn,Rn,{type:Yn})},[ba,ui,gr,un]),Zt=(0,ve.useCallback)((Cn,Yn,Kn,Rn)=>{if(ur){const Vn=Kn.map(Fn=>ui(Fn));ur(ui(Cn),Yn,Vn,Rn)}qt(Kn,"single")},[ur,ui,qt]),ln=(0,ve.useMemo)(()=>!Er||ka?null:(Er===!0?[vf,Hd,ls]:Er).map(Yn=>Yn===vf?{key:"all",text:Ei.selectionAll,onSelect(){qt(Ci.map((Kn,Rn)=>Mi(Kn,Rn)).filter(Kn=>{const Rn=He.get(Kn);return!(Rn!=null&&Rn.disabled)||It.has(Kn)}),"all")}}:Yn===Hd?{key:"invert",text:Ei.selectInvert,onSelect(){const Kn=new Set(It);wi.forEach((Vn,Fn)=>{const Qn=Mi(Vn,Fn),wr=He.get(Qn);wr!=null&&wr.disabled||(Kn.has(Qn)?Kn.delete(Qn):Kn.add(Qn))});const Rn=Array.from(Kn);Lr&&Lr(Rn),qt(Rn,"invert")}}:Yn===ls?{key:"none",text:Ei.selectNone,onSelect(){Pr==null||Pr(),qt(Array.from(It).filter(Kn=>{const Rn=He.get(Kn);return Rn==null?void 0:Rn.disabled}),"none")}}:Yn).map(Yn=>Object.assign(Object.assign({},Yn),{onSelect:function(){for(var Kn,Rn,Vn=arguments.length,Fn=new Array(Vn),Qn=0;Qn<Vn;Qn++)Fn[Qn]=arguments[Qn];(Rn=Yn.onSelect)===null||Rn===void 0||(Kn=Rn).call.apply(Kn,[Yn].concat(Fn)),kt(null)}})),[Er,It,wi,Mi,Lr,qt]);return[(0,ve.useCallback)(Cn=>{var Yn;if(!Ut)return Cn.filter(Wn=>Wn!==Cu);let Kn=(0,Hr.Z)(Cn);const Rn=new Set(It),Vn=xi.map(Mi).filter(Wn=>!He.get(Wn).disabled),Fn=Vn.every(Wn=>Rn.has(Wn)),Qn=Vn.some(Wn=>Rn.has(Wn)),wr=()=>{const Wn=[];Fn?Vn.forEach(ra=>{Rn.delete(ra),Wn.push(ra)}):Vn.forEach(ra=>{Rn.has(ra)||(Rn.add(ra),Wn.push(ra))});const Br=Array.from(Rn);dr==null||dr(!Fn,Br.map(ra=>ui(ra)),Wn.map(ra=>ui(ra))),qt(Br,"all"),kt(null)};let Cr;if(Jr!=="radio"){let Wn;if(ln){const aa={getPopupContainer:ti,items:ln.map((Ba,pi)=>{const{key:Ai,text:oa,onSelect:ni}=Ba;return{key:Ai!=null?Ai:pi,onClick:()=>{ni==null||ni(Vn)},label:oa}})};Wn=ve.createElement("div",{className:`${Ra}-selection-extra`},ve.createElement(zs.Z,{menu:aa,getPopupContainer:ti},ve.createElement("span",null,ve.createElement(Dl.Z,null))))}const Br=xi.map((aa,Ba)=>{const pi=Mi(aa,Ba),Ai=He.get(pi)||{};return Object.assign({checked:Rn.has(pi)},Ai)}).filter(aa=>{let{disabled:Ba}=aa;return Ba}),ra=!!Br.length&&Br.length===xi.length,Wr=ra&&Br.every(aa=>{let{checked:Ba}=aa;return Ba}),ca=ra&&Br.some(aa=>{let{checked:Ba}=aa;return Ba});Cr=!ka&&ve.createElement("div",{className:`${Ra}-selection`},ve.createElement(Vs.default,{checked:ra?Wr:!!xi.length&&Fn,indeterminate:ra?!Wr&&ca:!Fn&&Qn,onChange:wr,disabled:xi.length===0||ra,"aria-label":Wn?"Custom selection":"Select all",skipGroup:!0}),Wn)}let Ar;Jr==="radio"?Ar=(Wn,Br,ra)=>{const Wr=Mi(Br,ra),ca=Rn.has(Wr);return{node:ve.createElement(md.ZP,Object.assign({},He.get(Wr),{checked:ca,onClick:aa=>aa.stopPropagation(),onChange:aa=>{Rn.has(Wr)||Zt(Wr,!0,[Wr],aa.nativeEvent)}})),checked:ca}}:Ar=(Wn,Br,ra)=>{var Wr;const ca=Mi(Br,ra),aa=Rn.has(ca),Ba=Lt.has(ca),pi=He.get(ca);let Ai;return Fi==="nest"?Ai=Ba:Ai=(Wr=pi==null?void 0:pi.indeterminate)!==null&&Wr!==void 0?Wr:Ba,{node:ve.createElement(Vs.default,Object.assign({},pi,{indeterminate:Ai,checked:aa,skipGroup:!0,onClick:oa=>oa.stopPropagation(),onChange:oa=>{let{nativeEvent:ni}=oa;const{shiftKey:ao}=ni;let Io=-1,qi=-1;if(ao&&Pa){const Fo=new Set([jt,ca]);Vn.some((Yo,fs)=>{if(Fo.has(Yo))if(Io===-1)Io=fs;else return qi=fs,!0;return!1})}if(qi!==-1&&Io!==qi&&Pa){const Fo=Vn.slice(Io,qi+1),Yo=[];aa?Fo.forEach(ws=>{Rn.has(ws)&&(Yo.push(ws),Rn.delete(ws))}):Fo.forEach(ws=>{Rn.has(ws)||(Yo.push(ws),Rn.add(ws))});const fs=Array.from(Rn);Dr==null||Dr(!aa,fs.map(ws=>ui(ws)),Yo.map(ws=>ui(ws))),qt(fs,"multiple")}else{const Fo=it;if(Pa){const Yo=aa?(0,zl._5)(Fo,ca):(0,zl.L0)(Fo,ca);Zt(ca,!aa,Yo,ni)}else{const Yo=(0,Ad.S)([].concat((0,Hr.Z)(Fo),[ca]),!0,Ki,et),{checkedKeys:fs,halfCheckedKeys:ws}=Yo;let cc=fs;if(aa){const Sd=new Set(fs);Sd.delete(ca),cc=(0,Ad.S)(Array.from(Sd),{checked:!1,halfCheckedKeys:ws},Ki,et).checkedKeys}Zt(ca,!aa,cc,ni)}}kt(aa?null:ca)}})),checked:aa}};const $n=(Wn,Br,ra)=>{const{node:Wr,checked:ca}=Ar(Wn,Br,ra);return ha?ha(ca,Br,ra,Wr):Wr};if(!Kn.includes(Cu))if(Kn.findIndex(Wn=>{var Br;return((Br=Wn[Oa])===null||Br===void 0?void 0:Br.columnType)==="EXPAND_COLUMN"})===0){const[Wn,...Br]=Kn;Kn=[Wn,Cu].concat((0,Hr.Z)(Br))}else Kn=[Cu].concat((0,Hr.Z)(Kn));const va=Kn.indexOf(Cu);Kn=Kn.filter((Wn,Br)=>Wn!==Cu||Br===va);const Va=Kn[va-1],Za=Kn[va+1];let Ir=pa;Ir===void 0&&((Za==null?void 0:Za.fixed)!==void 0?Ir=Za.fixed:(Va==null?void 0:Va.fixed)!==void 0&&(Ir=Va.fixed)),Ir&&Va&&((Yn=Va[Oa])===null||Yn===void 0?void 0:Yn.columnType)==="EXPAND_COLUMN"&&Va.fixed===void 0&&(Va.fixed=Ir);const Tr=Ye()(`${Ra}-selection-col`,{[`${Ra}-selection-col-with-dropdown`]:Er&&Jr==="checkbox"}),da={fixed:Ir,width:$r,className:`${Ra}-selection-column`,title:Ut.columnTitle||Cr,render:$n,onCell:Ut.onCell,[Oa]:{className:Tr}};return Kn.map(Wn=>Wn===Cu?da:Wn)},[Mi,xi,Ut,it,It,Lt,$r,ln,Fi,jt,He,Dr,Zt,et]),It]},mf=Oe(89489),Sl=Oe(59477),Xu=Oe(6848);const Kd="ascend",uc="descend";function Ql(Ft){return typeof Ft.sorter=="object"&&typeof Ft.sorter.multiple=="number"?Ft.sorter.multiple:!1}function wc(Ft){return typeof Ft=="function"?Ft:Ft&&typeof Ft=="object"&&Ft.compare?Ft.compare:!1}function Ul(Ft,Ut){return Ut?Ft[Ft.indexOf(Ut)+1]:Ft[0]}function qc(Ft,Ut,un){let Sn=[];function _n(Un,gr){Sn.push({column:Un,key:Wi(Un,gr),multiplePriority:Ql(Un),sortOrder:Un.sortOrder})}return(Ft||[]).forEach((Un,gr)=>{const ur=xo(gr,un);Un.children?("sortOrder"in Un&&_n(Un,ur),Sn=[].concat((0,Hr.Z)(Sn),(0,Hr.Z)(qc(Un.children,Ut,ur)))):Un.sorter&&("sortOrder"in Un?_n(Un,ur):Ut&&Un.defaultSortOrder&&Sn.push({column:Un,key:Wi(Un,ur),multiplePriority:Ql(Un),sortOrder:Un.defaultSortOrder}))}),Sn}function $c(Ft,Ut,un,Sn,_n,Un,gr,ur){return(Ut||[]).map((dr,Lr)=>{const Pr=xo(Lr,ur);let Dr=dr;if(Dr.sorter){const $r=Dr.sortDirections||_n,Jr=Dr.showSorterTooltip===void 0?gr:Dr.showSorterTooltip,Er=Wi(Dr,Pr),pa=un.find(Fi=>{let{key:ei}=Fi;return ei===Er}),ha=pa?pa.sortOrder:null,ka=Ul($r,ha);let Pa;if(dr.sortIcon)Pa=dr.sortIcon({sortOrder:ha});else{const Fi=$r.includes(Kd)&&ve.createElement(Sl.Z,{className:Ye()(`${Ft}-column-sorter-up`,{active:ha===Kd})}),ei=$r.includes(uc)&&ve.createElement(mf.Z,{className:Ye()(`${Ft}-column-sorter-down`,{active:ha===uc})});Pa=ve.createElement("span",{className:Ye()(`${Ft}-column-sorter`,{[`${Ft}-column-sorter-full`]:!!(Fi&&ei)})},ve.createElement("span",{className:`${Ft}-column-sorter-inner`,"aria-hidden":"true"},Fi,ei))}const{cancelSort:Ra,triggerAsc:Ci,triggerDesc:wi}=Un||{};let ui=Ra;ka===uc?ui=wi:ka===Kd&&(ui=Ci);const Mi=typeof Jr=="object"?Jr:{title:ui};Dr=Object.assign(Object.assign({},Dr),{className:Ye()(Dr.className,{[`${Ft}-column-sort`]:ha}),title:Fi=>{const ei=ve.createElement("div",{className:`${Ft}-column-sorters`},ve.createElement("span",{className:`${Ft}-column-title`},es(dr.title,Fi)),Pa);return Jr?ve.createElement(Xu.Z,Object.assign({},Mi),ei):ei},onHeaderCell:Fi=>{const ei=dr.onHeaderCell&&dr.onHeaderCell(Fi)||{},Ei=ei.onClick,ti=ei.onKeyDown;ei.onClick=Ii=>{Sn({column:dr,key:Er,sortOrder:ka,multiplePriority:Ql(dr)}),Ei==null||Ei(Ii)},ei.onKeyDown=Ii=>{Ii.keyCode===jd.Z.ENTER&&(Sn({column:dr,key:Er,sortOrder:ka,multiplePriority:Ql(dr)}),ti==null||ti(Ii))};const Wa=ss(dr.title,{}),ba=Wa==null?void 0:Wa.toString();return ha?ei["aria-sort"]=ha==="ascend"?"ascending":"descending":ei["aria-label"]=ba||"",ei.className=Ye()(ei.className,`${Ft}-column-has-sorters`),ei.tabIndex=0,dr.ellipsis&&(ei.title=(Wa!=null?Wa:"").toString()),ei}})}return"children"in Dr&&(Dr=Object.assign(Object.assign({},Dr),{children:$c(Ft,Dr.children,un,Sn,_n,Un,gr,Pr)})),Dr})}function Xr(Ft){const{column:Ut,sortOrder:un}=Ft;return{column:Ut,order:un,field:Ut.dataIndex,columnKey:Ut.key}}function Hf(Ft){const Ut=Ft.filter(un=>{let{sortOrder:Sn}=un;return Sn}).map(Xr);return Ut.length===0&&Ft.length?Object.assign(Object.assign({},Xr(Ft[Ft.length-1])),{column:void 0}):Ut.length<=1?Ut[0]||{}:Ut}function Zd(Ft,Ut,un){const Sn=Ut.slice().sort((gr,ur)=>ur.multiplePriority-gr.multiplePriority),_n=Ft.slice(),Un=Sn.filter(gr=>{let{column:{sorter:ur},sortOrder:dr}=gr;return wc(ur)&&dr});return Un.length?_n.sort((gr,ur)=>{for(let dr=0;dr<Un.length;dr+=1){const Lr=Un[dr],{column:{sorter:Pr},sortOrder:Dr}=Lr,$r=wc(Pr);if($r&&Dr){const Jr=$r(gr,ur,Dr);if(Jr!==0)return Dr===Kd?Jr:-Jr}}return 0}).map(gr=>{const ur=gr[un];return ur?Object.assign(Object.assign({},gr),{[un]:Zd(ur,Ut,un)}):gr}):_n}function Rh(Ft){let{prefixCls:Ut,mergedColumns:un,onSorterChange:Sn,sortDirections:_n,tableLocale:Un,showSorterTooltip:gr}=Ft;const[ur,dr]=ve.useState(qc(un,!0)),Lr=ve.useMemo(()=>{let Er=!0;const pa=qc(un,!1);if(!pa.length)return ur;const ha=[];function ka(Ra){Er?ha.push(Ra):ha.push(Object.assign(Object.assign({},Ra),{sortOrder:null}))}let Pa=null;return pa.forEach(Ra=>{Pa===null?(ka(Ra),Ra.sortOrder&&(Ra.multiplePriority===!1?Er=!1:Pa=!0)):(Pa&&Ra.multiplePriority!==!1||(Er=!1),ka(Ra))}),ha},[un,ur]),Pr=ve.useMemo(()=>{const Er=Lr.map(pa=>{let{column:ha,sortOrder:ka}=pa;return{column:ha,order:ka}});return{sortColumns:Er,sortColumn:Er[0]&&Er[0].column,sortOrder:Er[0]&&Er[0].order}},[Lr]);function Dr(Er){let pa;Er.multiplePriority===!1||!Lr.length||Lr[0].multiplePriority===!1?pa=[Er]:pa=[].concat((0,Hr.Z)(Lr.filter(ha=>{let{key:ka}=ha;return ka!==Er.key})),[Er]),dr(pa),Sn(Hf(pa),pa)}return[Er=>$c(Ut,Er,Lr,Dr,_n,Un,gr),Lr,Pr,()=>Hf(Lr)]}function Kf(Ft,Ut){return Ft.map(un=>{const Sn=Object.assign({},un);return Sn.title=es(un.title,Ut),"children"in Sn&&(Sn.children=Kf(Sn.children,Ut)),Sn})}function _h(Ft){return[ve.useCallback(un=>Kf(un,Ft),[Ft])]}var Zf=Ja((Ft,Ut)=>{const{_renderTimes:un}=Ft,{_renderTimes:Sn}=Ut;return un!==Sn}),Mc=Gs((Ft,Ut)=>{const{_renderTimes:un}=Ft,{_renderTimes:Sn}=Ut;return un!==Sn}),Il=Oe(64993),Dc=Oe(17313),iu=Oe(83116),Qf=Oe(37613),_t=Ft=>{const{componentCls:Ut}=Ft,un=`${Ft.lineWidth}px ${Ft.lineType} ${Ft.tableBorderColor}`,Sn=(_n,Un,gr)=>({[`&${Ut}-${_n}`]:{[`> ${Ut}-container`]:{[`> ${Ut}-content, > ${Ut}-body`]:{"\n > table > tbody > tr > th,\n > table > tbody > tr > td\n ":{[`> ${Ut}-expanded-row-fixed`]:{margin:`-${Un}px -${gr+Ft.lineWidth}px`}}}}}});return{[`${Ut}-wrapper`]:{[`${Ut}${Ut}-bordered`]:Object.assign(Object.assign(Object.assign({[`> ${Ut}-title`]:{border:un,borderBottom:0},[`> ${Ut}-container`]:{borderInlineStart:un,borderTop:un,[`
|
|
|
> ${Ut}-content,
|
|
|
> ${Ut}-header,
|
|
|
> ${Ut}-body,
|
|
|
> ${Ut}-summary
|
|
|
`]:{"> table":{"\n > thead > tr > th,\n > thead > tr > td,\n > tbody > tr > th,\n > tbody > tr > td,\n > tfoot > tr > th,\n > tfoot > tr > td\n ":{borderInlineEnd:un},"> thead":{"> tr:not(:last-child) > th":{borderBottom:un},"> tr > th::before":{backgroundColor:"transparent !important"}},"\n > thead > tr,\n > tbody > tr,\n > tfoot > tr\n ":{[`> ${Ut}-cell-fix-right-first::after`]:{borderInlineEnd:un}},"\n > tbody > tr > th,\n > tbody > tr > td\n ":{[`> ${Ut}-expanded-row-fixed`]:{margin:`-${Ft.tablePaddingVertical}px -${Ft.tablePaddingHorizontal+Ft.lineWidth}px`,"&::after":{position:"absolute",top:0,insetInlineEnd:Ft.lineWidth,bottom:0,borderInlineEnd:un,content:'""'}}}}}},[`&${Ut}-scroll-horizontal`]:{[`> ${Ut}-container > ${Ut}-body`]:{"> table > tbody":{[`
|
|
|
> tr${Ut}-expanded-row,
|
|
|
> tr${Ut}-placeholder
|
|
|
`]:{"> th, > td":{borderInlineEnd:0}}}}}},Sn("middle",Ft.tablePaddingVerticalMiddle,Ft.tablePaddingHorizontalMiddle)),Sn("small",Ft.tablePaddingVerticalSmall,Ft.tablePaddingHorizontalSmall)),{[`> ${Ut}-footer`]:{border:un,borderTop:0}}),[`${Ut}-cell`]:{[`${Ut}-container:first-child`]:{borderTop:0},"&-scrollbar:not([rowspan])":{boxShadow:`0 ${Ft.lineWidth}px 0 ${Ft.lineWidth}px ${Ft.tableHeaderBg}`}},[`${Ut}-bordered ${Ut}-cell-scrollbar`]:{borderInlineEnd:un}}}},bn=Ft=>{const{componentCls:Ut}=Ft;return{[`${Ut}-wrapper`]:{[`${Ut}-cell-ellipsis`]:Object.assign(Object.assign({},Dc.vS),{wordBreak:"keep-all",[`
|
|
|
&${Ut}-cell-fix-left-last,
|
|
|
&${Ut}-cell-fix-right-first
|
|
|
`]:{overflow:"visible",[`${Ut}-cell-content`]:{display:"block",overflow:"hidden",textOverflow:"ellipsis"}},[`${Ut}-column-title`]:{overflow:"hidden",textOverflow:"ellipsis",wordBreak:"keep-all"}})}}},cr=Ft=>{const{componentCls:Ut}=Ft;return{[`${Ut}-wrapper`]:{[`${Ut}-tbody > tr${Ut}-placeholder`]:{textAlign:"center",color:Ft.colorTextDisabled,"\n &:hover > th,\n &:hover > td,\n ":{background:Ft.colorBgContainer}}}}},ir=Oe(15969),Rr=Ft=>{const{componentCls:Ut,antCls:un,controlInteractiveSize:Sn,motionDurationSlow:_n,lineWidth:Un,paddingXS:gr,lineType:ur,tableBorderColor:dr,tableExpandIconBg:Lr,tableExpandColumnWidth:Pr,borderRadius:Dr,fontSize:$r,fontSizeSM:Jr,lineHeight:Er,tablePaddingVertical:pa,tablePaddingHorizontal:ha,tableExpandedRowBg:ka,paddingXXS:Pa}=Ft,Ra=Sn/2-Un,Ci=Ra*2+Un*3,wi=`${Un}px ${ur} ${dr}`,ui=Pa-Un;return{[`${Ut}-wrapper`]:{[`${Ut}-expand-icon-col`]:{width:Pr},[`${Ut}-row-expand-icon-cell`]:{textAlign:"center",[`${Ut}-row-expand-icon`]:{display:"inline-flex",float:"none",verticalAlign:"sub"}},[`${Ut}-row-indent`]:{height:1,float:"left"},[`${Ut}-row-expand-icon`]:Object.assign(Object.assign({},(0,ir.N)(Ft)),{position:"relative",float:"left",boxSizing:"border-box",width:Ci,height:Ci,padding:0,color:"inherit",lineHeight:`${Ci}px`,background:Lr,border:wi,borderRadius:Dr,transform:`scale(${Sn/Ci})`,transition:`all ${_n}`,userSelect:"none","&:focus, &:hover, &:active":{borderColor:"currentcolor"},"&::before, &::after":{position:"absolute",background:"currentcolor",transition:`transform ${_n} ease-out`,content:'""'},"&::before":{top:Ra,insetInlineEnd:ui,insetInlineStart:ui,height:Un},"&::after":{top:ui,bottom:ui,insetInlineStart:Ra,width:Un,transform:"rotate(90deg)"},"&-collapsed::before":{transform:"rotate(-180deg)"},"&-collapsed::after":{transform:"rotate(0deg)"},"&-spaced":{"&::before, &::after":{display:"none",content:"none"},background:"transparent",border:0,visibility:"hidden"}}),[`${Ut}-row-indent + ${Ut}-row-expand-icon`]:{marginTop:($r*Er-Un*3)/2-Math.ceil((Jr*1.4-Un*3)/2),marginInlineEnd:gr},[`tr${Ut}-expanded-row`]:{"&, &:hover":{"> th, > td":{background:ka}},[`${un}-descriptions-view`]:{display:"flex",table:{flex:"auto",width:"auto"}}},[`${Ut}-expanded-row-fixed`]:{position:"relative",margin:`-${pa}px -${ha}px`,padding:`${pa}px ${ha}px`}}}},_a=Ft=>{const{componentCls:Ut,antCls:un,iconCls:Sn,tableFilterDropdownWidth:_n,tableFilterDropdownSearchWidth:Un,paddingXXS:gr,paddingXS:ur,colorText:dr,lineWidth:Lr,lineType:Pr,tableBorderColor:Dr,tableHeaderIconColor:$r,fontSizeSM:Jr,tablePaddingHorizontal:Er,borderRadius:pa,motionDurationSlow:ha,colorTextDescription:ka,colorPrimary:Pa,tableHeaderFilterActiveBg:Ra,colorTextDisabled:Ci,tableFilterDropdownBg:wi,tableFilterDropdownHeight:ui,controlItemBgHover:Mi,controlItemBgActive:Fi,boxShadowSecondary:ei,filterDropdownMenuBg:Ei}=Ft,ti=`${un}-dropdown`,Wa=`${Ut}-filter-dropdown`,ba=`${un}-tree`,Ii=`${Lr}px ${Pr} ${Dr}`;return[{[`${Ut}-wrapper`]:{[`${Ut}-filter-column`]:{display:"flex",justifyContent:"space-between"},[`${Ut}-filter-trigger`]:{position:"relative",display:"flex",alignItems:"center",marginBlock:-gr,marginInline:`${gr}px ${-Er/2}px`,padding:`0 ${gr}px`,color:$r,fontSize:Jr,borderRadius:pa,cursor:"pointer",transition:`all ${ha}`,"&:hover":{color:ka,background:Ra},"&.active":{color:Pa}}}},{[`${un}-dropdown`]:{[Wa]:Object.assign(Object.assign({},(0,Dc.Wf)(Ft)),{minWidth:_n,backgroundColor:wi,borderRadius:pa,boxShadow:ei,overflow:"hidden",[`${ti}-menu`]:{maxHeight:ui,overflowX:"hidden",border:0,boxShadow:"none",borderRadius:"unset",backgroundColor:Ei,"&:empty::after":{display:"block",padding:`${ur}px 0`,color:Ci,fontSize:Jr,textAlign:"center",content:'"Not Found"'}},[`${Wa}-tree`]:{paddingBlock:`${ur}px 0`,paddingInline:ur,[ba]:{padding:0},[`${ba}-treenode ${ba}-node-content-wrapper:hover`]:{backgroundColor:Mi},[`${ba}-treenode-checkbox-checked ${ba}-node-content-wrapper`]:{"&, &:hover":{backgroundColor:Fi}}},[`${Wa}-search`]:{padding:ur,borderBottom:Ii,"&-input":{input:{minWidth:Un},[Sn]:{color:Ci}}},[`${Wa}-checkall`]:{width:"100%",marginBottom:gr,marginInlineStart:gr},[`${Wa}-btns`]:{display:"flex",justifyContent:"space-between",padding:`${ur-Lr}px ${ur}px`,overflow:"hidden",borderTop:Ii}})}},{[`${un}-dropdown ${Wa}, ${Wa}-submenu`]:{[`${un}-checkbox-wrapper + span`]:{paddingInlineStart:ur,color:dr},"> ul":{maxHeight:"calc(100vh - 130px)",overflowX:"hidden",overflowY:"auto"}}}]},ia=Ft=>{const{componentCls:Ut,lineWidth:un,colorSplit:Sn,motionDurationSlow:_n,zIndexTableFixed:Un,tableBg:gr,zIndexTableSticky:ur}=Ft,dr=Sn;return{[`${Ut}-wrapper`]:{[`
|
|
|
${Ut}-cell-fix-left,
|
|
|
${Ut}-cell-fix-right
|
|
|
`]:{position:"sticky !important",zIndex:Un,background:gr},[`
|
|
|
${Ut}-cell-fix-left-first::after,
|
|
|
${Ut}-cell-fix-left-last::after
|
|
|
`]:{position:"absolute",top:0,right:{_skip_check_:!0,value:0},bottom:-un,width:30,transform:"translateX(100%)",transition:`box-shadow ${_n}`,content:'""',pointerEvents:"none"},[`${Ut}-cell-fix-left-all::after`]:{display:"none"},[`
|
|
|
${Ut}-cell-fix-right-first::after,
|
|
|
${Ut}-cell-fix-right-last::after
|
|
|
`]:{position:"absolute",top:0,bottom:-un,left:{_skip_check_:!0,value:0},width:30,transform:"translateX(-100%)",transition:`box-shadow ${_n}`,content:'""',pointerEvents:"none"},[`${Ut}-container`]:{"&::before, &::after":{position:"absolute",top:0,bottom:0,zIndex:ur+1,width:30,transition:`box-shadow ${_n}`,content:'""',pointerEvents:"none"},"&::before":{insetInlineStart:0},"&::after":{insetInlineEnd:0}},[`${Ut}-ping-left`]:{[`&:not(${Ut}-has-fix-left) ${Ut}-container`]:{position:"relative","&::before":{boxShadow:`inset 10px 0 8px -8px ${dr}`}},[`
|
|
|
${Ut}-cell-fix-left-first::after,
|
|
|
${Ut}-cell-fix-left-last::after
|
|
|
`]:{boxShadow:`inset 10px 0 8px -8px ${dr}`},[`${Ut}-cell-fix-left-last::before`]:{backgroundColor:"transparent !important"}},[`${Ut}-ping-right`]:{[`&:not(${Ut}-has-fix-right) ${Ut}-container`]:{position:"relative","&::after":{boxShadow:`inset -10px 0 8px -8px ${dr}`}},[`
|
|
|
${Ut}-cell-fix-right-first::after,
|
|
|
${Ut}-cell-fix-right-last::after
|
|
|
`]:{boxShadow:`inset -10px 0 8px -8px ${dr}`}}}}},xa=Ft=>{const{componentCls:Ut,antCls:un}=Ft;return{[`${Ut}-wrapper`]:{[`${Ut}-pagination${un}-pagination`]:{margin:`${Ft.margin}px 0`},[`${Ut}-pagination`]:{display:"flex",flexWrap:"wrap",rowGap:Ft.paddingXS,"> *":{flex:"none"},"&-left":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-right":{justifyContent:"flex-end"}}}}},Kr=Ft=>{const{componentCls:Ut,tableRadius:un}=Ft;return{[`${Ut}-wrapper`]:{[Ut]:{[`${Ut}-title, ${Ut}-header`]:{borderRadius:`${un}px ${un}px 0 0`},[`${Ut}-title + ${Ut}-container`]:{borderStartStartRadius:0,borderStartEndRadius:0,[`${Ut}-header, table`]:{borderRadius:0},"table > thead > tr:first-child":{"th:first-child, th:last-child, td:first-child, td:last-child":{borderRadius:0}}},"&-container":{borderStartStartRadius:un,borderStartEndRadius:un,"table > thead > tr:first-child":{"> *:first-child":{borderStartStartRadius:un},"> *:last-child":{borderStartEndRadius:un}}},"&-footer":{borderRadius:`0 0 ${un}px ${un}px`}}}}},gi=Ft=>{const{componentCls:Ut}=Ft;return{[`${Ut}-wrapper-rtl`]:{direction:"rtl",table:{direction:"rtl"},[`${Ut}-pagination-left`]:{justifyContent:"flex-end"},[`${Ut}-pagination-right`]:{justifyContent:"flex-start"},[`${Ut}-row-expand-icon`]:{float:"right","&::after":{transform:"rotate(-90deg)"},"&-collapsed::before":{transform:"rotate(180deg)"},"&-collapsed::after":{transform:"rotate(0deg)"}},[`${Ut}-container`]:{"&::before":{insetInlineStart:"unset",insetInlineEnd:0},"&::after":{insetInlineStart:0,insetInlineEnd:"unset"},[`${Ut}-row-indent`]:{float:"right"}}}}},vi=Ft=>{const{componentCls:Ut,antCls:un,iconCls:Sn,fontSizeIcon:_n,padding:Un,paddingXS:gr,tableHeaderIconColor:ur,tableHeaderIconColorHover:dr,tableSelectionColumnWidth:Lr}=Ft;return{[`${Ut}-wrapper`]:{[`${Ut}-selection-col`]:{width:Lr,[`&${Ut}-selection-col-with-dropdown`]:{width:Lr+_n+Un/4}},[`${Ut}-bordered ${Ut}-selection-col`]:{width:Lr+gr*2,[`&${Ut}-selection-col-with-dropdown`]:{width:Lr+_n+Un/4+gr*2}},[`
|
|
|
table tr th${Ut}-selection-column,
|
|
|
table tr td${Ut}-selection-column
|
|
|
`]:{paddingInlineEnd:Ft.paddingXS,paddingInlineStart:Ft.paddingXS,textAlign:"center",[`${un}-radio-wrapper`]:{marginInlineEnd:0}},[`table tr th${Ut}-selection-column${Ut}-cell-fix-left`]:{zIndex:Ft.zIndexTableFixed+1},[`table tr th${Ut}-selection-column::after`]:{backgroundColor:"transparent !important"},[`${Ut}-selection`]:{position:"relative",display:"inline-flex",flexDirection:"column"},[`${Ut}-selection-extra`]:{position:"absolute",top:0,zIndex:1,cursor:"pointer",transition:`all ${Ft.motionDurationSlow}`,marginInlineStart:"100%",paddingInlineStart:`${Ft.tablePaddingHorizontal/4}px`,[Sn]:{color:ur,fontSize:_n,verticalAlign:"baseline","&:hover":{color:dr}}}}}},hi=Ft=>{const{componentCls:Ut}=Ft,un=(Sn,_n,Un,gr)=>({[`${Ut}${Ut}-${Sn}`]:{fontSize:gr,[`
|
|
|
${Ut}-title,
|
|
|
${Ut}-footer,
|
|
|
${Ut}-cell,
|
|
|
${Ut}-thead > tr > th,
|
|
|
${Ut}-tbody > tr > th,
|
|
|
${Ut}-tbody > tr > td,
|
|
|
tfoot > tr > th,
|
|
|
tfoot > tr > td
|
|
|
`]:{padding:`${_n}px ${Un}px`},[`${Ut}-filter-trigger`]:{marginInlineEnd:`-${Un/2}px`},[`${Ut}-expanded-row-fixed`]:{margin:`-${_n}px -${Un}px`},[`${Ut}-tbody`]:{[`${Ut}-wrapper:only-child ${Ut}`]:{marginBlock:`-${_n}px`,marginInline:`${Ft.tableExpandColumnWidth-Un}px -${Un}px`}},[`${Ut}-selection-column`]:{paddingInlineStart:`${Un/4}px`}}});return{[`${Ut}-wrapper`]:Object.assign(Object.assign({},un("middle",Ft.tablePaddingVerticalMiddle,Ft.tablePaddingHorizontalMiddle,Ft.tableFontSizeMiddle)),un("small",Ft.tablePaddingVerticalSmall,Ft.tablePaddingHorizontalSmall,Ft.tableFontSizeSmall))}},Ni=Ft=>{const{componentCls:Ut,marginXXS:un,fontSizeIcon:Sn,tableHeaderIconColor:_n,tableHeaderIconColorHover:Un}=Ft;return{[`${Ut}-wrapper`]:{[`${Ut}-thead th${Ut}-column-has-sorters`]:{outline:"none",cursor:"pointer",transition:`all ${Ft.motionDurationSlow}`,"&:hover":{background:Ft.tableHeaderSortHoverBg,"&::before":{backgroundColor:"transparent !important"}},"&:focus-visible":{color:Ft.colorPrimary},[`
|
|
|
&${Ut}-cell-fix-left:hover,
|
|
|
&${Ut}-cell-fix-right:hover
|
|
|
`]:{background:Ft.tableFixedHeaderSortActiveBg}},[`${Ut}-thead th${Ut}-column-sort`]:{background:Ft.tableHeaderSortBg,"&::before":{backgroundColor:"transparent !important"}},[`td${Ut}-column-sort`]:{background:Ft.tableBodySortBg},[`${Ut}-column-title`]:{position:"relative",zIndex:1,flex:1},[`${Ut}-column-sorters`]:{display:"flex",flex:"auto",alignItems:"center",justifyContent:"space-between","&::after":{position:"absolute",inset:0,width:"100%",height:"100%",content:'""'}},[`${Ut}-column-sorter`]:{marginInlineStart:un,color:_n,fontSize:0,transition:`color ${Ft.motionDurationSlow}`,"&-inner":{display:"inline-flex",flexDirection:"column",alignItems:"center"},"&-up, &-down":{fontSize:Sn,"&.active":{color:Ft.colorPrimary}},[`${Ut}-column-sorter-up + ${Ut}-column-sorter-down`]:{marginTop:"-0.3em"}},[`${Ut}-column-sorters:hover ${Ut}-column-sorter`]:{color:Un}}}},bo=Ft=>{const{componentCls:Ut,opacityLoading:un,tableScrollThumbBg:Sn,tableScrollThumbBgHover:_n,tableScrollThumbSize:Un,tableScrollBg:gr,zIndexTableSticky:ur,stickyScrollBarBorderRadius:dr}=Ft,Lr=`${Ft.lineWidth}px ${Ft.lineType} ${Ft.tableBorderColor}`;return{[`${Ut}-wrapper`]:{[`${Ut}-sticky`]:{"&-holder":{position:"sticky",zIndex:ur,background:Ft.colorBgContainer},"&-scroll":{position:"sticky",bottom:0,height:`${Un}px !important`,zIndex:ur,display:"flex",alignItems:"center",background:gr,borderTop:Lr,opacity:un,"&:hover":{transformOrigin:"center bottom"},"&-bar":{height:Un,backgroundColor:Sn,borderRadius:dr,transition:`all ${Ft.motionDurationSlow}, transform none`,position:"absolute",bottom:0,"&:hover, &-active":{backgroundColor:_n}}}}}}},ns=Ft=>{const{componentCls:Ut,lineWidth:un,tableBorderColor:Sn}=Ft,_n=`${un}px ${Ft.lineType} ${Sn}`;return{[`${Ut}-wrapper`]:{[`${Ut}-summary`]:{position:"relative",zIndex:Ft.zIndexTableFixed,background:Ft.tableBg,"> tr":{"> th, > td":{borderBottom:_n}}},[`div${Ut}-summary`]:{boxShadow:`0 -${un}px 0 ${Sn}`}}}},Ns=Ft=>{const{componentCls:Ut}=Ft,un=`${Ft.lineWidth}px ${Ft.lineType} ${Ft.tableBorderColor}`,Sn=`${Ut}-expanded-row-cell`;return{[`${Ut}-wrapper`]:{[`${Ut}-tbody-virtual`]:{[`${Ut}-row`]:{display:"flex",boxSizing:"border-box",width:"100%"},[`${Ut}-cell`]:{borderBottom:un},[`${Ut}-expanded-row`]:{[`${Sn}${Sn}-fixed`]:{position:"sticky",insetInlineStart:0,overflow:"hidden",width:`calc(var(--virtual-width) - ${Ft.lineWidth}px)`,borderInlineEnd:"none"}}},[`${Ut}-bordered`]:{[`${Ut}-tbody-virtual`]:{"&:after":{content:'""',insetInline:0,bottom:0,borderBottom:un,position:"absolute"},[`${Ut}-cell`]:{borderInlineEnd:un,[`&${Ut}-cell-fix-right-first:before`]:{content:'""',position:"absolute",insetBlock:0,insetInlineStart:-Ft.lineWidth,borderInlineStart:un}}}}}}};const $o=Ft=>{const{componentCls:Ut,fontWeightStrong:un,tablePaddingVertical:Sn,tablePaddingHorizontal:_n,lineWidth:Un,lineType:gr,tableBorderColor:ur,tableFontSize:dr,tableBg:Lr,tableRadius:Pr,tableHeaderTextColor:Dr,motionDurationMid:$r,tableHeaderBg:Jr,tableHeaderCellSplitColor:Er,tableRowHoverBg:pa,tableSelectedRowBg:ha,tableSelectedRowHoverBg:ka,tableFooterTextColor:Pa,tableFooterBg:Ra,paddingContentVerticalLG:Ci}=Ft,wi=`${Un}px ${gr} ${ur}`;return{[`${Ut}-wrapper`]:Object.assign(Object.assign({clear:"both",maxWidth:"100%"},(0,Dc.dF)()),{[Ut]:Object.assign(Object.assign({},(0,Dc.Wf)(Ft)),{fontSize:dr,background:Lr,borderRadius:`${Pr}px ${Pr}px 0 0`}),table:{width:"100%",textAlign:"start",borderRadius:`${Pr}px ${Pr}px 0 0`,borderCollapse:"separate",borderSpacing:0},[`
|
|
|
${Ut}-cell,
|
|
|
${Ut}-thead > tr > th,
|
|
|
${Ut}-tbody > tr > th,
|
|
|
${Ut}-tbody > tr > td,
|
|
|
tfoot > tr > th,
|
|
|
tfoot > tr > td
|
|
|
`]:{position:"relative",padding:`${Ci}px ${_n}px`,overflowWrap:"break-word"},[`${Ut}-title`]:{padding:`${Sn}px ${_n}px`},[`${Ut}-thead`]:{"\n > tr > th,\n > tr > td\n ":{position:"relative",color:Dr,fontWeight:un,textAlign:"start",background:Jr,borderBottom:wi,transition:`background ${$r} ease`,"&[colspan]:not([colspan='1'])":{textAlign:"center"},[`&:not(:last-child):not(${Ut}-selection-column):not(${Ut}-row-expand-icon-cell):not([colspan])::before`]:{position:"absolute",top:"50%",insetInlineEnd:0,width:1,height:"1.6em",backgroundColor:Er,transform:"translateY(-50%)",transition:`background-color ${$r}`,content:'""'}},"> tr:not(:last-child) > th[colspan]":{borderBottom:0}},[`${Ut}-tbody`]:{"> tr":{"> th, > td":{transition:`background ${$r}, border-color ${$r}`,borderBottom:wi,[`
|
|
|
> ${Ut}-wrapper:only-child,
|
|
|
> ${Ut}-expanded-row-fixed > ${Ut}-wrapper:only-child
|
|
|
`]:{[Ut]:{marginBlock:`-${Sn}px`,marginInline:`${Ft.tableExpandColumnWidth-_n}px -${_n}px`,[`${Ut}-tbody > tr:last-child > td`]:{borderBottom:0,"&:first-child, &:last-child":{borderRadius:0}}}}},"> th":{position:"relative",color:Dr,fontWeight:un,textAlign:"start",background:Jr,borderBottom:wi,transition:`background ${$r} ease`},[`
|
|
|
&${Ut}-row:hover > th,
|
|
|
&${Ut}-row:hover > td,
|
|
|
> th${Ut}-cell-row-hover,
|
|
|
> td${Ut}-cell-row-hover
|
|
|
`]:{background:pa},[`&${Ut}-row-selected`]:{"> th, > td":{background:ha},"&:hover > th, &:hover > td":{background:ka}}}},[`${Ut}-footer`]:{padding:`${Sn}px ${_n}px`,color:Pa,background:Ra}})}};var ho=(0,iu.Z)("Table",Ft=>{const{colorTextHeading:Ut,colorSplit:un,colorIcon:Sn,colorIconHover:_n,opacityLoading:Un,colorBgContainer:gr,controlInteractiveSize:ur,headerBg:dr,headerColor:Lr,headerSortActiveBg:Pr,headerSortHoverBg:Dr,bodySortBg:$r,rowHoverBg:Jr,rowSelectedBg:Er,rowSelectedHoverBg:pa,rowExpandedBg:ha,cellPaddingBlock:ka,cellPaddingInline:Pa,cellPaddingBlockMD:Ra,cellPaddingInlineMD:Ci,cellPaddingBlockSM:wi,cellPaddingInlineSM:ui,borderColor:Mi,footerBg:Fi,footerColor:ei,headerBorderRadius:Ei,cellFontSize:ti,cellFontSizeMD:Wa,cellFontSizeSM:ba,headerSplitColor:Ii,fixedHeaderSortActiveBg:eo,headerFilterHoverBg:Ki,filterDropdownBg:xi,expandIconBg:He,selectionColumnWidth:et,stickyScrollBarBg:it}=Ft,Et=new Il.C(Sn),It=new Il.C(_n),Lt=2,jt=(0,Qf.TS)(Ft,{tableFontSize:ti,tableBg:gr,tableRadius:Ei,tablePaddingVertical:ka,tablePaddingHorizontal:Pa,tablePaddingVerticalMiddle:Ra,tablePaddingHorizontalMiddle:Ci,tablePaddingVerticalSmall:wi,tablePaddingHorizontalSmall:ui,tableBorderColor:Mi,tableHeaderTextColor:Lr,tableHeaderBg:dr,tableFooterTextColor:ei,tableFooterBg:Fi,tableHeaderCellSplitColor:Ii,tableHeaderSortBg:Pr,tableHeaderSortHoverBg:Dr,tableHeaderIconColor:Et.clone().setAlpha(Et.getAlpha()*Un).toRgbString(),tableHeaderIconColorHover:It.clone().setAlpha(It.getAlpha()*Un).toRgbString(),tableBodySortBg:$r,tableFixedHeaderSortActiveBg:eo,tableHeaderFilterActiveBg:Ki,tableFilterDropdownBg:xi,tableRowHoverBg:Jr,tableSelectedRowBg:Er,tableSelectedRowHoverBg:pa,zIndexTableFixed:Lt,zIndexTableSticky:Lt+1,tableFontSizeMiddle:Wa,tableFontSizeSmall:ba,tableSelectionColumnWidth:et,tableExpandIconBg:He,tableExpandColumnWidth:ur+2*Ft.padding,tableExpandedRowBg:ha,tableFilterDropdownWidth:120,tableFilterDropdownHeight:264,tableFilterDropdownSearchWidth:140,tableScrollThumbSize:8,tableScrollThumbBg:it,tableScrollThumbBgHover:Ut,tableScrollBg:un});return[$o(jt),xa(jt),ns(jt),Ni(jt),_a(jt),_t(jt),Kr(jt),Rr(jt),ns(jt),cr(jt),vi(jt),ia(jt),bo(jt),bn(jt),hi(jt),gi(jt),Ns(jt)]},Ft=>{const{colorFillAlter:Ut,colorBgContainer:un,colorTextHeading:Sn,colorFillSecondary:_n,colorFillContent:Un,controlItemBgActive:gr,controlItemBgActiveHover:ur,padding:dr,paddingSM:Lr,paddingXS:Pr,colorBorderSecondary:Dr,borderRadiusLG:$r,fontSize:Jr,controlHeight:Er,colorTextPlaceholder:pa}=Ft,ha=new Il.C(_n).onBackground(un).toHexShortString(),ka=new Il.C(Un).onBackground(un).toHexShortString(),Pa=new Il.C(Ut).onBackground(un).toHexShortString();return{headerBg:Pa,headerColor:Sn,headerSortActiveBg:ha,headerSortHoverBg:ka,bodySortBg:Pa,rowHoverBg:Pa,rowSelectedBg:gr,rowSelectedHoverBg:ur,rowExpandedBg:Ut,cellPaddingBlock:dr,cellPaddingInline:dr,cellPaddingBlockMD:Lr,cellPaddingInlineMD:Pr,cellPaddingBlockSM:Pr,cellPaddingInlineSM:Pr,borderColor:Dr,headerBorderRadius:$r,footerBg:Pa,footerColor:Sn,cellFontSize:Jr,cellFontSizeMD:Jr,cellFontSizeSM:Jr,headerSplitColor:Dr,fixedHeaderSortActiveBg:ha,headerFilterHoverBg:Un,filterDropdownMenuBg:un,filterDropdownBg:un,expandIconBg:un,selectionColumnWidth:Er,stickyScrollBarBg:pa,stickyScrollBarBorderRadius:100}});const _o=[],Do=(Ft,Ut)=>{const{prefixCls:un,className:Sn,rootClassName:_n,style:Un,size:gr,bordered:ur,dropdownPrefixCls:dr,dataSource:Lr,pagination:Pr,rowSelection:Dr,rowKey:$r="key",rowClassName:Jr,columns:Er,children:pa,childrenColumnName:ha,onChange:ka,getPopupContainer:Pa,loading:Ra,expandIcon:Ci,expandable:wi,expandedRowRender:ui,expandIconColumnIndex:Mi,indentSize:Fi,scroll:ei,sortDirections:Ei,locale:ti,showSorterTooltip:Wa=!0,virtual:ba}=Ft,Ii=ve.useMemo(()=>Er||ze(pa),[Er,pa]),eo=ve.useMemo(()=>Ii.some(Vo=>Vo.responsive),[Ii]),Ki=(0,Su.Z)(eo),xi=ve.useMemo(()=>{const Vo=new Set(Object.keys(Ki).filter(us=>Ki[us]));return Ii.filter(us=>!us.responsive||us.responsive.some(Ll=>Vo.has(Ll)))},[Ii,Ki]),He=(0,hu.Z)(Ft,["className","style","columns"]),{locale:et=Ps.Z,direction:it,table:Et,renderEmpty:It,getPrefixCls:Lt,getPopupContainer:jt}=ve.useContext(Ds.E_),kt=(0,Fl.Z)(gr),qt=Object.assign(Object.assign({},et.Table),ti),Zt=Lr||_o,ln=Lt("table",un),In=Lt("dropdown",dr),Cn=Object.assign({childrenColumnName:ha,expandIconColumnIndex:Mi},wi),{childrenColumnName:Yn="children"}=Cn,Kn=ve.useMemo(()=>Zt.some(Vo=>Vo==null?void 0:Vo[Yn])?"nest":ui||wi&&wi.expandedRowRender?"row":null,[Zt]),Rn={body:ve.useRef()},Vn=ve.useMemo(()=>typeof $r=="function"?$r:Vo=>Vo==null?void 0:Vo[$r],[$r]),[Fn]=fl(Zt,Yn,Vn),Qn={},wr=function(Vo,us){let Ll=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;var _s,Yl,Xl;const Wl=Object.assign(Object.assign({},Qn),Vo);Ll&&((_s=Qn.resetPagination)===null||_s===void 0||_s.call(Qn),!((Yl=Wl.pagination)===null||Yl===void 0)&&Yl.current&&(Wl.pagination.current=1),Pr&&Pr.onChange&&Pr.onChange(1,(Xl=Wl.pagination)===null||Xl===void 0?void 0:Xl.pageSize)),ei&&ei.scrollToFirstRowOnChange!==!1&&Rn.body.current&&(0,_l.Z)(0,{getContainer:()=>Rn.body.current}),ka==null||ka(Wl.pagination,Wl.filters,Wl.sorter,{currentDataSource:df(Zd(Zt,Wl.sorterStates,Yn),Wl.filterStates),action:us})},Cr=(Vo,us)=>{wr({sorter:Vo,sorterStates:us},"sort",!1)},[Ar,$n,va,Va]=Rh({prefixCls:ln,mergedColumns:xi,onSorterChange:Cr,sortDirections:Ei||["ascend","descend"],tableLocale:qt,showSorterTooltip:Wa}),Za=ve.useMemo(()=>Zd(Zt,$n,Yn),[Zt,$n]);Qn.sorter=Va(),Qn.sorterStates=$n;const Ir=(Vo,us)=>{wr({filters:Vo,filterStates:us},"filter",!0)},[Tr,da,Wn]=jf({prefixCls:ln,locale:qt,dropdownPrefixCls:In,mergedColumns:xi,onFilterChange:Ir,getPopupContainer:Pa||jt}),Br=df(Za,da);Qn.filters=Wn,Qn.filterStates=da;const ra=ve.useMemo(()=>{const Vo={};return Object.keys(Wn).forEach(us=>{Wn[us]!==null&&(Vo[us]=Wn[us])}),Object.assign(Object.assign({},va),{filters:Vo})},[va,Wn]),[Wr]=_h(ra),ca=(Vo,us)=>{wr({pagination:Object.assign(Object.assign({},Qn.pagination),{current:Vo,pageSize:us})},"paginate")},[aa,Ba]=Ml(Br.length,ca,Pr);Qn.pagination=Pr===!1?{}:Yu(aa,Pr),Qn.resetPagination=Ba;const pi=ve.useMemo(()=>{if(Pr===!1||!aa.pageSize)return Br;const{current:Vo=1,total:us,pageSize:Ll=Zo}=aa;return Br.length<us?Br.length>Ll?Br.slice((Vo-1)*Ll,Vo*Ll):Br:Br.slice((Vo-1)*Ll,Vo*Ll)},[!!Pr,Br,aa&&aa.current,aa&&aa.pageSize,aa&&aa.total]),[Ai,oa]=xl({prefixCls:ln,data:Br,pageData:pi,getRowKey:Vn,getRecordByKey:Fn,expandType:Kn,childrenColumnName:Yn,locale:qt,getPopupContainer:Pa||jt},Dr),ni=(Vo,us,Ll)=>{let _s;return typeof Jr=="function"?_s=Ye()(Jr(Vo,us,Ll)):_s=Ye()(Jr),Ye()({[`${ln}-row-selected`]:oa.has(Vn(Vo,us))},_s)};Cn.__PARENT_RENDER_ICON__=Cn.expandIcon,Cn.expandIcon=Cn.expandIcon||Ci||ja(qt),Kn==="nest"&&Cn.expandIconColumnIndex===void 0?Cn.expandIconColumnIndex=Dr?1:0:Cn.expandIconColumnIndex>0&&Dr&&(Cn.expandIconColumnIndex-=1),typeof Cn.indentSize!="number"&&(Cn.indentSize=typeof Fi=="number"?Fi:15);const ao=ve.useCallback(Vo=>Wr(Ai(Tr(Ar(Vo)))),[Ar,Tr,Ai]);let Io,qi;if(Pr!==!1&&(aa!=null&&aa.total)){let Vo;aa.size?Vo=aa.size:Vo=kt==="small"||kt==="middle"?"small":void 0;const us=Yl=>ve.createElement(Ku.Z,Object.assign({},aa,{className:Ye()(`${ln}-pagination ${ln}-pagination-${Yl}`,aa.className),size:Vo})),Ll=it==="rtl"?"left":"right",{position:_s}=aa;if(_s!==null&&Array.isArray(_s)){const Yl=_s.find(Lc=>Lc.includes("top")),Xl=_s.find(Lc=>Lc.includes("bottom")),Wl=_s.every(Lc=>`${Lc}`=="none");!Yl&&!Xl&&!Wl&&(qi=us(Ll)),Yl&&(Io=us(Yl.toLowerCase().replace("top",""))),Xl&&(qi=us(Xl.toLowerCase().replace("bottom","")))}else qi=us(Ll)}let Fo;typeof Ra=="boolean"?Fo={spinning:Ra}:typeof Ra=="object"&&(Fo=Object.assign({spinning:!0},Ra));const[Yo,fs]=ho(ln),[,ws]=(0,za.Z)(),cc=Ye()(`${ln}-wrapper`,Et==null?void 0:Et.className,{[`${ln}-wrapper-rtl`]:it==="rtl"},Sn,_n,fs),Sd=Object.assign(Object.assign({},Et==null?void 0:Et.style),Un),dc=ti&&ti.emptyText||(It==null?void 0:It("Table"))||ve.createElement(vs.Z,{componentName:"Table"}),Ic=ba?Mc:Zf,pf={},Fh=ve.useMemo(()=>{const{fontSize:Vo,lineHeight:us,padding:Ll,paddingXS:_s,paddingSM:Yl}=ws,Xl=Math.floor(Vo*us);switch(kt){case"large":return Ll*2+Xl;case"small":return _s*2+Xl;default:return Yl*2+Xl}},[ws,kt]);return ba&&(pf.listItemHeight=Fh),Yo(ve.createElement("div",{ref:Ut,className:cc,style:Sd},ve.createElement(Bi.Z,Object.assign({spinning:!1},Fo),Io,ve.createElement(Ic,Object.assign({},pf,He,{columns:xi,direction:it,expandable:Cn,prefixCls:ln,className:Ye()({[`${ln}-middle`]:kt==="middle",[`${ln}-small`]:kt==="small",[`${ln}-bordered`]:ur,[`${ln}-empty`]:Zt.length===0}),data:pi,rowKey:Vn,rowClassName:ni,emptyText:dc,internalHooks:Ve,internalRefs:Rn,transformColumns:ao})),qi)))};var As=ve.forwardRef(Do);const Qo=(Ft,Ut)=>{const un=ve.useRef(0);return un.current+=1,ve.createElement(As,Object.assign({},Ft,{ref:Ut,_renderTimes:un.current}))},Fa=ve.forwardRef(Qo);Fa.SELECTION_COLUMN=Cu,Fa.EXPAND_COLUMN=_e,Fa.SELECTION_ALL=vf,Fa.SELECTION_INVERT=Hd,Fa.SELECTION_NONE=ls,Fa.Column=Cs,Fa.ColumnGroup=nl,Fa.Summary=gt;var Zs=Fa,Rs=Zs},17574:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{default:function(){return ct}});var _e=Oe(23130),Ve=Oe(26407),Re=Oe(52671),be=Oe(8657),Fe=Oe(92413),Ce=Oe(59301),ve={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z"}}]},name:"folder",theme:"outlined"},ye=ve,we=Oe(7657),De=function(dt,At){return Ce.createElement(we.Z,(0,Fe.Z)({},dt,{ref:At,icon:ye}))},pe=Ce.forwardRef(De),Ee=pe,Pe=Oe(92310),de=Oe.n(Pe),ee=Oe(35654),ne=Oe(71430),le=Oe(36355),oe=Oe(56082),ce=Oe(62892),he=Oe(20648);const ie=4;function ue(tt){const{dropPosition:dt,dropLevelOffset:At,prefixCls:mt,indent:ht,direction:vt="ltr"}=tt,Wt=vt==="ltr"?"left":"right",Jt=vt==="ltr"?"right":"left",en={[Wt]:-At*ht+ie,[Jt]:0};switch(dt){case-1:en.top=-3;break;case 1:en.bottom=-3;break;default:en.bottom=-3,en[Wt]=ht+ie;break}return Ce.createElement("div",{style:en,className:`${mt}-drop-indicator`})}var ge=Oe(71997),Me=Ce.forwardRef((tt,dt)=>{const{getPrefixCls:At,direction:mt,virtual:ht,tree:vt}=Ce.useContext(le.E_),{prefixCls:Wt,className:Jt,showIcon:en=!1,showLine:mn,switcherIcon:Ot,blockNode:an=!1,children:tn,checkable:Dn=!1,selectable:Tn=!0,draggable:sn,motion:dn,style:Kt}=tt,Tt=At("tree",Wt),yt=At(),Gt=dn!=null?dn:Object.assign(Object.assign({},(0,ce.Z)(yt)),{motionAppear:!1}),gt=Object.assign(Object.assign({},tt),{checkable:Dn,selectable:Tn,showIcon:en,motion:Gt,blockNode:an,showLine:!!mn,dropIndicatorRender:ue}),[St,Qt]=(0,he.ZP)(Tt),Nt=Ce.useMemo(()=>{if(!sn)return!1;let rn={};switch(typeof sn){case"function":rn.nodeDraggable=sn;break;case"object":rn=Object.assign({},sn);break;default:break}return rn.icon!==!1&&(rn.icon=rn.icon||Ce.createElement(oe.Z,null)),rn},[sn]),wt=rn=>Ce.createElement(ge.Z,{prefixCls:Tt,switcherIcon:Ot,treeNodeProps:rn,showLine:mn});return St(Ce.createElement(_e.Z,Object.assign({itemHeight:20,ref:dt,virtual:ht},gt,{style:Object.assign(Object.assign({},vt==null?void 0:vt.style),Kt),prefixCls:Tt,className:de()({[`${Tt}-icon-hide`]:!en,[`${Tt}-block-node`]:an,[`${Tt}-unselectable`]:!Tn,[`${Tt}-rtl`]:mt==="rtl"},vt==null?void 0:vt.className,Jt,Qt),direction:mt,checkable:Dn&&Ce.createElement("span",{className:`${Tt}-checkbox-inner`}),selectable:Tn,switcherIcon:wt,draggable:Nt}),tn))}),Be;(function(tt){tt[tt.None=0]="None",tt[tt.Start=1]="Start",tt[tt.End=2]="End"})(Be||(Be={}));function Ne(tt,dt){function At(mt){const{key:ht,children:vt}=mt;dt(ht,mt)!==!1&&Ne(vt||[],dt)}tt.forEach(At)}function Ue(tt){let{treeData:dt,expandedKeys:At,startKey:mt,endKey:ht}=tt;const vt=[];let Wt=Be.None;if(mt&&mt===ht)return[mt];if(!mt||!ht)return[];function Jt(en){return en===mt||en===ht}return Ne(dt,en=>{if(Wt===Be.End)return!1;if(Jt(en)){if(vt.push(en),Wt===Be.None)Wt=Be.Start;else if(Wt===Be.Start)return Wt=Be.End,!1}else Wt===Be.Start&&vt.push(en);return At.includes(en)}),vt}function Ge(tt,dt){const At=(0,Ve.Z)(dt),mt=[];return Ne(tt,(ht,vt)=>{const Wt=At.indexOf(ht);return Wt!==-1&&(mt.push(vt),At.splice(Wt,1)),!!At.length}),mt}var Xe=function(tt,dt){var At={};for(var mt in tt)Object.prototype.hasOwnProperty.call(tt,mt)&&dt.indexOf(mt)<0&&(At[mt]=tt[mt]);if(tt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ht=0,mt=Object.getOwnPropertySymbols(tt);ht<mt.length;ht++)dt.indexOf(mt[ht])<0&&Object.prototype.propertyIsEnumerable.call(tt,mt[ht])&&(At[mt[ht]]=tt[mt[ht]]);return At};function Ye(tt){const{isLeaf:dt,expanded:At}=tt;return dt?Ce.createElement(Re.Z,null):At?Ce.createElement(be.Z,null):Ce.createElement(Ee,null)}function nt(tt){let{treeData:dt,children:At}=tt;return dt||(0,ne.zn)(At)}const $e=(tt,dt)=>{var{defaultExpandAll:At,defaultExpandParent:mt,defaultExpandedKeys:ht}=tt,vt=Xe(tt,["defaultExpandAll","defaultExpandParent","defaultExpandedKeys"]);const Wt=Ce.useRef(),Jt=Ce.useRef(),en=()=>{const{keyEntities:Nt}=(0,ne.I8)(nt(vt));let wt;return At?wt=Object.keys(Nt):mt?wt=(0,ee.r7)(vt.expandedKeys||ht||[],Nt):wt=vt.expandedKeys||ht,wt},[mn,Ot]=Ce.useState(vt.selectedKeys||vt.defaultSelectedKeys||[]),[an,tn]=Ce.useState(()=>en());Ce.useEffect(()=>{"selectedKeys"in vt&&Ot(vt.selectedKeys)},[vt.selectedKeys]),Ce.useEffect(()=>{"expandedKeys"in vt&&tn(vt.expandedKeys)},[vt.expandedKeys]);const Dn=(Nt,wt)=>{var rn;return"expandedKeys"in vt||tn(Nt),(rn=vt.onExpand)===null||rn===void 0?void 0:rn.call(vt,Nt,wt)},Tn=(Nt,wt)=>{var rn;const{multiple:On}=vt,{node:zn,nativeEvent:Gn}=wt,{key:nr=""}=zn,Xn=nt(vt),$t=Object.assign(Object.assign({},wt),{selected:!0}),gn=(Gn==null?void 0:Gn.ctrlKey)||(Gn==null?void 0:Gn.metaKey),jn=Gn==null?void 0:Gn.shiftKey;let Ln;On&&gn?(Ln=Nt,Wt.current=nr,Jt.current=Ln,$t.selectedNodes=Ge(Xn,Ln)):On&&jn?(Ln=Array.from(new Set([].concat((0,Ve.Z)(Jt.current||[]),(0,Ve.Z)(Ue({treeData:Xn,expandedKeys:an,startKey:nr,endKey:Wt.current}))))),$t.selectedNodes=Ge(Xn,Ln)):(Ln=[nr],Wt.current=nr,Jt.current=Ln,$t.selectedNodes=Ge(Xn,Ln)),(rn=vt.onSelect)===null||rn===void 0||rn.call(vt,Ln,$t),"selectedKeys"in vt||Ot(Ln)},{getPrefixCls:sn,direction:dn}=Ce.useContext(le.E_),{prefixCls:Kt,className:Tt,showIcon:yt=!0,expandAction:Gt="click"}=vt,gt=Xe(vt,["prefixCls","className","showIcon","expandAction"]),St=sn("tree",Kt),Qt=de()(`${St}-directory`,{[`${St}-directory-rtl`]:dn==="rtl"},Tt);return Ce.createElement(Me,Object.assign({icon:Ye,ref:dt,blockNode:!0},gt,{showIcon:yt,expandAction:Gt,prefixCls:St,className:Qt,expandedKeys:an,selectedKeys:mn,onSelect:Tn,onExpand:Dn}))};var st=Ce.forwardRef($e);const rt=Me;rt.DirectoryTree=st,rt.TreeNode=_e.O;var ct=rt},20648:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{TM:function(){return Pe},Yk:function(){return Ee}});var _e=Oe(93083),Ve=Oe(98447),Re=Oe(17313),be=Oe(8378),Fe=Oe(37613),Ce=Oe(83116);const ve=new _e.Keyframes("ant-tree-node-fx-do-not-use",{"0%":{opacity:0},"100%":{opacity:1}}),ye=(de,ee)=>({[`.${de}-switcher-icon`]:{display:"inline-block",fontSize:10,verticalAlign:"baseline",svg:{transition:`transform ${ee.motionDurationSlow}`}}}),we=(de,ee)=>({[`.${de}-drop-indicator`]:{position:"absolute",zIndex:1,height:2,backgroundColor:ee.colorPrimary,borderRadius:1,pointerEvents:"none","&:after":{position:"absolute",top:-3,insetInlineStart:-6,width:8,height:8,backgroundColor:"transparent",border:`${ee.lineWidthBold}px solid ${ee.colorPrimary}`,borderRadius:"50%",content:'""'}}}),De=(de,ee)=>{const{treeCls:ne,treeNodeCls:le,treeNodePadding:oe,titleHeight:ce,nodeSelectedBg:he,nodeHoverBg:ie}=ee,ue=ee.paddingXS;return{[ne]:Object.assign(Object.assign({},(0,Re.Wf)(ee)),{background:ee.colorBgContainer,borderRadius:ee.borderRadius,transition:`background-color ${ee.motionDurationSlow}`,[`&${ne}-rtl`]:{[`${ne}-switcher`]:{"&_close":{[`${ne}-switcher-icon`]:{svg:{transform:"rotate(90deg)"}}}}},[`&-focused:not(:hover):not(${ne}-active-focused)`]:Object.assign({},(0,Re.oN)(ee)),[`${ne}-list-holder-inner`]:{alignItems:"flex-start"},[`&${ne}-block-node`]:{[`${ne}-list-holder-inner`]:{alignItems:"stretch",[`${ne}-node-content-wrapper`]:{flex:"auto"},[`${le}.dragging`]:{position:"relative","&:after":{position:"absolute",top:0,insetInlineEnd:0,bottom:oe,insetInlineStart:0,border:`1px solid ${ee.colorPrimary}`,opacity:0,animationName:ve,animationDuration:ee.motionDurationSlow,animationPlayState:"running",animationFillMode:"forwards",content:'""',pointerEvents:"none"}}}},[`${le}`]:{display:"flex",alignItems:"flex-start",padding:`0 0 ${oe}px 0`,outline:"none","&-rtl":{direction:"rtl"},"&-disabled":{[`${ne}-node-content-wrapper`]:{color:ee.colorTextDisabled,cursor:"not-allowed","&:hover":{background:"transparent"}}},[`&-active ${ne}-node-content-wrapper`]:Object.assign({},(0,Re.oN)(ee)),[`&:not(${le}-disabled).filter-node ${ne}-title`]:{color:"inherit",fontWeight:500},"&-draggable":{[`${ne}-draggable-icon`]:{flexShrink:0,width:ce,lineHeight:`${ce}px`,textAlign:"center",visibility:"visible",opacity:.2,transition:`opacity ${ee.motionDurationSlow}`,[`${le}:hover &`]:{opacity:.45}},[`&${le}-disabled`]:{[`${ne}-draggable-icon`]:{visibility:"hidden"}}}},[`${ne}-indent`]:{alignSelf:"stretch",whiteSpace:"nowrap",userSelect:"none","&-unit":{display:"inline-block",width:ce}},[`${ne}-draggable-icon`]:{visibility:"hidden"},[`${ne}-switcher`]:Object.assign(Object.assign({},ye(de,ee)),{position:"relative",flex:"none",alignSelf:"stretch",width:ce,margin:0,lineHeight:`${ce}px`,textAlign:"center",cursor:"pointer",userSelect:"none","&-noop":{cursor:"default"},"&_close":{[`${ne}-switcher-icon`]:{svg:{transform:"rotate(-90deg)"}}},"&-loading-icon":{color:ee.colorPrimary},"&-leaf-line":{position:"relative",zIndex:1,display:"inline-block",width:"100%",height:"100%","&:before":{position:"absolute",top:0,insetInlineEnd:ce/2,bottom:-oe,marginInlineStart:-1,borderInlineEnd:`1px solid ${ee.colorBorder}`,content:'""'},"&:after":{position:"absolute",width:ce/2*.8,height:ce/2,borderBottom:`1px solid ${ee.colorBorder}`,content:'""'}}}),[`${ne}-checkbox`]:{top:"initial",marginInlineEnd:ue},[`${ne}-node-content-wrapper, ${ne}-checkbox + span`]:{position:"relative",zIndex:"auto",minHeight:ce,margin:0,padding:`0 ${ee.paddingXS/2}px`,color:"inherit",lineHeight:`${ce}px`,background:"transparent",borderRadius:ee.borderRadius,cursor:"pointer",transition:`all ${ee.motionDurationMid}, border 0s, line-height 0s, box-shadow 0s`,"&:hover":{backgroundColor:ie},[`&${ne}-node-selected`]:{backgroundColor:he},[`${ne}-iconEle`]:{display:"inline-block",width:ce,height:ce,lineHeight:`${ce}px`,textAlign:"center",verticalAlign:"top","&:empty":{display:"none"}}},[`${ne}-unselectable ${ne}-node-content-wrapper:hover`]:{backgroundColor:"transparent"},[`${ne}-node-content-wrapper`]:Object.assign({lineHeight:`${ce}px`,userSelect:"none"},we(de,ee)),[`${le}.drop-container`]:{"> [draggable]":{boxShadow:`0 0 0 2px ${ee.colorPrimary}`}},"&-show-line":{[`${ne}-indent`]:{"&-unit":{position:"relative",height:"100%","&:before":{position:"absolute",top:0,insetInlineEnd:ce/2,bottom:-oe,borderInlineEnd:`1px solid ${ee.colorBorder}`,content:'""'},"&-end":{"&:before":{display:"none"}}}},[`${ne}-switcher`]:{background:"transparent","&-line-icon":{verticalAlign:"-0.15em"}}},[`${le}-leaf-last`]:{[`${ne}-switcher`]:{"&-leaf-line":{"&:before":{top:"auto !important",bottom:"auto !important",height:`${ce/2}px !important`}}}}})}},pe=de=>{const{treeCls:ee,treeNodeCls:ne,treeNodePadding:le,directoryNodeSelectedBg:oe,directoryNodeSelectedColor:ce}=de;return{[`${ee}${ee}-directory`]:{[ne]:{position:"relative","&:before":{position:"absolute",top:0,insetInlineEnd:0,bottom:le,insetInlineStart:0,transition:`background-color ${de.motionDurationMid}`,content:'""',pointerEvents:"none"},"&:hover":{"&:before":{background:de.controlItemBgHover}},"> *":{zIndex:1},[`${ee}-switcher`]:{transition:`color ${de.motionDurationMid}`},[`${ee}-node-content-wrapper`]:{borderRadius:0,userSelect:"none","&:hover":{background:"transparent"},[`&${ee}-node-selected`]:{color:ce,background:"transparent"}},"&-selected":{"\n &:hover::before,\n &::before\n ":{background:oe},[`${ee}-switcher`]:{color:ce},[`${ee}-node-content-wrapper`]:{color:ce,background:"transparent"}}}}}},Ee=(de,ee)=>{const ne=`.${de}`,le=`${ne}-treenode`,oe=ee.paddingXS/2,ce=(0,Fe.TS)(ee,{treeCls:ne,treeNodeCls:le,treeNodePadding:oe});return[De(de,ce),pe(ce)]},Pe=de=>{const{controlHeightSM:ee}=de;return{titleHeight:ee,nodeHoverBg:de.controlItemBgHover,nodeSelectedBg:de.controlItemBgActive}};Mt.ZP=(0,Ce.Z)("Tree",(de,ee)=>{let{prefixCls:ne}=ee;return[{[de.componentCls]:(0,Ve.C2)(`${ne}-checkbox`,de)},Ee(ne,de),(0,be.Z)(de)]},de=>{const{colorTextLightSolid:ee,colorPrimary:ne}=de;return Object.assign(Object.assign({},Pe(de)),{directoryNodeSelectedColor:ee,directoryNodeSelectedBg:ne})})},71997:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return le}});var _e=Oe(92413),Ve=Oe(59301),Re={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"}}]},name:"caret-down",theme:"filled"},be=Re,Fe=Oe(7657),Ce=function(ce,he){return Ve.createElement(Fe.Z,(0,_e.Z)({},ce,{ref:he,icon:be}))},ve=Ve.forwardRef(Ce),ye=ve,we=Oe(52671),De=Oe(58617),pe=Oe(15075),Ee=Oe(43531),Pe=Oe(92310),de=Oe.n(Pe),ee=Oe(92343),le=oe=>{const{prefixCls:ce,switcherIcon:he,treeNodeProps:ie,showLine:ue}=oe,{isLeaf:ge,expanded:xe,loading:Me}=ie;if(Me)return Ve.createElement(De.Z,{className:`${ce}-switcher-loading-icon`});let Be;if(ue&&typeof ue=="object"&&(Be=ue.showLeafIcon),ge){if(!ue)return null;if(typeof Be!="boolean"&&Be){const Ge=typeof Be=="function"?Be(ie):Be,Xe=`${ce}-switcher-line-custom-icon`;return(0,ee.l$)(Ge)?(0,ee.Tm)(Ge,{className:de()(Ge.props.className||"",Xe)}):Ge}return Be?Ve.createElement(we.Z,{className:`${ce}-switcher-line-icon`}):Ve.createElement("span",{className:`${ce}-switcher-leaf-line`})}const Ne=`${ce}-switcher-icon`,Ue=typeof he=="function"?he(ie):he;return(0,ee.l$)(Ue)?(0,ee.Tm)(Ue,{className:de()(Ue.props.className||"",Ne)}):Ue!==void 0?Ue:ue?xe?Ve.createElement(pe.Z,{className:`${ce}-switcher-line-icon`}):Ve.createElement(Ee.Z,{className:`${ce}-switcher-line-icon`}):Ve.createElement(ye,{className:Ne})}},54580:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{default:function(){return pn}});var _e=Oe(59301),Ve=Oe(26407),Re=Oe(92310),be=Oe.n(Re),Fe=Oe(92413),Ce=Oe(6909),ve=Oe(4771),ye=Oe(9427),we=Oe(25440),De=Oe(400),pe=Oe(37061),Ee=Oe(85195),Pe=Oe(39559),de=Oe(20569),ee=Oe(26112);function ne(nn,Bn){var Hn="cannot ".concat(nn.method," ").concat(nn.action," ").concat(Bn.status,"'"),fr=new Error(Hn);return fr.status=Bn.status,fr.method=nn.method,fr.url=nn.action,fr}function le(nn){var Bn=nn.responseText||nn.response;if(!Bn)return Bn;try{return JSON.parse(Bn)}catch(Hn){return Bn}}function oe(nn){var Bn=new XMLHttpRequest;nn.onProgress&&Bn.upload&&(Bn.upload.onprogress=function(tr){tr.total>0&&(tr.percent=tr.loaded/tr.total*100),nn.onProgress(tr)});var Hn=new FormData;nn.data&&Object.keys(nn.data).forEach(function(br){var tr=nn.data[br];if(Array.isArray(tr)){tr.forEach(function(hr){Hn.append("".concat(br,"[]"),hr)});return}Hn.append(br,tr)}),nn.file instanceof Blob?Hn.append(nn.filename,nn.file,nn.file.name):Hn.append(nn.filename,nn.file),Bn.onerror=function(tr){nn.onError(tr)},Bn.onload=function(){return Bn.status<200||Bn.status>=300?nn.onError(ne(nn,Bn),le(Bn)):nn.onSuccess(le(Bn),Bn)},Bn.open(nn.method,nn.action,!0),nn.withCredentials&&"withCredentials"in Bn&&(Bn.withCredentials=!0);var fr=nn.headers||{};return fr["X-Requested-With"]!==null&&Bn.setRequestHeader("X-Requested-With","XMLHttpRequest"),Object.keys(fr).forEach(function(br){fr[br]!==null&&Bn.setRequestHeader(br,fr[br])}),Bn.send(Hn),{abort:function(){Bn.abort()}}}var ce=+new Date,he=0;function ie(){return"rc-upload-".concat(ce,"-").concat(++he)}var ue=Oe(48736),ge=function(nn,Bn){if(nn&&Bn){var Hn=Array.isArray(Bn)?Bn:Bn.split(","),fr=nn.name||"",br=nn.type||"",tr=br.replace(/\/.*$/,"");return Hn.some(function(hr){var vr=hr.trim();if(/^\*(\/\*)?$/.test(hr))return!0;if(vr.charAt(0)==="."){var Nn=fr.toLowerCase(),xr=vr.toLowerCase(),Jn=[xr];return(xr===".jpg"||xr===".jpeg")&&(Jn=[".jpg",".jpeg"]),Jn.some(function(Nr){return Nn.endsWith(Nr)})}return/\/\*$/.test(vr)?tr===vr.replace(/\/.*$/,""):br===vr?!0:/^\w+$/.test(vr)?((0,ue.ZP)(!1,"Upload takes an invalidate 'accept' type '".concat(vr,"'.Skip for check.")),!0):!1})}return!0};function xe(nn,Bn){var Hn=nn.createReader(),fr=[];function br(){Hn.readEntries(function(tr){var hr=Array.prototype.slice.apply(tr);fr=fr.concat(hr);var vr=!hr.length;vr?Bn(fr):br()})}br()}var Me=function(Bn,Hn,fr){var br=function tr(hr,vr){hr&&(hr.path=vr||"",hr.isFile?hr.file(function(Nn){fr(Nn)&&(hr.fullPath&&!Nn.webkitRelativePath&&(Object.defineProperties(Nn,{webkitRelativePath:{writable:!0}}),Nn.webkitRelativePath=hr.fullPath.replace(/^\//,""),Object.defineProperties(Nn,{webkitRelativePath:{writable:!1}})),Hn([Nn]))}):hr.isDirectory&&xe(hr,function(Nn){Nn.forEach(function(xr){tr(xr,"".concat(vr).concat(hr.name,"/"))})}))};Bn.forEach(function(tr){br(tr.webkitGetAsEntry())})},Be=Me,Ne=["component","prefixCls","className","disabled","id","style","multiple","accept","capture","children","directory","openFileDialogOnClick","onMouseEnter","onMouseLeave"],Ue=function(nn){(0,ye.Z)(Hn,nn);var Bn=(0,we.Z)(Hn);function Hn(){var fr;(0,Ce.Z)(this,Hn);for(var br=arguments.length,tr=new Array(br),hr=0;hr<br;hr++)tr[hr]=arguments[hr];return fr=Bn.call.apply(Bn,[this].concat(tr)),fr.state={uid:ie()},fr.reqs={},fr.fileInput=void 0,fr._isMounted=void 0,fr.onChange=function(vr){var Nn=fr.props,xr=Nn.accept,Jn=Nn.directory,Nr=vr.target.files,Xa=(0,Ve.Z)(Nr).filter(function($a){return!Jn||ge($a,xr)});fr.uploadFiles(Xa),fr.reset()},fr.onClick=function(vr){var Nn=fr.fileInput;if(Nn){var xr=vr.target,Jn=fr.props.onClick;if(xr&&xr.tagName==="BUTTON"){var Nr=Nn.parentNode;Nr.focus(),xr.blur()}Nn.click(),Jn&&Jn(vr)}},fr.onKeyDown=function(vr){vr.key==="Enter"&&fr.onClick(vr)},fr.onFileDrop=function(vr){var Nn=fr.props.multiple;if(vr.preventDefault(),vr.type!=="dragover")if(fr.props.directory)Be(Array.prototype.slice.call(vr.dataTransfer.items),fr.uploadFiles,function(Jn){return ge(Jn,fr.props.accept)});else{var xr=(0,Ve.Z)(vr.dataTransfer.files).filter(function(Jn){return ge(Jn,fr.props.accept)});Nn===!1&&(xr=xr.slice(0,1)),fr.uploadFiles(xr)}},fr.uploadFiles=function(vr){var Nn=(0,Ve.Z)(vr),xr=Nn.map(function(Jn){return Jn.uid=ie(),fr.processFile(Jn,Nn)});Promise.all(xr).then(function(Jn){var Nr=fr.props.onBatchStart;Nr==null||Nr(Jn.map(function(Xa){var $a=Xa.origin,ai=Xa.parsedFile;return{file:$a,parsedFile:ai}})),Jn.filter(function(Xa){return Xa.parsedFile!==null}).forEach(function(Xa){fr.post(Xa)})})},fr.processFile=function(){var vr=(0,de.Z)((0,Ee.Z)().mark(function Nn(xr,Jn){var Nr,Xa,$a,ai,Zr,ua,Da,sa,Ja;return(0,Ee.Z)().wrap(function(Na){for(;;)switch(Na.prev=Na.next){case 0:if(Nr=fr.props.beforeUpload,Xa=xr,!Nr){Na.next=14;break}return Na.prev=3,Na.next=6,Nr(xr,Jn);case 6:Xa=Na.sent,Na.next=12;break;case 9:Na.prev=9,Na.t0=Na.catch(3),Xa=!1;case 12:if(Xa!==!1){Na.next=14;break}return Na.abrupt("return",{origin:xr,parsedFile:null,action:null,data:null});case 14:if($a=fr.props.action,typeof $a!="function"){Na.next=21;break}return Na.next=18,$a(xr);case 18:ai=Na.sent,Na.next=22;break;case 21:ai=$a;case 22:if(Zr=fr.props.data,typeof Zr!="function"){Na.next=29;break}return Na.next=26,Zr(xr);case 26:ua=Na.sent,Na.next=30;break;case 29:ua=Zr;case 30:return Da=((0,Pe.Z)(Xa)==="object"||typeof Xa=="string")&&Xa?Xa:xr,Da instanceof File?sa=Da:sa=new File([Da],xr.name,{type:xr.type}),Ja=sa,Ja.uid=xr.uid,Na.abrupt("return",{origin:xr,data:ua,parsedFile:Ja,action:ai});case 35:case"end":return Na.stop()}},Nn,null,[[3,9]])}));return function(Nn,xr){return vr.apply(this,arguments)}}(),fr.saveFileInput=function(vr){fr.fileInput=vr},fr}return(0,ve.Z)(Hn,[{key:"componentDidMount",value:function(){this._isMounted=!0}},{key:"componentWillUnmount",value:function(){this._isMounted=!1,this.abort()}},{key:"post",value:function(br){var tr=this,hr=br.data,vr=br.origin,Nn=br.action,xr=br.parsedFile;if(this._isMounted){var Jn=this.props,Nr=Jn.onStart,Xa=Jn.customRequest,$a=Jn.name,ai=Jn.headers,Zr=Jn.withCredentials,ua=Jn.method,Da=vr.uid,sa=Xa||oe,Ja={action:Nn,filename:$a,data:hr,file:xr,headers:ai,withCredentials:Zr,method:ua||"post",onProgress:function(Na){var Ti=tr.props.onProgress;Ti==null||Ti(Na,xr)},onSuccess:function(Na,Ti){var ji=tr.props.onSuccess;ji==null||ji(Na,xr,Ti),delete tr.reqs[Da]},onError:function(Na,Ti){var ji=tr.props.onError;ji==null||ji(Na,Ti,xr),delete tr.reqs[Da]}};Nr(vr),this.reqs[Da]=sa(Ja)}}},{key:"reset",value:function(){this.setState({uid:ie()})}},{key:"abort",value:function(br){var tr=this.reqs;if(br){var hr=br.uid?br.uid:br;tr[hr]&&tr[hr].abort&&tr[hr].abort(),delete tr[hr]}else Object.keys(tr).forEach(function(vr){tr[vr]&&tr[vr].abort&&tr[vr].abort(),delete tr[vr]})}},{key:"render",value:function(){var br=this.props,tr=br.component,hr=br.prefixCls,vr=br.className,Nn=br.disabled,xr=br.id,Jn=br.style,Nr=br.multiple,Xa=br.accept,$a=br.capture,ai=br.children,Zr=br.directory,ua=br.openFileDialogOnClick,Da=br.onMouseEnter,sa=br.onMouseLeave,Ja=(0,pe.Z)(br,Ne),Li=be()((0,De.Z)((0,De.Z)((0,De.Z)({},hr,!0),"".concat(hr,"-disabled"),Nn),vr,vr)),Na=Zr?{directory:"directory",webkitdirectory:"webkitdirectory"}:{},Ti=Nn?{}:{onClick:ua?this.onClick:function(){},onKeyDown:ua?this.onKeyDown:function(){},onMouseEnter:Da,onMouseLeave:sa,onDrop:this.onFileDrop,onDragOver:this.onFileDrop,tabIndex:"0"};return _e.createElement(tr,(0,Fe.Z)({},Ti,{className:Li,role:"button",style:Jn}),_e.createElement("input",(0,Fe.Z)({},(0,ee.Z)(Ja,{aria:!0,data:!0}),{id:xr,disabled:Nn,type:"file",ref:this.saveFileInput,onClick:function(Ao){return Ao.stopPropagation()},key:this.state.uid,style:{display:"none"},accept:Xa},Na,{multiple:Nr,onChange:this.onChange},$a!=null?{capture:$a}:{})),ai)}}]),Hn}(_e.Component),Ge=Ue;function Xe(){}var Ye=function(nn){(0,ye.Z)(Hn,nn);var Bn=(0,we.Z)(Hn);function Hn(){var fr;(0,Ce.Z)(this,Hn);for(var br=arguments.length,tr=new Array(br),hr=0;hr<br;hr++)tr[hr]=arguments[hr];return fr=Bn.call.apply(Bn,[this].concat(tr)),fr.uploader=void 0,fr.saveUploader=function(vr){fr.uploader=vr},fr}return(0,ve.Z)(Hn,[{key:"abort",value:function(br){this.uploader.abort(br)}},{key:"render",value:function(){return _e.createElement(Ge,(0,Fe.Z)({},this.props,{ref:this.saveUploader}))}}]),Hn}(_e.Component);Ye.defaultProps={component:"span",prefixCls:"rc-upload",data:{},headers:{},name:"file",multipart:!1,onStart:Xe,onError:Xe,onSuccess:Xe,multiple:!1,beforeUpload:null,customRequest:null,withCredentials:!1,openFileDialogOnClick:!0};var nt=Ye,$e=nt,qe=Oe(18929),st=Oe(4676),rt=Oe(36355),ct=Oe(1684),tt=Oe(9763),dt=Oe(31724),At={icon:function(Bn,Hn){return{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M534 352V136H232v752h560V394H576a42 42 0 01-42-42z",fill:Hn}},{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z",fill:Bn}}]}},name:"file",theme:"twotone"},mt=At,ht=Oe(7657),vt=function(Bn,Hn){return _e.createElement(ht.Z,(0,Fe.Z)({},Bn,{ref:Hn,icon:mt}))},Wt=_e.forwardRef(vt),Jt=Wt,en=Oe(58617),mn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M779.3 196.6c-94.2-94.2-247.6-94.2-341.7 0l-261 260.8c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l261-260.8c32.4-32.4 75.5-50.2 121.3-50.2s88.9 17.8 121.2 50.2c32.4 32.4 50.2 75.5 50.2 121.2 0 45.8-17.8 88.8-50.2 121.2l-266 265.9-43.1 43.1c-40.3 40.3-105.8 40.3-146.1 0-19.5-19.5-30.2-45.4-30.2-73s10.7-53.5 30.2-73l263.9-263.8c6.7-6.6 15.5-10.3 24.9-10.3h.1c9.4 0 18.1 3.7 24.7 10.3 6.7 6.7 10.3 15.5 10.3 24.9 0 9.3-3.7 18.1-10.3 24.7L372.4 653c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l215.6-215.6c19.9-19.9 30.8-46.3 30.8-74.4s-11-54.6-30.8-74.4c-41.1-41.1-107.9-41-149 0L463 364 224.8 602.1A172.22 172.22 0 00174 724.8c0 46.3 18.1 89.8 50.8 122.5 33.9 33.8 78.3 50.7 122.7 50.7 44.4 0 88.8-16.9 122.6-50.7l309.2-309C824.8 492.7 850 432 850 367.5c.1-64.6-25.1-125.3-70.7-170.9z"}}]},name:"paper-clip",theme:"outlined"},Ot=mn,an=function(Bn,Hn){return _e.createElement(ht.Z,(0,Fe.Z)({},Bn,{ref:Hn,icon:Ot}))},tn=_e.forwardRef(an),Dn=tn,Tn={icon:function(Bn,Hn){return{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2z",fill:Bn}},{tag:"path",attrs:{d:"M424.6 765.8l-150.1-178L136 752.1V792h752v-30.4L658.1 489z",fill:Hn}},{tag:"path",attrs:{d:"M136 652.7l132.4-157c3.2-3.8 9-3.8 12.2 0l144 170.7L652 396.8c3.2-3.8 9-3.8 12.2 0L888 662.2V232H136v420.7zM304 280a88 88 0 110 176 88 88 0 010-176z",fill:Hn}},{tag:"path",attrs:{d:"M276 368a28 28 0 1056 0 28 28 0 10-56 0z",fill:Hn}},{tag:"path",attrs:{d:"M304 456a88 88 0 100-176 88 88 0 000 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z",fill:Bn}}]}},name:"picture",theme:"twotone"},sn=Tn,dn=function(Bn,Hn){return _e.createElement(ht.Z,(0,Fe.Z)({},Bn,{ref:Hn,icon:sn}))},Kt=_e.forwardRef(dn),Tt=Kt,yt=Oe(77900),Gt=Oe(56762),gt=Oe(62892),St=Oe(92343),Qt=Oe(3113);function Nt(nn){return Object.assign(Object.assign({},nn),{lastModified:nn.lastModified,lastModifiedDate:nn.lastModifiedDate,name:nn.name,size:nn.size,type:nn.type,uid:nn.uid,percent:0,originFileObj:nn})}function wt(nn,Bn){const Hn=(0,Ve.Z)(Bn),fr=Hn.findIndex(br=>{let{uid:tr}=br;return tr===nn.uid});return fr===-1?Hn.push(nn):Hn[fr]=nn,Hn}function rn(nn,Bn){const Hn=nn.uid!==void 0?"uid":"name";return Bn.filter(fr=>fr[Hn]===nn[Hn])[0]}function On(nn,Bn){const Hn=nn.uid!==void 0?"uid":"name",fr=Bn.filter(br=>br[Hn]!==nn[Hn]);return fr.length===Bn.length?null:fr}const zn=function(){const Bn=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:"").split("/"),fr=Bn[Bn.length-1].split(/#|\?/)[0];return(/\.[^./\\]*$/.exec(fr)||[""])[0]},Gn=nn=>nn.indexOf("image/")===0,nr=nn=>{if(nn.type&&!nn.thumbUrl)return Gn(nn.type);const Bn=nn.thumbUrl||nn.url||"",Hn=zn(Bn);return/^data:image\//.test(Bn)||/(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico|heic|heif)$/i.test(Hn)?!0:!(/^data:/.test(Bn)||Hn)},Xn=200;function $t(nn){return new Promise(Bn=>{if(!nn.type||!Gn(nn.type)){Bn("");return}const Hn=document.createElement("canvas");Hn.width=Xn,Hn.height=Xn,Hn.style.cssText=`position: fixed; left: 0; top: 0; width: ${Xn}px; height: ${Xn}px; z-index: 9999; display: none;`,document.body.appendChild(Hn);const fr=Hn.getContext("2d"),br=new Image;if(br.onload=()=>{const{width:tr,height:hr}=br;let vr=Xn,Nn=Xn,xr=0,Jn=0;tr>hr?(Nn=hr*(Xn/tr),Jn=-(Nn-vr)/2):(vr=tr*(Xn/hr),xr=-(vr-Nn)/2),fr.drawImage(br,xr,Jn,vr,Nn);const Nr=Hn.toDataURL();document.body.removeChild(Hn),window.URL.revokeObjectURL(br.src),Bn(Nr)},br.crossOrigin="anonymous",nn.type.startsWith("image/svg+xml")){const tr=new FileReader;tr.onload=()=>{tr.result&&(br.src=tr.result)},tr.readAsDataURL(nn)}else if(nn.type.startsWith("image/gif")){const tr=new FileReader;tr.onload=()=>{tr.result&&Bn(tr.result)},tr.readAsDataURL(nn)}else br.src=window.URL.createObjectURL(nn)})}var gn=Oe(26227),jn=Oe(41464),Ln=Oe(15277),Sr=Oe(93948),Ur=Oe(6848),Gr=_e.forwardRef((nn,Bn)=>{let{prefixCls:Hn,className:fr,style:br,locale:tr,listType:hr,file:vr,items:Nn,progress:xr,iconRender:Jn,actionIconRender:Nr,itemRender:Xa,isImgUrl:$a,showPreviewIcon:ai,showRemoveIcon:Zr,showDownloadIcon:ua,previewIcon:Da,removeIcon:sa,downloadIcon:Ja,onPreview:Li,onDownload:Na,onClose:Ti}=nn;var ji,Ao;const{status:uo}=vr,[Os,zo]=_e.useState(uo);_e.useEffect(()=>{uo!=="removed"&&zo(uo)},[uo]);const[po,qo]=_e.useState(!1);_e.useEffect(()=>{const Ds=setTimeout(()=>{qo(!0)},300);return()=>{clearTimeout(Ds)}},[]);const Uo=Jn(vr);let Wo=_e.createElement("div",{className:`${Hn}-icon`},Uo);if(hr==="picture"||hr==="picture-card"||hr==="picture-circle")if(Os==="uploading"||!vr.thumbUrl&&!vr.url){const Ds=be()(`${Hn}-list-item-thumbnail`,{[`${Hn}-list-item-file`]:Os!=="uploading"});Wo=_e.createElement("div",{className:Ds},Uo)}else{const Ds=$a!=null&&$a(vr)?_e.createElement("img",{src:vr.thumbUrl||vr.url,alt:vr.name,className:`${Hn}-list-item-image`,crossOrigin:vr.crossOrigin}):Uo,vs=be()(`${Hn}-list-item-thumbnail`,{[`${Hn}-list-item-file`]:$a&&!$a(vr)});Wo=_e.createElement("a",{className:vs,onClick:Fl=>Li(vr,Fl),href:vr.url||vr.thumbUrl,target:"_blank",rel:"noopener noreferrer"},Ds)}const Qr=be()(`${Hn}-list-item`,`${Hn}-list-item-${Os}`),jo=typeof vr.linkProps=="string"?JSON.parse(vr.linkProps):vr.linkProps,Ms=Zr?Nr((typeof sa=="function"?sa(vr):sa)||_e.createElement(gn.Z,null),()=>Ti(vr),Hn,tr.removeFile):null,js=ua&&Os==="done"?Nr((typeof Ja=="function"?Ja(vr):Ja)||_e.createElement(jn.Z,null),()=>Na(vr),Hn,tr.downloadFile):null,yo=hr!=="picture-card"&&hr!=="picture-circle"&&_e.createElement("span",{key:"download-delete",className:be()(`${Hn}-list-item-actions`,{picture:hr==="picture"})},js,Ms),ki=be()(`${Hn}-list-item-name`),Gs=vr.url?[_e.createElement("a",Object.assign({key:"view",target:"_blank",rel:"noopener noreferrer",className:ki,title:vr.name},jo,{href:vr.url,onClick:Ds=>Li(vr,Ds)}),vr.name),yo]:[_e.createElement("span",{key:"view",className:ki,onClick:Ds=>Li(vr,Ds),title:vr.name},vr.name),yo],$i={pointerEvents:"none",opacity:.5},Go=ai?_e.createElement("a",{href:vr.url||vr.thumbUrl,target:"_blank",rel:"noopener noreferrer",style:vr.url||vr.thumbUrl?void 0:$i,onClick:Ds=>Li(vr,Ds),title:tr.previewFile},typeof Da=="function"?Da(vr):Da||_e.createElement(Ln.Z,null)):null,No=(hr==="picture-card"||hr==="picture-circle")&&Os!=="uploading"&&_e.createElement("span",{className:`${Hn}-list-item-actions`},Go,Os==="done"&&js,Ms),{getPrefixCls:Cs}=_e.useContext(rt.E_),tl=Cs(),nl=_e.createElement("div",{className:Qr},Wo,Gs,No,po&&_e.createElement(yt.default,{motionName:`${tl}-fade`,visible:Os==="uploading",motionDeadline:2e3},Ds=>{let{className:vs}=Ds;const Fl="percent"in vr?_e.createElement(Sr.Z,Object.assign({},xr,{type:"line",percent:vr.percent,"aria-label":vr["aria-label"],"aria-labelledby":vr["aria-labelledby"]})):null;return _e.createElement("div",{className:be()(`${Hn}-list-item-progress`,vs)},Fl)})),hu=vr.response&&typeof vr.response=="string"?vr.response:((ji=vr.error)===null||ji===void 0?void 0:ji.statusText)||((Ao=vr.error)===null||Ao===void 0?void 0:Ao.message)||tr.uploadError,_l=Os==="error"?_e.createElement(Ur.Z,{title:hu,getPopupContainer:Ds=>Ds.parentNode},nl):nl;return _e.createElement("div",{className:be()(`${Hn}-list-item-container`,fr),style:br,ref:Bn},Xa?Xa(_l,vr,Nn,{download:Na.bind(null,vr),preview:Li.bind(null,vr),remove:Ti.bind(null,vr)}):_l)});const ma=(nn,Bn)=>{const{listType:Hn="text",previewFile:fr=$t,onPreview:br,onDownload:tr,onRemove:hr,locale:vr,iconRender:Nn,isImageUrl:xr=nr,prefixCls:Jn,items:Nr=[],showPreviewIcon:Xa=!0,showRemoveIcon:$a=!0,showDownloadIcon:ai=!1,removeIcon:Zr,previewIcon:ua,downloadIcon:Da,progress:sa={size:[-1,2],showInfo:!1},appendAction:Ja,appendActionVisible:Li=!0,itemRender:Na,disabled:Ti}=nn,ji=(0,Gt.Z)(),[Ao,uo]=_e.useState(!1);_e.useEffect(()=>{Hn!=="picture"&&Hn!=="picture-card"&&Hn!=="picture-circle"||(Nr||[]).forEach($i=>{typeof document=="undefined"||typeof window=="undefined"||!window.FileReader||!window.File||!($i.originFileObj instanceof File||$i.originFileObj instanceof Blob)||$i.thumbUrl!==void 0||($i.thumbUrl="",fr&&fr($i.originFileObj).then(Go=>{$i.thumbUrl=Go||"",ji()}))})},[Hn,Nr,fr]),_e.useEffect(()=>{uo(!0)},[]);const Os=($i,Go)=>{if(br)return Go==null||Go.preventDefault(),br($i)},zo=$i=>{typeof tr=="function"?tr($i):$i.url&&window.open($i.url)},po=$i=>{hr==null||hr($i)},qo=$i=>{if(Nn)return Nn($i,Hn);const Go=$i.status==="uploading",No=xr&&xr($i)?_e.createElement(Tt,null):_e.createElement(Jt,null);let Cs=Go?_e.createElement(en.Z,null):_e.createElement(Dn,null);return Hn==="picture"?Cs=Go?_e.createElement(en.Z,null):No:(Hn==="picture-card"||Hn==="picture-circle")&&(Cs=Go?vr.uploading:No),Cs},Uo=($i,Go,No,Cs)=>{const tl={type:"text",size:"small",title:Cs,onClick:nl=>{Go(),(0,St.l$)($i)&&$i.props.onClick&&$i.props.onClick(nl)},className:`${No}-list-item-action`,disabled:Ti};if((0,St.l$)($i)){const nl=(0,St.Tm)($i,Object.assign(Object.assign({},$i.props),{onClick:()=>{}}));return _e.createElement(Qt.ZP,Object.assign({},tl,{icon:nl}))}return _e.createElement(Qt.ZP,Object.assign({},tl),_e.createElement("span",null,$i))};_e.useImperativeHandle(Bn,()=>({handlePreview:Os,handleDownload:zo}));const{getPrefixCls:Wo}=_e.useContext(rt.E_),Qr=Wo("upload",Jn),jo=Wo(),Ms=be()(`${Qr}-list`,`${Qr}-list-${Hn}`),js=(0,Ve.Z)(Nr.map($i=>({key:$i.uid,file:$i})));let ki={motionDeadline:2e3,motionName:`${Qr}-${Hn==="picture-card"||Hn==="picture-circle"?"animate-inline":"animate"}`,keys:js,motionAppear:Ao};const Gs=_e.useMemo(()=>{const $i=Object.assign({},(0,gt.Z)(jo));return delete $i.onAppearEnd,delete $i.onEnterEnd,delete $i.onLeaveEnd,$i},[jo]);return Hn!=="picture-card"&&Hn!=="picture-circle"&&(ki=Object.assign(Object.assign({},Gs),ki)),_e.createElement("div",{className:Ms},_e.createElement(yt.CSSMotionList,Object.assign({},ki,{component:!1}),$i=>{let{key:Go,file:No,className:Cs,style:tl}=$i;return _e.createElement(Gr,{key:Go,locale:vr,prefixCls:Qr,className:Cs,style:tl,file:No,items:Nr,progress:sa,listType:Hn,isImgUrl:xr,showPreviewIcon:Xa,showRemoveIcon:$a,showDownloadIcon:ai,removeIcon:Zr,previewIcon:ua,downloadIcon:Da,iconRender:qo,actionIconRender:Uo,itemRender:Na,onPreview:Os,onDownload:zo,onClose:po})}),Ja&&_e.createElement(yt.default,Object.assign({},ki,{visible:Li,forceRender:!0}),$i=>{let{className:Go,style:No}=$i;return(0,St.Tm)(Ja,Cs=>({className:be()(Cs.className,Go),style:Object.assign(Object.assign(Object.assign({},No),{pointerEvents:Go?"none":void 0}),Cs.style)}))}))};var Ea=_e.forwardRef(ma),Ma=Oe(17313),li=Oe(8378),di=Oe(83116),Hr=Oe(37613),Ha=nn=>{const{componentCls:Bn,iconCls:Hn}=nn;return{[`${Bn}-wrapper`]:{[`${Bn}-drag`]:{position:"relative",width:"100%",height:"100%",textAlign:"center",background:nn.colorFillAlter,border:`${nn.lineWidth}px dashed ${nn.colorBorder}`,borderRadius:nn.borderRadiusLG,cursor:"pointer",transition:`border-color ${nn.motionDurationSlow}`,[Bn]:{padding:`${nn.padding}px 0`},[`${Bn}-btn`]:{display:"table",width:"100%",height:"100%",outline:"none"},[`${Bn}-drag-container`]:{display:"table-cell",verticalAlign:"middle"},[`&:not(${Bn}-disabled):hover`]:{borderColor:nn.colorPrimaryHover},[`p${Bn}-drag-icon`]:{marginBottom:nn.margin,[Hn]:{color:nn.colorPrimary,fontSize:nn.uploadThumbnailSize}},[`p${Bn}-text`]:{margin:`0 0 ${nn.marginXXS}px`,color:nn.colorTextHeading,fontSize:nn.fontSizeLG},[`p${Bn}-hint`]:{color:nn.colorTextDescription,fontSize:nn.fontSize},[`&${Bn}-disabled`]:{cursor:"not-allowed",[`p${Bn}-drag-icon ${Hn},
|
|
|
p${Bn}-text,
|
|
|
p${Bn}-hint
|
|
|
`]:{color:nn.colorTextDisabled}}}}}},pr=nn=>{const{componentCls:Bn,antCls:Hn,iconCls:fr,fontSize:br,lineHeight:tr}=nn,hr=`${Bn}-list-item`,vr=`${hr}-actions`,Nn=`${hr}-action`,xr=Math.round(br*tr);return{[`${Bn}-wrapper`]:{[`${Bn}-list`]:Object.assign(Object.assign({},(0,Ma.dF)()),{lineHeight:nn.lineHeight,[hr]:{position:"relative",height:nn.lineHeight*br,marginTop:nn.marginXS,fontSize:br,display:"flex",alignItems:"center",transition:`background-color ${nn.motionDurationSlow}`,"&:hover":{backgroundColor:nn.controlItemBgHover},[`${hr}-name`]:Object.assign(Object.assign({},Ma.vS),{padding:`0 ${nn.paddingXS}px`,lineHeight:tr,flex:"auto",transition:`all ${nn.motionDurationSlow}`}),[vr]:{[Nn]:{opacity:0},[`${Nn}${Hn}-btn-sm`]:{height:xr,border:0,lineHeight:1,"> span":{transform:"scale(1)"}},[`
|
|
|
${Nn}:focus-visible,
|
|
|
&.picture ${Nn}
|
|
|
`]:{opacity:1},[fr]:{color:nn.actionsColor,transition:`all ${nn.motionDurationSlow}`},[`&:hover ${fr}`]:{color:nn.colorText}},[`${Bn}-icon ${fr}`]:{color:nn.colorTextDescription,fontSize:br},[`${hr}-progress`]:{position:"absolute",bottom:-nn.uploadProgressOffset,width:"100%",paddingInlineStart:br+nn.paddingXS,fontSize:br,lineHeight:0,pointerEvents:"none","> div":{margin:0}}},[`${hr}:hover ${Nn}`]:{opacity:1,color:nn.colorText},[`${hr}-error`]:{color:nn.colorError,[`${hr}-name, ${Bn}-icon ${fr}`]:{color:nn.colorError},[vr]:{[`${fr}, ${fr}:hover`]:{color:nn.colorError},[Nn]:{opacity:1}}},[`${Bn}-list-item-container`]:{transition:`opacity ${nn.motionDurationSlow}, height ${nn.motionDurationSlow}`,"&::before":{display:"table",width:0,height:0,content:'""'}}})}}},Qa=Oe(93083),hn=Oe(1950);const kn=new Qa.Keyframes("uploadAnimateInlineIn",{from:{width:0,height:0,margin:0,padding:0,opacity:0}}),ar=new Qa.Keyframes("uploadAnimateInlineOut",{to:{width:0,height:0,margin:0,padding:0,opacity:0}});var Fr=nn=>{const{componentCls:Bn}=nn,Hn=`${Bn}-animate-inline`;return[{[`${Bn}-wrapper`]:{[`${Hn}-appear, ${Hn}-enter, ${Hn}-leave`]:{animationDuration:nn.motionDurationSlow,animationTimingFunction:nn.motionEaseInOutCirc,animationFillMode:"forwards"},[`${Hn}-appear, ${Hn}-enter`]:{animationName:kn},[`${Hn}-leave`]:{animationName:ar}}},{[`${Bn}-wrapper`]:(0,hn.J$)(nn)},kn,ar]},pt=Oe(93398),Ae=Oe(64993);const Le=nn=>{const{componentCls:Bn,iconCls:Hn,uploadThumbnailSize:fr,uploadProgressOffset:br}=nn,tr=`${Bn}-list`,hr=`${tr}-item`;return{[`${Bn}-wrapper`]:{[`
|
|
|
${tr}${tr}-picture,
|
|
|
${tr}${tr}-picture-card,
|
|
|
${tr}${tr}-picture-circle
|
|
|
`]:{[hr]:{position:"relative",height:fr+nn.lineWidth*2+nn.paddingXS*2,padding:nn.paddingXS,border:`${nn.lineWidth}px ${nn.lineType} ${nn.colorBorder}`,borderRadius:nn.borderRadiusLG,"&:hover":{background:"transparent"},[`${hr}-thumbnail`]:Object.assign(Object.assign({},Ma.vS),{width:fr,height:fr,lineHeight:`${fr+nn.paddingSM}px`,textAlign:"center",flex:"none",[Hn]:{fontSize:nn.fontSizeHeading2,color:nn.colorPrimary},img:{display:"block",width:"100%",height:"100%",overflow:"hidden"}}),[`${hr}-progress`]:{bottom:br,width:`calc(100% - ${nn.paddingSM*2}px)`,marginTop:0,paddingInlineStart:fr+nn.paddingXS}},[`${hr}-error`]:{borderColor:nn.colorError,[`${hr}-thumbnail ${Hn}`]:{[`svg path[fill='${pt.blue[0]}']`]:{fill:nn.colorErrorBg},[`svg path[fill='${pt.blue.primary}']`]:{fill:nn.colorError}}},[`${hr}-uploading`]:{borderStyle:"dashed",[`${hr}-name`]:{marginBottom:br}}},[`${tr}${tr}-picture-circle ${hr}`]:{[`&, &::before, ${hr}-thumbnail`]:{borderRadius:"50%"}}}}},Ie=nn=>{const{componentCls:Bn,iconCls:Hn,fontSizeLG:fr,colorTextLightSolid:br}=nn,tr=`${Bn}-list`,hr=`${tr}-item`,vr=nn.uploadPicCardSize;return{[`
|
|
|
${Bn}-wrapper${Bn}-picture-card-wrapper,
|
|
|
${Bn}-wrapper${Bn}-picture-circle-wrapper
|
|
|
`]:Object.assign(Object.assign({},(0,Ma.dF)()),{display:"inline-block",width:"100%",[`${Bn}${Bn}-select`]:{width:vr,height:vr,marginInlineEnd:nn.marginXS,marginBottom:nn.marginXS,textAlign:"center",verticalAlign:"top",backgroundColor:nn.colorFillAlter,border:`${nn.lineWidth}px dashed ${nn.colorBorder}`,borderRadius:nn.borderRadiusLG,cursor:"pointer",transition:`border-color ${nn.motionDurationSlow}`,[`> ${Bn}`]:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center"},[`&:not(${Bn}-disabled):hover`]:{borderColor:nn.colorPrimary}},[`${tr}${tr}-picture-card, ${tr}${tr}-picture-circle`]:{[`${tr}-item-container`]:{display:"inline-block",width:vr,height:vr,marginBlock:`0 ${nn.marginXS}px`,marginInline:`0 ${nn.marginXS}px`,verticalAlign:"top"},"&::after":{display:"none"},[hr]:{height:"100%",margin:0,"&::before":{position:"absolute",zIndex:1,width:`calc(100% - ${nn.paddingXS*2}px)`,height:`calc(100% - ${nn.paddingXS*2}px)`,backgroundColor:nn.colorBgMask,opacity:0,transition:`all ${nn.motionDurationSlow}`,content:'" "'}},[`${hr}:hover`]:{[`&::before, ${hr}-actions`]:{opacity:1}},[`${hr}-actions`]:{position:"absolute",insetInlineStart:0,zIndex:10,width:"100%",whiteSpace:"nowrap",textAlign:"center",opacity:0,transition:`all ${nn.motionDurationSlow}`,[`${Hn}-eye, ${Hn}-download, ${Hn}-delete`]:{zIndex:10,width:fr,margin:`0 ${nn.marginXXS}px`,fontSize:fr,cursor:"pointer",transition:`all ${nn.motionDurationSlow}`,svg:{verticalAlign:"baseline"}}},[`${hr}-actions, ${hr}-actions:hover`]:{[`${Hn}-eye, ${Hn}-download, ${Hn}-delete`]:{color:new Ae.C(br).setAlpha(.65).toRgbString(),"&:hover":{color:br}}},[`${hr}-thumbnail, ${hr}-thumbnail img`]:{position:"static",display:"block",width:"100%",height:"100%",objectFit:"contain"},[`${hr}-name`]:{display:"none",textAlign:"center"},[`${hr}-file + ${hr}-name`]:{position:"absolute",bottom:nn.margin,display:"block",width:`calc(100% - ${nn.paddingXS*2}px)`},[`${hr}-uploading`]:{[`&${hr}`]:{backgroundColor:nn.colorFillAlter},[`&::before, ${Hn}-eye, ${Hn}-download, ${Hn}-delete`]:{display:"none"}},[`${hr}-progress`]:{bottom:nn.marginXL,width:`calc(100% - ${nn.paddingXS*2}px)`,paddingInlineStart:0}}}),[`${Bn}-wrapper${Bn}-picture-circle-wrapper`]:{[`${Bn}${Bn}-select`]:{borderRadius:"50%"}}}};var Ze=nn=>{const{componentCls:Bn}=nn;return{[`${Bn}-rtl`]:{direction:"rtl"}}};const xt=nn=>{const{componentCls:Bn,colorTextDisabled:Hn}=nn;return{[`${Bn}-wrapper`]:Object.assign(Object.assign({},(0,Ma.Wf)(nn)),{[Bn]:{outline:0,"input[type='file']":{cursor:"pointer"}},[`${Bn}-select`]:{display:"inline-block"},[`${Bn}-disabled`]:{color:Hn,cursor:"not-allowed"}})}};var bt=(0,di.Z)("Upload",nn=>{const{fontSizeHeading3:Bn,fontSize:Hn,lineHeight:fr,lineWidth:br,controlHeightLG:tr}=nn,hr=Math.round(Hn*fr),vr=(0,Hr.TS)(nn,{uploadThumbnailSize:Bn*2,uploadProgressOffset:hr/2+br,uploadPicCardSize:tr*2.55});return[xt(vr),Ha(vr),Le(vr),Ie(vr),pr(vr),Fr(vr),Ze(vr),(0,li.Z)(vr)]},nn=>({actionsColor:nn.colorTextDescription})),Yt=function(nn,Bn,Hn,fr){function br(tr){return tr instanceof Hn?tr:new Hn(function(hr){hr(tr)})}return new(Hn||(Hn=Promise))(function(tr,hr){function vr(Jn){try{xr(fr.next(Jn))}catch(Nr){hr(Nr)}}function Nn(Jn){try{xr(fr.throw(Jn))}catch(Nr){hr(Nr)}}function xr(Jn){Jn.done?tr(Jn.value):br(Jn.value).then(vr,Nn)}xr((fr=fr.apply(nn,Bn||[])).next())})};const Ht=`__LIST_IGNORE_${Date.now()}__`,cn=(nn,Bn)=>{const{fileList:Hn,defaultFileList:fr,onRemove:br,showUploadList:tr=!0,listType:hr="text",onPreview:vr,onDownload:Nn,onChange:xr,onDrop:Jn,previewFile:Nr,disabled:Xa,locale:$a,iconRender:ai,isImageUrl:Zr,progress:ua,prefixCls:Da,className:sa,type:Ja="select",children:Li,style:Na,itemRender:Ti,maxCount:ji,data:Ao={},multiple:uo=!1,action:Os="",accept:zo="",supportServerRender:po=!0,rootClassName:qo}=nn,Uo=_e.useContext(ct.Z),Wo=Xa!=null?Xa:Uo,[Qr,jo]=(0,qe.Z)(fr||[],{value:Hn,postState:so=>so!=null?so:[]}),[Ms,js]=_e.useState("drop"),yo=_e.useRef(null);_e.useMemo(()=>{const so=Date.now();(Hn||[]).forEach((Ro,ms)=>{!Ro.uid&&!Object.isFrozen(Ro)&&(Ro.uid=`__AUTO__${so}_${ms}__`)})},[Hn]);const ki=(so,Ro,ms)=>{let So=(0,Ve.Z)(Ro),ts=!1;ji===1?So=So.slice(-1):ji&&(ts=So.length>ji,So=So.slice(0,ji)),(0,st.flushSync)(()=>{jo(So)});const Vs={file:so,fileList:So};ms&&(Vs.event=ms),(!ts||So.some(zs=>zs.uid===so.uid))&&(0,st.flushSync)(()=>{xr==null||xr(Vs)})},Gs=(so,Ro)=>Yt(void 0,void 0,void 0,function*(){const{beforeUpload:ms,transformFile:So}=nn;let ts=so;if(ms){const Vs=yield ms(so,Ro);if(Vs===!1)return!1;if(delete so[Ht],Vs===Ht)return Object.defineProperty(so,Ht,{value:!0,configurable:!0}),!1;typeof Vs=="object"&&Vs&&(ts=Vs)}return So&&(ts=yield So(ts)),ts}),$i=so=>{const Ro=so.filter(ts=>!ts.file[Ht]);if(!Ro.length)return;const ms=Ro.map(ts=>Nt(ts.file));let So=(0,Ve.Z)(Qr);ms.forEach(ts=>{So=wt(ts,So)}),ms.forEach((ts,Vs)=>{let zs=ts;if(Ro[Vs].parsedFile)ts.status="uploading";else{const{originFileObj:bu}=ts;let gu;try{gu=new File([bu],bu.name,{type:bu.type})}catch(Yc){gu=new Blob([bu],{type:bu.type}),gu.name=bu.name,gu.lastModifiedDate=new Date,gu.lastModified=new Date().getTime()}gu.uid=ts.uid,zs=gu}ki(zs,So)})},Go=(so,Ro,ms)=>{try{typeof so=="string"&&(so=JSON.parse(so))}catch(Vs){}if(!rn(Ro,Qr))return;const So=Nt(Ro);So.status="done",So.percent=100,So.response=so,So.xhr=ms;const ts=wt(So,Qr);ki(So,ts)},No=(so,Ro)=>{if(!rn(Ro,Qr))return;const ms=Nt(Ro);ms.status="uploading",ms.percent=so.percent;const So=wt(ms,Qr);ki(ms,So,so)},Cs=(so,Ro,ms)=>{if(!rn(ms,Qr))return;const So=Nt(ms);So.error=so,So.response=Ro,So.status="error";const ts=wt(So,Qr);ki(So,ts)},tl=so=>{let Ro;Promise.resolve(typeof br=="function"?br(so):br).then(ms=>{var So;if(ms===!1)return;const ts=On(so,Qr);ts&&(Ro=Object.assign(Object.assign({},so),{status:"removed"}),Qr==null||Qr.forEach(Vs=>{const zs=Ro.uid!==void 0?"uid":"name";Vs[zs]===Ro[zs]&&!Object.isFrozen(Vs)&&(Vs.status="removed")}),(So=yo.current)===null||So===void 0||So.abort(Ro),ki(Ro,ts))})},nl=so=>{js(so.type),so.type==="drop"&&(Jn==null||Jn(so))};_e.useImperativeHandle(Bn,()=>({onBatchStart:$i,onSuccess:Go,onProgress:No,onError:Cs,fileList:Qr,upload:yo.current}));const{getPrefixCls:hu,direction:_l,upload:Ds}=_e.useContext(rt.E_),vs=hu("upload",Da),Fl=Object.assign(Object.assign({onBatchStart:$i,onError:Cs,onProgress:No,onSuccess:Go},nn),{data:Ao,multiple:uo,action:Os,accept:zo,supportServerRender:po,prefixCls:vs,disabled:Wo,beforeUpload:Gs,onChange:void 0});delete Fl.className,delete Fl.style,(!Li||Wo)&&delete Fl.id;const[Su,Ps]=bt(vs),[Ku]=(0,tt.Z)("Upload",dt.Z.Upload),{showRemoveIcon:Bi,showPreviewIcon:za,showDownloadIcon:Ua,removeIcon:ja,previewIcon:Wi,downloadIcon:xo}=typeof tr=="boolean"?{}:tr,es=(so,Ro)=>tr?_e.createElement(Ea,{prefixCls:vs,listType:hr,items:Qr,previewFile:Nr,onPreview:vr,onDownload:Nn,onRemove:tl,showRemoveIcon:!Wo&&Bi,showPreviewIcon:za,showDownloadIcon:Ua,removeIcon:ja,previewIcon:Wi,downloadIcon:xo,iconRender:ai,locale:Object.assign(Object.assign({},Ku),$a),isImageUrl:Zr,progress:ua,appendAction:so,appendActionVisible:Ro,itemRender:Ti,disabled:Wo}):so,ss=be()(`${vs}-wrapper`,sa,qo,Ps,Ds==null?void 0:Ds.className,{[`${vs}-rtl`]:_l==="rtl",[`${vs}-picture-card-wrapper`]:hr==="picture-card",[`${vs}-picture-circle-wrapper`]:hr==="picture-circle"}),fi=Object.assign(Object.assign({},Ds==null?void 0:Ds.style),Na);if(Ja==="drag"){const so=be()(Ps,vs,`${vs}-drag`,{[`${vs}-drag-uploading`]:Qr.some(Ro=>Ro.status==="uploading"),[`${vs}-drag-hover`]:Ms==="dragover",[`${vs}-disabled`]:Wo,[`${vs}-rtl`]:_l==="rtl"});return Su(_e.createElement("span",{className:ss},_e.createElement("div",{className:so,style:fi,onDrop:nl,onDragOver:nl,onDragLeave:nl},_e.createElement($e,Object.assign({},Fl,{ref:yo,className:`${vs}-btn`}),_e.createElement("div",{className:`${vs}-drag-container`},Li))),es()))}const Ts=be()(vs,`${vs}-select`,{[`${vs}-disabled`]:Wo}),Ks=(so=>_e.createElement("div",{className:Ts,style:so},_e.createElement($e,Object.assign({},Fl,{ref:yo}))))(Li?void 0:{display:"none"});return Su(hr==="picture-card"||hr==="picture-circle"?_e.createElement("span",{className:ss},es(Ks,!!Li)):_e.createElement("span",{className:ss},Ks,es()))};var Zn=_e.forwardRef(cn),Mn=function(nn,Bn){var Hn={};for(var fr in nn)Object.prototype.hasOwnProperty.call(nn,fr)&&Bn.indexOf(fr)<0&&(Hn[fr]=nn[fr]);if(nn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var br=0,fr=Object.getOwnPropertySymbols(nn);br<fr.length;br++)Bn.indexOf(fr[br])<0&&Object.prototype.propertyIsEnumerable.call(nn,fr[br])&&(Hn[fr[br]]=nn[fr[br]]);return Hn},rr=_e.forwardRef((nn,Bn)=>{var{style:Hn,height:fr}=nn,br=Mn(nn,["style","height"]);return _e.createElement(Zn,Object.assign({ref:Bn},br,{type:"drag",style:Object.assign(Object.assign({},Hn),{height:fr})}))});const mr=Zn;mr.Dragger=rr,mr.LIST_IGNORE=Ht;var pn=mr},45411:function(Pt){"use strict";Pt.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},75196:function(Pt,Mt,Oe){var _e=Oe(45411),Ve=Oe(75029),Re=Object.hasOwnProperty,be=Object.create(null);for(var Fe in _e)Re.call(_e,Fe)&&(be[_e[Fe]]=Fe);var Ce=Pt.exports={to:{},get:{}};Ce.get=function(we){var De=we.substring(0,3).toLowerCase(),pe,Ee;switch(De){case"hsl":pe=Ce.get.hsl(we),Ee="hsl";break;case"hwb":pe=Ce.get.hwb(we),Ee="hwb";break;default:pe=Ce.get.rgb(we),Ee="rgb";break}return pe?{model:Ee,value:pe}:null},Ce.get.rgb=function(we){if(!we)return null;var De=/^#([a-f0-9]{3,4})$/i,pe=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,Ee=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,Pe=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,de=/^(\w+)$/,ee=[0,0,0,1],ne,le,oe;if(ne=we.match(pe)){for(oe=ne[2],ne=ne[1],le=0;le<3;le++){var ce=le*2;ee[le]=parseInt(ne.slice(ce,ce+2),16)}oe&&(ee[3]=parseInt(oe,16)/255)}else if(ne=we.match(De)){for(ne=ne[1],oe=ne[3],le=0;le<3;le++)ee[le]=parseInt(ne[le]+ne[le],16);oe&&(ee[3]=parseInt(oe+oe,16)/255)}else if(ne=we.match(Ee)){for(le=0;le<3;le++)ee[le]=parseInt(ne[le+1],0);ne[4]&&(ne[5]?ee[3]=parseFloat(ne[4])*.01:ee[3]=parseFloat(ne[4]))}else if(ne=we.match(Pe)){for(le=0;le<3;le++)ee[le]=Math.round(parseFloat(ne[le+1])*2.55);ne[4]&&(ne[5]?ee[3]=parseFloat(ne[4])*.01:ee[3]=parseFloat(ne[4]))}else return(ne=we.match(de))?ne[1]==="transparent"?[0,0,0,0]:Re.call(_e,ne[1])?(ee=_e[ne[1]],ee[3]=1,ee):null:null;for(le=0;le<3;le++)ee[le]=ve(ee[le],0,255);return ee[3]=ve(ee[3],0,1),ee},Ce.get.hsl=function(we){if(!we)return null;var De=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,pe=we.match(De);if(pe){var Ee=parseFloat(pe[4]),Pe=(parseFloat(pe[1])%360+360)%360,de=ve(parseFloat(pe[2]),0,100),ee=ve(parseFloat(pe[3]),0,100),ne=ve(isNaN(Ee)?1:Ee,0,1);return[Pe,de,ee,ne]}return null},Ce.get.hwb=function(we){if(!we)return null;var De=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,pe=we.match(De);if(pe){var Ee=parseFloat(pe[4]),Pe=(parseFloat(pe[1])%360+360)%360,de=ve(parseFloat(pe[2]),0,100),ee=ve(parseFloat(pe[3]),0,100),ne=ve(isNaN(Ee)?1:Ee,0,1);return[Pe,de,ee,ne]}return null},Ce.to.hex=function(){var we=Ve(arguments);return"#"+ye(we[0])+ye(we[1])+ye(we[2])+(we[3]<1?ye(Math.round(we[3]*255)):"")},Ce.to.rgb=function(){var we=Ve(arguments);return we.length<4||we[3]===1?"rgb("+Math.round(we[0])+", "+Math.round(we[1])+", "+Math.round(we[2])+")":"rgba("+Math.round(we[0])+", "+Math.round(we[1])+", "+Math.round(we[2])+", "+we[3]+")"},Ce.to.rgb.percent=function(){var we=Ve(arguments),De=Math.round(we[0]/255*100),pe=Math.round(we[1]/255*100),Ee=Math.round(we[2]/255*100);return we.length<4||we[3]===1?"rgb("+De+"%, "+pe+"%, "+Ee+"%)":"rgba("+De+"%, "+pe+"%, "+Ee+"%, "+we[3]+")"},Ce.to.hsl=function(){var we=Ve(arguments);return we.length<4||we[3]===1?"hsl("+we[0]+", "+we[1]+"%, "+we[2]+"%)":"hsla("+we[0]+", "+we[1]+"%, "+we[2]+"%, "+we[3]+")"},Ce.to.hwb=function(){var we=Ve(arguments),De="";return we.length>=4&&we[3]!==1&&(De=", "+we[3]),"hwb("+we[0]+", "+we[1]+"%, "+we[2]+"%"+De+")"},Ce.to.keyword=function(we){return be[we.slice(0,3)]};function ve(we,De,pe){return Math.min(Math.max(De,we),pe)}function ye(we){var De=Math.round(we).toString(16).toUpperCase();return De.length<2?"0"+De:De}},92546:function(Pt,Mt,Oe){Pt.exports={graphlib:Oe(76626),layout:Oe(47194),debug:Oe(11303),util:{time:Oe(53063).time,notime:Oe(53063).notime},version:Oe(11897)}},81255:function(Pt,Mt,Oe){"use strict";var _e=Oe(72361),Ve=Oe(39240);Pt.exports={run:Re,undo:Fe};function Re(Ce){var ve=Ce.graph().acyclicer==="greedy"?Ve(Ce,ye(Ce)):be(Ce);_e.forEach(ve,function(we){var De=Ce.edge(we);Ce.removeEdge(we),De.forwardName=we.name,De.reversed=!0,Ce.setEdge(we.w,we.v,De,_e.uniqueId("rev"))});function ye(we){return function(De){return we.edge(De).weight}}}function be(Ce){var ve=[],ye={},we={};function De(pe){_e.has(we,pe)||(we[pe]=!0,ye[pe]=!0,_e.forEach(Ce.outEdges(pe),function(Ee){_e.has(ye,Ee.w)?ve.push(Ee):De(Ee.w)}),delete ye[pe])}return _e.forEach(Ce.nodes(),De),ve}function Fe(Ce){_e.forEach(Ce.edges(),function(ve){var ye=Ce.edge(ve);if(ye.reversed){Ce.removeEdge(ve);var we=ye.forwardName;delete ye.reversed,delete ye.forwardName,Ce.setEdge(ve.w,ve.v,ye,we)}})}},60765:function(Pt,Mt,Oe){var _e=Oe(72361),Ve=Oe(53063);Pt.exports=Re;function Re(Fe){function Ce(ve){var ye=Fe.children(ve),we=Fe.node(ve);if(ye.length&&_e.forEach(ye,Ce),_e.has(we,"minRank")){we.borderLeft=[],we.borderRight=[];for(var De=we.minRank,pe=we.maxRank+1;De<pe;++De)be(Fe,"borderLeft","_bl",ve,we,De),be(Fe,"borderRight","_br",ve,we,De)}}_e.forEach(Fe.children(),Ce)}function be(Fe,Ce,ve,ye,we,De){var pe={width:0,height:0,rank:De,borderType:Ce},Ee=we[Ce][De-1],Pe=Ve.addDummyNode(Fe,"border",pe,ve);we[Ce][De]=Pe,Fe.setParent(Pe,ye),Ee&&Fe.setEdge(Ee,Pe,{weight:1})}},13257:function(Pt,Mt,Oe){"use strict";var _e=Oe(72361);Pt.exports={adjust:Ve,undo:Re};function Ve(De){var pe=De.graph().rankdir.toLowerCase();(pe==="lr"||pe==="rl")&&be(De)}function Re(De){var pe=De.graph().rankdir.toLowerCase();(pe==="bt"||pe==="rl")&&Ce(De),(pe==="lr"||pe==="rl")&&(ye(De),be(De))}function be(De){_e.forEach(De.nodes(),function(pe){Fe(De.node(pe))}),_e.forEach(De.edges(),function(pe){Fe(De.edge(pe))})}function Fe(De){var pe=De.width;De.width=De.height,De.height=pe}function Ce(De){_e.forEach(De.nodes(),function(pe){ve(De.node(pe))}),_e.forEach(De.edges(),function(pe){var Ee=De.edge(pe);_e.forEach(Ee.points,ve),_e.has(Ee,"y")&&ve(Ee)})}function ve(De){De.y=-De.y}function ye(De){_e.forEach(De.nodes(),function(pe){we(De.node(pe))}),_e.forEach(De.edges(),function(pe){var Ee=De.edge(pe);_e.forEach(Ee.points,we),_e.has(Ee,"x")&&we(Ee)})}function we(De){var pe=De.x;De.x=De.y,De.y=pe}},21135:function(Pt){Pt.exports=Mt;function Mt(){var Ve={};Ve._next=Ve._prev=Ve,this._sentinel=Ve}Mt.prototype.dequeue=function(){var Ve=this._sentinel,Re=Ve._prev;if(Re!==Ve)return Oe(Re),Re},Mt.prototype.enqueue=function(Ve){var Re=this._sentinel;Ve._prev&&Ve._next&&Oe(Ve),Ve._next=Re._next,Re._next._prev=Ve,Re._next=Ve,Ve._prev=Re},Mt.prototype.toString=function(){for(var Ve=[],Re=this._sentinel,be=Re._prev;be!==Re;)Ve.push(JSON.stringify(be,_e)),be=be._prev;return"["+Ve.join(", ")+"]"};function Oe(Ve){Ve._prev._next=Ve._next,Ve._next._prev=Ve._prev,delete Ve._next,delete Ve._prev}function _e(Ve,Re){if(Ve!=="_next"&&Ve!=="_prev")return Re}},11303:function(Pt,Mt,Oe){var _e=Oe(72361),Ve=Oe(53063),Re=Oe(76626).Graph;Pt.exports={debugOrdering:be};function be(Fe){var Ce=Ve.buildLayerMatrix(Fe),ve=new Re({compound:!0,multigraph:!0}).setGraph({});return _e.forEach(Fe.nodes(),function(ye){ve.setNode(ye,{label:ye}),ve.setParent(ye,"layer"+Fe.node(ye).rank)}),_e.forEach(Fe.edges(),function(ye){ve.setEdge(ye.v,ye.w,{},ye.name)}),_e.forEach(Ce,function(ye,we){var De="layer"+we;ve.setNode(De,{rank:"same"}),_e.reduce(ye,function(pe,Ee){return ve.setEdge(pe,Ee,{style:"invis"}),Ee})}),ve}},76626:function(Pt,Mt,Oe){var _e;try{_e=Oe(75172)}catch(Ve){}_e||(_e=window.graphlib),Pt.exports=_e},39240:function(Pt,Mt,Oe){var _e=Oe(72361),Ve=Oe(76626).Graph,Re=Oe(21135);Pt.exports=Fe;var be=_e.constant(1);function Fe(De,pe){if(De.nodeCount()<=1)return[];var Ee=ye(De,pe||be),Pe=Ce(Ee.graph,Ee.buckets,Ee.zeroIdx);return _e.flatten(_e.map(Pe,function(de){return De.outEdges(de.v,de.w)}),!0)}function Ce(De,pe,Ee){for(var Pe=[],de=pe[pe.length-1],ee=pe[0],ne;De.nodeCount();){for(;ne=ee.dequeue();)ve(De,pe,Ee,ne);for(;ne=de.dequeue();)ve(De,pe,Ee,ne);if(De.nodeCount()){for(var le=pe.length-2;le>0;--le)if(ne=pe[le].dequeue(),ne){Pe=Pe.concat(ve(De,pe,Ee,ne,!0));break}}}return Pe}function ve(De,pe,Ee,Pe,de){var ee=de?[]:void 0;return _e.forEach(De.inEdges(Pe.v),function(ne){var le=De.edge(ne),oe=De.node(ne.v);de&&ee.push({v:ne.v,w:ne.w}),oe.out-=le,we(pe,Ee,oe)}),_e.forEach(De.outEdges(Pe.v),function(ne){var le=De.edge(ne),oe=ne.w,ce=De.node(oe);ce.in-=le,we(pe,Ee,ce)}),De.removeNode(Pe.v),ee}function ye(De,pe){var Ee=new Ve,Pe=0,de=0;_e.forEach(De.nodes(),function(le){Ee.setNode(le,{v:le,in:0,out:0})}),_e.forEach(De.edges(),function(le){var oe=Ee.edge(le.v,le.w)||0,ce=pe(le),he=oe+ce;Ee.setEdge(le.v,le.w,he),de=Math.max(de,Ee.node(le.v).out+=ce),Pe=Math.max(Pe,Ee.node(le.w).in+=ce)});var ee=_e.range(de+Pe+3).map(function(){return new Re}),ne=Pe+1;return _e.forEach(Ee.nodes(),function(le){we(ee,ne,Ee.node(le))}),{graph:Ee,buckets:ee,zeroIdx:ne}}function we(De,pe,Ee){Ee.out?Ee.in?De[Ee.out-Ee.in+pe].enqueue(Ee):De[De.length-1].enqueue(Ee):De[0].enqueue(Ee)}},47194:function(Pt,Mt,Oe){"use strict";var _e=Oe(72361),Ve=Oe(81255),Re=Oe(27163),be=Oe(64505),Fe=Oe(53063).normalizeRanks,Ce=Oe(71970),ve=Oe(53063).removeEmptyRanks,ye=Oe(31733),we=Oe(60765),De=Oe(13257),pe=Oe(62852),Ee=Oe(93021),Pe=Oe(53063),de=Oe(76626).Graph;Pt.exports=ee;function ee(mt,ht){var vt=ht&&ht.debugTiming?Pe.time:Pe.notime;vt("layout",function(){var Wt=vt(" buildLayoutGraph",function(){return Be(mt)});vt(" runLayout",function(){ne(Wt,vt)}),vt(" updateInputGraph",function(){le(mt,Wt)})})}function ne(mt,ht){ht(" makeSpaceForEdgeLabels",function(){Ne(mt)}),ht(" removeSelfEdges",function(){rt(mt)}),ht(" acyclic",function(){Ve.run(mt)}),ht(" nestingGraph.run",function(){ye.run(mt)}),ht(" rank",function(){be(Pe.asNonCompoundGraph(mt))}),ht(" injectEdgeLabelProxies",function(){Ue(mt)}),ht(" removeEmptyRanks",function(){ve(mt)}),ht(" nestingGraph.cleanup",function(){ye.cleanup(mt)}),ht(" normalizeRanks",function(){Fe(mt)}),ht(" assignRankMinMax",function(){Ge(mt)}),ht(" removeEdgeLabelProxies",function(){Xe(mt)}),ht(" normalize.run",function(){Re.run(mt)}),ht(" parentDummyChains",function(){Ce(mt)}),ht(" addBorderSegments",function(){we(mt)}),ht(" order",function(){pe(mt)}),ht(" insertSelfEdges",function(){ct(mt)}),ht(" adjustCoordinateSystem",function(){De.adjust(mt)}),ht(" position",function(){Ee(mt)}),ht(" positionSelfEdges",function(){tt(mt)}),ht(" removeBorderNodes",function(){st(mt)}),ht(" normalize.undo",function(){Re.undo(mt)}),ht(" fixupEdgeLabelCoords",function(){$e(mt)}),ht(" undoCoordinateSystem",function(){De.undo(mt)}),ht(" translateGraph",function(){Ye(mt)}),ht(" assignNodeIntersects",function(){nt(mt)}),ht(" reversePoints",function(){qe(mt)}),ht(" acyclic.undo",function(){Ve.undo(mt)})}function le(mt,ht){_e.forEach(mt.nodes(),function(vt){var Wt=mt.node(vt),Jt=ht.node(vt);Wt&&(Wt.x=Jt.x,Wt.y=Jt.y,ht.children(vt).length&&(Wt.width=Jt.width,Wt.height=Jt.height))}),_e.forEach(mt.edges(),function(vt){var Wt=mt.edge(vt),Jt=ht.edge(vt);Wt.points=Jt.points,_e.has(Jt,"x")&&(Wt.x=Jt.x,Wt.y=Jt.y)}),mt.graph().width=ht.graph().width,mt.graph().height=ht.graph().height}var oe=["nodesep","edgesep","ranksep","marginx","marginy"],ce={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},he=["acyclicer","ranker","rankdir","align"],ie=["width","height"],ue={width:0,height:0},ge=["minlen","weight","width","height","labeloffset"],xe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Me=["labelpos"];function Be(mt){var ht=new de({multigraph:!0,compound:!0}),vt=At(mt.graph());return ht.setGraph(_e.merge({},ce,dt(vt,oe),_e.pick(vt,he))),_e.forEach(mt.nodes(),function(Wt){var Jt=At(mt.node(Wt));ht.setNode(Wt,_e.defaults(dt(Jt,ie),ue)),ht.setParent(Wt,mt.parent(Wt))}),_e.forEach(mt.edges(),function(Wt){var Jt=At(mt.edge(Wt));ht.setEdge(Wt,_e.merge({},xe,dt(Jt,ge),_e.pick(Jt,Me)))}),ht}function Ne(mt){var ht=mt.graph();ht.ranksep/=2,_e.forEach(mt.edges(),function(vt){var Wt=mt.edge(vt);Wt.minlen*=2,Wt.labelpos.toLowerCase()!=="c"&&(ht.rankdir==="TB"||ht.rankdir==="BT"?Wt.width+=Wt.labeloffset:Wt.height+=Wt.labeloffset)})}function Ue(mt){_e.forEach(mt.edges(),function(ht){var vt=mt.edge(ht);if(vt.width&&vt.height){var Wt=mt.node(ht.v),Jt=mt.node(ht.w),en={rank:(Jt.rank-Wt.rank)/2+Wt.rank,e:ht};Pe.addDummyNode(mt,"edge-proxy",en,"_ep")}})}function Ge(mt){var ht=0;_e.forEach(mt.nodes(),function(vt){var Wt=mt.node(vt);Wt.borderTop&&(Wt.minRank=mt.node(Wt.borderTop).rank,Wt.maxRank=mt.node(Wt.borderBottom).rank,ht=_e.max(ht,Wt.maxRank))}),mt.graph().maxRank=ht}function Xe(mt){_e.forEach(mt.nodes(),function(ht){var vt=mt.node(ht);vt.dummy==="edge-proxy"&&(mt.edge(vt.e).labelRank=vt.rank,mt.removeNode(ht))})}function Ye(mt){var ht=Number.POSITIVE_INFINITY,vt=0,Wt=Number.POSITIVE_INFINITY,Jt=0,en=mt.graph(),mn=en.marginx||0,Ot=en.marginy||0;function an(tn){var Dn=tn.x,Tn=tn.y,sn=tn.width,dn=tn.height;ht=Math.min(ht,Dn-sn/2),vt=Math.max(vt,Dn+sn/2),Wt=Math.min(Wt,Tn-dn/2),Jt=Math.max(Jt,Tn+dn/2)}_e.forEach(mt.nodes(),function(tn){an(mt.node(tn))}),_e.forEach(mt.edges(),function(tn){var Dn=mt.edge(tn);_e.has(Dn,"x")&&an(Dn)}),ht-=mn,Wt-=Ot,_e.forEach(mt.nodes(),function(tn){var Dn=mt.node(tn);Dn.x-=ht,Dn.y-=Wt}),_e.forEach(mt.edges(),function(tn){var Dn=mt.edge(tn);_e.forEach(Dn.points,function(Tn){Tn.x-=ht,Tn.y-=Wt}),_e.has(Dn,"x")&&(Dn.x-=ht),_e.has(Dn,"y")&&(Dn.y-=Wt)}),en.width=vt-ht+mn,en.height=Jt-Wt+Ot}function nt(mt){_e.forEach(mt.edges(),function(ht){var vt=mt.edge(ht),Wt=mt.node(ht.v),Jt=mt.node(ht.w),en,mn;vt.points?(en=vt.points[0],mn=vt.points[vt.points.length-1]):(vt.points=[],en=Jt,mn=Wt),vt.points.unshift(Pe.intersectRect(Wt,en)),vt.points.push(Pe.intersectRect(Jt,mn))})}function $e(mt){_e.forEach(mt.edges(),function(ht){var vt=mt.edge(ht);if(_e.has(vt,"x"))switch((vt.labelpos==="l"||vt.labelpos==="r")&&(vt.width-=vt.labeloffset),vt.labelpos){case"l":vt.x-=vt.width/2+vt.labeloffset;break;case"r":vt.x+=vt.width/2+vt.labeloffset;break}})}function qe(mt){_e.forEach(mt.edges(),function(ht){var vt=mt.edge(ht);vt.reversed&&vt.points.reverse()})}function st(mt){_e.forEach(mt.nodes(),function(ht){if(mt.children(ht).length){var vt=mt.node(ht),Wt=mt.node(vt.borderTop),Jt=mt.node(vt.borderBottom),en=mt.node(_e.last(vt.borderLeft)),mn=mt.node(_e.last(vt.borderRight));vt.width=Math.abs(mn.x-en.x),vt.height=Math.abs(Jt.y-Wt.y),vt.x=en.x+vt.width/2,vt.y=Wt.y+vt.height/2}}),_e.forEach(mt.nodes(),function(ht){mt.node(ht).dummy==="border"&&mt.removeNode(ht)})}function rt(mt){_e.forEach(mt.edges(),function(ht){if(ht.v===ht.w){var vt=mt.node(ht.v);vt.selfEdges||(vt.selfEdges=[]),vt.selfEdges.push({e:ht,label:mt.edge(ht)}),mt.removeEdge(ht)}})}function ct(mt){var ht=Pe.buildLayerMatrix(mt);_e.forEach(ht,function(vt){var Wt=0;_e.forEach(vt,function(Jt,en){var mn=mt.node(Jt);mn.order=en+Wt,_e.forEach(mn.selfEdges,function(Ot){Pe.addDummyNode(mt,"selfedge",{width:Ot.label.width,height:Ot.label.height,rank:mn.rank,order:en+ ++Wt,e:Ot.e,label:Ot.label},"_se")}),delete mn.selfEdges})})}function tt(mt){_e.forEach(mt.nodes(),function(ht){var vt=mt.node(ht);if(vt.dummy==="selfedge"){var Wt=mt.node(vt.e.v),Jt=Wt.x+Wt.width/2,en=Wt.y,mn=vt.x-Jt,Ot=Wt.height/2;mt.setEdge(vt.e,vt.label),mt.removeNode(ht),vt.label.points=[{x:Jt+2*mn/3,y:en-Ot},{x:Jt+5*mn/6,y:en-Ot},{x:Jt+mn,y:en},{x:Jt+5*mn/6,y:en+Ot},{x:Jt+2*mn/3,y:en+Ot}],vt.label.x=vt.x,vt.label.y=vt.y}})}function dt(mt,ht){return _e.mapValues(_e.pick(mt,ht),Number)}function At(mt){var ht={};return _e.forEach(mt,function(vt,Wt){ht[Wt.toLowerCase()]=vt}),ht}},72361:function(Pt,Mt,Oe){var _e;try{_e={cloneDeep:Oe(20250),constant:Oe(13503),defaults:Oe(28548),each:Oe(76934),filter:Oe(64725),find:Oe(79785),flatten:Oe(40151),forEach:Oe(99204),forIn:Oe(23190),has:Oe(99946),isUndefined:Oe(16513),last:Oe(10611),map:Oe(9924),mapValues:Oe(70642),max:Oe(95987),merge:Oe(28440),min:Oe(73376),minBy:Oe(83296),now:Oe(5795),pick:Oe(89409),range:Oe(60859),reduce:Oe(16473),sortBy:Oe(351),uniqueId:Oe(95708),values:Oe(81229),zipObject:Oe(65441)}}catch(Ve){}_e||(_e=window._),Pt.exports=_e},31733:function(Pt,Mt,Oe){var _e=Oe(72361),Ve=Oe(53063);Pt.exports={run:Re,cleanup:ve};function Re(ye){var we=Ve.addDummyNode(ye,"root",{},"_root"),De=Fe(ye),pe=_e.max(_e.values(De))-1,Ee=2*pe+1;ye.graph().nestingRoot=we,_e.forEach(ye.edges(),function(de){ye.edge(de).minlen*=Ee});var Pe=Ce(ye)+1;_e.forEach(ye.children(),function(de){be(ye,we,Ee,Pe,pe,De,de)}),ye.graph().nodeRankFactor=Ee}function be(ye,we,De,pe,Ee,Pe,de){var ee=ye.children(de);if(!ee.length){de!==we&&ye.setEdge(we,de,{weight:0,minlen:De});return}var ne=Ve.addBorderNode(ye,"_bt"),le=Ve.addBorderNode(ye,"_bb"),oe=ye.node(de);ye.setParent(ne,de),oe.borderTop=ne,ye.setParent(le,de),oe.borderBottom=le,_e.forEach(ee,function(ce){be(ye,we,De,pe,Ee,Pe,ce);var he=ye.node(ce),ie=he.borderTop?he.borderTop:ce,ue=he.borderBottom?he.borderBottom:ce,ge=he.borderTop?pe:2*pe,xe=ie!==ue?1:Ee-Pe[de]+1;ye.setEdge(ne,ie,{weight:ge,minlen:xe,nestingEdge:!0}),ye.setEdge(ue,le,{weight:ge,minlen:xe,nestingEdge:!0})}),ye.parent(de)||ye.setEdge(we,ne,{weight:0,minlen:Ee+Pe[de]})}function Fe(ye){var we={};function De(pe,Ee){var Pe=ye.children(pe);Pe&&Pe.length&&_e.forEach(Pe,function(de){De(de,Ee+1)}),we[pe]=Ee}return _e.forEach(ye.children(),function(pe){De(pe,1)}),we}function Ce(ye){return _e.reduce(ye.edges(),function(we,De){return we+ye.edge(De).weight},0)}function ve(ye){var we=ye.graph();ye.removeNode(we.nestingRoot),delete we.nestingRoot,_e.forEach(ye.edges(),function(De){var pe=ye.edge(De);pe.nestingEdge&&ye.removeEdge(De)})}},27163:function(Pt,Mt,Oe){"use strict";var _e=Oe(72361),Ve=Oe(53063);Pt.exports={run:Re,undo:Fe};function Re(Ce){Ce.graph().dummyChains=[],_e.forEach(Ce.edges(),function(ve){be(Ce,ve)})}function be(Ce,ve){var ye=ve.v,we=Ce.node(ye).rank,De=ve.w,pe=Ce.node(De).rank,Ee=ve.name,Pe=Ce.edge(ve),de=Pe.labelRank;if(pe!==we+1){Ce.removeEdge(ve);var ee,ne,le;for(le=0,++we;we<pe;++le,++we)Pe.points=[],ne={width:0,height:0,edgeLabel:Pe,edgeObj:ve,rank:we},ee=Ve.addDummyNode(Ce,"edge",ne,"_d"),we===de&&(ne.width=Pe.width,ne.height=Pe.height,ne.dummy="edge-label",ne.labelpos=Pe.labelpos),Ce.setEdge(ye,ee,{weight:Pe.weight},Ee),le===0&&Ce.graph().dummyChains.push(ee),ye=ee;Ce.setEdge(ye,De,{weight:Pe.weight},Ee)}}function Fe(Ce){_e.forEach(Ce.graph().dummyChains,function(ve){var ye=Ce.node(ve),we=ye.edgeLabel,De;for(Ce.setEdge(ye.edgeObj,we);ye.dummy;)De=Ce.successors(ve)[0],Ce.removeNode(ve),we.points.push({x:ye.x,y:ye.y}),ye.dummy==="edge-label"&&(we.x=ye.x,we.y=ye.y,we.width=ye.width,we.height=ye.height),ve=De,ye=Ce.node(ve)})}},52205:function(Pt,Mt,Oe){var _e=Oe(72361);Pt.exports=Ve;function Ve(Re,be,Fe){var Ce={},ve;_e.forEach(Fe,function(ye){for(var we=Re.parent(ye),De,pe;we;){if(De=Re.parent(we),De?(pe=Ce[De],Ce[De]=we):(pe=ve,ve=we),pe&&pe!==we){be.setEdge(pe,we);return}we=De}})}},99506:function(Pt,Mt,Oe){var _e=Oe(72361);Pt.exports=Ve;function Ve(Re,be){return _e.map(be,function(Fe){var Ce=Re.inEdges(Fe);if(Ce.length){var ve=_e.reduce(Ce,function(ye,we){var De=Re.edge(we),pe=Re.node(we.v);return{sum:ye.sum+De.weight*pe.order,weight:ye.weight+De.weight}},{sum:0,weight:0});return{v:Fe,barycenter:ve.sum/ve.weight,weight:ve.weight}}else return{v:Fe}})}},59105:function(Pt,Mt,Oe){var _e=Oe(72361),Ve=Oe(76626).Graph;Pt.exports=Re;function Re(Fe,Ce,ve){var ye=be(Fe),we=new Ve({compound:!0}).setGraph({root:ye}).setDefaultNodeLabel(function(De){return Fe.node(De)});return _e.forEach(Fe.nodes(),function(De){var pe=Fe.node(De),Ee=Fe.parent(De);(pe.rank===Ce||pe.minRank<=Ce&&Ce<=pe.maxRank)&&(we.setNode(De),we.setParent(De,Ee||ye),_e.forEach(Fe[ve](De),function(Pe){var de=Pe.v===De?Pe.w:Pe.v,ee=we.edge(de,De),ne=_e.isUndefined(ee)?0:ee.weight;we.setEdge(de,De,{weight:Fe.edge(Pe).weight+ne})}),_e.has(pe,"minRank")&&we.setNode(De,{borderLeft:pe.borderLeft[Ce],borderRight:pe.borderRight[Ce]}))}),we}function be(Fe){for(var Ce;Fe.hasNode(Ce=_e.uniqueId("_root")););return Ce}},45456:function(Pt,Mt,Oe){"use strict";var _e=Oe(72361);Pt.exports=Ve;function Ve(be,Fe){for(var Ce=0,ve=1;ve<Fe.length;++ve)Ce+=Re(be,Fe[ve-1],Fe[ve]);return Ce}function Re(be,Fe,Ce){for(var ve=_e.zipObject(Ce,_e.map(Ce,function(Pe,de){return de})),ye=_e.flatten(_e.map(Fe,function(Pe){return _e.sortBy(_e.map(be.outEdges(Pe),function(de){return{pos:ve[de.w],weight:be.edge(de).weight}}),"pos")}),!0),we=1;we<Ce.length;)we<<=1;var De=2*we-1;we-=1;var pe=_e.map(new Array(De),function(){return 0}),Ee=0;return _e.forEach(ye.forEach(function(Pe){var de=Pe.pos+we;pe[de]+=Pe.weight;for(var ee=0;de>0;)de%2&&(ee+=pe[de+1]),de=de-1>>1,pe[de]+=Pe.weight;Ee+=Pe.weight*ee})),Ee}},62852:function(Pt,Mt,Oe){"use strict";var _e=Oe(72361),Ve=Oe(18043),Re=Oe(45456),be=Oe(86490),Fe=Oe(59105),Ce=Oe(52205),ve=Oe(76626).Graph,ye=Oe(53063);Pt.exports=we;function we(Pe){var de=ye.maxRank(Pe),ee=De(Pe,_e.range(1,de+1),"inEdges"),ne=De(Pe,_e.range(de-1,-1,-1),"outEdges"),le=Ve(Pe);Ee(Pe,le);for(var oe=Number.POSITIVE_INFINITY,ce,he=0,ie=0;ie<4;++he,++ie){pe(he%2?ee:ne,he%4>=2),le=ye.buildLayerMatrix(Pe);var ue=Re(Pe,le);ue<oe&&(ie=0,ce=_e.cloneDeep(le),oe=ue)}Ee(Pe,ce)}function De(Pe,de,ee){return _e.map(de,function(ne){return Fe(Pe,ne,ee)})}function pe(Pe,de){var ee=new ve;_e.forEach(Pe,function(ne){var le=ne.graph().root,oe=be(ne,le,ee,de);_e.forEach(oe.vs,function(ce,he){ne.node(ce).order=he}),Ce(ne,ee,oe.vs)})}function Ee(Pe,de){_e.forEach(de,function(ee){_e.forEach(ee,function(ne,le){Pe.node(ne).order=le})})}},18043:function(Pt,Mt,Oe){"use strict";var _e=Oe(72361);Pt.exports=Ve;function Ve(Re){var be={},Fe=_e.filter(Re.nodes(),function(De){return!Re.children(De).length}),Ce=_e.max(_e.map(Fe,function(De){return Re.node(De).rank})),ve=_e.map(_e.range(Ce+1),function(){return[]});function ye(De){if(!_e.has(be,De)){be[De]=!0;var pe=Re.node(De);ve[pe.rank].push(De),_e.forEach(Re.successors(De),ye)}}var we=_e.sortBy(Fe,function(De){return Re.node(De).rank});return _e.forEach(we,ye),ve}},45926:function(Pt,Mt,Oe){"use strict";var _e=Oe(72361);Pt.exports=Ve;function Ve(Fe,Ce){var ve={};_e.forEach(Fe,function(we,De){var pe=ve[we.v]={indegree:0,in:[],out:[],vs:[we.v],i:De};_e.isUndefined(we.barycenter)||(pe.barycenter=we.barycenter,pe.weight=we.weight)}),_e.forEach(Ce.edges(),function(we){var De=ve[we.v],pe=ve[we.w];!_e.isUndefined(De)&&!_e.isUndefined(pe)&&(pe.indegree++,De.out.push(ve[we.w]))});var ye=_e.filter(ve,function(we){return!we.indegree});return Re(ye)}function Re(Fe){var Ce=[];function ve(De){return function(pe){pe.merged||(_e.isUndefined(pe.barycenter)||_e.isUndefined(De.barycenter)||pe.barycenter>=De.barycenter)&&be(De,pe)}}function ye(De){return function(pe){pe.in.push(De),--pe.indegree===0&&Fe.push(pe)}}for(;Fe.length;){var we=Fe.pop();Ce.push(we),_e.forEach(we.in.reverse(),ve(we)),_e.forEach(we.out,ye(we))}return _e.map(_e.filter(Ce,function(De){return!De.merged}),function(De){return _e.pick(De,["vs","i","barycenter","weight"])})}function be(Fe,Ce){var ve=0,ye=0;Fe.weight&&(ve+=Fe.barycenter*Fe.weight,ye+=Fe.weight),Ce.weight&&(ve+=Ce.barycenter*Ce.weight,ye+=Ce.weight),Fe.vs=Ce.vs.concat(Fe.vs),Fe.barycenter=ve/ye,Fe.weight=ye,Fe.i=Math.min(Ce.i,Fe.i),Ce.merged=!0}},86490:function(Pt,Mt,Oe){var _e=Oe(72361),Ve=Oe(99506),Re=Oe(45926),be=Oe(88650);Pt.exports=Fe;function Fe(ye,we,De,pe){var Ee=ye.children(we),Pe=ye.node(we),de=Pe?Pe.borderLeft:void 0,ee=Pe?Pe.borderRight:void 0,ne={};de&&(Ee=_e.filter(Ee,function(ue){return ue!==de&&ue!==ee}));var le=Ve(ye,Ee);_e.forEach(le,function(ue){if(ye.children(ue.v).length){var ge=Fe(ye,ue.v,De,pe);ne[ue.v]=ge,_e.has(ge,"barycenter")&&ve(ue,ge)}});var oe=Re(le,De);Ce(oe,ne);var ce=be(oe,pe);if(de&&(ce.vs=_e.flatten([de,ce.vs,ee],!0),ye.predecessors(de).length)){var he=ye.node(ye.predecessors(de)[0]),ie=ye.node(ye.predecessors(ee)[0]);_e.has(ce,"barycenter")||(ce.barycenter=0,ce.weight=0),ce.barycenter=(ce.barycenter*ce.weight+he.order+ie.order)/(ce.weight+2),ce.weight+=2}return ce}function Ce(ye,we){_e.forEach(ye,function(De){De.vs=_e.flatten(De.vs.map(function(pe){return we[pe]?we[pe].vs:pe}),!0)})}function ve(ye,we){_e.isUndefined(ye.barycenter)?(ye.barycenter=we.barycenter,ye.weight=we.weight):(ye.barycenter=(ye.barycenter*ye.weight+we.barycenter*we.weight)/(ye.weight+we.weight),ye.weight+=we.weight)}},88650:function(Pt,Mt,Oe){var _e=Oe(72361),Ve=Oe(53063);Pt.exports=Re;function Re(Ce,ve){var ye=Ve.partition(Ce,function(ne){return _e.has(ne,"barycenter")}),we=ye.lhs,De=_e.sortBy(ye.rhs,function(ne){return-ne.i}),pe=[],Ee=0,Pe=0,de=0;we.sort(Fe(!!ve)),de=be(pe,De,de),_e.forEach(we,function(ne){de+=ne.vs.length,pe.push(ne.vs),Ee+=ne.barycenter*ne.weight,Pe+=ne.weight,de=be(pe,De,de)});var ee={vs:_e.flatten(pe,!0)};return Pe&&(ee.barycenter=Ee/Pe,ee.weight=Pe),ee}function be(Ce,ve,ye){for(var we;ve.length&&(we=_e.last(ve)).i<=ye;)ve.pop(),Ce.push(we.vs),ye++;return ye}function Fe(Ce){return function(ve,ye){return ve.barycenter<ye.barycenter?-1:ve.barycenter>ye.barycenter?1:Ce?ye.i-ve.i:ve.i-ye.i}}},71970:function(Pt,Mt,Oe){var _e=Oe(72361);Pt.exports=Ve;function Ve(Fe){var Ce=be(Fe);_e.forEach(Fe.graph().dummyChains,function(ve){for(var ye=Fe.node(ve),we=ye.edgeObj,De=Re(Fe,Ce,we.v,we.w),pe=De.path,Ee=De.lca,Pe=0,de=pe[Pe],ee=!0;ve!==we.w;){if(ye=Fe.node(ve),ee){for(;(de=pe[Pe])!==Ee&&Fe.node(de).maxRank<ye.rank;)Pe++;de===Ee&&(ee=!1)}if(!ee){for(;Pe<pe.length-1&&Fe.node(de=pe[Pe+1]).minRank<=ye.rank;)Pe++;de=pe[Pe]}Fe.setParent(ve,de),ve=Fe.successors(ve)[0]}})}function Re(Fe,Ce,ve,ye){var we=[],De=[],pe=Math.min(Ce[ve].low,Ce[ye].low),Ee=Math.max(Ce[ve].lim,Ce[ye].lim),Pe,de;Pe=ve;do Pe=Fe.parent(Pe),we.push(Pe);while(Pe&&(Ce[Pe].low>pe||Ee>Ce[Pe].lim));for(de=Pe,Pe=ye;(Pe=Fe.parent(Pe))!==de;)De.push(Pe);return{path:we.concat(De.reverse()),lca:de}}function be(Fe){var Ce={},ve=0;function ye(we){var De=ve;_e.forEach(Fe.children(we),ye),Ce[we]={low:De,lim:ve++}}return _e.forEach(Fe.children(),ye),Ce}},92080:function(Pt,Mt,Oe){"use strict";var _e=Oe(72361),Ve=Oe(76626).Graph,Re=Oe(53063);Pt.exports={positionX:ee,findType1Conflicts:be,findType2Conflicts:Fe,addConflict:ve,hasConflict:ye,verticalAlignment:we,horizontalCompaction:De,alignCoordinates:Pe,findSmallestWidthAlignment:Ee,balance:de};function be(oe,ce){var he={};function ie(ue,ge){var xe=0,Me=0,Be=ue.length,Ne=_e.last(ge);return _e.forEach(ge,function(Ue,Ge){var Xe=Ce(oe,Ue),Ye=Xe?oe.node(Xe).order:Be;(Xe||Ue===Ne)&&(_e.forEach(ge.slice(Me,Ge+1),function(nt){_e.forEach(oe.predecessors(nt),function($e){var qe=oe.node($e),st=qe.order;(st<xe||Ye<st)&&!(qe.dummy&&oe.node(nt).dummy)&&ve(he,$e,nt)})}),Me=Ge+1,xe=Ye)}),ge}return _e.reduce(ce,ie),he}function Fe(oe,ce){var he={};function ie(ge,xe,Me,Be,Ne){var Ue;_e.forEach(_e.range(xe,Me),function(Ge){Ue=ge[Ge],oe.node(Ue).dummy&&_e.forEach(oe.predecessors(Ue),function(Xe){var Ye=oe.node(Xe);Ye.dummy&&(Ye.order<Be||Ye.order>Ne)&&ve(he,Xe,Ue)})})}function ue(ge,xe){var Me=-1,Be,Ne=0;return _e.forEach(xe,function(Ue,Ge){if(oe.node(Ue).dummy==="border"){var Xe=oe.predecessors(Ue);Xe.length&&(Be=oe.node(Xe[0]).order,ie(xe,Ne,Ge,Me,Be),Ne=Ge,Me=Be)}ie(xe,Ne,xe.length,Be,ge.length)}),xe}return _e.reduce(ce,ue),he}function Ce(oe,ce){if(oe.node(ce).dummy)return _e.find(oe.predecessors(ce),function(he){return oe.node(he).dummy})}function ve(oe,ce,he){if(ce>he){var ie=ce;ce=he,he=ie}var ue=oe[ce];ue||(oe[ce]=ue={}),ue[he]=!0}function ye(oe,ce,he){if(ce>he){var ie=ce;ce=he,he=ie}return _e.has(oe[ce],he)}function we(oe,ce,he,ie){var ue={},ge={},xe={};return _e.forEach(ce,function(Me){_e.forEach(Me,function(Be,Ne){ue[Be]=Be,ge[Be]=Be,xe[Be]=Ne})}),_e.forEach(ce,function(Me){var Be=-1;_e.forEach(Me,function(Ne){var Ue=ie(Ne);if(Ue.length){Ue=_e.sortBy(Ue,function($e){return xe[$e]});for(var Ge=(Ue.length-1)/2,Xe=Math.floor(Ge),Ye=Math.ceil(Ge);Xe<=Ye;++Xe){var nt=Ue[Xe];ge[Ne]===Ne&&Be<xe[nt]&&!ye(he,Ne,nt)&&(ge[nt]=Ne,ge[Ne]=ue[Ne]=ue[nt],Be=xe[nt])}}})}),{root:ue,align:ge}}function De(oe,ce,he,ie,ue){var ge={},xe=pe(oe,ce,he,ue),Me=ue?"borderLeft":"borderRight";function Be(Ge,Xe){for(var Ye=xe.nodes(),nt=Ye.pop(),$e={};nt;)$e[nt]?Ge(nt):($e[nt]=!0,Ye.push(nt),Ye=Ye.concat(Xe(nt))),nt=Ye.pop()}function Ne(Ge){ge[Ge]=xe.inEdges(Ge).reduce(function(Xe,Ye){return Math.max(Xe,ge[Ye.v]+xe.edge(Ye))},0)}function Ue(Ge){var Xe=xe.outEdges(Ge).reduce(function(nt,$e){return Math.min(nt,ge[$e.w]-xe.edge($e))},Number.POSITIVE_INFINITY),Ye=oe.node(Ge);Xe!==Number.POSITIVE_INFINITY&&Ye.borderType!==Me&&(ge[Ge]=Math.max(ge[Ge],Xe))}return Be(Ne,xe.predecessors.bind(xe)),Be(Ue,xe.successors.bind(xe)),_e.forEach(ie,function(Ge){ge[Ge]=ge[he[Ge]]}),ge}function pe(oe,ce,he,ie){var ue=new Ve,ge=oe.graph(),xe=ne(ge.nodesep,ge.edgesep,ie);return _e.forEach(ce,function(Me){var Be;_e.forEach(Me,function(Ne){var Ue=he[Ne];if(ue.setNode(Ue),Be){var Ge=he[Be],Xe=ue.edge(Ge,Ue);ue.setEdge(Ge,Ue,Math.max(xe(oe,Ne,Be),Xe||0))}Be=Ne})}),ue}function Ee(oe,ce){return _e.minBy(_e.values(ce),function(he){var ie=Number.NEGATIVE_INFINITY,ue=Number.POSITIVE_INFINITY;return _e.forIn(he,function(ge,xe){var Me=le(oe,xe)/2;ie=Math.max(ge+Me,ie),ue=Math.min(ge-Me,ue)}),ie-ue})}function Pe(oe,ce){var he=_e.values(ce),ie=_e.min(he),ue=_e.max(he);_e.forEach(["u","d"],function(ge){_e.forEach(["l","r"],function(xe){var Me=ge+xe,Be=oe[Me],Ne;if(Be!==ce){var Ue=_e.values(Be);Ne=xe==="l"?ie-_e.min(Ue):ue-_e.max(Ue),Ne&&(oe[Me]=_e.mapValues(Be,function(Ge){return Ge+Ne}))}})})}function de(oe,ce){return _e.mapValues(oe.ul,function(he,ie){if(ce)return oe[ce.toLowerCase()][ie];var ue=_e.sortBy(_e.map(oe,ie));return(ue[1]+ue[2])/2})}function ee(oe){var ce=Re.buildLayerMatrix(oe),he=_e.merge(be(oe,ce),Fe(oe,ce)),ie={},ue;_e.forEach(["u","d"],function(xe){ue=xe==="u"?ce:_e.values(ce).reverse(),_e.forEach(["l","r"],function(Me){Me==="r"&&(ue=_e.map(ue,function(Ge){return _e.values(Ge).reverse()}));var Be=(xe==="u"?oe.predecessors:oe.successors).bind(oe),Ne=we(oe,ue,he,Be),Ue=De(oe,ue,Ne.root,Ne.align,Me==="r");Me==="r"&&(Ue=_e.mapValues(Ue,function(Ge){return-Ge})),ie[xe+Me]=Ue})});var ge=Ee(oe,ie);return Pe(ie,ge),de(ie,oe.graph().align)}function ne(oe,ce,he){return function(ie,ue,ge){var xe=ie.node(ue),Me=ie.node(ge),Be=0,Ne;if(Be+=xe.width/2,_e.has(xe,"labelpos"))switch(xe.labelpos.toLowerCase()){case"l":Ne=-xe.width/2;break;case"r":Ne=xe.width/2;break}if(Ne&&(Be+=he?Ne:-Ne),Ne=0,Be+=(xe.dummy?ce:oe)/2,Be+=(Me.dummy?ce:oe)/2,Be+=Me.width/2,_e.has(Me,"labelpos"))switch(Me.labelpos.toLowerCase()){case"l":Ne=Me.width/2;break;case"r":Ne=-Me.width/2;break}return Ne&&(Be+=he?Ne:-Ne),Ne=0,Be}}function le(oe,ce){return oe.node(ce).width}},93021:function(Pt,Mt,Oe){"use strict";var _e=Oe(72361),Ve=Oe(53063),Re=Oe(92080).positionX;Pt.exports=be;function be(Ce){Ce=Ve.asNonCompoundGraph(Ce),Fe(Ce),_e.forEach(Re(Ce),function(ve,ye){Ce.node(ye).x=ve})}function Fe(Ce){var ve=Ve.buildLayerMatrix(Ce),ye=Ce.graph().ranksep,we=0;_e.forEach(ve,function(De){var pe=_e.max(_e.map(De,function(Ee){return Ce.node(Ee).height}));_e.forEach(De,function(Ee){Ce.node(Ee).y=we+pe/2}),we+=pe+ye})}},61031:function(Pt,Mt,Oe){"use strict";var _e=Oe(72361),Ve=Oe(76626).Graph,Re=Oe(2416).slack;Pt.exports=be;function be(ye){var we=new Ve({directed:!1}),De=ye.nodes()[0],pe=ye.nodeCount();we.setNode(De,{});for(var Ee,Pe;Fe(we,ye)<pe;)Ee=Ce(we,ye),Pe=we.hasNode(Ee.v)?Re(ye,Ee):-Re(ye,Ee),ve(we,ye,Pe);return we}function Fe(ye,we){function De(pe){_e.forEach(we.nodeEdges(pe),function(Ee){var Pe=Ee.v,de=pe===Pe?Ee.w:Pe;!ye.hasNode(de)&&!Re(we,Ee)&&(ye.setNode(de,{}),ye.setEdge(pe,de,{}),De(de))})}return _e.forEach(ye.nodes(),De),ye.nodeCount()}function Ce(ye,we){return _e.minBy(we.edges(),function(De){if(ye.hasNode(De.v)!==ye.hasNode(De.w))return Re(we,De)})}function ve(ye,we,De){_e.forEach(ye.nodes(),function(pe){we.node(pe).rank+=De})}},64505:function(Pt,Mt,Oe){"use strict";var _e=Oe(2416),Ve=_e.longestPath,Re=Oe(61031),be=Oe(77076);Pt.exports=Fe;function Fe(we){switch(we.graph().ranker){case"network-simplex":ye(we);break;case"tight-tree":ve(we);break;case"longest-path":Ce(we);break;default:ye(we)}}var Ce=Ve;function ve(we){Ve(we),Re(we)}function ye(we){be(we)}},77076:function(Pt,Mt,Oe){"use strict";var _e=Oe(72361),Ve=Oe(61031),Re=Oe(2416).slack,be=Oe(2416).longestPath,Fe=Oe(76626).alg.preorder,Ce=Oe(76626).alg.postorder,ve=Oe(53063).simplify;Pt.exports=ye,ye.initLowLimValues=Ee,ye.initCutValues=we,ye.calcCutValue=pe,ye.leaveEdge=de,ye.enterEdge=ee,ye.exchangeEdges=ne;function ye(he){he=ve(he),be(he);var ie=Ve(he);Ee(ie),we(ie,he);for(var ue,ge;ue=de(ie);)ge=ee(ie,he,ue),ne(ie,he,ue,ge)}function we(he,ie){var ue=Ce(he,he.nodes());ue=ue.slice(0,ue.length-1),_e.forEach(ue,function(ge){De(he,ie,ge)})}function De(he,ie,ue){var ge=he.node(ue),xe=ge.parent;he.edge(ue,xe).cutvalue=pe(he,ie,ue)}function pe(he,ie,ue){var ge=he.node(ue),xe=ge.parent,Me=!0,Be=ie.edge(ue,xe),Ne=0;return Be||(Me=!1,Be=ie.edge(xe,ue)),Ne=Be.weight,_e.forEach(ie.nodeEdges(ue),function(Ue){var Ge=Ue.v===ue,Xe=Ge?Ue.w:Ue.v;if(Xe!==xe){var Ye=Ge===Me,nt=ie.edge(Ue).weight;if(Ne+=Ye?nt:-nt,oe(he,ue,Xe)){var $e=he.edge(ue,Xe).cutvalue;Ne+=Ye?-$e:$e}}}),Ne}function Ee(he,ie){arguments.length<2&&(ie=he.nodes()[0]),Pe(he,{},1,ie)}function Pe(he,ie,ue,ge,xe){var Me=ue,Be=he.node(ge);return ie[ge]=!0,_e.forEach(he.neighbors(ge),function(Ne){_e.has(ie,Ne)||(ue=Pe(he,ie,ue,Ne,ge))}),Be.low=Me,Be.lim=ue++,xe?Be.parent=xe:delete Be.parent,ue}function de(he){return _e.find(he.edges(),function(ie){return he.edge(ie).cutvalue<0})}function ee(he,ie,ue){var ge=ue.v,xe=ue.w;ie.hasEdge(ge,xe)||(ge=ue.w,xe=ue.v);var Me=he.node(ge),Be=he.node(xe),Ne=Me,Ue=!1;Me.lim>Be.lim&&(Ne=Be,Ue=!0);var Ge=_e.filter(ie.edges(),function(Xe){return Ue===ce(he,he.node(Xe.v),Ne)&&Ue!==ce(he,he.node(Xe.w),Ne)});return _e.minBy(Ge,function(Xe){return Re(ie,Xe)})}function ne(he,ie,ue,ge){var xe=ue.v,Me=ue.w;he.removeEdge(xe,Me),he.setEdge(ge.v,ge.w,{}),Ee(he),we(he,ie),le(he,ie)}function le(he,ie){var ue=_e.find(he.nodes(),function(xe){return!ie.node(xe).parent}),ge=Fe(he,ue);ge=ge.slice(1),_e.forEach(ge,function(xe){var Me=he.node(xe).parent,Be=ie.edge(xe,Me),Ne=!1;Be||(Be=ie.edge(Me,xe),Ne=!0),ie.node(xe).rank=ie.node(Me).rank+(Ne?Be.minlen:-Be.minlen)})}function oe(he,ie,ue){return he.hasEdge(ie,ue)}function ce(he,ie,ue){return ue.low<=ie.lim&&ie.lim<=ue.lim}},2416:function(Pt,Mt,Oe){"use strict";var _e=Oe(72361);Pt.exports={longestPath:Ve,slack:Re};function Ve(be){var Fe={};function Ce(ve){var ye=be.node(ve);if(_e.has(Fe,ve))return ye.rank;Fe[ve]=!0;var we=_e.min(_e.map(be.outEdges(ve),function(De){return Ce(De.w)-be.edge(De).minlen}));return(we===Number.POSITIVE_INFINITY||we===void 0||we===null)&&(we=0),ye.rank=we}_e.forEach(be.sources(),Ce)}function Re(be,Fe){return be.node(Fe.w).rank-be.node(Fe.v).rank-be.edge(Fe).minlen}},53063:function(Pt,Mt,Oe){"use strict";var _e=Oe(72361),Ve=Oe(76626).Graph;Pt.exports={addDummyNode:Re,simplify:be,asNonCompoundGraph:Fe,successorWeights:Ce,predecessorWeights:ve,intersectRect:ye,buildLayerMatrix:we,normalizeRanks:De,removeEmptyRanks:pe,addBorderNode:Ee,maxRank:Pe,partition:de,time:ee,notime:ne};function Re(le,oe,ce,he){var ie;do ie=_e.uniqueId(he);while(le.hasNode(ie));return ce.dummy=oe,le.setNode(ie,ce),ie}function be(le){var oe=new Ve().setGraph(le.graph());return _e.forEach(le.nodes(),function(ce){oe.setNode(ce,le.node(ce))}),_e.forEach(le.edges(),function(ce){var he=oe.edge(ce.v,ce.w)||{weight:0,minlen:1},ie=le.edge(ce);oe.setEdge(ce.v,ce.w,{weight:he.weight+ie.weight,minlen:Math.max(he.minlen,ie.minlen)})}),oe}function Fe(le){var oe=new Ve({multigraph:le.isMultigraph()}).setGraph(le.graph());return _e.forEach(le.nodes(),function(ce){le.children(ce).length||oe.setNode(ce,le.node(ce))}),_e.forEach(le.edges(),function(ce){oe.setEdge(ce,le.edge(ce))}),oe}function Ce(le){var oe=_e.map(le.nodes(),function(ce){var he={};return _e.forEach(le.outEdges(ce),function(ie){he[ie.w]=(he[ie.w]||0)+le.edge(ie).weight}),he});return _e.zipObject(le.nodes(),oe)}function ve(le){var oe=_e.map(le.nodes(),function(ce){var he={};return _e.forEach(le.inEdges(ce),function(ie){he[ie.v]=(he[ie.v]||0)+le.edge(ie).weight}),he});return _e.zipObject(le.nodes(),oe)}function ye(le,oe){var ce=le.x,he=le.y,ie=oe.x-ce,ue=oe.y-he,ge=le.width/2,xe=le.height/2;if(!ie&&!ue)throw new Error("Not possible to find intersection inside of the rectangle");var Me,Be;return Math.abs(ue)*ge>Math.abs(ie)*xe?(ue<0&&(xe=-xe),Me=xe*ie/ue,Be=xe):(ie<0&&(ge=-ge),Me=ge,Be=ge*ue/ie),{x:ce+Me,y:he+Be}}function we(le){var oe=_e.map(_e.range(Pe(le)+1),function(){return[]});return _e.forEach(le.nodes(),function(ce){var he=le.node(ce),ie=he.rank;_e.isUndefined(ie)||(oe[ie][he.order]=ce)}),oe}function De(le){var oe=_e.min(_e.map(le.nodes(),function(ce){return le.node(ce).rank}));_e.forEach(le.nodes(),function(ce){var he=le.node(ce);_e.has(he,"rank")&&(he.rank-=oe)})}function pe(le){var oe=_e.min(_e.map(le.nodes(),function(ue){return le.node(ue).rank})),ce=[];_e.forEach(le.nodes(),function(ue){var ge=le.node(ue).rank-oe;ce[ge]||(ce[ge]=[]),ce[ge].push(ue)});var he=0,ie=le.graph().nodeRankFactor;_e.forEach(ce,function(ue,ge){_e.isUndefined(ue)&&ge%ie!==0?--he:he&&_e.forEach(ue,function(xe){le.node(xe).rank+=he})})}function Ee(le,oe,ce,he){var ie={width:0,height:0};return arguments.length>=4&&(ie.rank=ce,ie.order=he),Re(le,"border",ie,oe)}function Pe(le){return _e.max(_e.map(le.nodes(),function(oe){var ce=le.node(oe).rank;if(!_e.isUndefined(ce))return ce}))}function de(le,oe){var ce={lhs:[],rhs:[]};return _e.forEach(le,function(he){oe(he)?ce.lhs.push(he):ce.rhs.push(he)}),ce}function ee(le,oe){var ce=_e.now();try{return oe()}finally{console.log(le+" time: "+(_e.now()-ce)+"ms")}}function ne(le,oe){return oe()}},11897:function(Pt){Pt.exports="0.8.5"},97774:function(Pt,Mt,Oe){"use strict";Object.defineProperty(Mt,"__esModule",{value:!0}),Mt.default=void 0;var _e=Object.assign||function(ne){for(var le=1;le<arguments.length;le++){var oe=arguments[le];for(var ce in oe)Object.prototype.hasOwnProperty.call(oe,ce)&&(ne[ce]=oe[ce])}return ne},Ve=function(){function ne(le,oe){for(var ce=0;ce<oe.length;ce++){var he=oe[ce];he.enumerable=he.enumerable||!1,he.configurable=!0,"value"in he&&(he.writable=!0),Object.defineProperty(le,he.key,he)}}return function(le,oe,ce){return oe&&ne(le.prototype,oe),ce&&ne(le,ce),le}}(),Re=Oe(59301),be=pe(Re),Fe=Oe(12708),Ce=pe(Fe),ve=Oe(53291),ye=pe(ve),we=Oe(47242),De=Oe(65429);function pe(ne){return ne&&ne.__esModule?ne:{default:ne}}function Ee(ne,le){if(!(ne instanceof le))throw new TypeError("Cannot call a class as a function")}function Pe(ne,le){if(!ne)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return le&&(typeof le=="object"||typeof le=="function")?le:ne}function de(ne,le){if(typeof le!="function"&&le!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof le);ne.prototype=Object.create(le&&le.prototype,{constructor:{value:ne,enumerable:!1,writable:!0,configurable:!0}}),le&&(Object.setPrototypeOf?Object.setPrototypeOf(ne,le):ne.__proto__=le)}var ee=function(ne){de(le,ne);function le(oe){Ee(this,le);var ce=Pe(this,(le.__proto__||Object.getPrototypeOf(le)).call(this,oe));return ce.getEchartsInstance=function(){return ce.echartsLib.getInstanceByDom(ce.echartsElement)||ce.echartsLib.init(ce.echartsElement,ce.props.theme,ce.props.opts)},ce.dispose=function(){if(ce.echartsElement){try{(0,we.clear)(ce.echartsElement)}catch(he){console.warn(he)}ce.echartsLib.dispose(ce.echartsElement)}},ce.rerender=function(){var he=ce.props,ie=he.onEvents,ue=he.onChartReady,ge=ce.renderEchartDom();ce.bindEvents(ge,ie||{}),typeof ue=="function"&&ce.props.onChartReady(ge),ce.echartsElement&&(0,we.bind)(ce.echartsElement,function(){try{ge.resize()}catch(xe){console.warn(xe)}})},ce.bindEvents=function(he,ie){var ue=function(Me,Be){typeof Me=="string"&&typeof Be=="function"&&he.on(Me,function(Ne){Be(Ne,he)})};for(var ge in ie)Object.prototype.hasOwnProperty.call(ie,ge)&&ue(ge,ie[ge])},ce.renderEchartDom=function(){var he=ce.getEchartsInstance();return he.setOption(ce.props.option,ce.props.notMerge||!1,ce.props.lazyUpdate||!1),ce.props.showLoading?he.showLoading(ce.props.loadingOption||null):he.hideLoading(),he},ce.echartsLib=oe.echarts,ce.echartsElement=null,ce}return Ve(le,[{key:"componentDidMount",value:function(){this.rerender()}},{key:"componentDidUpdate",value:function(ce){if(!(typeof this.props.shouldSetOption=="function"&&!this.props.shouldSetOption(ce,this.props))){if(!(0,ye.default)(ce.theme,this.props.theme)||!(0,ye.default)(ce.opts,this.props.opts)||!(0,ye.default)(ce.onEvents,this.props.onEvents)){this.dispose(),this.rerender();return}var he=["option","notMerge","lazyUpdate","showLoading","loadingOption"];if(!(0,ye.default)((0,De.pick)(this.props,he),(0,De.pick)(ce,he))){var ie=this.renderEchartDom();if(!(0,ye.default)(ce.style,this.props.style)||!(0,ye.default)(ce.className,this.props.className))try{ie.resize()}catch(ue){console.warn(ue)}}}}},{key:"componentWillUnmount",value:function(){this.dispose()}},{key:"render",value:function(){var ce=this,he=this.props,ie=he.style,ue=he.className,ge=_e({height:300},ie);return be.default.createElement("div",{ref:function(Me){ce.echartsElement=Me},style:ge,className:"echarts-for-react "+ue})}}]),le}(Re.Component);Mt.default=ee,ee.propTypes={option:Ce.default.object.isRequired,echarts:Ce.default.object,notMerge:Ce.default.bool,lazyUpdate:Ce.default.bool,style:Ce.default.object,className:Ce.default.string,theme:Ce.default.oneOfType([Ce.default.string,Ce.default.object]),onChartReady:Ce.default.func,showLoading:Ce.default.bool,loadingOption:Ce.default.object,onEvents:Ce.default.object,opts:Ce.default.shape({devicePixelRatio:Ce.default.number,renderer:Ce.default.oneOf(["canvas","svg"]),width:Ce.default.oneOfType([Ce.default.number,Ce.default.oneOf([null,void 0,"auto"])]),height:Ce.default.oneOfType([Ce.default.number,Ce.default.oneOf([null,void 0,"auto"])])}),shouldSetOption:Ce.default.func},ee.defaultProps={echarts:{},notMerge:!1,lazyUpdate:!1,style:{},className:"",theme:null,onChartReady:function(){},showLoading:!1,loadingOption:null,onEvents:{},opts:{},shouldSetOption:function(){return!0}}},42441:function(Pt,Mt,Oe){"use strict";var _e;_e={value:!0},Mt.Z=void 0;var Ve=Oe(76411),Re=Ce(Ve),be=Oe(97774),Fe=Ce(be);function Ce(pe){return pe&&pe.__esModule?pe:{default:pe}}function ve(pe,Ee){if(!(pe instanceof Ee))throw new TypeError("Cannot call a class as a function")}function ye(pe,Ee){if(!pe)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Ee&&(typeof Ee=="object"||typeof Ee=="function")?Ee:pe}function we(pe,Ee){if(typeof Ee!="function"&&Ee!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof Ee);pe.prototype=Object.create(Ee&&Ee.prototype,{constructor:{value:pe,enumerable:!1,writable:!0,configurable:!0}}),Ee&&(Object.setPrototypeOf?Object.setPrototypeOf(pe,Ee):pe.__proto__=Ee)}var De=function(pe){we(Ee,pe);function Ee(Pe){ve(this,Ee);var de=ye(this,(Ee.__proto__||Object.getPrototypeOf(Ee)).call(this,Pe));return de.echartsLib=Re.default,de}return Ee}(Fe.default);Mt.Z=De},65429:function(Pt,Mt){"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});var Oe=Mt.pick=function(Ve,Re){var be={};return Re.forEach(function(Fe){be[Fe]=Ve[Fe]}),be}},48961:function(Pt,Mt,Oe){(function(Ve,Re){Pt.exports=Re(Oe(76411))})(this,function(_e){return function(Ve){var Re={};function be(Fe){if(Re[Fe])return Re[Fe].exports;var Ce=Re[Fe]={i:Fe,l:!1,exports:{}};return Ve[Fe].call(Ce.exports,Ce,Ce.exports,be),Ce.l=!0,Ce.exports}return be.m=Ve,be.c=Re,be.d=function(Fe,Ce,ve){be.o(Fe,Ce)||Object.defineProperty(Fe,Ce,{configurable:!1,enumerable:!0,get:ve})},be.n=function(Fe){var Ce=Fe&&Fe.__esModule?function(){return Fe.default}:function(){return Fe};return be.d(Ce,"a",Ce),Ce},be.o=function(Fe,Ce){return Object.prototype.hasOwnProperty.call(Fe,Ce)},be.p="",be(be.s=87)}([function(Ve,Re){Ve.exports=_e},function(Ve,Re,be){(function(Fe){"use strict";var Ce={};Ce.exports=Re,function(ve){if(!ye)var ye=1e-6;if(!we)var we=typeof Float32Array!="undefined"?Float32Array:Array;if(!De)var De=Math.random;var pe={};pe.setMatrixArrayType=function(ie){we=ie},typeof ve!="undefined"&&(ve.glMatrix=pe);var Ee=Math.PI/180;pe.toRadian=function(ie){return ie*Ee};var Pe={};Pe.create=function(){var ie=new we(2);return ie[0]=0,ie[1]=0,ie},Pe.clone=function(ie){var ue=new we(2);return ue[0]=ie[0],ue[1]=ie[1],ue},Pe.fromValues=function(ie,ue){var ge=new we(2);return ge[0]=ie,ge[1]=ue,ge},Pe.copy=function(ie,ue){return ie[0]=ue[0],ie[1]=ue[1],ie},Pe.set=function(ie,ue,ge){return ie[0]=ue,ie[1]=ge,ie},Pe.add=function(ie,ue,ge){return ie[0]=ue[0]+ge[0],ie[1]=ue[1]+ge[1],ie},Pe.subtract=function(ie,ue,ge){return ie[0]=ue[0]-ge[0],ie[1]=ue[1]-ge[1],ie},Pe.sub=Pe.subtract,Pe.multiply=function(ie,ue,ge){return ie[0]=ue[0]*ge[0],ie[1]=ue[1]*ge[1],ie},Pe.mul=Pe.multiply,Pe.divide=function(ie,ue,ge){return ie[0]=ue[0]/ge[0],ie[1]=ue[1]/ge[1],ie},Pe.div=Pe.divide,Pe.min=function(ie,ue,ge){return ie[0]=Math.min(ue[0],ge[0]),ie[1]=Math.min(ue[1],ge[1]),ie},Pe.max=function(ie,ue,ge){return ie[0]=Math.max(ue[0],ge[0]),ie[1]=Math.max(ue[1],ge[1]),ie},Pe.scale=function(ie,ue,ge){return ie[0]=ue[0]*ge,ie[1]=ue[1]*ge,ie},Pe.scaleAndAdd=function(ie,ue,ge,xe){return ie[0]=ue[0]+ge[0]*xe,ie[1]=ue[1]+ge[1]*xe,ie},Pe.distance=function(ie,ue){var ge=ue[0]-ie[0],xe=ue[1]-ie[1];return Math.sqrt(ge*ge+xe*xe)},Pe.dist=Pe.distance,Pe.squaredDistance=function(ie,ue){var ge=ue[0]-ie[0],xe=ue[1]-ie[1];return ge*ge+xe*xe},Pe.sqrDist=Pe.squaredDistance,Pe.length=function(ie){var ue=ie[0],ge=ie[1];return Math.sqrt(ue*ue+ge*ge)},Pe.len=Pe.length,Pe.squaredLength=function(ie){var ue=ie[0],ge=ie[1];return ue*ue+ge*ge},Pe.sqrLen=Pe.squaredLength,Pe.negate=function(ie,ue){return ie[0]=-ue[0],ie[1]=-ue[1],ie},Pe.inverse=function(ie,ue){return ie[0]=1/ue[0],ie[1]=1/ue[1],ie},Pe.normalize=function(ie,ue){var ge=ue[0],xe=ue[1],Me=ge*ge+xe*xe;return Me>0&&(Me=1/Math.sqrt(Me),ie[0]=ue[0]*Me,ie[1]=ue[1]*Me),ie},Pe.dot=function(ie,ue){return ie[0]*ue[0]+ie[1]*ue[1]},Pe.cross=function(ie,ue,ge){var xe=ue[0]*ge[1]-ue[1]*ge[0];return ie[0]=ie[1]=0,ie[2]=xe,ie},Pe.lerp=function(ie,ue,ge,xe){var Me=ue[0],Be=ue[1];return ie[0]=Me+xe*(ge[0]-Me),ie[1]=Be+xe*(ge[1]-Be),ie},Pe.random=function(ie,ue){ue=ue||1;var ge=De()*2*Math.PI;return ie[0]=Math.cos(ge)*ue,ie[1]=Math.sin(ge)*ue,ie},Pe.transformMat2=function(ie,ue,ge){var xe=ue[0],Me=ue[1];return ie[0]=ge[0]*xe+ge[2]*Me,ie[1]=ge[1]*xe+ge[3]*Me,ie},Pe.transformMat2d=function(ie,ue,ge){var xe=ue[0],Me=ue[1];return ie[0]=ge[0]*xe+ge[2]*Me+ge[4],ie[1]=ge[1]*xe+ge[3]*Me+ge[5],ie},Pe.transformMat3=function(ie,ue,ge){var xe=ue[0],Me=ue[1];return ie[0]=ge[0]*xe+ge[3]*Me+ge[6],ie[1]=ge[1]*xe+ge[4]*Me+ge[7],ie},Pe.transformMat4=function(ie,ue,ge){var xe=ue[0],Me=ue[1];return ie[0]=ge[0]*xe+ge[4]*Me+ge[12],ie[1]=ge[1]*xe+ge[5]*Me+ge[13],ie},Pe.forEach=function(){var ie=Pe.create();return function(ue,ge,xe,Me,Be,Ne){var Ue,Ge;for(ge||(ge=2),xe||(xe=0),Me?Ge=Math.min(Me*ge+xe,ue.length):Ge=ue.length,Ue=xe;Ue<Ge;Ue+=ge)ie[0]=ue[Ue],ie[1]=ue[Ue+1],Be(ie,ie,Ne),ue[Ue]=ie[0],ue[Ue+1]=ie[1];return ue}}(),Pe.str=function(ie){return"vec2("+ie[0]+", "+ie[1]+")"},typeof ve!="undefined"&&(ve.vec2=Pe);var de={};de.create=function(){var ie=new we(3);return ie[0]=0,ie[1]=0,ie[2]=0,ie},de.clone=function(ie){var ue=new we(3);return ue[0]=ie[0],ue[1]=ie[1],ue[2]=ie[2],ue},de.fromValues=function(ie,ue,ge){var xe=new we(3);return xe[0]=ie,xe[1]=ue,xe[2]=ge,xe},de.copy=function(ie,ue){return ie[0]=ue[0],ie[1]=ue[1],ie[2]=ue[2],ie},de.set=function(ie,ue,ge,xe){return ie[0]=ue,ie[1]=ge,ie[2]=xe,ie},de.add=function(ie,ue,ge){return ie[0]=ue[0]+ge[0],ie[1]=ue[1]+ge[1],ie[2]=ue[2]+ge[2],ie},de.subtract=function(ie,ue,ge){return ie[0]=ue[0]-ge[0],ie[1]=ue[1]-ge[1],ie[2]=ue[2]-ge[2],ie},de.sub=de.subtract,de.multiply=function(ie,ue,ge){return ie[0]=ue[0]*ge[0],ie[1]=ue[1]*ge[1],ie[2]=ue[2]*ge[2],ie},de.mul=de.multiply,de.divide=function(ie,ue,ge){return ie[0]=ue[0]/ge[0],ie[1]=ue[1]/ge[1],ie[2]=ue[2]/ge[2],ie},de.div=de.divide,de.min=function(ie,ue,ge){return ie[0]=Math.min(ue[0],ge[0]),ie[1]=Math.min(ue[1],ge[1]),ie[2]=Math.min(ue[2],ge[2]),ie},de.max=function(ie,ue,ge){return ie[0]=Math.max(ue[0],ge[0]),ie[1]=Math.max(ue[1],ge[1]),ie[2]=Math.max(ue[2],ge[2]),ie},de.scale=function(ie,ue,ge){return ie[0]=ue[0]*ge,ie[1]=ue[1]*ge,ie[2]=ue[2]*ge,ie},de.scaleAndAdd=function(ie,ue,ge,xe){return ie[0]=ue[0]+ge[0]*xe,ie[1]=ue[1]+ge[1]*xe,ie[2]=ue[2]+ge[2]*xe,ie},de.distance=function(ie,ue){var ge=ue[0]-ie[0],xe=ue[1]-ie[1],Me=ue[2]-ie[2];return Math.sqrt(ge*ge+xe*xe+Me*Me)},de.dist=de.distance,de.squaredDistance=function(ie,ue){var ge=ue[0]-ie[0],xe=ue[1]-ie[1],Me=ue[2]-ie[2];return ge*ge+xe*xe+Me*Me},de.sqrDist=de.squaredDistance,de.length=function(ie){var ue=ie[0],ge=ie[1],xe=ie[2];return Math.sqrt(ue*ue+ge*ge+xe*xe)},de.len=de.length,de.squaredLength=function(ie){var ue=ie[0],ge=ie[1],xe=ie[2];return ue*ue+ge*ge+xe*xe},de.sqrLen=de.squaredLength,de.negate=function(ie,ue){return ie[0]=-ue[0],ie[1]=-ue[1],ie[2]=-ue[2],ie},de.inverse=function(ie,ue){return ie[0]=1/ue[0],ie[1]=1/ue[1],ie[2]=1/ue[2],ie},de.normalize=function(ie,ue){var ge=ue[0],xe=ue[1],Me=ue[2],Be=ge*ge+xe*xe+Me*Me;return Be>0&&(Be=1/Math.sqrt(Be),ie[0]=ue[0]*Be,ie[1]=ue[1]*Be,ie[2]=ue[2]*Be),ie},de.dot=function(ie,ue){return ie[0]*ue[0]+ie[1]*ue[1]+ie[2]*ue[2]},de.cross=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ge[0],Ue=ge[1],Ge=ge[2];return ie[0]=Me*Ge-Be*Ue,ie[1]=Be*Ne-xe*Ge,ie[2]=xe*Ue-Me*Ne,ie},de.lerp=function(ie,ue,ge,xe){var Me=ue[0],Be=ue[1],Ne=ue[2];return ie[0]=Me+xe*(ge[0]-Me),ie[1]=Be+xe*(ge[1]-Be),ie[2]=Ne+xe*(ge[2]-Ne),ie},de.random=function(ie,ue){ue=ue||1;var ge=De()*2*Math.PI,xe=De()*2-1,Me=Math.sqrt(1-xe*xe)*ue;return ie[0]=Math.cos(ge)*Me,ie[1]=Math.sin(ge)*Me,ie[2]=xe*ue,ie},de.transformMat4=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ge[3]*xe+ge[7]*Me+ge[11]*Be+ge[15];return Ne=Ne||1,ie[0]=(ge[0]*xe+ge[4]*Me+ge[8]*Be+ge[12])/Ne,ie[1]=(ge[1]*xe+ge[5]*Me+ge[9]*Be+ge[13])/Ne,ie[2]=(ge[2]*xe+ge[6]*Me+ge[10]*Be+ge[14])/Ne,ie},de.transformMat3=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2];return ie[0]=xe*ge[0]+Me*ge[3]+Be*ge[6],ie[1]=xe*ge[1]+Me*ge[4]+Be*ge[7],ie[2]=xe*ge[2]+Me*ge[5]+Be*ge[8],ie},de.transformQuat=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ge[0],Ue=ge[1],Ge=ge[2],Xe=ge[3],Ye=Xe*xe+Ue*Be-Ge*Me,nt=Xe*Me+Ge*xe-Ne*Be,$e=Xe*Be+Ne*Me-Ue*xe,qe=-Ne*xe-Ue*Me-Ge*Be;return ie[0]=Ye*Xe+qe*-Ne+nt*-Ge-$e*-Ue,ie[1]=nt*Xe+qe*-Ue+$e*-Ne-Ye*-Ge,ie[2]=$e*Xe+qe*-Ge+Ye*-Ue-nt*-Ne,ie},de.rotateX=function(ie,ue,ge,xe){var Me=[],Be=[];return Me[0]=ue[0]-ge[0],Me[1]=ue[1]-ge[1],Me[2]=ue[2]-ge[2],Be[0]=Me[0],Be[1]=Me[1]*Math.cos(xe)-Me[2]*Math.sin(xe),Be[2]=Me[1]*Math.sin(xe)+Me[2]*Math.cos(xe),ie[0]=Be[0]+ge[0],ie[1]=Be[1]+ge[1],ie[2]=Be[2]+ge[2],ie},de.rotateY=function(ie,ue,ge,xe){var Me=[],Be=[];return Me[0]=ue[0]-ge[0],Me[1]=ue[1]-ge[1],Me[2]=ue[2]-ge[2],Be[0]=Me[2]*Math.sin(xe)+Me[0]*Math.cos(xe),Be[1]=Me[1],Be[2]=Me[2]*Math.cos(xe)-Me[0]*Math.sin(xe),ie[0]=Be[0]+ge[0],ie[1]=Be[1]+ge[1],ie[2]=Be[2]+ge[2],ie},de.rotateZ=function(ie,ue,ge,xe){var Me=[],Be=[];return Me[0]=ue[0]-ge[0],Me[1]=ue[1]-ge[1],Me[2]=ue[2]-ge[2],Be[0]=Me[0]*Math.cos(xe)-Me[1]*Math.sin(xe),Be[1]=Me[0]*Math.sin(xe)+Me[1]*Math.cos(xe),Be[2]=Me[2],ie[0]=Be[0]+ge[0],ie[1]=Be[1]+ge[1],ie[2]=Be[2]+ge[2],ie},de.forEach=function(){var ie=de.create();return function(ue,ge,xe,Me,Be,Ne){var Ue,Ge;for(ge||(ge=3),xe||(xe=0),Me?Ge=Math.min(Me*ge+xe,ue.length):Ge=ue.length,Ue=xe;Ue<Ge;Ue+=ge)ie[0]=ue[Ue],ie[1]=ue[Ue+1],ie[2]=ue[Ue+2],Be(ie,ie,Ne),ue[Ue]=ie[0],ue[Ue+1]=ie[1],ue[Ue+2]=ie[2];return ue}}(),de.angle=function(ie,ue){var ge=de.fromValues(ie[0],ie[1],ie[2]),xe=de.fromValues(ue[0],ue[1],ue[2]);de.normalize(ge,ge),de.normalize(xe,xe);var Me=de.dot(ge,xe);return Me>1?0:Math.acos(Me)},de.str=function(ie){return"vec3("+ie[0]+", "+ie[1]+", "+ie[2]+")"},typeof ve!="undefined"&&(ve.vec3=de);var ee={};ee.create=function(){var ie=new we(4);return ie[0]=0,ie[1]=0,ie[2]=0,ie[3]=0,ie},ee.clone=function(ie){var ue=new we(4);return ue[0]=ie[0],ue[1]=ie[1],ue[2]=ie[2],ue[3]=ie[3],ue},ee.fromValues=function(ie,ue,ge,xe){var Me=new we(4);return Me[0]=ie,Me[1]=ue,Me[2]=ge,Me[3]=xe,Me},ee.copy=function(ie,ue){return ie[0]=ue[0],ie[1]=ue[1],ie[2]=ue[2],ie[3]=ue[3],ie},ee.set=function(ie,ue,ge,xe,Me){return ie[0]=ue,ie[1]=ge,ie[2]=xe,ie[3]=Me,ie},ee.add=function(ie,ue,ge){return ie[0]=ue[0]+ge[0],ie[1]=ue[1]+ge[1],ie[2]=ue[2]+ge[2],ie[3]=ue[3]+ge[3],ie},ee.subtract=function(ie,ue,ge){return ie[0]=ue[0]-ge[0],ie[1]=ue[1]-ge[1],ie[2]=ue[2]-ge[2],ie[3]=ue[3]-ge[3],ie},ee.sub=ee.subtract,ee.multiply=function(ie,ue,ge){return ie[0]=ue[0]*ge[0],ie[1]=ue[1]*ge[1],ie[2]=ue[2]*ge[2],ie[3]=ue[3]*ge[3],ie},ee.mul=ee.multiply,ee.divide=function(ie,ue,ge){return ie[0]=ue[0]/ge[0],ie[1]=ue[1]/ge[1],ie[2]=ue[2]/ge[2],ie[3]=ue[3]/ge[3],ie},ee.div=ee.divide,ee.min=function(ie,ue,ge){return ie[0]=Math.min(ue[0],ge[0]),ie[1]=Math.min(ue[1],ge[1]),ie[2]=Math.min(ue[2],ge[2]),ie[3]=Math.min(ue[3],ge[3]),ie},ee.max=function(ie,ue,ge){return ie[0]=Math.max(ue[0],ge[0]),ie[1]=Math.max(ue[1],ge[1]),ie[2]=Math.max(ue[2],ge[2]),ie[3]=Math.max(ue[3],ge[3]),ie},ee.scale=function(ie,ue,ge){return ie[0]=ue[0]*ge,ie[1]=ue[1]*ge,ie[2]=ue[2]*ge,ie[3]=ue[3]*ge,ie},ee.scaleAndAdd=function(ie,ue,ge,xe){return ie[0]=ue[0]+ge[0]*xe,ie[1]=ue[1]+ge[1]*xe,ie[2]=ue[2]+ge[2]*xe,ie[3]=ue[3]+ge[3]*xe,ie},ee.distance=function(ie,ue){var ge=ue[0]-ie[0],xe=ue[1]-ie[1],Me=ue[2]-ie[2],Be=ue[3]-ie[3];return Math.sqrt(ge*ge+xe*xe+Me*Me+Be*Be)},ee.dist=ee.distance,ee.squaredDistance=function(ie,ue){var ge=ue[0]-ie[0],xe=ue[1]-ie[1],Me=ue[2]-ie[2],Be=ue[3]-ie[3];return ge*ge+xe*xe+Me*Me+Be*Be},ee.sqrDist=ee.squaredDistance,ee.length=function(ie){var ue=ie[0],ge=ie[1],xe=ie[2],Me=ie[3];return Math.sqrt(ue*ue+ge*ge+xe*xe+Me*Me)},ee.len=ee.length,ee.squaredLength=function(ie){var ue=ie[0],ge=ie[1],xe=ie[2],Me=ie[3];return ue*ue+ge*ge+xe*xe+Me*Me},ee.sqrLen=ee.squaredLength,ee.negate=function(ie,ue){return ie[0]=-ue[0],ie[1]=-ue[1],ie[2]=-ue[2],ie[3]=-ue[3],ie},ee.inverse=function(ie,ue){return ie[0]=1/ue[0],ie[1]=1/ue[1],ie[2]=1/ue[2],ie[3]=1/ue[3],ie},ee.normalize=function(ie,ue){var ge=ue[0],xe=ue[1],Me=ue[2],Be=ue[3],Ne=ge*ge+xe*xe+Me*Me+Be*Be;return Ne>0&&(Ne=1/Math.sqrt(Ne),ie[0]=ue[0]*Ne,ie[1]=ue[1]*Ne,ie[2]=ue[2]*Ne,ie[3]=ue[3]*Ne),ie},ee.dot=function(ie,ue){return ie[0]*ue[0]+ie[1]*ue[1]+ie[2]*ue[2]+ie[3]*ue[3]},ee.lerp=function(ie,ue,ge,xe){var Me=ue[0],Be=ue[1],Ne=ue[2],Ue=ue[3];return ie[0]=Me+xe*(ge[0]-Me),ie[1]=Be+xe*(ge[1]-Be),ie[2]=Ne+xe*(ge[2]-Ne),ie[3]=Ue+xe*(ge[3]-Ue),ie},ee.random=function(ie,ue){return ue=ue||1,ie[0]=De(),ie[1]=De(),ie[2]=De(),ie[3]=De(),ee.normalize(ie,ie),ee.scale(ie,ie,ue),ie},ee.transformMat4=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3];return ie[0]=ge[0]*xe+ge[4]*Me+ge[8]*Be+ge[12]*Ne,ie[1]=ge[1]*xe+ge[5]*Me+ge[9]*Be+ge[13]*Ne,ie[2]=ge[2]*xe+ge[6]*Me+ge[10]*Be+ge[14]*Ne,ie[3]=ge[3]*xe+ge[7]*Me+ge[11]*Be+ge[15]*Ne,ie},ee.transformQuat=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ge[0],Ue=ge[1],Ge=ge[2],Xe=ge[3],Ye=Xe*xe+Ue*Be-Ge*Me,nt=Xe*Me+Ge*xe-Ne*Be,$e=Xe*Be+Ne*Me-Ue*xe,qe=-Ne*xe-Ue*Me-Ge*Be;return ie[0]=Ye*Xe+qe*-Ne+nt*-Ge-$e*-Ue,ie[1]=nt*Xe+qe*-Ue+$e*-Ne-Ye*-Ge,ie[2]=$e*Xe+qe*-Ge+Ye*-Ue-nt*-Ne,ie},ee.forEach=function(){var ie=ee.create();return function(ue,ge,xe,Me,Be,Ne){var Ue,Ge;for(ge||(ge=4),xe||(xe=0),Me?Ge=Math.min(Me*ge+xe,ue.length):Ge=ue.length,Ue=xe;Ue<Ge;Ue+=ge)ie[0]=ue[Ue],ie[1]=ue[Ue+1],ie[2]=ue[Ue+2],ie[3]=ue[Ue+3],Be(ie,ie,Ne),ue[Ue]=ie[0],ue[Ue+1]=ie[1],ue[Ue+2]=ie[2],ue[Ue+3]=ie[3];return ue}}(),ee.str=function(ie){return"vec4("+ie[0]+", "+ie[1]+", "+ie[2]+", "+ie[3]+")"},typeof ve!="undefined"&&(ve.vec4=ee);var ne={};ne.create=function(){var ie=new we(4);return ie[0]=1,ie[1]=0,ie[2]=0,ie[3]=1,ie},ne.clone=function(ie){var ue=new we(4);return ue[0]=ie[0],ue[1]=ie[1],ue[2]=ie[2],ue[3]=ie[3],ue},ne.copy=function(ie,ue){return ie[0]=ue[0],ie[1]=ue[1],ie[2]=ue[2],ie[3]=ue[3],ie},ne.identity=function(ie){return ie[0]=1,ie[1]=0,ie[2]=0,ie[3]=1,ie},ne.transpose=function(ie,ue){if(ie===ue){var ge=ue[1];ie[1]=ue[2],ie[2]=ge}else ie[0]=ue[0],ie[1]=ue[2],ie[2]=ue[1],ie[3]=ue[3];return ie},ne.invert=function(ie,ue){var ge=ue[0],xe=ue[1],Me=ue[2],Be=ue[3],Ne=ge*Be-Me*xe;return Ne?(Ne=1/Ne,ie[0]=Be*Ne,ie[1]=-xe*Ne,ie[2]=-Me*Ne,ie[3]=ge*Ne,ie):null},ne.adjoint=function(ie,ue){var ge=ue[0];return ie[0]=ue[3],ie[1]=-ue[1],ie[2]=-ue[2],ie[3]=ge,ie},ne.determinant=function(ie){return ie[0]*ie[3]-ie[2]*ie[1]},ne.multiply=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3],Ue=ge[0],Ge=ge[1],Xe=ge[2],Ye=ge[3];return ie[0]=xe*Ue+Be*Ge,ie[1]=Me*Ue+Ne*Ge,ie[2]=xe*Xe+Be*Ye,ie[3]=Me*Xe+Ne*Ye,ie},ne.mul=ne.multiply,ne.rotate=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3],Ue=Math.sin(ge),Ge=Math.cos(ge);return ie[0]=xe*Ge+Be*Ue,ie[1]=Me*Ge+Ne*Ue,ie[2]=xe*-Ue+Be*Ge,ie[3]=Me*-Ue+Ne*Ge,ie},ne.scale=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3],Ue=ge[0],Ge=ge[1];return ie[0]=xe*Ue,ie[1]=Me*Ue,ie[2]=Be*Ge,ie[3]=Ne*Ge,ie},ne.str=function(ie){return"mat2("+ie[0]+", "+ie[1]+", "+ie[2]+", "+ie[3]+")"},ne.frob=function(ie){return Math.sqrt(Math.pow(ie[0],2)+Math.pow(ie[1],2)+Math.pow(ie[2],2)+Math.pow(ie[3],2))},ne.LDU=function(ie,ue,ge,xe){return ie[2]=xe[2]/xe[0],ge[0]=xe[0],ge[1]=xe[1],ge[3]=xe[3]-ie[2]*ge[1],[ie,ue,ge]},typeof ve!="undefined"&&(ve.mat2=ne);var le={};le.create=function(){var ie=new we(6);return ie[0]=1,ie[1]=0,ie[2]=0,ie[3]=1,ie[4]=0,ie[5]=0,ie},le.clone=function(ie){var ue=new we(6);return ue[0]=ie[0],ue[1]=ie[1],ue[2]=ie[2],ue[3]=ie[3],ue[4]=ie[4],ue[5]=ie[5],ue},le.copy=function(ie,ue){return ie[0]=ue[0],ie[1]=ue[1],ie[2]=ue[2],ie[3]=ue[3],ie[4]=ue[4],ie[5]=ue[5],ie},le.identity=function(ie){return ie[0]=1,ie[1]=0,ie[2]=0,ie[3]=1,ie[4]=0,ie[5]=0,ie},le.invert=function(ie,ue){var ge=ue[0],xe=ue[1],Me=ue[2],Be=ue[3],Ne=ue[4],Ue=ue[5],Ge=ge*Be-xe*Me;return Ge?(Ge=1/Ge,ie[0]=Be*Ge,ie[1]=-xe*Ge,ie[2]=-Me*Ge,ie[3]=ge*Ge,ie[4]=(Me*Ue-Be*Ne)*Ge,ie[5]=(xe*Ne-ge*Ue)*Ge,ie):null},le.determinant=function(ie){return ie[0]*ie[3]-ie[1]*ie[2]},le.multiply=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3],Ue=ue[4],Ge=ue[5],Xe=ge[0],Ye=ge[1],nt=ge[2],$e=ge[3],qe=ge[4],st=ge[5];return ie[0]=xe*Xe+Be*Ye,ie[1]=Me*Xe+Ne*Ye,ie[2]=xe*nt+Be*$e,ie[3]=Me*nt+Ne*$e,ie[4]=xe*qe+Be*st+Ue,ie[5]=Me*qe+Ne*st+Ge,ie},le.mul=le.multiply,le.rotate=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3],Ue=ue[4],Ge=ue[5],Xe=Math.sin(ge),Ye=Math.cos(ge);return ie[0]=xe*Ye+Be*Xe,ie[1]=Me*Ye+Ne*Xe,ie[2]=xe*-Xe+Be*Ye,ie[3]=Me*-Xe+Ne*Ye,ie[4]=Ue,ie[5]=Ge,ie},le.scale=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3],Ue=ue[4],Ge=ue[5],Xe=ge[0],Ye=ge[1];return ie[0]=xe*Xe,ie[1]=Me*Xe,ie[2]=Be*Ye,ie[3]=Ne*Ye,ie[4]=Ue,ie[5]=Ge,ie},le.translate=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3],Ue=ue[4],Ge=ue[5],Xe=ge[0],Ye=ge[1];return ie[0]=xe,ie[1]=Me,ie[2]=Be,ie[3]=Ne,ie[4]=xe*Xe+Be*Ye+Ue,ie[5]=Me*Xe+Ne*Ye+Ge,ie},le.str=function(ie){return"mat2d("+ie[0]+", "+ie[1]+", "+ie[2]+", "+ie[3]+", "+ie[4]+", "+ie[5]+")"},le.frob=function(ie){return Math.sqrt(Math.pow(ie[0],2)+Math.pow(ie[1],2)+Math.pow(ie[2],2)+Math.pow(ie[3],2)+Math.pow(ie[4],2)+Math.pow(ie[5],2)+1)},typeof ve!="undefined"&&(ve.mat2d=le);var oe={};oe.create=function(){var ie=new we(9);return ie[0]=1,ie[1]=0,ie[2]=0,ie[3]=0,ie[4]=1,ie[5]=0,ie[6]=0,ie[7]=0,ie[8]=1,ie},oe.fromMat4=function(ie,ue){return ie[0]=ue[0],ie[1]=ue[1],ie[2]=ue[2],ie[3]=ue[4],ie[4]=ue[5],ie[5]=ue[6],ie[6]=ue[8],ie[7]=ue[9],ie[8]=ue[10],ie},oe.clone=function(ie){var ue=new we(9);return ue[0]=ie[0],ue[1]=ie[1],ue[2]=ie[2],ue[3]=ie[3],ue[4]=ie[4],ue[5]=ie[5],ue[6]=ie[6],ue[7]=ie[7],ue[8]=ie[8],ue},oe.copy=function(ie,ue){return ie[0]=ue[0],ie[1]=ue[1],ie[2]=ue[2],ie[3]=ue[3],ie[4]=ue[4],ie[5]=ue[5],ie[6]=ue[6],ie[7]=ue[7],ie[8]=ue[8],ie},oe.identity=function(ie){return ie[0]=1,ie[1]=0,ie[2]=0,ie[3]=0,ie[4]=1,ie[5]=0,ie[6]=0,ie[7]=0,ie[8]=1,ie},oe.transpose=function(ie,ue){if(ie===ue){var ge=ue[1],xe=ue[2],Me=ue[5];ie[1]=ue[3],ie[2]=ue[6],ie[3]=ge,ie[5]=ue[7],ie[6]=xe,ie[7]=Me}else ie[0]=ue[0],ie[1]=ue[3],ie[2]=ue[6],ie[3]=ue[1],ie[4]=ue[4],ie[5]=ue[7],ie[6]=ue[2],ie[7]=ue[5],ie[8]=ue[8];return ie},oe.invert=function(ie,ue){var ge=ue[0],xe=ue[1],Me=ue[2],Be=ue[3],Ne=ue[4],Ue=ue[5],Ge=ue[6],Xe=ue[7],Ye=ue[8],nt=Ye*Ne-Ue*Xe,$e=-Ye*Be+Ue*Ge,qe=Xe*Be-Ne*Ge,st=ge*nt+xe*$e+Me*qe;return st?(st=1/st,ie[0]=nt*st,ie[1]=(-Ye*xe+Me*Xe)*st,ie[2]=(Ue*xe-Me*Ne)*st,ie[3]=$e*st,ie[4]=(Ye*ge-Me*Ge)*st,ie[5]=(-Ue*ge+Me*Be)*st,ie[6]=qe*st,ie[7]=(-Xe*ge+xe*Ge)*st,ie[8]=(Ne*ge-xe*Be)*st,ie):null},oe.adjoint=function(ie,ue){var ge=ue[0],xe=ue[1],Me=ue[2],Be=ue[3],Ne=ue[4],Ue=ue[5],Ge=ue[6],Xe=ue[7],Ye=ue[8];return ie[0]=Ne*Ye-Ue*Xe,ie[1]=Me*Xe-xe*Ye,ie[2]=xe*Ue-Me*Ne,ie[3]=Ue*Ge-Be*Ye,ie[4]=ge*Ye-Me*Ge,ie[5]=Me*Be-ge*Ue,ie[6]=Be*Xe-Ne*Ge,ie[7]=xe*Ge-ge*Xe,ie[8]=ge*Ne-xe*Be,ie},oe.determinant=function(ie){var ue=ie[0],ge=ie[1],xe=ie[2],Me=ie[3],Be=ie[4],Ne=ie[5],Ue=ie[6],Ge=ie[7],Xe=ie[8];return ue*(Xe*Be-Ne*Ge)+ge*(-Xe*Me+Ne*Ue)+xe*(Ge*Me-Be*Ue)},oe.multiply=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3],Ue=ue[4],Ge=ue[5],Xe=ue[6],Ye=ue[7],nt=ue[8],$e=ge[0],qe=ge[1],st=ge[2],rt=ge[3],ct=ge[4],tt=ge[5],dt=ge[6],At=ge[7],mt=ge[8];return ie[0]=$e*xe+qe*Ne+st*Xe,ie[1]=$e*Me+qe*Ue+st*Ye,ie[2]=$e*Be+qe*Ge+st*nt,ie[3]=rt*xe+ct*Ne+tt*Xe,ie[4]=rt*Me+ct*Ue+tt*Ye,ie[5]=rt*Be+ct*Ge+tt*nt,ie[6]=dt*xe+At*Ne+mt*Xe,ie[7]=dt*Me+At*Ue+mt*Ye,ie[8]=dt*Be+At*Ge+mt*nt,ie},oe.mul=oe.multiply,oe.translate=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3],Ue=ue[4],Ge=ue[5],Xe=ue[6],Ye=ue[7],nt=ue[8],$e=ge[0],qe=ge[1];return ie[0]=xe,ie[1]=Me,ie[2]=Be,ie[3]=Ne,ie[4]=Ue,ie[5]=Ge,ie[6]=$e*xe+qe*Ne+Xe,ie[7]=$e*Me+qe*Ue+Ye,ie[8]=$e*Be+qe*Ge+nt,ie},oe.rotate=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3],Ue=ue[4],Ge=ue[5],Xe=ue[6],Ye=ue[7],nt=ue[8],$e=Math.sin(ge),qe=Math.cos(ge);return ie[0]=qe*xe+$e*Ne,ie[1]=qe*Me+$e*Ue,ie[2]=qe*Be+$e*Ge,ie[3]=qe*Ne-$e*xe,ie[4]=qe*Ue-$e*Me,ie[5]=qe*Ge-$e*Be,ie[6]=Xe,ie[7]=Ye,ie[8]=nt,ie},oe.scale=function(ie,ue,ge){var xe=ge[0],Me=ge[1];return ie[0]=xe*ue[0],ie[1]=xe*ue[1],ie[2]=xe*ue[2],ie[3]=Me*ue[3],ie[4]=Me*ue[4],ie[5]=Me*ue[5],ie[6]=ue[6],ie[7]=ue[7],ie[8]=ue[8],ie},oe.fromMat2d=function(ie,ue){return ie[0]=ue[0],ie[1]=ue[1],ie[2]=0,ie[3]=ue[2],ie[4]=ue[3],ie[5]=0,ie[6]=ue[4],ie[7]=ue[5],ie[8]=1,ie},oe.fromQuat=function(ie,ue){var ge=ue[0],xe=ue[1],Me=ue[2],Be=ue[3],Ne=ge+ge,Ue=xe+xe,Ge=Me+Me,Xe=ge*Ne,Ye=xe*Ne,nt=xe*Ue,$e=Me*Ne,qe=Me*Ue,st=Me*Ge,rt=Be*Ne,ct=Be*Ue,tt=Be*Ge;return ie[0]=1-nt-st,ie[3]=Ye-tt,ie[6]=$e+ct,ie[1]=Ye+tt,ie[4]=1-Xe-st,ie[7]=qe-rt,ie[2]=$e-ct,ie[5]=qe+rt,ie[8]=1-Xe-nt,ie},oe.normalFromMat4=function(ie,ue){var ge=ue[0],xe=ue[1],Me=ue[2],Be=ue[3],Ne=ue[4],Ue=ue[5],Ge=ue[6],Xe=ue[7],Ye=ue[8],nt=ue[9],$e=ue[10],qe=ue[11],st=ue[12],rt=ue[13],ct=ue[14],tt=ue[15],dt=ge*Ue-xe*Ne,At=ge*Ge-Me*Ne,mt=ge*Xe-Be*Ne,ht=xe*Ge-Me*Ue,vt=xe*Xe-Be*Ue,Wt=Me*Xe-Be*Ge,Jt=Ye*rt-nt*st,en=Ye*ct-$e*st,mn=Ye*tt-qe*st,Ot=nt*ct-$e*rt,an=nt*tt-qe*rt,tn=$e*tt-qe*ct,Dn=dt*tn-At*an+mt*Ot+ht*mn-vt*en+Wt*Jt;return Dn?(Dn=1/Dn,ie[0]=(Ue*tn-Ge*an+Xe*Ot)*Dn,ie[1]=(Ge*mn-Ne*tn-Xe*en)*Dn,ie[2]=(Ne*an-Ue*mn+Xe*Jt)*Dn,ie[3]=(Me*an-xe*tn-Be*Ot)*Dn,ie[4]=(ge*tn-Me*mn+Be*en)*Dn,ie[5]=(xe*mn-ge*an-Be*Jt)*Dn,ie[6]=(rt*Wt-ct*vt+tt*ht)*Dn,ie[7]=(ct*mt-st*Wt-tt*At)*Dn,ie[8]=(st*vt-rt*mt+tt*dt)*Dn,ie):null},oe.str=function(ie){return"mat3("+ie[0]+", "+ie[1]+", "+ie[2]+", "+ie[3]+", "+ie[4]+", "+ie[5]+", "+ie[6]+", "+ie[7]+", "+ie[8]+")"},oe.frob=function(ie){return Math.sqrt(Math.pow(ie[0],2)+Math.pow(ie[1],2)+Math.pow(ie[2],2)+Math.pow(ie[3],2)+Math.pow(ie[4],2)+Math.pow(ie[5],2)+Math.pow(ie[6],2)+Math.pow(ie[7],2)+Math.pow(ie[8],2))},typeof ve!="undefined"&&(ve.mat3=oe);var ce={};ce.create=function(){var ie=new we(16);return ie[0]=1,ie[1]=0,ie[2]=0,ie[3]=0,ie[4]=0,ie[5]=1,ie[6]=0,ie[7]=0,ie[8]=0,ie[9]=0,ie[10]=1,ie[11]=0,ie[12]=0,ie[13]=0,ie[14]=0,ie[15]=1,ie},ce.clone=function(ie){var ue=new we(16);return ue[0]=ie[0],ue[1]=ie[1],ue[2]=ie[2],ue[3]=ie[3],ue[4]=ie[4],ue[5]=ie[5],ue[6]=ie[6],ue[7]=ie[7],ue[8]=ie[8],ue[9]=ie[9],ue[10]=ie[10],ue[11]=ie[11],ue[12]=ie[12],ue[13]=ie[13],ue[14]=ie[14],ue[15]=ie[15],ue},ce.copy=function(ie,ue){return ie[0]=ue[0],ie[1]=ue[1],ie[2]=ue[2],ie[3]=ue[3],ie[4]=ue[4],ie[5]=ue[5],ie[6]=ue[6],ie[7]=ue[7],ie[8]=ue[8],ie[9]=ue[9],ie[10]=ue[10],ie[11]=ue[11],ie[12]=ue[12],ie[13]=ue[13],ie[14]=ue[14],ie[15]=ue[15],ie},ce.identity=function(ie){return ie[0]=1,ie[1]=0,ie[2]=0,ie[3]=0,ie[4]=0,ie[5]=1,ie[6]=0,ie[7]=0,ie[8]=0,ie[9]=0,ie[10]=1,ie[11]=0,ie[12]=0,ie[13]=0,ie[14]=0,ie[15]=1,ie},ce.transpose=function(ie,ue){if(ie===ue){var ge=ue[1],xe=ue[2],Me=ue[3],Be=ue[6],Ne=ue[7],Ue=ue[11];ie[1]=ue[4],ie[2]=ue[8],ie[3]=ue[12],ie[4]=ge,ie[6]=ue[9],ie[7]=ue[13],ie[8]=xe,ie[9]=Be,ie[11]=ue[14],ie[12]=Me,ie[13]=Ne,ie[14]=Ue}else ie[0]=ue[0],ie[1]=ue[4],ie[2]=ue[8],ie[3]=ue[12],ie[4]=ue[1],ie[5]=ue[5],ie[6]=ue[9],ie[7]=ue[13],ie[8]=ue[2],ie[9]=ue[6],ie[10]=ue[10],ie[11]=ue[14],ie[12]=ue[3],ie[13]=ue[7],ie[14]=ue[11],ie[15]=ue[15];return ie},ce.invert=function(ie,ue){var ge=ue[0],xe=ue[1],Me=ue[2],Be=ue[3],Ne=ue[4],Ue=ue[5],Ge=ue[6],Xe=ue[7],Ye=ue[8],nt=ue[9],$e=ue[10],qe=ue[11],st=ue[12],rt=ue[13],ct=ue[14],tt=ue[15],dt=ge*Ue-xe*Ne,At=ge*Ge-Me*Ne,mt=ge*Xe-Be*Ne,ht=xe*Ge-Me*Ue,vt=xe*Xe-Be*Ue,Wt=Me*Xe-Be*Ge,Jt=Ye*rt-nt*st,en=Ye*ct-$e*st,mn=Ye*tt-qe*st,Ot=nt*ct-$e*rt,an=nt*tt-qe*rt,tn=$e*tt-qe*ct,Dn=dt*tn-At*an+mt*Ot+ht*mn-vt*en+Wt*Jt;return Dn?(Dn=1/Dn,ie[0]=(Ue*tn-Ge*an+Xe*Ot)*Dn,ie[1]=(Me*an-xe*tn-Be*Ot)*Dn,ie[2]=(rt*Wt-ct*vt+tt*ht)*Dn,ie[3]=($e*vt-nt*Wt-qe*ht)*Dn,ie[4]=(Ge*mn-Ne*tn-Xe*en)*Dn,ie[5]=(ge*tn-Me*mn+Be*en)*Dn,ie[6]=(ct*mt-st*Wt-tt*At)*Dn,ie[7]=(Ye*Wt-$e*mt+qe*At)*Dn,ie[8]=(Ne*an-Ue*mn+Xe*Jt)*Dn,ie[9]=(xe*mn-ge*an-Be*Jt)*Dn,ie[10]=(st*vt-rt*mt+tt*dt)*Dn,ie[11]=(nt*mt-Ye*vt-qe*dt)*Dn,ie[12]=(Ue*en-Ne*Ot-Ge*Jt)*Dn,ie[13]=(ge*Ot-xe*en+Me*Jt)*Dn,ie[14]=(rt*At-st*ht-ct*dt)*Dn,ie[15]=(Ye*ht-nt*At+$e*dt)*Dn,ie):null},ce.adjoint=function(ie,ue){var ge=ue[0],xe=ue[1],Me=ue[2],Be=ue[3],Ne=ue[4],Ue=ue[5],Ge=ue[6],Xe=ue[7],Ye=ue[8],nt=ue[9],$e=ue[10],qe=ue[11],st=ue[12],rt=ue[13],ct=ue[14],tt=ue[15];return ie[0]=Ue*($e*tt-qe*ct)-nt*(Ge*tt-Xe*ct)+rt*(Ge*qe-Xe*$e),ie[1]=-(xe*($e*tt-qe*ct)-nt*(Me*tt-Be*ct)+rt*(Me*qe-Be*$e)),ie[2]=xe*(Ge*tt-Xe*ct)-Ue*(Me*tt-Be*ct)+rt*(Me*Xe-Be*Ge),ie[3]=-(xe*(Ge*qe-Xe*$e)-Ue*(Me*qe-Be*$e)+nt*(Me*Xe-Be*Ge)),ie[4]=-(Ne*($e*tt-qe*ct)-Ye*(Ge*tt-Xe*ct)+st*(Ge*qe-Xe*$e)),ie[5]=ge*($e*tt-qe*ct)-Ye*(Me*tt-Be*ct)+st*(Me*qe-Be*$e),ie[6]=-(ge*(Ge*tt-Xe*ct)-Ne*(Me*tt-Be*ct)+st*(Me*Xe-Be*Ge)),ie[7]=ge*(Ge*qe-Xe*$e)-Ne*(Me*qe-Be*$e)+Ye*(Me*Xe-Be*Ge),ie[8]=Ne*(nt*tt-qe*rt)-Ye*(Ue*tt-Xe*rt)+st*(Ue*qe-Xe*nt),ie[9]=-(ge*(nt*tt-qe*rt)-Ye*(xe*tt-Be*rt)+st*(xe*qe-Be*nt)),ie[10]=ge*(Ue*tt-Xe*rt)-Ne*(xe*tt-Be*rt)+st*(xe*Xe-Be*Ue),ie[11]=-(ge*(Ue*qe-Xe*nt)-Ne*(xe*qe-Be*nt)+Ye*(xe*Xe-Be*Ue)),ie[12]=-(Ne*(nt*ct-$e*rt)-Ye*(Ue*ct-Ge*rt)+st*(Ue*$e-Ge*nt)),ie[13]=ge*(nt*ct-$e*rt)-Ye*(xe*ct-Me*rt)+st*(xe*$e-Me*nt),ie[14]=-(ge*(Ue*ct-Ge*rt)-Ne*(xe*ct-Me*rt)+st*(xe*Ge-Me*Ue)),ie[15]=ge*(Ue*$e-Ge*nt)-Ne*(xe*$e-Me*nt)+Ye*(xe*Ge-Me*Ue),ie},ce.determinant=function(ie){var ue=ie[0],ge=ie[1],xe=ie[2],Me=ie[3],Be=ie[4],Ne=ie[5],Ue=ie[6],Ge=ie[7],Xe=ie[8],Ye=ie[9],nt=ie[10],$e=ie[11],qe=ie[12],st=ie[13],rt=ie[14],ct=ie[15],tt=ue*Ne-ge*Be,dt=ue*Ue-xe*Be,At=ue*Ge-Me*Be,mt=ge*Ue-xe*Ne,ht=ge*Ge-Me*Ne,vt=xe*Ge-Me*Ue,Wt=Xe*st-Ye*qe,Jt=Xe*rt-nt*qe,en=Xe*ct-$e*qe,mn=Ye*rt-nt*st,Ot=Ye*ct-$e*st,an=nt*ct-$e*rt;return tt*an-dt*Ot+At*mn+mt*en-ht*Jt+vt*Wt},ce.multiply=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3],Ue=ue[4],Ge=ue[5],Xe=ue[6],Ye=ue[7],nt=ue[8],$e=ue[9],qe=ue[10],st=ue[11],rt=ue[12],ct=ue[13],tt=ue[14],dt=ue[15],At=ge[0],mt=ge[1],ht=ge[2],vt=ge[3];return ie[0]=At*xe+mt*Ue+ht*nt+vt*rt,ie[1]=At*Me+mt*Ge+ht*$e+vt*ct,ie[2]=At*Be+mt*Xe+ht*qe+vt*tt,ie[3]=At*Ne+mt*Ye+ht*st+vt*dt,At=ge[4],mt=ge[5],ht=ge[6],vt=ge[7],ie[4]=At*xe+mt*Ue+ht*nt+vt*rt,ie[5]=At*Me+mt*Ge+ht*$e+vt*ct,ie[6]=At*Be+mt*Xe+ht*qe+vt*tt,ie[7]=At*Ne+mt*Ye+ht*st+vt*dt,At=ge[8],mt=ge[9],ht=ge[10],vt=ge[11],ie[8]=At*xe+mt*Ue+ht*nt+vt*rt,ie[9]=At*Me+mt*Ge+ht*$e+vt*ct,ie[10]=At*Be+mt*Xe+ht*qe+vt*tt,ie[11]=At*Ne+mt*Ye+ht*st+vt*dt,At=ge[12],mt=ge[13],ht=ge[14],vt=ge[15],ie[12]=At*xe+mt*Ue+ht*nt+vt*rt,ie[13]=At*Me+mt*Ge+ht*$e+vt*ct,ie[14]=At*Be+mt*Xe+ht*qe+vt*tt,ie[15]=At*Ne+mt*Ye+ht*st+vt*dt,ie},ce.multiplyAffine=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[4],Ue=ue[5],Ge=ue[6],Xe=ue[8],Ye=ue[9],nt=ue[10],$e=ue[12],qe=ue[13],st=ue[14],rt=ge[0],ct=ge[1],tt=ge[2];return ie[0]=rt*xe+ct*Ne+tt*Xe,ie[1]=rt*Me+ct*Ue+tt*Ye,ie[2]=rt*Be+ct*Ge+tt*nt,rt=ge[4],ct=ge[5],tt=ge[6],ie[4]=rt*xe+ct*Ne+tt*Xe,ie[5]=rt*Me+ct*Ue+tt*Ye,ie[6]=rt*Be+ct*Ge+tt*nt,rt=ge[8],ct=ge[9],tt=ge[10],ie[8]=rt*xe+ct*Ne+tt*Xe,ie[9]=rt*Me+ct*Ue+tt*Ye,ie[10]=rt*Be+ct*Ge+tt*nt,rt=ge[12],ct=ge[13],tt=ge[14],ie[12]=rt*xe+ct*Ne+tt*Xe+$e,ie[13]=rt*Me+ct*Ue+tt*Ye+qe,ie[14]=rt*Be+ct*Ge+tt*nt+st,ie},ce.mul=ce.multiply,ce.mulAffine=ce.multiplyAffine,ce.translate=function(ie,ue,ge){var xe=ge[0],Me=ge[1],Be=ge[2],Ne,Ue,Ge,Xe,Ye,nt,$e,qe,st,rt,ct,tt;return ue===ie?(ie[12]=ue[0]*xe+ue[4]*Me+ue[8]*Be+ue[12],ie[13]=ue[1]*xe+ue[5]*Me+ue[9]*Be+ue[13],ie[14]=ue[2]*xe+ue[6]*Me+ue[10]*Be+ue[14],ie[15]=ue[3]*xe+ue[7]*Me+ue[11]*Be+ue[15]):(Ne=ue[0],Ue=ue[1],Ge=ue[2],Xe=ue[3],Ye=ue[4],nt=ue[5],$e=ue[6],qe=ue[7],st=ue[8],rt=ue[9],ct=ue[10],tt=ue[11],ie[0]=Ne,ie[1]=Ue,ie[2]=Ge,ie[3]=Xe,ie[4]=Ye,ie[5]=nt,ie[6]=$e,ie[7]=qe,ie[8]=st,ie[9]=rt,ie[10]=ct,ie[11]=tt,ie[12]=Ne*xe+Ye*Me+st*Be+ue[12],ie[13]=Ue*xe+nt*Me+rt*Be+ue[13],ie[14]=Ge*xe+$e*Me+ct*Be+ue[14],ie[15]=Xe*xe+qe*Me+tt*Be+ue[15]),ie},ce.scale=function(ie,ue,ge){var xe=ge[0],Me=ge[1],Be=ge[2];return ie[0]=ue[0]*xe,ie[1]=ue[1]*xe,ie[2]=ue[2]*xe,ie[3]=ue[3]*xe,ie[4]=ue[4]*Me,ie[5]=ue[5]*Me,ie[6]=ue[6]*Me,ie[7]=ue[7]*Me,ie[8]=ue[8]*Be,ie[9]=ue[9]*Be,ie[10]=ue[10]*Be,ie[11]=ue[11]*Be,ie[12]=ue[12],ie[13]=ue[13],ie[14]=ue[14],ie[15]=ue[15],ie},ce.rotate=function(ie,ue,ge,xe){var Me=xe[0],Be=xe[1],Ne=xe[2],Ue=Math.sqrt(Me*Me+Be*Be+Ne*Ne),Ge,Xe,Ye,nt,$e,qe,st,rt,ct,tt,dt,At,mt,ht,vt,Wt,Jt,en,mn,Ot,an,tn,Dn,Tn;return Math.abs(Ue)<ye?null:(Ue=1/Ue,Me*=Ue,Be*=Ue,Ne*=Ue,Ge=Math.sin(ge),Xe=Math.cos(ge),Ye=1-Xe,nt=ue[0],$e=ue[1],qe=ue[2],st=ue[3],rt=ue[4],ct=ue[5],tt=ue[6],dt=ue[7],At=ue[8],mt=ue[9],ht=ue[10],vt=ue[11],Wt=Me*Me*Ye+Xe,Jt=Be*Me*Ye+Ne*Ge,en=Ne*Me*Ye-Be*Ge,mn=Me*Be*Ye-Ne*Ge,Ot=Be*Be*Ye+Xe,an=Ne*Be*Ye+Me*Ge,tn=Me*Ne*Ye+Be*Ge,Dn=Be*Ne*Ye-Me*Ge,Tn=Ne*Ne*Ye+Xe,ie[0]=nt*Wt+rt*Jt+At*en,ie[1]=$e*Wt+ct*Jt+mt*en,ie[2]=qe*Wt+tt*Jt+ht*en,ie[3]=st*Wt+dt*Jt+vt*en,ie[4]=nt*mn+rt*Ot+At*an,ie[5]=$e*mn+ct*Ot+mt*an,ie[6]=qe*mn+tt*Ot+ht*an,ie[7]=st*mn+dt*Ot+vt*an,ie[8]=nt*tn+rt*Dn+At*Tn,ie[9]=$e*tn+ct*Dn+mt*Tn,ie[10]=qe*tn+tt*Dn+ht*Tn,ie[11]=st*tn+dt*Dn+vt*Tn,ue!==ie&&(ie[12]=ue[12],ie[13]=ue[13],ie[14]=ue[14],ie[15]=ue[15]),ie)},ce.rotateX=function(ie,ue,ge){var xe=Math.sin(ge),Me=Math.cos(ge),Be=ue[4],Ne=ue[5],Ue=ue[6],Ge=ue[7],Xe=ue[8],Ye=ue[9],nt=ue[10],$e=ue[11];return ue!==ie&&(ie[0]=ue[0],ie[1]=ue[1],ie[2]=ue[2],ie[3]=ue[3],ie[12]=ue[12],ie[13]=ue[13],ie[14]=ue[14],ie[15]=ue[15]),ie[4]=Be*Me+Xe*xe,ie[5]=Ne*Me+Ye*xe,ie[6]=Ue*Me+nt*xe,ie[7]=Ge*Me+$e*xe,ie[8]=Xe*Me-Be*xe,ie[9]=Ye*Me-Ne*xe,ie[10]=nt*Me-Ue*xe,ie[11]=$e*Me-Ge*xe,ie},ce.rotateY=function(ie,ue,ge){var xe=Math.sin(ge),Me=Math.cos(ge),Be=ue[0],Ne=ue[1],Ue=ue[2],Ge=ue[3],Xe=ue[8],Ye=ue[9],nt=ue[10],$e=ue[11];return ue!==ie&&(ie[4]=ue[4],ie[5]=ue[5],ie[6]=ue[6],ie[7]=ue[7],ie[12]=ue[12],ie[13]=ue[13],ie[14]=ue[14],ie[15]=ue[15]),ie[0]=Be*Me-Xe*xe,ie[1]=Ne*Me-Ye*xe,ie[2]=Ue*Me-nt*xe,ie[3]=Ge*Me-$e*xe,ie[8]=Be*xe+Xe*Me,ie[9]=Ne*xe+Ye*Me,ie[10]=Ue*xe+nt*Me,ie[11]=Ge*xe+$e*Me,ie},ce.rotateZ=function(ie,ue,ge){var xe=Math.sin(ge),Me=Math.cos(ge),Be=ue[0],Ne=ue[1],Ue=ue[2],Ge=ue[3],Xe=ue[4],Ye=ue[5],nt=ue[6],$e=ue[7];return ue!==ie&&(ie[8]=ue[8],ie[9]=ue[9],ie[10]=ue[10],ie[11]=ue[11],ie[12]=ue[12],ie[13]=ue[13],ie[14]=ue[14],ie[15]=ue[15]),ie[0]=Be*Me+Xe*xe,ie[1]=Ne*Me+Ye*xe,ie[2]=Ue*Me+nt*xe,ie[3]=Ge*Me+$e*xe,ie[4]=Xe*Me-Be*xe,ie[5]=Ye*Me-Ne*xe,ie[6]=nt*Me-Ue*xe,ie[7]=$e*Me-Ge*xe,ie},ce.fromRotationTranslation=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3],Ue=xe+xe,Ge=Me+Me,Xe=Be+Be,Ye=xe*Ue,nt=xe*Ge,$e=xe*Xe,qe=Me*Ge,st=Me*Xe,rt=Be*Xe,ct=Ne*Ue,tt=Ne*Ge,dt=Ne*Xe;return ie[0]=1-(qe+rt),ie[1]=nt+dt,ie[2]=$e-tt,ie[3]=0,ie[4]=nt-dt,ie[5]=1-(Ye+rt),ie[6]=st+ct,ie[7]=0,ie[8]=$e+tt,ie[9]=st-ct,ie[10]=1-(Ye+qe),ie[11]=0,ie[12]=ge[0],ie[13]=ge[1],ie[14]=ge[2],ie[15]=1,ie},ce.fromQuat=function(ie,ue){var ge=ue[0],xe=ue[1],Me=ue[2],Be=ue[3],Ne=ge+ge,Ue=xe+xe,Ge=Me+Me,Xe=ge*Ne,Ye=xe*Ne,nt=xe*Ue,$e=Me*Ne,qe=Me*Ue,st=Me*Ge,rt=Be*Ne,ct=Be*Ue,tt=Be*Ge;return ie[0]=1-nt-st,ie[1]=Ye+tt,ie[2]=$e-ct,ie[3]=0,ie[4]=Ye-tt,ie[5]=1-Xe-st,ie[6]=qe+rt,ie[7]=0,ie[8]=$e+ct,ie[9]=qe-rt,ie[10]=1-Xe-nt,ie[11]=0,ie[12]=0,ie[13]=0,ie[14]=0,ie[15]=1,ie},ce.frustum=function(ie,ue,ge,xe,Me,Be,Ne){var Ue=1/(ge-ue),Ge=1/(Me-xe),Xe=1/(Be-Ne);return ie[0]=Be*2*Ue,ie[1]=0,ie[2]=0,ie[3]=0,ie[4]=0,ie[5]=Be*2*Ge,ie[6]=0,ie[7]=0,ie[8]=(ge+ue)*Ue,ie[9]=(Me+xe)*Ge,ie[10]=(Ne+Be)*Xe,ie[11]=-1,ie[12]=0,ie[13]=0,ie[14]=Ne*Be*2*Xe,ie[15]=0,ie},ce.perspective=function(ie,ue,ge,xe,Me){var Be=1/Math.tan(ue/2),Ne=1/(xe-Me);return ie[0]=Be/ge,ie[1]=0,ie[2]=0,ie[3]=0,ie[4]=0,ie[5]=Be,ie[6]=0,ie[7]=0,ie[8]=0,ie[9]=0,ie[10]=(Me+xe)*Ne,ie[11]=-1,ie[12]=0,ie[13]=0,ie[14]=2*Me*xe*Ne,ie[15]=0,ie},ce.ortho=function(ie,ue,ge,xe,Me,Be,Ne){var Ue=1/(ue-ge),Ge=1/(xe-Me),Xe=1/(Be-Ne);return ie[0]=-2*Ue,ie[1]=0,ie[2]=0,ie[3]=0,ie[4]=0,ie[5]=-2*Ge,ie[6]=0,ie[7]=0,ie[8]=0,ie[9]=0,ie[10]=2*Xe,ie[11]=0,ie[12]=(ue+ge)*Ue,ie[13]=(Me+xe)*Ge,ie[14]=(Ne+Be)*Xe,ie[15]=1,ie},ce.lookAt=function(ie,ue,ge,xe){var Me,Be,Ne,Ue,Ge,Xe,Ye,nt,$e,qe,st=ue[0],rt=ue[1],ct=ue[2],tt=xe[0],dt=xe[1],At=xe[2],mt=ge[0],ht=ge[1],vt=ge[2];return Math.abs(st-mt)<ye&&Math.abs(rt-ht)<ye&&Math.abs(ct-vt)<ye?ce.identity(ie):(Ye=st-mt,nt=rt-ht,$e=ct-vt,qe=1/Math.sqrt(Ye*Ye+nt*nt+$e*$e),Ye*=qe,nt*=qe,$e*=qe,Me=dt*$e-At*nt,Be=At*Ye-tt*$e,Ne=tt*nt-dt*Ye,qe=Math.sqrt(Me*Me+Be*Be+Ne*Ne),qe?(qe=1/qe,Me*=qe,Be*=qe,Ne*=qe):(Me=0,Be=0,Ne=0),Ue=nt*Ne-$e*Be,Ge=$e*Me-Ye*Ne,Xe=Ye*Be-nt*Me,qe=Math.sqrt(Ue*Ue+Ge*Ge+Xe*Xe),qe?(qe=1/qe,Ue*=qe,Ge*=qe,Xe*=qe):(Ue=0,Ge=0,Xe=0),ie[0]=Me,ie[1]=Ue,ie[2]=Ye,ie[3]=0,ie[4]=Be,ie[5]=Ge,ie[6]=nt,ie[7]=0,ie[8]=Ne,ie[9]=Xe,ie[10]=$e,ie[11]=0,ie[12]=-(Me*st+Be*rt+Ne*ct),ie[13]=-(Ue*st+Ge*rt+Xe*ct),ie[14]=-(Ye*st+nt*rt+$e*ct),ie[15]=1,ie)},ce.str=function(ie){return"mat4("+ie[0]+", "+ie[1]+", "+ie[2]+", "+ie[3]+", "+ie[4]+", "+ie[5]+", "+ie[6]+", "+ie[7]+", "+ie[8]+", "+ie[9]+", "+ie[10]+", "+ie[11]+", "+ie[12]+", "+ie[13]+", "+ie[14]+", "+ie[15]+")"},ce.frob=function(ie){return Math.sqrt(Math.pow(ie[0],2)+Math.pow(ie[1],2)+Math.pow(ie[2],2)+Math.pow(ie[3],2)+Math.pow(ie[4],2)+Math.pow(ie[5],2)+Math.pow(ie[6],2)+Math.pow(ie[7],2)+Math.pow(ie[8],2)+Math.pow(ie[9],2)+Math.pow(ie[10],2)+Math.pow(ie[11],2)+Math.pow(ie[12],2)+Math.pow(ie[13],2)+Math.pow(ie[14],2)+Math.pow(ie[15],2))},typeof ve!="undefined"&&(ve.mat4=ce);var he={};he.create=function(){var ie=new we(4);return ie[0]=0,ie[1]=0,ie[2]=0,ie[3]=1,ie},he.rotationTo=function(){var ie=de.create(),ue=de.fromValues(1,0,0),ge=de.fromValues(0,1,0);return function(xe,Me,Be){var Ne=de.dot(Me,Be);return Ne<-.999999?(de.cross(ie,ue,Me),de.length(ie)<1e-6&&de.cross(ie,ge,Me),de.normalize(ie,ie),he.setAxisAngle(xe,ie,Math.PI),xe):Ne>.999999?(xe[0]=0,xe[1]=0,xe[2]=0,xe[3]=1,xe):(de.cross(ie,Me,Be),xe[0]=ie[0],xe[1]=ie[1],xe[2]=ie[2],xe[3]=1+Ne,he.normalize(xe,xe))}}(),he.setAxes=function(){var ie=oe.create();return function(ue,ge,xe,Me){return ie[0]=xe[0],ie[3]=xe[1],ie[6]=xe[2],ie[1]=Me[0],ie[4]=Me[1],ie[7]=Me[2],ie[2]=-ge[0],ie[5]=-ge[1],ie[8]=-ge[2],he.normalize(ue,he.fromMat3(ue,ie))}}(),he.clone=ee.clone,he.fromValues=ee.fromValues,he.copy=ee.copy,he.set=ee.set,he.identity=function(ie){return ie[0]=0,ie[1]=0,ie[2]=0,ie[3]=1,ie},he.setAxisAngle=function(ie,ue,ge){ge=ge*.5;var xe=Math.sin(ge);return ie[0]=xe*ue[0],ie[1]=xe*ue[1],ie[2]=xe*ue[2],ie[3]=Math.cos(ge),ie},he.add=ee.add,he.multiply=function(ie,ue,ge){var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3],Ue=ge[0],Ge=ge[1],Xe=ge[2],Ye=ge[3];return ie[0]=xe*Ye+Ne*Ue+Me*Xe-Be*Ge,ie[1]=Me*Ye+Ne*Ge+Be*Ue-xe*Xe,ie[2]=Be*Ye+Ne*Xe+xe*Ge-Me*Ue,ie[3]=Ne*Ye-xe*Ue-Me*Ge-Be*Xe,ie},he.mul=he.multiply,he.scale=ee.scale,he.rotateX=function(ie,ue,ge){ge*=.5;var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3],Ue=Math.sin(ge),Ge=Math.cos(ge);return ie[0]=xe*Ge+Ne*Ue,ie[1]=Me*Ge+Be*Ue,ie[2]=Be*Ge-Me*Ue,ie[3]=Ne*Ge-xe*Ue,ie},he.rotateY=function(ie,ue,ge){ge*=.5;var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3],Ue=Math.sin(ge),Ge=Math.cos(ge);return ie[0]=xe*Ge-Be*Ue,ie[1]=Me*Ge+Ne*Ue,ie[2]=Be*Ge+xe*Ue,ie[3]=Ne*Ge-Me*Ue,ie},he.rotateZ=function(ie,ue,ge){ge*=.5;var xe=ue[0],Me=ue[1],Be=ue[2],Ne=ue[3],Ue=Math.sin(ge),Ge=Math.cos(ge);return ie[0]=xe*Ge+Me*Ue,ie[1]=Me*Ge-xe*Ue,ie[2]=Be*Ge+Ne*Ue,ie[3]=Ne*Ge-Be*Ue,ie},he.calculateW=function(ie,ue){var ge=ue[0],xe=ue[1],Me=ue[2];return ie[0]=ge,ie[1]=xe,ie[2]=Me,ie[3]=Math.sqrt(Math.abs(1-ge*ge-xe*xe-Me*Me)),ie},he.dot=ee.dot,he.lerp=ee.lerp,he.slerp=function(ie,ue,ge,xe){var Me=ue[0],Be=ue[1],Ne=ue[2],Ue=ue[3],Ge=ge[0],Xe=ge[1],Ye=ge[2],nt=ge[3],$e,qe,st,rt,ct;return qe=Me*Ge+Be*Xe+Ne*Ye+Ue*nt,qe<0&&(qe=-qe,Ge=-Ge,Xe=-Xe,Ye=-Ye,nt=-nt),1-qe>1e-6?($e=Math.acos(qe),st=Math.sin($e),rt=Math.sin((1-xe)*$e)/st,ct=Math.sin(xe*$e)/st):(rt=1-xe,ct=xe),ie[0]=rt*Me+ct*Ge,ie[1]=rt*Be+ct*Xe,ie[2]=rt*Ne+ct*Ye,ie[3]=rt*Ue+ct*nt,ie},he.invert=function(ie,ue){var ge=ue[0],xe=ue[1],Me=ue[2],Be=ue[3],Ne=ge*ge+xe*xe+Me*Me+Be*Be,Ue=Ne?1/Ne:0;return ie[0]=-ge*Ue,ie[1]=-xe*Ue,ie[2]=-Me*Ue,ie[3]=Be*Ue,ie},he.conjugate=function(ie,ue){return ie[0]=-ue[0],ie[1]=-ue[1],ie[2]=-ue[2],ie[3]=ue[3],ie},he.length=ee.length,he.len=he.length,he.squaredLength=ee.squaredLength,he.sqrLen=he.squaredLength,he.normalize=ee.normalize,he.fromMat3=function(ie,ue){var ge=ue[0]+ue[4]+ue[8],xe;if(ge>0)xe=Math.sqrt(ge+1),ie[3]=.5*xe,xe=.5/xe,ie[0]=(ue[5]-ue[7])*xe,ie[1]=(ue[6]-ue[2])*xe,ie[2]=(ue[1]-ue[3])*xe;else{var Me=0;ue[4]>ue[0]&&(Me=1),ue[8]>ue[Me*3+Me]&&(Me=2);var Be=(Me+1)%3,Ne=(Me+2)%3;xe=Math.sqrt(ue[Me*3+Me]-ue[Be*3+Be]-ue[Ne*3+Ne]+1),ie[Me]=.5*xe,xe=.5/xe,ie[3]=(ue[Be*3+Ne]-ue[Ne*3+Be])*xe,ie[Be]=(ue[Be*3+Me]+ue[Me*3+Be])*xe,ie[Ne]=(ue[Ne*3+Me]+ue[Me*3+Ne])*xe}return ie},he.str=function(ie){return"quat("+ie[0]+", "+ie[1]+", "+ie[2]+", "+ie[3]+")"},typeof ve!="undefined"&&(ve.quat=he)}(Ce.exports)})(this)},function(Ve,Re,be){"use strict";var Fe=be(24),Ce=be(46),ve=be(5),ye=be(6),we=be(7),De=be(17),pe=be(28),Ee=be(13),Pe=be(0),de=be.n(Pe),ee=be(29),ne=be(53),le=be.n(ne),oe=be(54),ce=be(106),he=be(107),ie=be(113),ue=be(114),ge=be(3),xe=be(68),Me=be(37),Be=be(69),Ne=be(116),Ue=be(70),Ge=be(71),Xe=be(72),Ye=be(36),nt=be(30),$e=be(23),qe=be(4),st=be(117),rt=be(50),ct=be(118),tt=be(119),dt=be(120),At=be(9),mt=be(67),ht=be(49),vt=be(15),Wt=be(52),Jt=be(121),en=be(126),mn=be(63),Ot=be(127),an=be(128),tn=be(129),Dn=be(130),Tn=be(131),sn=be(132);de.a.util.extend(pe.a.prototype,Jt.a),we.a.import(en.a),we.a.import(mn.a),we.a.import(Ot.a),we.a.import(an.a),we.a.import(tn.a),we.a.import(Dn.a),we.a.import(Tn.a),we.a.import(sn.a);function dn(wt){return!wt||wt==="none"}function Kt(wt){return wt instanceof HTMLCanvasElement||wt instanceof HTMLImageElement||wt instanceof Image}function Tt(wt){return wt.getZr&&wt.setOption}var yt=ee.a.prototype.addToScene,Gt=ee.a.prototype.removeFromScene;ee.a.prototype.addToScene=function(wt){if(yt.call(this,wt),this.__zr){var rn=this.__zr;wt.traverse(function(On){On.__zr=rn,On.addAnimatorsToZr&&On.addAnimatorsToZr(rn)})}},ee.a.prototype.removeFromScene=function(wt){Gt.call(this,wt),wt.traverse(function(rn){var On=rn.__zr;rn.__zr=null,On&&rn.removeAnimatorsFromZr&&rn.removeAnimatorsFromZr(On)})},De.a.prototype.setTextureImage=function(wt,rn,On,zn){if(this.shader){var Gn=On.getZr(),nr=this,Xn;return nr.autoUpdateTextureStatus=!1,nr.disableTexture(wt),dn(rn)||(Xn=gt.loadTexture(rn,On,zn,function($t){nr.enableTexture(wt),Gn&&Gn.refresh()}),nr.set(wt,Xn)),Xn}};var gt={};gt.Renderer=Ce.a,gt.Node=pe.a,gt.Mesh=Fe.a,gt.Shader=we.a,gt.Material=De.a,gt.Texture=ye.a,gt.Texture2D=ve.a,gt.Geometry=Ee.a,gt.SphereGeometry=xe.a,gt.PlaneGeometry=Me.a,gt.CubeGeometry=Be.a,gt.AmbientLight=Ne.a,gt.DirectionalLight=Ue.a,gt.PointLight=Ge.a,gt.SpotLight=Xe.a,gt.PerspectiveCamera=Ye.a,gt.OrthographicCamera=nt.a,gt.Vector2=$e.a,gt.Vector3=qe.a,gt.Vector4=st.a,gt.Quaternion=rt.a,gt.Matrix2=ct.a,gt.Matrix2d=tt.a,gt.Matrix3=dt.a,gt.Matrix4=At.a,gt.Plane=mt.a,gt.Ray=ht.a,gt.BoundingBox=vt.a,gt.Frustum=Wt.a;var St=oe.a.createBlank("rgba(255,255,255,0)").image;function Qt(wt){return Math.pow(2,Math.round(Math.log(wt)/Math.LN2))}function Nt(wt){if((wt.wrapS===ye.a.REPEAT||wt.wrapT===ye.a.REPEAT)&&wt.image){var rn=Qt(wt.width),On=Qt(wt.height);if(rn!==wt.width||On!==wt.height){var zn=document.createElement("canvas");zn.width=rn,zn.height=On;var Gn=zn.getContext("2d");Gn.drawImage(wt.image,0,0,rn,On),wt.image=zn}}}gt.loadTexture=function(wt,rn,On,zn){typeof On=="function"&&(zn=On,On={}),On=On||{};for(var Gn=Object.keys(On).sort(),nr="",Xn=0;Xn<Gn.length;Xn++)nr+=Gn[Xn]+"_"+On[Gn[Xn]]+"_";var $t=rn.__textureCache=rn.__textureCache||new le.a(20);if(Tt(wt)){var gn=wt.__textureid__,jn=$t.get(nr+gn);if(jn)jn.texture.surface.setECharts(wt),zn&&zn(jn.texture);else{var Ln=new ce.a(wt);Ln.onupdate=function(){rn.getZr().refresh()},jn={texture:Ln.getTexture()};for(var Xn=0;Xn<Gn.length;Xn++)jn.texture[Gn[Xn]]=On[Gn[Xn]];gn=wt.__textureid__||"__ecgl_ec__"+jn.texture.__uid__,wt.__textureid__=gn,$t.put(nr+gn,jn),zn&&zn(jn.texture)}return jn.texture}else if(Kt(wt)){var gn=wt.__textureid__,jn=$t.get(nr+gn);if(!jn){jn={texture:new gt.Texture2D({image:wt})};for(var Xn=0;Xn<Gn.length;Xn++)jn.texture[Gn[Xn]]=On[Gn[Xn]];gn=wt.__textureid__||"__ecgl_image__"+jn.texture.__uid__,wt.__textureid__=gn,$t.put(nr+gn,jn),Nt(jn.texture),zn&&zn(jn.texture)}return jn.texture}else{var jn=$t.get(nr+wt);if(jn)jn.callbacks?jn.callbacks.push(zn):zn&&zn(jn.texture);else if(wt.match(/.hdr$|^data:application\/octet-stream/)){jn={callbacks:[zn]};var Sr=oe.a.loadTexture(wt,{exposure:On.exposure,fileType:"hdr"},function(){Sr.dirty(),jn.callbacks.forEach(function(Gr){Gr&&Gr(Sr)}),jn.callbacks=null});jn.texture=Sr,$t.put(nr+wt,jn)}else{for(var Sr=new gt.Texture2D({image:new Image}),Xn=0;Xn<Gn.length;Xn++)Sr[Gn[Xn]]=On[Gn[Xn]];jn={texture:Sr,callbacks:[zn]};var Ur=Sr.image;Ur.onload=function(){Sr.image=Ur,Nt(Sr),Sr.dirty(),jn.callbacks.forEach(function(ma){ma&&ma(Sr)}),jn.callbacks=null},Ur.src=wt,Sr.image=St,$t.put(nr+wt,jn)}return jn.texture}},gt.createAmbientCubemap=function(wt,rn,On,zn){wt=wt||{};var Gn=wt.texture,nr=ge.a.firstNotNull(wt.exposure,1),Xn=new he.a({intensity:ge.a.firstNotNull(wt.specularIntensity,1)}),$t=new ie.a({intensity:ge.a.firstNotNull(wt.diffuseIntensity,1),coefficients:[.844,.712,.691,-.037,.083,.167,.343,.288,.299,-.041,-.021,-.009,-.003,-.041,-.064,-.011,-.007,-.004,-.031,.034,.081,-.06,-.049,-.06,.046,.056,.05]});return Xn.cubemap=gt.loadTexture(Gn,On,{exposure:nr},function(){Xn.cubemap.flipY=!1,Xn.prefilter(rn,32),$t.coefficients=ue.a.projectEnvironmentMap(rn,Xn.cubemap,{lod:1}),zn&&zn()}),{specular:Xn,diffuse:$t}},gt.createBlankTexture=oe.a.createBlank,gt.isImage=Kt,gt.additiveBlend=function(wt){wt.blendEquation(wt.FUNC_ADD),wt.blendFunc(wt.SRC_ALPHA,wt.ONE)},gt.parseColor=function(wt,rn){return wt instanceof Array?(rn||(rn=[]),rn[0]=wt[0],rn[1]=wt[1],rn[2]=wt[2],wt.length>3?rn[3]=wt[3]:rn[3]=1,rn):(rn=de.a.color.parse(wt||"#000",rn)||[0,0,0,0],rn[0]/=255,rn[1]/=255,rn[2]/=255,rn)},gt.directionFromAlphaBeta=function(wt,rn){var On=wt/180*Math.PI+Math.PI/2,zn=-rn/180*Math.PI+Math.PI/2,Gn=[],nr=Math.sin(On);return Gn[0]=nr*Math.cos(zn),Gn[1]=-Math.cos(On),Gn[2]=nr*Math.sin(zn),Gn},gt.getShadowResolution=function(wt){var rn=1024;switch(wt){case"low":rn=512;break;case"medium":break;case"high":rn=2048;break;case"ultra":rn=4096;break}return rn},gt.COMMON_SHADERS=["lambert","color","realistic","hatching"],gt.createShader=function(wt){var rn=we.a.source(wt+".vertex"),On=we.a.source(wt+".fragment");rn||console.error("Vertex shader of '%s' not exits",wt),On||console.error("Fragment shader of '%s' not exits",wt);var zn=new we.a(rn,On);return zn.name=wt,zn},gt.createMaterial=function(wt,rn){rn instanceof Array||(rn=[rn]);var On=gt.createShader(wt),zn=new De.a({shader:On});return rn.forEach(function(Gn){typeof Gn=="string"&&zn.define(Gn)}),zn},gt.setMaterialFromModel=function(wt,rn,On,zn){rn.autoUpdateTextureStatus=!1;var Gn=On.getModel(wt+"Material"),nr=Gn.get("detailTexture"),Xn=ge.a.firstNotNull(Gn.get("textureTiling"),1),$t=ge.a.firstNotNull(Gn.get("textureOffset"),0);typeof Xn=="number"&&(Xn=[Xn,Xn]),typeof $t=="number"&&($t=[$t,$t]);var gn=Xn[0]>1||Xn[1]>1?gt.Texture.REPEAT:gt.Texture.CLAMP_TO_EDGE,jn={anisotropic:8,wrapS:gn,wrapT:gn};if(wt==="realistic"){var Ln=Gn.get("roughness"),Sr=Gn.get("metalness");Sr!=null?isNaN(Sr)&&(rn.setTextureImage("metalnessMap",Sr,zn,jn),Sr=ge.a.firstNotNull(Gn.get("metalnessAdjust"),.5)):Sr=0,Ln!=null?isNaN(Ln)&&(rn.setTextureImage("roughnessMap",Ln,zn,jn),Ln=ge.a.firstNotNull(Gn.get("roughnessAdjust"),.5)):Ln=.5;var Ur=Gn.get("normalTexture");rn.setTextureImage("detailMap",nr,zn,jn),rn.setTextureImage("normalMap",Ur,zn,jn),rn.set({roughness:Ln,metalness:Sr,detailUvRepeat:Xn,detailUvOffset:$t})}else if(wt==="lambert")rn.setTextureImage("detailMap",nr,zn,jn),rn.set({detailUvRepeat:Xn,detailUvOffset:$t});else if(wt==="color")rn.setTextureImage("detailMap",nr,zn,jn),rn.set({detailUvRepeat:Xn,detailUvOffset:$t});else if(wt==="hatching"){var Mr=Gn.get("hatchingTextures")||[];Mr.length<6&&console.error("Invalid hatchingTextures.");for(var Gr=0;Gr<6;Gr++)rn.setTextureImage("hatch"+(Gr+1),Mr[Gr],zn,{anisotropic:8,wrapS:gt.Texture.REPEAT,wrapT:gt.Texture.REPEAT});rn.set({detailUvRepeat:Xn,detailUvOffset:$t})}},gt.updateVertexAnimation=function(wt,rn,On,zn){var Gn=zn.get("animation"),nr=zn.get("animationDurationUpdate"),Xn=zn.get("animationEasingUpdate"),$t=On.shadowDepthMaterial;if(Gn&&rn&&nr>0&&rn.geometry.vertexCount===On.geometry.vertexCount){On.material.define("vertex","VERTEX_ANIMATION"),On.ignorePreZ=!0,$t&&$t.define("vertex","VERTEX_ANIMATION");for(var gn=0;gn<wt.length;gn++)On.geometry.attributes[wt[gn][0]].value=rn.geometry.attributes[wt[gn][1]].value;On.geometry.dirty(),On.__percent=0,On.material.set("percent",0),On.stopAnimation(),On.animate().when(nr,{__percent:1}).during(function(){On.material.set("percent",On.__percent),$t&&$t.set("percent",On.__percent)}).done(function(){On.ignorePreZ=!1,On.material.undefine("vertex","VERTEX_ANIMATION"),$t&&$t.undefine("vertex","VERTEX_ANIMATION")}).start(Xn)}else On.material.undefine("vertex","VERTEX_ANIMATION"),$t&&$t.undefine("vertex","VERTEX_ANIMATION")},Re.a=gt},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve={firstNotNull:function(){for(var ye=0,we=arguments.length;ye<we;ye++)if(arguments[ye]!=null)return arguments[ye]},queryDataIndex:function(ye,we){if(we.dataIndexInside!=null)return we.dataIndexInside;if(we.dataIndex!=null)return Ce.a.util.isArray(we.dataIndex)?Ce.a.util.map(we.dataIndex,function(De){return ye.indexOfRawIndex(De)}):ye.indexOfRawIndex(we.dataIndex);if(we.name!=null)return Ce.a.util.isArray(we.name)?Ce.a.util.map(we.name,function(De){return ye.indexOfName(De)}):ye.indexOfName(we.name)}};Re.a=ve},function(Ve,Re,be){"use strict";var Fe=be(1),Ce=be.n(Fe),ve=Ce.a.vec3,ye=function(ee,ne,le){ee=ee||0,ne=ne||0,le=le||0,this.array=ve.fromValues(ee,ne,le),this._dirty=!0};ye.prototype={constructor:ye,add:function(ee){return ve.add(this.array,this.array,ee.array),this._dirty=!0,this},set:function(ee,ne,le){return this.array[0]=ee,this.array[1]=ne,this.array[2]=le,this._dirty=!0,this},setArray:function(ee){return this.array[0]=ee[0],this.array[1]=ee[1],this.array[2]=ee[2],this._dirty=!0,this},clone:function(){return new ye(this.x,this.y,this.z)},copy:function(ee){return ve.copy(this.array,ee.array),this._dirty=!0,this},cross:function(ee,ne){return ve.cross(this.array,ee.array,ne.array),this._dirty=!0,this},dist:function(ee){return ve.dist(this.array,ee.array)},distance:function(ee){return ve.distance(this.array,ee.array)},div:function(ee){return ve.div(this.array,this.array,ee.array),this._dirty=!0,this},divide:function(ee){return ve.divide(this.array,this.array,ee.array),this._dirty=!0,this},dot:function(ee){return ve.dot(this.array,ee.array)},len:function(){return ve.len(this.array)},length:function(){return ve.length(this.array)},lerp:function(ee,ne,le){return ve.lerp(this.array,ee.array,ne.array,le),this._dirty=!0,this},min:function(ee){return ve.min(this.array,this.array,ee.array),this._dirty=!0,this},max:function(ee){return ve.max(this.array,this.array,ee.array),this._dirty=!0,this},mul:function(ee){return ve.mul(this.array,this.array,ee.array),this._dirty=!0,this},multiply:function(ee){return ve.multiply(this.array,this.array,ee.array),this._dirty=!0,this},negate:function(){return ve.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return ve.normalize(this.array,this.array),this._dirty=!0,this},random:function(ee){return ve.random(this.array,ee),this._dirty=!0,this},scale:function(ee){return ve.scale(this.array,this.array,ee),this._dirty=!0,this},scaleAndAdd:function(ee,ne){return ve.scaleAndAdd(this.array,this.array,ee.array,ne),this._dirty=!0,this},sqrDist:function(ee){return ve.sqrDist(this.array,ee.array)},squaredDistance:function(ee){return ve.squaredDistance(this.array,ee.array)},sqrLen:function(){return ve.sqrLen(this.array)},squaredLength:function(){return ve.squaredLength(this.array)},sub:function(ee){return ve.sub(this.array,this.array,ee.array),this._dirty=!0,this},subtract:function(ee){return ve.subtract(this.array,this.array,ee.array),this._dirty=!0,this},transformMat3:function(ee){return ve.transformMat3(this.array,this.array,ee.array),this._dirty=!0,this},transformMat4:function(ee){return ve.transformMat4(this.array,this.array,ee.array),this._dirty=!0,this},transformQuat:function(ee){return ve.transformQuat(this.array,this.array,ee.array),this._dirty=!0,this},applyProjection:function(ee){var ne=this.array;if(ee=ee.array,ee[15]===0){var le=-1/ne[2];ne[0]=ee[0]*ne[0]*le,ne[1]=ee[5]*ne[1]*le,ne[2]=(ee[10]*ne[2]+ee[14])*le}else ne[0]=ee[0]*ne[0]+ee[12],ne[1]=ee[5]*ne[1]+ee[13],ne[2]=ee[10]*ne[2]+ee[14];return this._dirty=!0,this},eulerFromQuat:function(ee,ne){ye.eulerFromQuat(this,ee,ne)},eulerFromMat3:function(ee,ne){ye.eulerFromMat3(this,ee,ne)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var we=Object.defineProperty;if(we){var De=ye.prototype;we(De,"x",{get:function(){return this.array[0]},set:function(ee){this.array[0]=ee,this._dirty=!0}}),we(De,"y",{get:function(){return this.array[1]},set:function(ee){this.array[1]=ee,this._dirty=!0}}),we(De,"z",{get:function(){return this.array[2]},set:function(ee){this.array[2]=ee,this._dirty=!0}})}ye.add=function(ee,ne,le){return ve.add(ee.array,ne.array,le.array),ee._dirty=!0,ee},ye.set=function(ee,ne,le,oe){ve.set(ee.array,ne,le,oe),ee._dirty=!0},ye.copy=function(ee,ne){return ve.copy(ee.array,ne.array),ee._dirty=!0,ee},ye.cross=function(ee,ne,le){return ve.cross(ee.array,ne.array,le.array),ee._dirty=!0,ee},ye.dist=function(ee,ne){return ve.distance(ee.array,ne.array)},ye.distance=ye.dist,ye.div=function(ee,ne,le){return ve.divide(ee.array,ne.array,le.array),ee._dirty=!0,ee},ye.divide=ye.div,ye.dot=function(ee,ne){return ve.dot(ee.array,ne.array)},ye.len=function(ee){return ve.length(ee.array)},ye.lerp=function(ee,ne,le,oe){return ve.lerp(ee.array,ne.array,le.array,oe),ee._dirty=!0,ee},ye.min=function(ee,ne,le){return ve.min(ee.array,ne.array,le.array),ee._dirty=!0,ee},ye.max=function(ee,ne,le){return ve.max(ee.array,ne.array,le.array),ee._dirty=!0,ee},ye.mul=function(ee,ne,le){return ve.multiply(ee.array,ne.array,le.array),ee._dirty=!0,ee},ye.multiply=ye.mul,ye.negate=function(ee,ne){return ve.negate(ee.array,ne.array),ee._dirty=!0,ee},ye.normalize=function(ee,ne){return ve.normalize(ee.array,ne.array),ee._dirty=!0,ee},ye.random=function(ee,ne){return ve.random(ee.array,ne),ee._dirty=!0,ee},ye.scale=function(ee,ne,le){return ve.scale(ee.array,ne.array,le),ee._dirty=!0,ee},ye.scaleAndAdd=function(ee,ne,le,oe){return ve.scaleAndAdd(ee.array,ne.array,le.array,oe),ee._dirty=!0,ee},ye.sqrDist=function(ee,ne){return ve.sqrDist(ee.array,ne.array)},ye.squaredDistance=ye.sqrDist,ye.sqrLen=function(ee){return ve.sqrLen(ee.array)},ye.squaredLength=ye.sqrLen,ye.sub=function(ee,ne,le){return ve.subtract(ee.array,ne.array,le.array),ee._dirty=!0,ee},ye.subtract=ye.sub,ye.transformMat3=function(ee,ne,le){return ve.transformMat3(ee.array,ne.array,le.array),ee._dirty=!0,ee},ye.transformMat4=function(ee,ne,le){return ve.transformMat4(ee.array,ne.array,le.array),ee._dirty=!0,ee},ye.transformQuat=function(ee,ne,le){return ve.transformQuat(ee.array,ne.array,le.array),ee._dirty=!0,ee};function pe(ee,ne,le){return ee<ne?ne:ee>le?le:ee}var Ee=Math.atan2,Pe=Math.asin,de=Math.abs;ye.eulerFromQuat=function(ee,ne,Ne){ee._dirty=!0,ne=ne.array;var oe=ee.array,ce=ne[0],he=ne[1],ie=ne[2],ue=ne[3],ge=ce*ce,xe=he*he,Me=ie*ie,Be=ue*ue,Ne=(Ne||"XYZ").toUpperCase();switch(Ne){case"XYZ":oe[0]=Ee(2*(ce*ue-he*ie),Be-ge-xe+Me),oe[1]=Pe(pe(2*(ce*ie+he*ue),-1,1)),oe[2]=Ee(2*(ie*ue-ce*he),Be+ge-xe-Me);break;case"YXZ":oe[0]=Pe(pe(2*(ce*ue-he*ie),-1,1)),oe[1]=Ee(2*(ce*ie+he*ue),Be-ge-xe+Me),oe[2]=Ee(2*(ce*he+ie*ue),Be-ge+xe-Me);break;case"ZXY":oe[0]=Pe(pe(2*(ce*ue+he*ie),-1,1)),oe[1]=Ee(2*(he*ue-ie*ce),Be-ge-xe+Me),oe[2]=Ee(2*(ie*ue-ce*he),Be-ge+xe-Me);break;case"ZYX":oe[0]=Ee(2*(ce*ue+ie*he),Be-ge-xe+Me),oe[1]=Pe(pe(2*(he*ue-ce*ie),-1,1)),oe[2]=Ee(2*(ce*he+ie*ue),Be+ge-xe-Me);break;case"YZX":oe[0]=Ee(2*(ce*ue-ie*he),Be-ge+xe-Me),oe[1]=Ee(2*(he*ue-ce*ie),Be+ge-xe-Me),oe[2]=Pe(pe(2*(ce*he+ie*ue),-1,1));break;case"XZY":oe[0]=Ee(2*(ce*ue+he*ie),Be-ge+xe-Me),oe[1]=Ee(2*(ce*ie+he*ue),Be+ge-xe-Me),oe[2]=Pe(pe(2*(ie*ue-ce*he),-1,1));break;default:console.warn("Unkown order: "+Ne)}return ee},ye.eulerFromMat3=function(ee,ne,Ge){var oe=ne.array,ce=oe[0],he=oe[3],ie=oe[6],ue=oe[1],ge=oe[4],xe=oe[7],Me=oe[2],Be=oe[5],Ne=oe[8],Ue=ee.array,Ge=(Ge||"XYZ").toUpperCase();switch(Ge){case"XYZ":Ue[1]=Pe(pe(ie,-1,1)),de(ie)<.99999?(Ue[0]=Ee(-xe,Ne),Ue[2]=Ee(-he,ce)):(Ue[0]=Ee(Be,ge),Ue[2]=0);break;case"YXZ":Ue[0]=Pe(-pe(xe,-1,1)),de(xe)<.99999?(Ue[1]=Ee(ie,Ne),Ue[2]=Ee(ue,ge)):(Ue[1]=Ee(-Me,ce),Ue[2]=0);break;case"ZXY":Ue[0]=Pe(pe(Be,-1,1)),de(Be)<.99999?(Ue[1]=Ee(-Me,Ne),Ue[2]=Ee(-he,ge)):(Ue[1]=0,Ue[2]=Ee(ue,ce));break;case"ZYX":Ue[1]=Pe(-pe(Me,-1,1)),de(Me)<.99999?(Ue[0]=Ee(Be,Ne),Ue[2]=Ee(ue,ce)):(Ue[0]=0,Ue[2]=Ee(-he,ge));break;case"YZX":Ue[2]=Pe(pe(ue,-1,1)),de(ue)<.99999?(Ue[0]=Ee(-xe,ge),Ue[1]=Ee(-Me,ce)):(Ue[0]=0,Ue[1]=Ee(ie,Ne));break;case"XZY":Ue[2]=Pe(-pe(he,-1,1)),de(he)<.99999?(Ue[0]=Ee(Be,ge),Ue[1]=Ee(ie,ce)):(Ue[0]=Ee(-xe,Ne),Ue[1]=0);break;default:console.warn("Unkown order: "+Ge)}return ee._dirty=!0,ee},ye.POSITIVE_X=new ye(1,0,0),ye.NEGATIVE_X=new ye(-1,0,0),ye.POSITIVE_Y=new ye(0,1,0),ye.NEGATIVE_Y=new ye(0,-1,0),ye.POSITIVE_Z=new ye(0,0,1),ye.NEGATIVE_Z=new ye(0,0,-1),ye.UP=new ye(0,1,0),ye.ZERO=new ye(0,0,0),Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(6),Ce=be(11),ve=be(66),ye=ve.a.isPowerOfTwo,we=Fe.a.extend(function(){return{image:null,pixels:null,mipmaps:[]}},{update:function(De){var pe=De.gl;pe.bindTexture(pe.TEXTURE_2D,this._cache.get("webgl_texture")),this.updateCommon(De);var Ee=this.format,Pe=this.type;pe.texParameteri(pe.TEXTURE_2D,pe.TEXTURE_WRAP_S,this.getAvailableWrapS()),pe.texParameteri(pe.TEXTURE_2D,pe.TEXTURE_WRAP_T,this.getAvailableWrapT()),pe.texParameteri(pe.TEXTURE_2D,pe.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),pe.texParameteri(pe.TEXTURE_2D,pe.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var de=De.getGLExtension("EXT_texture_filter_anisotropic");if(de&&this.anisotropic>1&&pe.texParameterf(pe.TEXTURE_2D,de.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),Pe===36193){var ee=De.getGLExtension("OES_texture_half_float");ee||(Pe=Ce.a.FLOAT)}if(this.mipmaps.length)for(var ne=this.width,le=this.height,oe=0;oe<this.mipmaps.length;oe++){var ce=this.mipmaps[oe];this._updateTextureData(pe,ce,oe,ne,le,Ee,Pe),ne/=2,le/=2}else this._updateTextureData(pe,this,0,this.width,this.height,Ee,Pe),this.useMipmap&&!this.NPOT&&pe.generateMipmap(pe.TEXTURE_2D);pe.bindTexture(pe.TEXTURE_2D,null)},_updateTextureData:function(De,pe,Ee,Pe,de,ee,ne){pe.image?De.texImage2D(De.TEXTURE_2D,Ee,ee,ee,ne,pe.image):ee<=Fe.a.COMPRESSED_RGBA_S3TC_DXT5_EXT&&ee>=Fe.a.COMPRESSED_RGB_S3TC_DXT1_EXT?De.compressedTexImage2D(De.TEXTURE_2D,Ee,ee,Pe,de,0,pe.pixels):De.texImage2D(De.TEXTURE_2D,Ee,ee,Pe,de,0,ee,ne,pe.pixels)},generateMipmap:function(De){var pe=De.gl;this.useMipmap&&!this.NPOT&&(pe.bindTexture(pe.TEXTURE_2D,this._cache.get("webgl_texture")),pe.generateMipmap(pe.TEXTURE_2D))},isPowerOfTwo:function(){var De,pe;return this.image?(De=this.image.width,pe=this.image.height):(De=this.width,pe=this.height),ye(De)&&ye(pe)},isRenderable:function(){return this.image?this.image.nodeName==="CANVAS"||this.image.nodeName==="VIDEO"||this.image.complete:!!(this.width&&this.height)},bind:function(De){De.gl.bindTexture(De.gl.TEXTURE_2D,this.getWebGLTexture(De))},unbind:function(De){De.gl.bindTexture(De.gl.TEXTURE_2D,null)},load:function(De,pe){var Ee=new Image;pe&&(Ee.crossOrigin=pe);var Pe=this;return Ee.onload=function(){Pe.dirty(),Pe.trigger("success",Pe),Ee.onload=null},Ee.onerror=function(){Pe.trigger("error",Pe),Ee.onerror=null},Ee.src=De,this.image=Ee,this}});Object.defineProperty(we.prototype,"width",{get:function(){return this.image?this.image.width:this._width},set:function(De){this.image?console.warn("Texture from image can't set width"):(this._width!==De&&this.dirty(),this._width=De)}}),Object.defineProperty(we.prototype,"height",{get:function(){return this.image?this.image.height:this._height},set:function(De){this.image?console.warn("Texture from image can't set height"):(this._height!==De&&this.dirty(),this._height=De)}}),Re.a=we},function(Ve,Re,be){"use strict";var Fe=be(8),Ce=be(11),ve=be(48),ye=Fe.a.extend({width:512,height:512,type:Ce.a.UNSIGNED_BYTE,format:Ce.a.RGBA,wrapS:Ce.a.REPEAT,wrapT:Ce.a.REPEAT,minFilter:Ce.a.LINEAR_MIPMAP_LINEAR,magFilter:Ce.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,sRGB:!0,unpackAlignment:4,premultiplyAlpha:!1,dynamic:!1,NPOT:!1},function(){this._cache=new ve.a},{getWebGLTexture:function(we){var De=we.gl,pe=this._cache;return pe.use(we.__uid__),pe.miss("webgl_texture")&&pe.put("webgl_texture",De.createTexture()),this.dynamic?this.update(we):pe.isDirty()&&(this.update(we),pe.fresh()),pe.get("webgl_texture")},bind:function(){},unbind:function(){},dirty:function(){this._cache&&this._cache.dirtyAll()},update:function(we){},updateCommon:function(we){var De=we.gl;De.pixelStorei(De.UNPACK_FLIP_Y_WEBGL,this.flipY),De.pixelStorei(De.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),De.pixelStorei(De.UNPACK_ALIGNMENT,this.unpackAlignment),this.format===Ce.a.DEPTH_COMPONENT&&(this.useMipmap=!1);var pe=we.getGLExtension("EXT_sRGB");this.format===ye.SRGB&&!pe&&(this.format=ye.RGB),this.format===ye.SRGB_ALPHA&&!pe&&(this.format=ye.RGBA),this.NPOT=!this.isPowerOfTwo()},getAvailableWrapS:function(){return this.NPOT?Ce.a.CLAMP_TO_EDGE:this.wrapS},getAvailableWrapT:function(){return this.NPOT?Ce.a.CLAMP_TO_EDGE:this.wrapT},getAvailableMinFilter:function(){var we=this.minFilter;return this.NPOT||!this.useMipmap?we==Ce.a.NEAREST_MIPMAP_NEAREST||we==Ce.a.NEAREST_MIPMAP_LINEAR?Ce.a.NEAREST:we==Ce.a.LINEAR_MIPMAP_LINEAR||we==Ce.a.LINEAR_MIPMAP_NEAREST?Ce.a.LINEAR:we:we},getAvailableMagFilter:function(){return this.magFilter},nextHighestPowerOfTwo:function(we){--we;for(var De=1;De<32;De<<=1)we=we|we>>De;return we+1},dispose:function(we){var De=this._cache;De.use(we.__uid__);var pe=De.get("webgl_texture");pe&&we.gl.deleteTexture(pe),De.deleteContext(we.__uid__)},isRenderable:function(){},isPowerOfTwo:function(){}});Object.defineProperty(ye.prototype,"width",{get:function(){return this._width},set:function(we){this._width=we}}),Object.defineProperty(ye.prototype,"height",{get:function(){return this._height},set:function(we){this._height=we}}),ye.BYTE=Ce.a.BYTE,ye.UNSIGNED_BYTE=Ce.a.UNSIGNED_BYTE,ye.SHORT=Ce.a.SHORT,ye.UNSIGNED_SHORT=Ce.a.UNSIGNED_SHORT,ye.INT=Ce.a.INT,ye.UNSIGNED_INT=Ce.a.UNSIGNED_INT,ye.FLOAT=Ce.a.FLOAT,ye.HALF_FLOAT=36193,ye.UNSIGNED_INT_24_8_WEBGL=34042,ye.DEPTH_COMPONENT=Ce.a.DEPTH_COMPONENT,ye.DEPTH_STENCIL=Ce.a.DEPTH_STENCIL,ye.ALPHA=Ce.a.ALPHA,ye.RGB=Ce.a.RGB,ye.RGBA=Ce.a.RGBA,ye.LUMINANCE=Ce.a.LUMINANCE,ye.LUMINANCE_ALPHA=Ce.a.LUMINANCE_ALPHA,ye.SRGB=35904,ye.SRGB_ALPHA=35906,ye.COMPRESSED_RGB_S3TC_DXT1_EXT=33776,ye.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777,ye.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778,ye.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779,ye.NEAREST=Ce.a.NEAREST,ye.LINEAR=Ce.a.LINEAR,ye.NEAREST_MIPMAP_NEAREST=Ce.a.NEAREST_MIPMAP_NEAREST,ye.LINEAR_MIPMAP_NEAREST=Ce.a.LINEAR_MIPMAP_NEAREST,ye.NEAREST_MIPMAP_LINEAR=Ce.a.NEAREST_MIPMAP_LINEAR,ye.LINEAR_MIPMAP_LINEAR=Ce.a.LINEAR_MIPMAP_LINEAR,ye.REPEAT=Ce.a.REPEAT,ye.CLAMP_TO_EDGE=Ce.a.CLAMP_TO_EDGE,ye.MIRRORED_REPEAT=Ce.a.MIRRORED_REPEAT,Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(21),Ce=be(18),ve=be(1),ye=be.n(ve),we=ye.a.mat2,De=ye.a.mat3,pe=ye.a.mat4,Ee=/uniform\s+(bool|float|int|vec2|vec3|vec4|ivec2|ivec3|ivec4|mat2|mat3|mat4|sampler2D|samplerCube)\s+([\w\,]+)?(\[.*?\])?\s*(:\s*([\S\s]+?))?;/g,Pe=/attribute\s+(float|int|vec2|vec3|vec4)\s+(\w*)\s*(:\s*(\w+))?;/g,de=/#define\s+(\w+)?(\s+[\w-.]+)?\s*;?\s*\n/g,ee={bool:"1i",int:"1i",sampler2D:"t",samplerCube:"t",float:"1f",vec2:"2f",vec3:"3f",vec4:"4f",ivec2:"2i",ivec3:"3i",ivec4:"4i",mat2:"m2",mat3:"m3",mat4:"m4"},ne={bool:function(){return!0},int:function(){return 0},float:function(){return 0},sampler2D:function(){return null},samplerCube:function(){return null},vec2:function(){return[0,0]},vec3:function(){return[0,0,0]},vec4:function(){return[0,0,0,0]},ivec2:function(){return[0,0]},ivec3:function(){return[0,0,0]},ivec4:function(){return[0,0,0,0]},mat2:function(){return we.create()},mat3:function(){return De.create()},mat4:function(){return pe.create()},array:function(){return[]}},le=["POSITION","NORMAL","BINORMAL","TANGENT","TEXCOORD","TEXCOORD_0","TEXCOORD_1","COLOR","JOINT","WEIGHT"],oe=["SKIN_MATRIX","VIEWPORT_SIZE","VIEWPORT","DEVICEPIXELRATIO","WINDOW_SIZE","NEAR","FAR","TIME"],ce=["WORLD","VIEW","PROJECTION","WORLDVIEW","VIEWPROJECTION","WORLDVIEWPROJECTION","WORLDINVERSE","VIEWINVERSE","PROJECTIONINVERSE","WORLDVIEWINVERSE","VIEWPROJECTIONINVERSE","WORLDVIEWPROJECTIONINVERSE","WORLDTRANSPOSE","VIEWTRANSPOSE","PROJECTIONTRANSPOSE","WORLDVIEWTRANSPOSE","VIEWPROJECTIONTRANSPOSE","WORLDVIEWPROJECTIONTRANSPOSE","WORLDINVERSETRANSPOSE","VIEWINVERSETRANSPOSE","PROJECTIONINVERSETRANSPOSE","WORLDVIEWINVERSETRANSPOSE","VIEWPROJECTIONINVERSETRANSPOSE","WORLDVIEWPROJECTIONINVERSETRANSPOSE"],he={},ie={};function ue(Be,Ne){var Ue="vertex:"+Be+"fragment:"+Ne;if(he[Ue])return he[Ue];var Ge=Fe.a.genGUID();return he[Ue]=Ge,ie[Ge]={vertex:Be,fragment:Ne},Ge}function ge(Be,Ne){typeof Be=="object"&&(Ne=Be.fragment,Be=Be.vertex),this._shaderID=ue(Be,Ne),this._vertexCode=ge.parseImport(Be),this._fragmentCode=ge.parseImport(Ne),this.attributeSemantics={},this.matrixSemantics={},this.uniformSemantics={},this.matrixSemanticKeys=[],this.uniformTemplates={},this.attributes={},this.textures={},this.vertexDefines={},this.fragmentDefines={},this._parseAttributes(),this._parseUniforms(),this._parseDefines()}ge.prototype={constructor:ge,createUniforms:function(){var Be={};for(var Ne in this.uniformTemplates){var Ue=this.uniformTemplates[Ne];Be[Ne]={type:Ue.type,value:Ue.value()}}return Be},_parseImport:function(){this._vertexCode=ge.parseImport(this.vertex),this._fragmentCode=ge.parseImport(this.fragment)},_parseUniforms:function(){var Be={},Ne=this,Ue="vertex";this._uniformList=[],this._vertexCode=this._vertexCode.replace(Ee,Ge),Ue="fragment",this._fragmentCode=this._fragmentCode.replace(Ee,Ge),Ne.matrixSemanticKeys=Object.keys(this.matrixSemantics);function Ge(Xe,Ye,nt,$e,qe,st){if(Ye&&nt){var rt=ee[Ye],ct=!0,tt;if(rt){if(Ne._uniformList.push(nt),(Ye==="sampler2D"||Ye==="samplerCube")&&(Ne.textures[nt]={shaderType:Ue,type:Ye}),$e&&(rt+="v"),st)if(le.indexOf(st)>=0)Ne.attributeSemantics[st]={symbol:nt,type:rt},ct=!1;else if(ce.indexOf(st)>=0){var dt=!1,At=st;st.match(/TRANSPOSE$/)&&(dt=!0,At=st.slice(0,-9)),Ne.matrixSemantics[st]={symbol:nt,type:rt,isTranspose:dt,semanticNoTranspose:At},ct=!1}else if(oe.indexOf(st)>=0)Ne.uniformSemantics[st]={symbol:nt,type:rt},ct=!1;else if(st==="unconfigurable")ct=!1;else if(tt=Ne._parseDefaultValue(Ye,st),tt)st="";else throw new Error('Unkown semantic "'+st+'"');ct&&(Be[nt]={type:rt,value:$e?ne.array:tt||ne[Ye],semantic:st||null})}return["uniform",Ye,nt,$e].join(" ")+`;
|
|
|
`}}this.uniformTemplates=Be},_parseDefaultValue:function(Be,Ne){var Ue=/\[\s*(.*)\s*\]/;if(Be==="vec2"||Be==="vec3"||Be==="vec4"){var Ge=Ue.exec(Ne)[1];if(Ge){var Xe=Ge.split(/\s*,\s*/);return function(){return new Ce.a.Float32Array(Xe)}}else return}else{if(Be==="bool")return function(){return Ne.toLowerCase()==="true"};if(Be==="float")return function(){return parseFloat(Ne)};if(Be==="int")return function(){return parseInt(Ne)}}},_parseAttributes:function(){var Be={},Ne=this;this._vertexCode=this._vertexCode.replace(Pe,Ue);function Ue(Ge,Xe,Ye,nt,$e){if(Xe&&Ye){var qe=1;switch(Xe){case"vec4":qe=4;break;case"vec3":qe=3;break;case"vec2":qe=2;break;case"float":qe=1;break}if(Be[Ye]={type:"float",size:qe,semantic:$e||null},$e){if(le.indexOf($e)<0)throw new Error('Unkown semantic "'+$e+'"');Ne.attributeSemantics[$e]={symbol:Ye,type:Xe}}}return["attribute",Xe,Ye].join(" ")+`;
|
|
|
`}this.attributes=Be},_parseDefines:function(){var Be=this,Ne="vertex";this._vertexCode=this._vertexCode.replace(de,Ue),Ne="fragment",this._fragmentCode=this._fragmentCode.replace(de,Ue);function Ue(Ge,Xe,Ye){var nt=Ne==="vertex"?Be.vertexDefines:Be.fragmentDefines;return nt[Xe]||(Ye=="false"?nt[Xe]=!1:Ye=="true"?nt[Xe]=!0:nt[Xe]=Ye?isNaN(parseFloat(Ye))?Ye.trim():parseFloat(Ye):null),""}},clone:function(){var Be=ie[this._shaderID],Ne=new ge(Be.vertex,Be.fragment);return Ne}},Object.defineProperty&&(Object.defineProperty(ge.prototype,"shaderID",{get:function(){return this._shaderID}}),Object.defineProperty(ge.prototype,"vertex",{get:function(){return this._vertexCode}}),Object.defineProperty(ge.prototype,"fragment",{get:function(){return this._fragmentCode}}),Object.defineProperty(ge.prototype,"uniforms",{get:function(){return this._uniformList}}));var xe=/(@import)\s*([0-9a-zA-Z_\-\.]*)/g;ge.parseImport=function(Be){return Be=Be.replace(xe,function(Xe,Ue,Ge){var Xe=ge.source(Ge);return Xe?ge.parseImport(Xe):(console.error('Shader chunk "'+Ge+'" not existed in library'),"")}),Be};var Me=/(@export)\s*([0-9a-zA-Z_\-\.]*)\s*\n([\s\S]*?)@end/g;ge.import=function(Be){Be.replace(Me,function(Ne,Ue,Ge,Ye){var Ye=Ye.replace(/(^[\s\t\xa0\u3000]+)|([\u3000\xa0\s\t]+\x24)/g,"");if(Ye){for(var nt=Ge.split("."),$e=ge.codes,qe=0,st;qe<nt.length-1;)st=nt[qe++],$e[st]||($e[st]={}),$e=$e[st];st=nt[qe],$e[st]=Ye}return Ye})},ge.codes={},ge.source=function(Be){for(var Ne=Be.split("."),Ue=ge.codes,Ge=0;Ue&&Ge<Ne.length;){var Xe=Ne[Ge++];Ue=Ue[Xe]}return typeof Ue!="string"?(console.error('Shader "'+Be+'" not existed in library'),""):Ue},Re.a=ge},function(Ve,Re,be){"use strict";var Fe=be(91),Ce=be(47),ve=be(21),ye=function(){this.__uid__=ve.a.genGUID()};ye.__initializers__=[function(we){ve.a.extend(this,we)}],ve.a.extend(ye,Fe.a),ve.a.extend(ye.prototype,Ce.a),Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(1),Ce=be.n(Fe),ve=be(4),ye=Ce.a.mat4,we=Ce.a.vec3,De=Ce.a.mat3,pe=Ce.a.quat,Ee=function(){this._axisX=new ve.a,this._axisY=new ve.a,this._axisZ=new ve.a,this.array=ye.create(),this._dirty=!0};Ee.prototype={constructor:Ee,setArray:function(ee){for(var ne=0;ne<this.array.length;ne++)this.array[ne]=ee[ne];return this._dirty=!0,this},adjoint:function(){return ye.adjoint(this.array,this.array),this._dirty=!0,this},clone:function(){return new Ee().copy(this)},copy:function(ee){return ye.copy(this.array,ee.array),this._dirty=!0,this},determinant:function(){return ye.determinant(this.array)},fromQuat:function(ee){return ye.fromQuat(this.array,ee.array),this._dirty=!0,this},fromRotationTranslation:function(ee,ne){return ye.fromRotationTranslation(this.array,ee.array,ne.array),this._dirty=!0,this},fromMat2d:function(ee){return Ee.fromMat2d(this,ee),this},frustum:function(ee,ne,le,oe,ce,he){return ye.frustum(this.array,ee,ne,le,oe,ce,he),this._dirty=!0,this},identity:function(){return ye.identity(this.array),this._dirty=!0,this},invert:function(){return ye.invert(this.array,this.array),this._dirty=!0,this},lookAt:function(ee,ne,le){return ye.lookAt(this.array,ee.array,ne.array,le.array),this._dirty=!0,this},mul:function(ee){return ye.mul(this.array,this.array,ee.array),this._dirty=!0,this},mulLeft:function(ee){return ye.mul(this.array,ee.array,this.array),this._dirty=!0,this},multiply:function(ee){return ye.multiply(this.array,this.array,ee.array),this._dirty=!0,this},multiplyLeft:function(ee){return ye.multiply(this.array,ee.array,this.array),this._dirty=!0,this},ortho:function(ee,ne,le,oe,ce,he){return ye.ortho(this.array,ee,ne,le,oe,ce,he),this._dirty=!0,this},perspective:function(ee,ne,le,oe){return ye.perspective(this.array,ee,ne,le,oe),this._dirty=!0,this},rotate:function(ee,ne){return ye.rotate(this.array,this.array,ee,ne.array),this._dirty=!0,this},rotateX:function(ee){return ye.rotateX(this.array,this.array,ee),this._dirty=!0,this},rotateY:function(ee){return ye.rotateY(this.array,this.array,ee),this._dirty=!0,this},rotateZ:function(ee){return ye.rotateZ(this.array,this.array,ee),this._dirty=!0,this},scale:function(ee){return ye.scale(this.array,this.array,ee.array),this._dirty=!0,this},translate:function(ee){return ye.translate(this.array,this.array,ee.array),this._dirty=!0,this},transpose:function(){return ye.transpose(this.array,this.array),this._dirty=!0,this},decomposeMatrix:function(){var ee=we.create(),ne=we.create(),le=we.create(),oe=De.create();return function(ce,he,ie){var ue=this.array;we.set(ee,ue[0],ue[1],ue[2]),we.set(ne,ue[4],ue[5],ue[6]),we.set(le,ue[8],ue[9],ue[10]);var ge=we.length(ee),xe=we.length(ne),Me=we.length(le),Be=this.determinant();Be<0&&(ge=-ge),ce&&ce.set(ge,xe,Me),ie.set(ue[12],ue[13],ue[14]),De.fromMat4(oe,ue),oe[0]/=ge,oe[1]/=ge,oe[2]/=ge,oe[3]/=xe,oe[4]/=xe,oe[5]/=xe,oe[6]/=Me,oe[7]/=Me,oe[8]/=Me,pe.fromMat3(he.array,oe),pe.normalize(he.array,he.array),he._dirty=!0,ie._dirty=!0}}(),toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var Pe=Object.defineProperty;if(Pe){var de=Ee.prototype;Pe(de,"z",{get:function(){var ee=this.array;return this._axisZ.set(ee[8],ee[9],ee[10]),this._axisZ},set:function(ee){var ne=this.array;ee=ee.array,ne[8]=ee[0],ne[9]=ee[1],ne[10]=ee[2],this._dirty=!0}}),Pe(de,"y",{get:function(){var ee=this.array;return this._axisY.set(ee[4],ee[5],ee[6]),this._axisY},set:function(ee){var ne=this.array;ee=ee.array,ne[4]=ee[0],ne[5]=ee[1],ne[6]=ee[2],this._dirty=!0}}),Pe(de,"x",{get:function(){var ee=this.array;return this._axisX.set(ee[0],ee[1],ee[2]),this._axisX},set:function(ee){var ne=this.array;ee=ee.array,ne[0]=ee[0],ne[1]=ee[1],ne[2]=ee[2],this._dirty=!0}})}Ee.adjoint=function(ee,ne){return ye.adjoint(ee.array,ne.array),ee._dirty=!0,ee},Ee.copy=function(ee,ne){return ye.copy(ee.array,ne.array),ee._dirty=!0,ee},Ee.determinant=function(ee){return ye.determinant(ee.array)},Ee.identity=function(ee){return ye.identity(ee.array),ee._dirty=!0,ee},Ee.ortho=function(ee,ne,le,oe,ce,he,ie){return ye.ortho(ee.array,ne,le,oe,ce,he,ie),ee._dirty=!0,ee},Ee.perspective=function(ee,ne,le,oe,ce){return ye.perspective(ee.array,ne,le,oe,ce),ee._dirty=!0,ee},Ee.lookAt=function(ee,ne,le,oe){return ye.lookAt(ee.array,ne.array,le.array,oe.array),ee._dirty=!0,ee},Ee.invert=function(ee,ne){return ye.invert(ee.array,ne.array),ee._dirty=!0,ee},Ee.mul=function(ee,ne,le){return ye.mul(ee.array,ne.array,le.array),ee._dirty=!0,ee},Ee.multiply=Ee.mul,Ee.fromQuat=function(ee,ne){return ye.fromQuat(ee.array,ne.array),ee._dirty=!0,ee},Ee.fromRotationTranslation=function(ee,ne,le){return ye.fromRotationTranslation(ee.array,ne.array,le.array),ee._dirty=!0,ee},Ee.fromMat2d=function(oe,le){oe._dirty=!0;var le=le.array,oe=oe.array;return oe[0]=le[0],oe[4]=le[2],oe[12]=le[4],oe[1]=le[1],oe[5]=le[3],oe[13]=le[5],oe},Ee.rotate=function(ee,ne,le,oe){return ye.rotate(ee.array,ne.array,le,oe.array),ee._dirty=!0,ee},Ee.rotateX=function(ee,ne,le){return ye.rotateX(ee.array,ne.array,le),ee._dirty=!0,ee},Ee.rotateY=function(ee,ne,le){return ye.rotateY(ee.array,ne.array,le),ee._dirty=!0,ee},Ee.rotateZ=function(ee,ne,le){return ye.rotateZ(ee.array,ne.array,le),ee._dirty=!0,ee},Ee.scale=function(ee,ne,le){return ye.scale(ee.array,ne.array,le.array),ee._dirty=!0,ee},Ee.transpose=function(ee,ne){return ye.transpose(ee.array,ne.array),ee._dirty=!0,ee},Ee.translate=function(ee,ne,le){return ye.translate(ee.array,ne.array,le.array),ee._dirty=!0,ee},Re.a=Ee},function(Ve,Re,be){"use strict";var Fe=be(8),Ce=be(6),ve=be(25),ye=be(11),we=be(48),De="framebuffer",pe="renderbuffer",Ee=pe+"_width",Pe=pe+"_height",de=pe+"_attached",ee="depthtexture_attached",ne=ye.a.FRAMEBUFFER,le=ye.a.RENDERBUFFER,oe=ye.a.DEPTH_ATTACHMENT,ce=ye.a.COLOR_ATTACHMENT0,he=Fe.a.extend({depthBuffer:!0,viewport:null,_width:0,_height:0,_textures:null,_boundRenderer:null},function(){this._cache=new we.a,this._textures={}},{getTextureWidth:function(){return this._width},getTextureHeight:function(){return this._height},bind:function(ie){if(ie.__currentFrameBuffer){if(ie.__currentFrameBuffer===this)return;console.warn("Renderer already bound with another framebuffer. Unbind it first")}ie.__currentFrameBuffer=this;var ue=ie.gl;ue.bindFramebuffer(ne,this._getFrameBufferGL(ie)),this._boundRenderer=ie;var ge=this._cache;ge.put("viewport",ie.viewport);var xe=!1,Me,Be;for(var Ne in this._textures){xe=!0;var Ue=this._textures[Ne];Ue&&(Me=Ue.texture.width,Be=Ue.texture.height,this._doAttach(ie,Ue.texture,Ne,Ue.target))}this._width=Me,this._height=Be,!xe&&this.depthBuffer&&console.error("Must attach texture before bind, or renderbuffer may have incorrect width and height."),this.viewport?ie.setViewport(this.viewport):ie.setViewport(0,0,Me,Be,1);var Ge=ge.get("attached_textures");if(Ge){for(var Ne in Ge)if(!this._textures[Ne]){var Xe=Ge[Ne];this._doDetach(ue,Ne,Xe)}}if(!ge.get(ee)&&this.depthBuffer){ge.miss(pe)&&ge.put(pe,ue.createRenderbuffer());var Ye=ge.get(pe);(Me!==ge.get(Ee)||Be!==ge.get(Pe))&&(ue.bindRenderbuffer(le,Ye),ue.renderbufferStorage(le,ue.DEPTH_COMPONENT16,Me,Be),ge.put(Ee,Me),ge.put(Pe,Be),ue.bindRenderbuffer(le,null)),ge.get(de)||(ue.framebufferRenderbuffer(ne,oe,le,Ye),ge.put(de,!0))}},unbind:function(ie){ie.__currentFrameBuffer=null;var ue=ie.gl;ue.bindFramebuffer(ne,null),this._boundRenderer=null,this._cache.use(ie.__uid__);var ge=this._cache.get("viewport");ge&&ie.setViewport(ge),this.updateMipmap(ie)},updateMipmap:function(ie){var ue=ie.gl;for(var ge in this._textures){var xe=this._textures[ge];if(xe){var Me=xe.texture;if(!Me.NPOT&&Me.useMipmap&&Me.minFilter===Ce.a.LINEAR_MIPMAP_LINEAR){var Be=Me instanceof ve.a?ye.a.TEXTURE_CUBE_MAP:ye.a.TEXTURE_2D;ue.bindTexture(Be,Me.getWebGLTexture(ie)),ue.generateMipmap(Be),ue.bindTexture(Be,null)}}}},checkStatus:function(ie){return ie.checkFramebufferStatus(ne)},_getFrameBufferGL:function(ie){var ue=this._cache;return ue.use(ie.__uid__),ue.miss(De)&&ue.put(De,ie.gl.createFramebuffer()),ue.get(De)},attach:function(ie,ue,ge){if(!ie.width)throw new Error("The texture attached to color buffer is not a valid.");ue=ue||ce,ge=ge||ye.a.TEXTURE_2D;var xe=this._boundRenderer,Me=xe&&xe.gl,Be;if(Me){var Ne=this._cache;Ne.use(xe.__uid__),Be=Ne.get("attached_textures")}var Ue=this._textures[ue];if(!(Ue&&Ue.target===ge&&Ue.texture===ie&&Be&&Be[ue]!=null)){var Ge=!0;xe&&(Ge=this._doAttach(xe,ie,ue,ge),this.viewport||xe.setViewport(0,0,ie.width,ie.height,1)),Ge&&(this._textures[ue]=this._textures[ue]||{},this._textures[ue].texture=ie,this._textures[ue].target=ge)}},_doAttach:function(ie,ue,ge,xe){var Me=ie.gl,Be=ue.getWebGLTexture(ie),Ne=this._cache.get("attached_textures");if(Ne&&Ne[ge]){var Ue=Ne[ge];if(Ue.texture===ue&&Ue.target===xe)return}ge=+ge;var Ge=!0;if(ge===oe||ge===ye.a.DEPTH_STENCIL_ATTACHMENT){var Xe=ie.getGLExtension("WEBGL_depth_texture");if(Xe||(console.error("Depth texture is not supported by the browser"),Ge=!1),ue.format!==ye.a.DEPTH_COMPONENT&&ue.format!==ye.a.DEPTH_STENCIL&&(console.error("The texture attached to depth buffer is not a valid."),Ge=!1),Ge){var Ye=this._cache.get(pe);Ye&&(Me.framebufferRenderbuffer(ne,oe,le,null),Me.deleteRenderbuffer(Ye),this._cache.put(pe,!1)),this._cache.put(de,!1),this._cache.put(ee,!0)}}return Me.framebufferTexture2D(ne,ge,xe,Be,0),Ne||(Ne={},this._cache.put("attached_textures",Ne)),Ne[ge]=Ne[ge]||{},Ne[ge].texture=ue,Ne[ge].target=xe,Ge},_doDetach:function(ie,ue,ge){ie.framebufferTexture2D(ne,ue,ge,null,0);var xe=this._cache.get("attached_textures");xe&&xe[ue]&&(xe[ue]=null),(ue===oe||ue===ye.a.DEPTH_STENCIL_ATTACHMENT)&&this._cache.put(ee,!1)},detach:function(ie,ue){if(this._textures[ie]=null,this._boundRenderer){var ge=this._cache;ge.use(this._boundRenderer.__uid__),this._doDetach(this._boundRenderer.gl,ie,ue)}},dispose:function(ie){var ue=ie.gl,ge=this._cache;ge.use(ie.__uid__);var xe=ge.get(pe);xe&&ue.deleteRenderbuffer(xe);var Me=ge.get(De);Me&&ue.deleteFramebuffer(Me),ge.deleteContext(ie.__uid__),this._textures={}}});he.DEPTH_ATTACHMENT=oe,he.COLOR_ATTACHMENT0=ce,he.STENCIL_ATTACHMENT=ye.a.STENCIL_ATTACHMENT,he.DEPTH_STENCIL_ATTACHMENT=ye.a.DEPTH_STENCIL_ATTACHMENT,Re.a=he},function(Ve,Re,be){"use strict";Re.a={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444}},function(Ve,Re){var be={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},Fe={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},Ce=Object.prototype.toString,ve=Array.prototype,ye=ve.forEach,we=ve.filter,De=ve.slice,pe=ve.map,Ee=ve.reduce,Pe={};function de(yt,Gt){Pe[yt]=Gt}function ee(yt){if(yt==null||typeof yt!="object")return yt;var Gt=yt,gt=Ce.call(yt);if(gt==="[object Array]"){if(!tn(yt)){Gt=[];for(var St=0,Qt=yt.length;St<Qt;St++)Gt[St]=ee(yt[St])}}else if(Fe[gt]){if(!tn(yt)){var Nt=yt.constructor;if(yt.constructor.from)Gt=Nt.from(yt);else{Gt=new Nt(yt.length);for(var St=0,Qt=yt.length;St<Qt;St++)Gt[St]=ee(yt[St])}}}else if(!be[gt]&&!tn(yt)&&!At(yt)){Gt={};for(var wt in yt)yt.hasOwnProperty(wt)&&(Gt[wt]=ee(yt[wt]))}return Gt}function ne(yt,Gt,gt){if(!ct(Gt)||!ct(yt))return gt?ee(Gt):yt;for(var St in Gt)if(Gt.hasOwnProperty(St)){var Qt=yt[St],Nt=Gt[St];ct(Nt)&&ct(Qt)&&!qe(Nt)&&!qe(Qt)&&!At(Nt)&&!At(Qt)&&!tt(Nt)&&!tt(Qt)&&!tn(Nt)&&!tn(Qt)?ne(Qt,Nt,gt):(gt||!(St in yt))&&(yt[St]=ee(Gt[St],!0))}return yt}function le(yt,Gt){for(var gt=yt[0],St=1,Qt=yt.length;St<Qt;St++)gt=ne(gt,yt[St],Gt);return gt}function oe(yt,Gt){for(var gt in Gt)Gt.hasOwnProperty(gt)&&(yt[gt]=Gt[gt]);return yt}function ce(yt,Gt,gt){for(var St in Gt)Gt.hasOwnProperty(St)&&(gt?Gt[St]!=null:yt[St]==null)&&(yt[St]=Gt[St]);return yt}var he=function(){return Pe.createCanvas()};Pe.createCanvas=function(){return document.createElement("canvas")};var ie;function ue(){return ie||(ie=he().getContext("2d")),ie}function ge(yt,Gt){if(yt){if(yt.indexOf)return yt.indexOf(Gt);for(var gt=0,St=yt.length;gt<St;gt++)if(yt[gt]===Gt)return gt}return-1}function xe(yt,Gt){var gt=yt.prototype;function St(){}St.prototype=Gt.prototype,yt.prototype=new St;for(var Qt in gt)yt.prototype[Qt]=gt[Qt];yt.prototype.constructor=yt,yt.superClass=Gt}function Me(yt,Gt,gt){yt="prototype"in yt?yt.prototype:yt,Gt="prototype"in Gt?Gt.prototype:Gt,ce(yt,Gt,gt)}function Be(yt){if(yt)return typeof yt=="string"?!1:typeof yt.length=="number"}function Ne(yt,Gt,gt){if(yt&&Gt)if(yt.forEach&&yt.forEach===ye)yt.forEach(Gt,gt);else if(yt.length===+yt.length)for(var St=0,Qt=yt.length;St<Qt;St++)Gt.call(gt,yt[St],St,yt);else for(var Nt in yt)yt.hasOwnProperty(Nt)&&Gt.call(gt,yt[Nt],Nt,yt)}function Ue(yt,Gt,gt){if(yt&&Gt){if(yt.map&&yt.map===pe)return yt.map(Gt,gt);for(var St=[],Qt=0,Nt=yt.length;Qt<Nt;Qt++)St.push(Gt.call(gt,yt[Qt],Qt,yt));return St}}function Ge(yt,Gt,gt,St){if(yt&&Gt){if(yt.reduce&&yt.reduce===Ee)return yt.reduce(Gt,gt,St);for(var Qt=0,Nt=yt.length;Qt<Nt;Qt++)gt=Gt.call(St,gt,yt[Qt],Qt,yt);return gt}}function Xe(yt,Gt,gt){if(yt&&Gt){if(yt.filter&&yt.filter===we)return yt.filter(Gt,gt);for(var St=[],Qt=0,Nt=yt.length;Qt<Nt;Qt++)Gt.call(gt,yt[Qt],Qt,yt)&&St.push(yt[Qt]);return St}}function Ye(yt,Gt,gt){if(yt&&Gt){for(var St=0,Qt=yt.length;St<Qt;St++)if(Gt.call(gt,yt[St],St,yt))return yt[St]}}function nt(yt,Gt){var gt=De.call(arguments,2);return function(){return yt.apply(Gt,gt.concat(De.call(arguments)))}}function $e(yt){var Gt=De.call(arguments,1);return function(){return yt.apply(this,Gt.concat(De.call(arguments)))}}function qe(yt){return Ce.call(yt)==="[object Array]"}function st(yt){return typeof yt=="function"}function rt(yt){return Ce.call(yt)==="[object String]"}function ct(yt){var Gt=typeof yt;return Gt==="function"||!!yt&&Gt=="object"}function tt(yt){return!!be[Ce.call(yt)]}function dt(yt){return!!Fe[Ce.call(yt)]}function At(yt){return typeof yt=="object"&&typeof yt.nodeType=="number"&&typeof yt.ownerDocument=="object"}function mt(yt){return yt!==yt}function ht(yt){for(var Gt=0,gt=arguments.length;Gt<gt;Gt++)if(arguments[Gt]!=null)return arguments[Gt]}function vt(yt,Gt){return yt!=null?yt:Gt}function Wt(yt,Gt,gt){return yt!=null?yt:Gt!=null?Gt:gt}function Jt(){return Function.call.apply(De,arguments)}function en(yt){if(typeof yt=="number")return[yt,yt,yt,yt];var Gt=yt.length;return Gt===2?[yt[0],yt[1],yt[0],yt[1]]:Gt===3?[yt[0],yt[1],yt[2],yt[1]]:yt}function mn(yt,Gt){if(!yt)throw new Error(Gt)}var Ot="__ec_primitive__";function an(yt){yt[Ot]=!0}function tn(yt){return yt[Ot]}function Dn(yt){var Gt=qe(yt);yt&&Ne(yt,function(gt,St){Gt?this.set(gt,1):this.set(St,gt)},this)}var Tn="_ec_",sn=4;Dn.prototype={constructor:Dn,get:function(yt){return this[Tn+yt]},set:function(yt,Gt){return this[Tn+yt]=Gt,Gt},each:function(yt,Gt){Gt!==void 0&&(yt=nt(yt,Gt));for(var gt in this)this.hasOwnProperty(gt)&&yt(this[gt],gt.slice(sn))},removeKey:function(yt){delete this[Tn+yt]}};function dn(yt){return new Dn(yt)}function Kt(yt,Gt){for(var gt=new yt.constructor(yt.length+Gt.length),St=0;St<yt.length;St++)gt[St]=yt[St];var Qt=yt.length;for(St=0;St<Gt.length;St++)gt[St+Qt]=Gt[St];return gt}function Tt(){}Re.$override=de,Re.clone=ee,Re.merge=ne,Re.mergeAll=le,Re.extend=oe,Re.defaults=ce,Re.createCanvas=he,Re.getContext=ue,Re.indexOf=ge,Re.inherits=xe,Re.mixin=Me,Re.isArrayLike=Be,Re.each=Ne,Re.map=Ue,Re.reduce=Ge,Re.filter=Xe,Re.find=Ye,Re.bind=nt,Re.curry=$e,Re.isArray=qe,Re.isFunction=st,Re.isString=rt,Re.isObject=ct,Re.isBuiltInObject=tt,Re.isTypedArray=dt,Re.isDom=At,Re.eqNaN=mt,Re.retrieve=ht,Re.retrieve2=vt,Re.retrieve3=Wt,Re.slice=Jt,Re.normalizeCssArray=en,Re.assert=mn,Re.setAsPrimitive=an,Re.isPrimitive=tn,Re.createHashMap=dn,Re.concatArray=Kt,Re.noop=Tt},function(Ve,Re,be){"use strict";var Fe=be(8),Ce=be(11),ve=be(48),ye=be(18),we=be(1),De=be.n(we),pe=be(15),Ee=De.a.vec3,Pe=De.a.mat4,de=Ee.create,ee=Ee.add,ne=Ee.set;function le(ge){return{byte:ye.a.Int8Array,ubyte:ye.a.Uint8Array,short:ye.a.Int16Array,ushort:ye.a.Uint16Array}[ge]||ye.a.Float32Array}function oe(ge){return"attr_"+ge}function ce(ge,xe,Me,Be){switch(this.name=ge,this.type=xe,this.size=Me,this.semantic=Be||"",this.value=null,Me){case 1:this.get=function(Ne){return this.value[Ne]},this.set=function(Ne,Ue){this.value[Ne]=Ue},this.copy=function(Ne,Ue){this.value[Ne]=this.value[Ne]};break;case 2:this.get=function(Ne,Ue){var Ge=this.value;return Ue[0]=Ge[Ne*2],Ue[1]=Ge[Ne*2+1],Ue},this.set=function(Ne,Ue){var Ge=this.value;Ge[Ne*2]=Ue[0],Ge[Ne*2+1]=Ue[1]},this.copy=function(Ne,Ue){var Ge=this.value;Ue*=2,Ne*=2,Ge[Ne]=Ge[Ue],Ge[Ne+1]=Ge[Ue+1]};break;case 3:this.get=function(Ne,Ue){var Ge=Ne*3,Xe=this.value;return Ue[0]=Xe[Ge],Ue[1]=Xe[Ge+1],Ue[2]=Xe[Ge+2],Ue},this.set=function(Ne,Ue){var Ge=Ne*3,Xe=this.value;Xe[Ge]=Ue[0],Xe[Ge+1]=Ue[1],Xe[Ge+2]=Ue[2]},this.copy=function(Ne,Ue){var Ge=this.value;Ue*=3,Ne*=3,Ge[Ne]=Ge[Ue],Ge[Ne+1]=Ge[Ue+1],Ge[Ne+2]=Ge[Ue+2]};break;case 4:this.get=function(Ne,Ue){var Ge=this.value,Xe=Ne*4;return Ue[0]=Ge[Xe],Ue[1]=Ge[Xe+1],Ue[2]=Ge[Xe+2],Ue[3]=Ge[Xe+3],Ue},this.set=function(Ne,Ue){var Ge=this.value,Xe=Ne*4;Ge[Xe]=Ue[0],Ge[Xe+1]=Ue[1],Ge[Xe+2]=Ue[2],Ge[Xe+3]=Ue[3]},this.copy=function(Ne,Ue){var Ge=this.value;Ue*=4,Ne*=4,Ge[Ne]=Ge[Ue],Ge[Ne+1]=Ge[Ue+1],Ge[Ne+2]=Ge[Ue+2],Ge[Ne+3]=Ge[Ue+3]}}}ce.prototype.init=function(ge){if(!this.value||this.value.length!=ge*this.size){var xe=le(this.type);this.value=new xe(ge*this.size)}},ce.prototype.fromArray=function(ge){var xe=le(this.type),Me;if(ge[0]&&ge[0].length){var Be=0,Ne=this.size;Me=new xe(ge.length*Ne);for(var Ue=0;Ue<ge.length;Ue++)for(var Ge=0;Ge<Ne;Ge++)Me[Be++]=ge[Ue][Ge]}else Me=new xe(ge);this.value=Me},ce.prototype.clone=function(ge){var xe=new ce(this.name,this.type,this.size,this.semantic);return ge&&console.warn("todo"),xe};function he(ge,xe,Me,Be,Ne){this.name=ge,this.type=xe,this.buffer=Me,this.size=Be,this.semantic=Ne,this.symbol="",this.needsRemove=!1}function ie(ge){this.buffer=ge,this.count=0}var ue=Fe.a.extend(function(){return{attributes:{position:new ce("position","float",3,"POSITION"),texcoord0:new ce("texcoord0","float",2,"TEXCOORD_0"),texcoord1:new ce("texcoord1","float",2,"TEXCOORD_1"),normal:new ce("normal","float",3,"NORMAL"),tangent:new ce("tangent","float",4,"TANGENT"),color:new ce("color","float",4,"COLOR"),weight:new ce("weight","float",3,"WEIGHT"),joint:new ce("joint","float",4,"JOINT"),barycentric:new ce("barycentric","float",3,null)},boundingBox:null,indices:null,dynamic:!0,_enabledAttributes:null}},function(){this._cache=new ve.a,this._attributeList=Object.keys(this.attributes)},{mainAttribute:"position",pick:null,pickByRay:null,updateBoundingBox:function(){var ge=this.boundingBox;ge||(ge=this.boundingBox=new pe.a);var xe=this.attributes.position.value;if(xe&&xe.length){var Me=ge.min,Be=ge.max,Ne=Me.array,Ue=Be.array;Ee.set(Ne,xe[0],xe[1],xe[2]),Ee.set(Ue,xe[0],xe[1],xe[2]);for(var Ge=3;Ge<xe.length;){var Xe=xe[Ge++],Ye=xe[Ge++],nt=xe[Ge++];Xe<Ne[0]&&(Ne[0]=Xe),Ye<Ne[1]&&(Ne[1]=Ye),nt<Ne[2]&&(Ne[2]=nt),Xe>Ue[0]&&(Ue[0]=Xe),Ye>Ue[1]&&(Ue[1]=Ye),nt>Ue[2]&&(Ue[2]=nt)}Me._dirty=!0,Be._dirty=!0}},dirty:function(){for(var ge=this.getEnabledAttributes(),xe=0;xe<ge.length;xe++)this.dirtyAttribute(ge[xe]);this.dirtyIndices(),this._enabledAttributes=null,this._cache.dirty("any")},dirtyIndices:function(){this._cache.dirtyAll("indices")},dirtyAttribute:function(ge){this._cache.dirtyAll(oe(ge)),this._cache.dirtyAll("attributes")},getTriangleIndices:function(ge,xe){if(ge<this.triangleCount&&ge>=0){xe||(xe=de());var Me=this.indices;return xe[0]=Me[ge*3],xe[1]=Me[ge*3+1],xe[2]=Me[ge*3+2],xe}},setTriangleIndices:function(ge,xe){var Me=this.indices;Me[ge*3]=xe[0],Me[ge*3+1]=xe[1],Me[ge*3+2]=xe[2]},isUseIndices:function(){return!!this.indices},initIndicesFromArray:function(ge){var xe,Me=this.vertexCount>65535?ye.a.Uint32Array:ye.a.Uint16Array;if(ge[0]&&ge[0].length){var Be=0,Ne=3;xe=new Me(ge.length*Ne);for(var Ue=0;Ue<ge.length;Ue++)for(var Ge=0;Ge<Ne;Ge++)xe[Be++]=ge[Ue][Ge]}else xe=new Me(ge);this.indices=xe},createAttribute:function(ge,xe,Me,Be){var Ne=new ce(ge,xe,Me,Be);return this.attributes[ge]&&this.removeAttribute(ge),this.attributes[ge]=Ne,this._attributeList.push(ge),Ne},removeAttribute:function(ge){var xe=this._attributeList,Me=xe.indexOf(ge);return Me>=0?(xe.splice(Me,1),delete this.attributes[ge],!0):!1},getAttribute:function(ge){return this.attributes[ge]},getEnabledAttributes:function(){var ge=this._enabledAttributes,xe=this._attributeList;if(ge)return ge;for(var Me=[],Be=this.vertexCount,Ne=0;Ne<xe.length;Ne++){var Ue=xe[Ne],Ge=this.attributes[Ue];Ge.value&&Ge.value.length===Be*Ge.size&&Me.push(Ue)}return this._enabledAttributes=Me,Me},getBufferChunks:function(ge){var xe=this._cache;xe.use(ge.__uid__);var Me=xe.isDirty("attributes"),Be=xe.isDirty("indices");if(Me||Be){this._updateBuffer(ge.gl,Me,Be);for(var Ne=this.getEnabledAttributes(),Ue=0;Ue<Ne.length;Ue++)xe.fresh(oe(Ne[Ue]));xe.fresh("attributes"),xe.fresh("indices")}return xe.fresh("any"),xe.get("chunks")},_updateBuffer:function(ge,xe,Me){var Be=this._cache,Ne=Be.get("chunks"),Ue=!1;Ne||(Ne=[],Ne[0]={attributeBuffers:[],indicesBuffer:null},Be.put("chunks",Ne),Ue=!0);var Ge=Ne[0],Xe=Ge.attributeBuffers,Ye=Ge.indicesBuffer;if(xe||Ue){var nt=this.getEnabledAttributes(),$e={};if(!Ue)for(var qe=0;qe<Xe.length;qe++)$e[Xe[qe].name]=Xe[qe];for(var st=0;st<nt.length;st++){var rt=nt[st],ct=this.attributes[rt],tt;Ue||(tt=$e[rt]);var dt;tt?dt=tt.buffer:dt=ge.createBuffer(),Be.isDirty(oe(rt))&&(ge.bindBuffer(ge.ARRAY_BUFFER,dt),ge.bufferData(ge.ARRAY_BUFFER,ct.value,this.dynamic?Ce.a.DYNAMIC_DRAW:Ce.a.STATIC_DRAW)),Xe[st]=new he(rt,ct.type,dt,ct.size,ct.semantic)}for(var qe=st;qe<Xe.length;qe++)ge.deleteBuffer(Xe[qe].buffer);Xe.length=st}this.isUseIndices()&&(Me||Ue)&&(Ye||(Ye=new ie(ge.createBuffer()),Ge.indicesBuffer=Ye),Ye.count=this.indices.length,ge.bindBuffer(ge.ELEMENT_ARRAY_BUFFER,Ye.buffer),ge.bufferData(ge.ELEMENT_ARRAY_BUFFER,this.indices,this.dynamic?Ce.a.DYNAMIC_DRAW:Ce.a.STATIC_DRAW))},generateVertexNormals:function(){if(this.vertexCount){var ge=this.indices,xe=this.attributes,Me=xe.position.value,Be=xe.normal.value;if(!Be||Be.length!==Me.length)Be=xe.normal.value=new ye.a.Float32Array(Me.length);else for(var Ne=0;Ne<Be.length;Ne++)Be[Ne]=0;for(var Ue=de(),Ge=de(),Xe=de(),Ye=de(),nt=de(),$e=de(),qe=ge?ge.length:this.vertexCount,st,rt,ct,tt=0;tt<qe;){ge?(st=ge[tt++],rt=ge[tt++],ct=ge[tt++]):(st=tt++,rt=tt++,ct=tt++),ne(Ue,Me[st*3],Me[st*3+1],Me[st*3+2]),ne(Ge,Me[rt*3],Me[rt*3+1],Me[rt*3+2]),ne(Xe,Me[ct*3],Me[ct*3+1],Me[ct*3+2]),Ee.sub(Ye,Ue,Ge),Ee.sub(nt,Ge,Xe),Ee.cross($e,Ye,nt);for(var Ne=0;Ne<3;Ne++)Be[st*3+Ne]=Be[st*3+Ne]+$e[Ne],Be[rt*3+Ne]=Be[rt*3+Ne]+$e[Ne],Be[ct*3+Ne]=Be[ct*3+Ne]+$e[Ne]}for(var Ne=0;Ne<Be.length;)ne($e,Be[Ne],Be[Ne+1],Be[Ne+2]),Ee.normalize($e,$e),Be[Ne++]=$e[0],Be[Ne++]=$e[1],Be[Ne++]=$e[2];this.dirty()}},generateFaceNormals:function(){if(this.vertexCount){this.isUniqueVertex()||this.generateUniqueVertex();var ge=this.indices,xe=this.attributes,Me=xe.position.value,Be=xe.normal.value,Ne=de(),Ue=de(),Ge=de(),Xe=de(),Ye=de(),nt=de();Be||(Be=xe.normal.value=new Float32Array(Me.length));for(var $e=ge?ge.length:this.vertexCount,qe,st,rt,ct=0;ct<$e;){ge?(qe=ge[ct++],st=ge[ct++],rt=ge[ct++]):(qe=ct++,st=ct++,rt=ct++),ne(Ne,Me[qe*3],Me[qe*3+1],Me[qe*3+2]),ne(Ue,Me[st*3],Me[st*3+1],Me[st*3+2]),ne(Ge,Me[rt*3],Me[rt*3+1],Me[rt*3+2]),Ee.sub(Xe,Ne,Ue),Ee.sub(Ye,Ue,Ge),Ee.cross(nt,Xe,Ye),Ee.normalize(nt,nt);for(var tt=0;tt<3;tt++)Be[qe*3+tt]=nt[tt],Be[st*3+tt]=nt[tt],Be[rt*3+tt]=nt[tt]}this.dirty()}},generateTangents:function(){if(this.vertexCount){var ge=this.vertexCount,xe=this.attributes;xe.tangent.value||(xe.tangent.value=new Float32Array(ge*4));var Me=xe.texcoord0.value,Be=xe.position.value,Ne=xe.tangent.value,Ue=xe.normal.value;if(!Me){console.warn("Geometry without texcoords can't generate tangents.");return}for(var Ge=[],Xe=[],Ye=0;Ye<ge;Ye++)Ge[Ye]=[0,0,0],Xe[Ye]=[0,0,0];for(var nt=[0,0,0],$e=[0,0,0],qe=this.indices,st=qe?qe.length:this.vertexCount,rt,ct,tt,Ye=0;Ye<st;){qe?(rt=qe[Ye++],ct=qe[Ye++],tt=qe[Ye++]):(rt=Ye++,ct=Ye++,tt=Ye++);var dt=Me[rt*2],At=Me[ct*2],mt=Me[tt*2],ht=Me[rt*2+1],vt=Me[ct*2+1],Wt=Me[tt*2+1],Jt=Be[rt*3],en=Be[ct*3],mn=Be[tt*3],Ot=Be[rt*3+1],an=Be[ct*3+1],tn=Be[tt*3+1],Dn=Be[rt*3+2],Tn=Be[ct*3+2],sn=Be[tt*3+2],dn=en-Jt,Kt=mn-Jt,Tt=an-Ot,yt=tn-Ot,Gt=Tn-Dn,gt=sn-Dn,St=At-dt,Qt=mt-dt,Nt=vt-ht,wt=Wt-ht,rn=1/(St*wt-Nt*Qt);nt[0]=(wt*dn-Nt*Kt)*rn,nt[1]=(wt*Tt-Nt*yt)*rn,nt[2]=(wt*Gt-Nt*gt)*rn,$e[0]=(St*Kt-Qt*dn)*rn,$e[1]=(St*yt-Qt*Tt)*rn,$e[2]=(St*gt-Qt*Gt)*rn,ee(Ge[rt],Ge[rt],nt),ee(Ge[ct],Ge[ct],nt),ee(Ge[tt],Ge[tt],nt),ee(Xe[rt],Xe[rt],$e),ee(Xe[ct],Xe[ct],$e),ee(Xe[tt],Xe[tt],$e)}for(var On=de(),zn=de(),Gn=de(),Ye=0;Ye<ge;Ye++){Gn[0]=Ue[Ye*3],Gn[1]=Ue[Ye*3+1],Gn[2]=Ue[Ye*3+2];var nr=Ge[Ye];Ee.scale(On,Gn,Ee.dot(Gn,nr)),Ee.sub(On,nr,On),Ee.normalize(On,On),Ee.cross(zn,Gn,nr),Ne[Ye*4]=On[0],Ne[Ye*4+1]=On[1],Ne[Ye*4+2]=On[2],Ne[Ye*4+3]=Ee.dot(zn,Xe[Ye])<0?-1:1}this.dirty()}},isUniqueVertex:function(){return this.isUseIndices()?this.vertexCount===this.indices.length:!0},generateUniqueVertex:function(){if(!(!this.vertexCount||!this.indices)){this.indices.length>65535&&(this.indices=new ye.a.Uint32Array(this.indices));for(var ge=this.attributes,xe=this.indices,Me=this.getEnabledAttributes(),Be={},Ne=0;Ne<Me.length;Ne++){var Ue=Me[Ne];Be[Ue]=ge[Ue].value,ge[Ue].init(this.indices.length)}for(var Ge=0,Xe=0;Xe<xe.length;Xe++){for(var Ye=xe[Xe],Ne=0;Ne<Me.length;Ne++)for(var Ue=Me[Ne],nt=ge[Ue].value,$e=ge[Ue].size,qe=0;qe<$e;qe++)nt[Ge*$e+qe]=Be[Ue][Ye*$e+qe];xe[Xe]=Ge,Ge++}this.dirty()}},generateBarycentric:function(){if(this.vertexCount){this.isUniqueVertex()||this.generateUniqueVertex();var ge=this.attributes,xe=ge.barycentric.value,Me=this.indices;if(!(xe&&xe.length===Me.length*3)){xe=ge.barycentric.value=new Float32Array(Me.length*3);for(var Be=0;Be<(Me?Me.length:this.vertexCount/3);)for(var Ne=0;Ne<3;Ne++){var Ue=Me?Me[Be++]:Be*3+Ne;xe[Ue*3+Ne]=1}this.dirty()}}},applyTransform:function(ge){var xe=this.attributes,Me=xe.position.value,Be=xe.normal.value,Ne=xe.tangent.value;ge=ge.array;var Ue=Pe.create();Pe.invert(Ue,ge),Pe.transpose(Ue,Ue);var Ge=Ee.transformMat4,Xe=Ee.forEach;Xe(Me,3,0,null,Ge,ge),Be&&Xe(Be,3,0,null,Ge,Ue),Ne&&Xe(Ne,4,0,null,Ge,Ue),this.boundingBox&&this.updateBoundingBox()},dispose:function(ge){var xe=this._cache;xe.use(ge.__uid__);var Me=xe.get("chunks");if(Me)for(var Be=0;Be<Me.length;Be++){for(var Ne=Me[Be],Ue=0;Ue<Ne.attributeBuffers.length;Ue++){var Ge=Ne.attributeBuffers[Ue];ge.gl.deleteBuffer(Ge.buffer)}Ne.indicesBuffer&&ge.gl.deleteBuffer(Ne.indicesBuffer.buffer)}xe.deleteContext(ge.__uid__)}});Object.defineProperty&&(Object.defineProperty(ue.prototype,"vertexCount",{enumerable:!1,get:function(){var ge=this.attributes[this.mainAttribute];return!ge||!ge.value?0:ge.value.length/ge.size}}),Object.defineProperty(ue.prototype,"triangleCount",{enumerable:!1,get:function(){var ge=this.indices;return ge?ge.length/3:0}})),ue.STATIC_DRAW=Ce.a.STATIC_DRAW,ue.DYNAMIC_DRAW=Ce.a.DYNAMIC_DRAW,ue.STREAM_DRAW=Ce.a.STREAM_DRAW,ue.AttributeBuffer=he,ue.IndicesBuffer=ie,ue.Attribute=ce,Re.a=ue},function(Ve,Re,be){"use strict";var Fe=be(8),Ce=be(30),ve=be(37),ye=be(7),we=be(17),De=be(24),pe=be(11),Ee=be(109);ye.a.import(Ee.a);var Pe=new ve.a,de=new De.a({geometry:Pe,frustumCulling:!1}),ee=new Ce.a,ne=Fe.a.extend(function(){return{fragment:"",outputs:null,material:null,blendWithPrevious:!1,clearColor:!1,clearDepth:!0}},function(){var le=new ye.a(ye.a.source("clay.compositor.vertex"),this.fragment),oe=new we.a({shader:le});oe.enableTexturesAll(),this.material=oe},{setUniform:function(le,oe){this.material.setUniform(le,oe)},getUniform:function(le){var oe=this.material.uniforms[le];if(oe)return oe.value},attachOutput:function(le,oe){this.outputs||(this.outputs={}),oe=oe||pe.a.COLOR_ATTACHMENT0,this.outputs[oe]=le},detachOutput:function(le){for(var oe in this.outputs)this.outputs[oe]===le&&(this.outputs[oe]=null)},bind:function(le,oe){if(this.outputs)for(var ce in this.outputs){var he=this.outputs[ce];he&&oe.attach(he,ce)}oe&&oe.bind(le)},unbind:function(le,oe){oe.unbind(le)},render:function(le,oe){var ce=le.gl;if(oe){this.bind(le,oe);var he=le.getGLExtension("EXT_draw_buffers");if(he&&this.outputs){var ie=[];for(var ue in this.outputs)ue=+ue,ue>=ce.COLOR_ATTACHMENT0&&ue<=ce.COLOR_ATTACHMENT0+8&&ie.push(ue);he.drawBuffersEXT(ie)}}this.trigger("beforerender",this,le);var ge=this.clearDepth?ce.DEPTH_BUFFER_BIT:0;if(ce.depthMask(!0),this.clearColor){ge=ge|ce.COLOR_BUFFER_BIT,ce.colorMask(!0,!0,!0,!0);var xe=this.clearColor;Array.isArray(xe)&&ce.clearColor(xe[0],xe[1],xe[2],xe[3])}ce.clear(ge),this.blendWithPrevious?(ce.enable(ce.BLEND),this.material.transparent=!0):(ce.disable(ce.BLEND),this.material.transparent=!1),this.renderQuad(le),this.trigger("afterrender",this,le),oe&&this.unbind(le,oe)},renderQuad:function(le){de.material=this.material,le.renderPass([de],ee)},dispose:function(le){}});Re.a=ne},function(Ve,Re,be){"use strict";var Fe=be(4),Ce=be(1),ve=be.n(Ce),ye=ve.a.vec3,we=ye.copy,De=ye.set,pe=function(Ee,Pe){this.min=Ee||new Fe.a(1/0,1/0,1/0),this.max=Pe||new Fe.a(-1/0,-1/0,-1/0)};pe.prototype={constructor:pe,updateFromVertices:function(Ee){if(Ee.length>0){var Pe=this.min,de=this.max,ee=Pe.array,ne=de.array;we(ee,Ee[0]),we(ne,Ee[0]);for(var le=1;le<Ee.length;le++){var oe=Ee[le];oe[0]<ee[0]&&(ee[0]=oe[0]),oe[1]<ee[1]&&(ee[1]=oe[1]),oe[2]<ee[2]&&(ee[2]=oe[2]),oe[0]>ne[0]&&(ne[0]=oe[0]),oe[1]>ne[1]&&(ne[1]=oe[1]),oe[2]>ne[2]&&(ne[2]=oe[2])}Pe._dirty=!0,de._dirty=!0}},union:function(Ee){var Pe=this.min,de=this.max;return ye.min(Pe.array,Pe.array,Ee.min.array),ye.max(de.array,de.array,Ee.max.array),Pe._dirty=!0,de._dirty=!0,this},intersection:function(Ee){var Pe=this.min,de=this.max;return ye.max(Pe.array,Pe.array,Ee.min.array),ye.min(de.array,de.array,Ee.max.array),Pe._dirty=!0,de._dirty=!0,this},intersectBoundingBox:function(Ee){var Pe=this.min.array,de=this.max.array,ee=Ee.min.array,ne=Ee.max.array;return!(Pe[0]>ne[0]||Pe[1]>ne[1]||Pe[2]>ne[2]||de[0]<ee[0]||de[1]<ee[1]||de[2]<ee[2])},containBoundingBox:function(Ee){var Pe=this.min.array,de=this.max.array,ee=Ee.min.array,ne=Ee.max.array;return Pe[0]<=ee[0]&&Pe[1]<=ee[1]&&Pe[2]<=ee[2]&&de[0]>=ne[0]&&de[1]>=ne[1]&&de[2]>=ne[2]},containPoint:function(Ee){var Pe=this.min.array,de=this.max.array,ee=Ee.array;return Pe[0]<=ee[0]&&Pe[1]<=ee[1]&&Pe[2]<=ee[2]&&de[0]>=ee[0]&&de[1]>=ee[1]&&de[2]>=ee[2]},isFinite:function(){var Ee=this.min.array,Pe=this.max.array;return isFinite(Ee[0])&&isFinite(Ee[1])&&isFinite(Ee[2])&&isFinite(Pe[0])&&isFinite(Pe[1])&&isFinite(Pe[2])},applyTransform:function(){var Ee=ye.create(),Pe=ye.create(),de=ye.create(),ee=ye.create(),ne=ye.create(),le=ye.create();return function(oe){var ce=this.min.array,he=this.max.array,ie=oe.array;return Ee[0]=ie[0]*ce[0],Ee[1]=ie[1]*ce[0],Ee[2]=ie[2]*ce[0],Pe[0]=ie[0]*he[0],Pe[1]=ie[1]*he[0],Pe[2]=ie[2]*he[0],de[0]=ie[4]*ce[1],de[1]=ie[5]*ce[1],de[2]=ie[6]*ce[1],ee[0]=ie[4]*he[1],ee[1]=ie[5]*he[1],ee[2]=ie[6]*he[1],ne[0]=ie[8]*ce[2],ne[1]=ie[9]*ce[2],ne[2]=ie[10]*ce[2],le[0]=ie[8]*he[2],le[1]=ie[9]*he[2],le[2]=ie[10]*he[2],ce[0]=Math.min(Ee[0],Pe[0])+Math.min(de[0],ee[0])+Math.min(ne[0],le[0])+ie[12],ce[1]=Math.min(Ee[1],Pe[1])+Math.min(de[1],ee[1])+Math.min(ne[1],le[1])+ie[13],ce[2]=Math.min(Ee[2],Pe[2])+Math.min(de[2],ee[2])+Math.min(ne[2],le[2])+ie[14],he[0]=Math.max(Ee[0],Pe[0])+Math.max(de[0],ee[0])+Math.max(ne[0],le[0])+ie[12],he[1]=Math.max(Ee[1],Pe[1])+Math.max(de[1],ee[1])+Math.max(ne[1],le[1])+ie[13],he[2]=Math.max(Ee[2],Pe[2])+Math.max(de[2],ee[2])+Math.max(ne[2],le[2])+ie[14],this.min._dirty=!0,this.max._dirty=!0,this}}(),applyProjection:function(Ee){var Pe=this.min.array,de=this.max.array,ee=Ee.array,ne=Pe[0],le=Pe[1],oe=Pe[2],ce=de[0],he=de[1],ie=Pe[2],ue=de[0],ge=de[1],xe=de[2];if(ee[15]===1)Pe[0]=ee[0]*ne+ee[12],Pe[1]=ee[5]*le+ee[13],de[2]=ee[10]*oe+ee[14],de[0]=ee[0]*ue+ee[12],de[1]=ee[5]*ge+ee[13],Pe[2]=ee[10]*xe+ee[14];else{var Me=-1/oe;Pe[0]=ee[0]*ne*Me,Pe[1]=ee[5]*le*Me,de[2]=(ee[10]*oe+ee[14])*Me,Me=-1/ie,de[0]=ee[0]*ce*Me,de[1]=ee[5]*he*Me,Me=-1/xe,Pe[2]=(ee[10]*xe+ee[14])*Me}return this.min._dirty=!0,this.max._dirty=!0,this},updateVertices:function(){var Ee=this.vertices;if(!Ee){for(var Ee=[],Pe=0;Pe<8;Pe++)Ee[Pe]=ye.fromValues(0,0,0);this.vertices=Ee}var de=this.min.array,ee=this.max.array;return De(Ee[0],de[0],de[1],de[2]),De(Ee[1],de[0],ee[1],de[2]),De(Ee[2],ee[0],de[1],de[2]),De(Ee[3],ee[0],ee[1],de[2]),De(Ee[4],de[0],de[1],ee[2]),De(Ee[5],de[0],ee[1],ee[2]),De(Ee[6],ee[0],de[1],ee[2]),De(Ee[7],ee[0],ee[1],ee[2]),this},copy:function(Ee){var Pe=this.min,de=this.max;return we(Pe.array,Ee.min.array),we(de.array,Ee.max.array),Pe._dirty=!0,de._dirty=!0,this},clone:function(){var Ee=new pe;return Ee.copy(this),Ee}},Re.a=pe},function(Ve,Re,be){"use strict";Re.a=function(Fe,Ce,ve){return{seriesType:Fe,reset:function(ye,we){var De=ye.getData(),pe=ye.visualColorAccessPath.split(".");pe[pe.length-1]="opacity";var Ee=ye.get(pe);De.setVisual("opacity",Ee==null?1:Ee);function Pe(de){var ee=De.getItemModel(de),ne=ee.get(pe);ne!=null&&De.setItemVisual(de,"opacity",ne)}return{dataEach:De.hasItemOption?Pe:null}}}}},function(Ve,Re,be){"use strict";var Fe=be(8),Ce=be(6),ve=be(21),ye=be(93),we=ye.a.parseToFloat,De={};function pe(de,ee,ne){var le=Object.keys(de);le.sort();for(var oe=[],ce=0;ce<le.length;ce++){var he=le[ce],ie=de[he];ie===null?oe.push(he):oe.push(he+" "+ie.toString())}return oe.join(`
|
|
|
`)}function Ee(de,ee,ne){ne.sort();for(var le=[],oe=0;oe<ne.length;oe++){var ce=ne[oe];le.push(ce)}var he=pe(de)+`
|
|
|
`+pe(ee)+`
|
|
|
`+le.join(`
|
|
|
`);if(De[he])return De[he];var ie=ve.a.genGUID();return De[he]=ie,ie}var Pe=Fe.a.extend(function(){return{name:"",depthTest:!0,depthMask:!0,transparent:!1,blend:null,autoUpdateTextureStatus:!0,uniforms:{},vertexDefines:{},fragmentDefines:{},_textureStatus:{},_enabledUniforms:null}},function(){this.name||(this.name="MATERIAL_"+this.__uid__),this.shader&&this.attachShader(this.shader,!0)},{precision:"highp",bind:function(de,ee,ne,le){for(var oe=de.gl,ce=ee.currentTextureSlot(),he=0;he<this._enabledUniforms.length;he++){var ie=this._enabledUniforms[he],ue=this.uniforms[ie].value;if(ue instanceof Ce.a)ue.__slot=-1;else if(Array.isArray(ue))for(var ge=0;ge<ue.length;ge++)ue[ge]instanceof Ce.a&&(ue[ge].__slot=-1)}for(var he=0;he<this._enabledUniforms.length;he++){var ie=this._enabledUniforms[he],xe=this.uniforms[ie],ue=xe.value;if(ue===null){if(xe.type==="t"){var Me=ee.currentTextureSlot(),Be=ee.setUniform(oe,"1i",ie,Me);Be&&ee.takeCurrentTextureSlot(de,null)}continue}else if(ue instanceof Ce.a)if(ue.__slot<0){var Me=ee.currentTextureSlot(),Be=ee.setUniform(oe,"1i",ie,Me);if(!Be)continue;ee.takeCurrentTextureSlot(de,ue),ue.__slot=Me}else ee.setUniform(oe,"1i",ie,ue.__slot);else if(Array.isArray(ue)){if(ue.length===0)continue;var Ne=ue[0];if(Ne instanceof Ce.a){if(!ee.hasUniform(ie))continue;for(var Ue=[],ge=0;ge<ue.length;ge++){var Ge=ue[ge];if(Ge.__slot<0){var Me=ee.currentTextureSlot();Ue.push(Me),ee.takeCurrentTextureSlot(de,Ge),Ge.__slot=Me}else Ue.push(Ge.__slot)}ee.setUniform(oe,"1iv",ie,Ue)}else ee.setUniform(oe,xe.type,ie,ue)}else ee.setUniform(oe,xe.type,ie,ue)}ee.resetTextureSlot(ce)},setUniform:function(de,ee){ee===void 0&&console.warn('Uniform value "'+de+'" is undefined');var ne=this.uniforms[de];ne&&(typeof ee=="string"&&(ee=we(ee)||ee),ne.value=ee,this.autoUpdateTextureStatus&&ne.type==="t"&&(ee?this.enableTexture(de):this.disableTexture(de)))},setUniforms:function(de){for(var ee in de){var ne=de[ee];this.setUniform(ee,ne)}},isUniformEnabled:function(de){return this._enabledUniforms.indexOf(de)>=0},getEnabledUniforms:function(){return this._enabledUniforms},getTextureUniforms:function(){return this._textureUniforms},set:function(de,ee){if(typeof de=="object")for(var ne in de){var le=de[ne];this.setUniform(ne,le)}else this.setUniform(de,ee)},get:function(de){var ee=this.uniforms[de];if(ee)return ee.value},attachShader:function(de,ee){var ne=this.uniforms;this.uniforms=de.createUniforms(),this.shader=de;var le=this.uniforms;this._enabledUniforms=Object.keys(le),this._enabledUniforms.sort(),this._textureUniforms=this._enabledUniforms.filter(function(ge){var xe=this.uniforms[ge].type;return xe==="t"||xe==="tv"},this);var oe=this.vertexDefines,ce=this.fragmentDefines;if(this.vertexDefines=ve.a.clone(de.vertexDefines),this.fragmentDefines=ve.a.clone(de.fragmentDefines),ee){for(var he in ne)le[he]&&(le[he].value=ne[he].value);ve.a.defaults(this.vertexDefines,oe),ve.a.defaults(this.fragmentDefines,ce)}var ie={};for(var ue in de.textures)ie[ue]={shaderType:de.textures[ue].shaderType,type:de.textures[ue].type,enabled:ee&&this._textureStatus[ue]?this._textureStatus[ue].enabled:!1};this._textureStatus=ie,this._programKey=""},clone:function(){var de=new this.constructor({name:this.name,shader:this.shader});for(var ee in this.uniforms)de.uniforms[ee].value=this.uniforms[ee].value;return de.depthTest=this.depthTest,de.depthMask=this.depthMask,de.transparent=this.transparent,de.blend=this.blend,de.vertexDefines=ve.a.clone(this.vertexDefines),de.fragmentDefines=ve.a.clone(this.fragmentDefines),de.enableTexture(this.getEnabledTextures()),de.precision=this.precision,de},define:function(de,ee,ne){var le=this.vertexDefines,oe=this.fragmentDefines;de!=="vertex"&&de!=="fragment"&&de!=="both"&&arguments.length<3&&(ne=ee,ee=de,de="both"),ne=ne!=null?ne:null,(de==="vertex"||de==="both")&&le[ee]!==ne&&(le[ee]=ne,this._programKey=""),(de==="fragment"||de==="both")&&oe[ee]!==ne&&(oe[ee]=ne,de!=="both"&&(this._programKey=""))},undefine:function(de,ee){de!=="vertex"&&de!=="fragment"&&de!=="both"&&arguments.length<2&&(ee=de,de="both"),(de==="vertex"||de==="both")&&this.isDefined("vertex",ee)&&(delete this.vertexDefines[ee],this._programKey=""),(de==="fragment"||de==="both")&&this.isDefined("fragment",ee)&&(delete this.fragmentDefines[ee],de!=="both"&&(this._programKey=""))},isDefined:function(de,ee){switch(de){case"vertex":return this.vertexDefines[ee]!==void 0;case"fragment":return this.fragmentDefines[ee]!==void 0}},getDefine:function(de,ee){switch(de){case"vertex":return this.vertexDefines[ee];case"fragment":return this.fragmentDefines[ee]}},enableTexture:function(de){if(Array.isArray(de)){for(var ee=0;ee<de.length;ee++)this.enableTexture(de[ee]);return}var ne=this._textureStatus[de];if(ne){var le=ne.enabled;le||(ne.enabled=!0,this._programKey="")}},enableTexturesAll:function(){var de=this._textureStatus;for(var ee in de)de[ee].enabled=!0;this._programKey=""},disableTexture:function(de){if(Array.isArray(de)){for(var ee=0;ee<de.length;ee++)this.disableTexture(de[ee]);return}var ne=this._textureStatus[de];if(ne){var le=!ne.enabled;le||(ne.enabled=!1,this._programKey="")}},disableTexturesAll:function(){var de=this._textureStatus;for(var ee in de)de[ee].enabled=!1;this._programKey=""},isTextureEnabled:function(de){var ee=this._textureStatus;return!!ee[de]&&ee[de].enabled},getEnabledTextures:function(){var de=[],ee=this._textureStatus;for(var ne in ee)ee[ne].enabled&&de.push(ne);return de},dirtyDefines:function(){this._programKey=""}});Object.defineProperty&&(Object.defineProperty(Pe.prototype,"shader",{get:function(){return this._shader||null},set:function(de){this._shader=de}}),Object.defineProperty(Pe.prototype,"programKey",{get:function(){return this._programKey||(this._programKey=Ee(this.vertexDefines,this.fragmentDefines,this.getEnabledTextures())),this._programKey}})),Re.a=Pe},function(Ve,Re,be){"use strict";var Fe=!0;try{var Ce=document.createElement("canvas"),ve=Ce.getContext("webgl")||Ce.getContext("experimental-webgl");if(!ve)throw new Error}catch(we){Fe=!1}var ye={};ye.supportWebGL=function(){return Fe},ye.Int8Array=typeof Int8Array=="undefined"?Array:Int8Array,ye.Uint8Array=typeof Uint8Array=="undefined"?Array:Uint8Array,ye.Uint16Array=typeof Uint16Array=="undefined"?Array:Uint16Array,ye.Uint32Array=typeof Uint32Array=="undefined"?Array:Uint32Array,ye.Int16Array=typeof Int16Array=="undefined"?Array:Int16Array,ye.Float32Array=typeof Float32Array=="undefined"?Array:Float32Array,ye.Float64Array=typeof Float64Array=="undefined"?Array:Float64Array,Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(28),Ce=Fe.a.extend(function(){return{color:[1,1,1],intensity:1,castShadow:!0,shadowResolution:512,group:0}},{type:"",clone:function(){var ve=Fe.a.prototype.clone.call(this);return ve.color=Array.prototype.slice.call(this.color),ve.intensity=this.intensity,ve.castShadow=this.castShadow,ve.shadowResolution=this.shadowResolution,ve}});Re.a=Ce},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(29),ye=be(152),we=be(36),De=be(30),pe=be(9),Ee=be(4),Pe=be(23),de=be(47),ee=be(155),ne=be(182),le=be(43);function oe(he){he=he||"perspective",this.layer=null,this.scene=new ve.a,this.rootNode=this.scene,this.viewport={x:0,y:0,width:0,height:0},this.setProjection(he),this._compositor=new ee.a,this._temporalSS=new ne.a,this._shadowMapPass=new ye.a;for(var ie=[],ue=0,ge=0;ge<30;ge++){for(var xe=[],Me=0;Me<6;Me++)xe.push(Object(le.a)(ue,2)*4-2),xe.push(Object(le.a)(ue,3)*4-2),ue++;ie.push(xe)}this._pcfKernels=ie,this.scene.on("beforerender",function(Be,Ne,Ue){this.needsTemporalSS()&&this._temporalSS.jitterProjection(Be,Ue)},this)}oe.prototype.setProjection=function(he){var ie=this.camera;ie&&ie.update(),he==="perspective"?this.camera instanceof we.a||(this.camera=new we.a,ie&&this.camera.setLocalTransform(ie.localTransform)):this.camera instanceof De.a||(this.camera=new De.a,ie&&this.camera.setLocalTransform(ie.localTransform)),this.camera.near=.1,this.camera.far=2e3},oe.prototype.setViewport=function(he,ie,ue,ge,xe){this.camera instanceof we.a&&(this.camera.aspect=ue/ge),xe=xe||1,this.viewport.x=he,this.viewport.y=ie,this.viewport.width=ue,this.viewport.height=ge,this.viewport.devicePixelRatio=xe,this._compositor.resize(ue*xe,ge*xe),this._temporalSS.resize(ue*xe,ge*xe)},oe.prototype.containPoint=function(he,ie){var ue=this.viewport,ge=this.layer.renderer.getHeight();return ie=ge-ie,he>=ue.x&&ie>=ue.y&&he<=ue.x+ue.width&&ie<=ue.y+ue.height};var ce=new Pe.a;oe.prototype.castRay=function(he,ie,ue){var ge=this.layer.renderer,xe=ge.viewport;return ge.viewport=this.viewport,ge.screenToNDC(he,ie,ce),this.camera.castRay(ce,ue),ge.viewport=xe,ue},oe.prototype.prepareRender=function(){this.scene.update(),this.camera.update(),this._needsSortProgressively=!1;for(var he=0;he<this.scene.transparentList.length;he++){var ie=this.scene.transparentList[he],ue=ie.geometry;ue.needsSortVerticesProgressively&&ue.needsSortVerticesProgressively()&&(this._needsSortProgressively=!0),ue.needsSortTrianglesProgressively&&ue.needsSortTrianglesProgressively()&&(this._needsSortProgressively=!0)}this._frame=0,this._temporalSS.resetFrame()},oe.prototype.render=function(he,ie){this._doRender(he,ie,this._frame),this._frame++},oe.prototype.needsAccumulate=function(){return this.needsTemporalSS()||this._needsSortProgressively},oe.prototype.needsTemporalSS=function(){var he=this._enableTemporalSS;return he=="auto"&&(he=this._enablePostEffect),he},oe.prototype.hasDOF=function(){return this._enableDOF},oe.prototype.isAccumulateFinished=function(){return this.needsTemporalSS()?this._temporalSS.isFinished():this._frame>30},oe.prototype._doRender=function(he,ie,ue){var ge=this.scene,xe=this.camera;if(ue=ue||0,this._updateTransparent(he,ge,xe,ue),ie||(this._shadowMapPass.kernelPCF=this._pcfKernels[0],this._shadowMapPass.render(he,ge,xe,!0)),this._updateShadowPCFKernel(ue),he.gl.clearColor(0,0,0,0),this._enablePostEffect&&(this.needsTemporalSS()&&this._temporalSS.jitterProjection(he,xe),this._compositor.updateNormal(he,ge,xe,this._temporalSS.getFrame())),this._updateSSAO(he,ge,xe,this._temporalSS.getFrame()),this._enablePostEffect){var Me=this._compositor.getSourceFrameBuffer();Me.bind(he),he.gl.clear(he.gl.DEPTH_BUFFER_BIT|he.gl.COLOR_BUFFER_BIT),he.render(ge,xe,!0,!0),Me.unbind(he),this.needsTemporalSS()&&ie?(this._compositor.composite(he,xe,this._temporalSS.getSourceFrameBuffer(),this._temporalSS.getFrame()),he.setViewport(this.viewport),this._temporalSS.render(he)):(he.setViewport(this.viewport),this._compositor.composite(he,xe,null,0))}else if(this.needsTemporalSS()&&ie){var Me=this._temporalSS.getSourceFrameBuffer();Me.bind(he),he.saveClear(),he.clearBit=he.gl.DEPTH_BUFFER_BIT|he.gl.COLOR_BUFFER_BIT,he.render(ge,xe,!0,!0),he.restoreClear(),Me.unbind(he),he.setViewport(this.viewport),this._temporalSS.render(he)}else he.setViewport(this.viewport),he.render(ge,xe,!0,!0)},oe.prototype._updateTransparent=function(he,ie,ue,ge){for(var xe=new Ee.a,Me=new pe.a,Be=ue.getWorldPosition(),Ne=0;Ne<ie.transparentList.length;Ne++){var Ue=ie.transparentList[Ne],Ge=Ue.geometry;pe.a.invert(Me,Ue.worldTransform),Ee.a.transformMat4(xe,Be,Me),Ge.needsSortTriangles&&Ge.needsSortTriangles()&&Ge.doSortTriangles(xe,ge),Ge.needsSortVertices&&Ge.needsSortVertices()&&Ge.doSortVertices(xe,ge)}},oe.prototype._updateSSAO=function(he,ie,ue,ge){var xe=this._enableSSAO&&this._enablePostEffect;xe&&this._compositor.updateSSAO(he,ie,ue,this._temporalSS.getFrame());for(var Me=0;Me<ie.opaqueList.length;Me++){var Be=ie.opaqueList[Me];Be.renderNormal&&Be.material[xe?"enableTexture":"disableTexture"]("ssaoMap"),xe&&Be.material.set("ssaoMap",this._compositor.getSSAOTexture())}},oe.prototype._updateShadowPCFKernel=function(he){for(var ie=this._pcfKernels[he%this._pcfKernels.length],ue=this.scene.opaqueList,ge=0;ge<ue.length;ge++)ue[ge].receiveShadow&&(ue[ge].material.set("pcfKernel",ie),ue[ge].material.define("fragment","PCF_KERNEL_SIZE",ie.length/2))},oe.prototype.dispose=function(he){this._compositor.dispose(he.gl),this._temporalSS.dispose(he.gl),this._shadowMapPass.dispose(he)},oe.prototype.setPostEffect=function(he,ie){var ue=this._compositor;this._enablePostEffect=he.get("enable");var ge=he.getModel("bloom"),xe=he.getModel("edge"),Me=he.getModel("DOF",he.getModel("depthOfField")),Be=he.getModel("SSAO",he.getModel("screenSpaceAmbientOcclusion")),Ne=he.getModel("SSR",he.getModel("screenSpaceReflection")),Ue=he.getModel("FXAA"),Ge=he.getModel("colorCorrection");ge.get("enable")?ue.enableBloom():ue.disableBloom(),Me.get("enable")?ue.enableDOF():ue.disableDOF(),Ne.get("enable")?ue.enableSSR():ue.disableSSR(),Ge.get("enable")?ue.enableColorCorrection():ue.disableColorCorrection(),xe.get("enable")?ue.enableEdge():ue.disableEdge(),Ue.get("enable")?ue.enableFXAA():ue.disableFXAA(),this._enableDOF=Me.get("enable"),this._enableSSAO=Be.get("enable"),this._enableSSAO?ue.enableSSAO():ue.disableSSAO(),ue.setBloomIntensity(ge.get("intensity")),ue.setEdgeColor(xe.get("color")),ue.setColorLookupTexture(Ge.get("lookupTexture"),ie),ue.setExposure(Ge.get("exposure")),["radius","quality","intensity"].forEach(function(Xe){ue.setSSAOParameter(Xe,Be.get(Xe))}),["quality","maxRoughness"].forEach(function(Xe){ue.setSSRParameter(Xe,Ne.get(Xe))}),["quality","focalDistance","focalRange","blurRadius","fstop"].forEach(function(Xe){ue.setDOFParameter(Xe,Me.get(Xe))}),["brightness","contrast","saturation"].forEach(function(Xe){ue.setColorCorrection(Xe,Ge.get(Xe))})},oe.prototype.setDOFFocusOnPoint=function(he){if(this._enablePostEffect)return he>this.camera.far||he<this.camera.near?void 0:(this._compositor.setDOFParameter("focalDistance",he),!0)},oe.prototype.setTemporalSuperSampling=function(he){this._enableTemporalSS=he.get("enable")},oe.prototype.isLinearSpace=function(){return this._enablePostEffect},oe.prototype.setRootNode=function(he){if(this.rootNode!==he){for(var ie=this.rootNode.children(),ue=0;ue<ie.length;ue++)he.add(ie[ue]);he!==this.scene&&this.scene.add(he),this.rootNode=he}},oe.prototype.add=function(he){this.rootNode.add(he)},oe.prototype.remove=function(he){this.rootNode.remove(he)},oe.prototype.removeAll=function(he){this.rootNode.removeAll(he)},Ce.a.util.extend(oe.prototype,de.a),Re.a=oe},function(Ve,Re,be){"use strict";var Fe=0,Ce=Array.prototype,ve=Ce.forEach,ye={genGUID:function(){return++Fe},relative2absolute:function(we,De){if(!De||we.match(/^\//))return we;for(var pe=we.split("/"),Ee=De.split("/"),Pe=pe[0];Pe==="."||Pe==="..";)Pe===".."&&Ee.pop(),pe.shift(),Pe=pe[0];return Ee.join("/")+"/"+pe.join("/")},extend:function(we,De){if(De)for(var pe in De)De.hasOwnProperty(pe)&&(we[pe]=De[pe]);return we},defaults:function(we,De){if(De)for(var pe in De)we[pe]===void 0&&(we[pe]=De[pe]);return we},extendWithPropList:function(we,De,pe){if(De)for(var Ee=0;Ee<pe.length;Ee++){var Pe=pe[Ee];we[Pe]=De[Pe]}return we},defaultsWithPropList:function(we,De,pe){if(De)for(var Ee=0;Ee<pe.length;Ee++){var Pe=pe[Ee];we[Pe]==null&&(we[Pe]=De[Pe])}return we},each:function(we,De,pe){if(we&&De)if(we.forEach&&we.forEach===ve)we.forEach(De,pe);else if(we.length===+we.length)for(var Ee=0,Pe=we.length;Ee<Pe;Ee++)De.call(pe,we[Ee],Ee,we);else for(var de in we)we.hasOwnProperty(de)&&De.call(pe,we[de],de,we)},isObject:function(we){return we===Object(we)},isArray:function(we){return Array.isArray(we)},isArrayLike:function(we){return we?we.length===+we.length:!1},clone:function(we){if(ye.isObject(we)){if(ye.isArray(we))return we.slice();if(ye.isArrayLike(we)){for(var De=new we.constructor(we.length),pe=0;pe<we.length;pe++)De[pe]=we[pe];return De}else return ye.extend({},we)}else return we}};Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(13),Ce=be(0),ve=be.n(Ce),ye=be(33),we=be(1),De=be.n(we),pe=De.a.vec3,Ee=[[0,0],[1,1]],Pe=Fe.a.extend(function(){return{segmentScale:1,dynamic:!0,useNativeLine:!0,attributes:{position:new Fe.a.Attribute("position","float",3,"POSITION"),positionPrev:new Fe.a.Attribute("positionPrev","float",3),positionNext:new Fe.a.Attribute("positionNext","float",3),prevPositionPrev:new Fe.a.Attribute("prevPositionPrev","float",3),prevPosition:new Fe.a.Attribute("prevPosition","float",3),prevPositionNext:new Fe.a.Attribute("prevPositionNext","float",3),offset:new Fe.a.Attribute("offset","float",1),color:new Fe.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(de){var ee=this.attributes;this.vertexCount!==de&&(ee.position.init(de),ee.color.init(de),this.useNativeLine||(ee.positionPrev.init(de),ee.positionNext.init(de),ee.offset.init(de)),de>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(de){this.triangleCount!==de&&(de===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(de*3):new Uint16Array(de*3))},_getCubicCurveApproxStep:function(de,ee,ne,le){var oe=pe.dist(de,ee)+pe.dist(ne,ee)+pe.dist(le,ne),ce=1/(oe+1)*this.segmentScale;return ce},getCubicCurveVertexCount:function(de,ee,ne,le){var oe=this._getCubicCurveApproxStep(de,ee,ne,le),ce=Math.ceil(1/oe);return this.useNativeLine?ce*2:ce*2+2},getCubicCurveTriangleCount:function(de,ee,ne,le){var oe=this._getCubicCurveApproxStep(de,ee,ne,le),ce=Math.ceil(1/oe);return this.useNativeLine?0:ce*2},getLineVertexCount:function(){return this.getPolylineVertexCount(Ee)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(Ee)},getPolylineVertexCount:function(de){var ee;if(typeof de=="number")ee=de;else{var ne=typeof de[0]!="number";ee=ne?de.length:de.length/3}return this.useNativeLine?(ee-1)*2:(ee-1)*2+2},getPolylineTriangleCount:function(de){var ee;if(typeof de=="number")ee=de;else{var ne=typeof de[0]!="number";ee=ne?de.length:de.length/3}return this.useNativeLine?0:Math.max(ee-1,0)*2},addCubicCurve:function(de,ee,ne,le,oe,ce){ce==null&&(ce=1);for(var he=de[0],ie=de[1],ue=de[2],ge=ee[0],xe=ee[1],Me=ee[2],Be=ne[0],Ne=ne[1],Ue=ne[2],Ge=le[0],Xe=le[1],Ye=le[2],nt=this._getCubicCurveApproxStep(de,ee,ne,le),$e=nt*nt,qe=$e*nt,st=3*nt,rt=3*$e,ct=6*$e,tt=6*qe,dt=he-ge*2+Be,At=ie-xe*2+Ne,mt=ue-Me*2+Ue,ht=(ge-Be)*3-he+Ge,vt=(xe-Ne)*3-ie+Xe,Wt=(Me-Ue)*3-ue+Ye,Jt=he,en=ie,mn=ue,Ot=(ge-he)*st+dt*rt+ht*qe,an=(xe-ie)*st+At*rt+vt*qe,tn=(Me-ue)*st+mt*rt+Wt*qe,Dn=dt*ct+ht*tt,Tn=At*ct+vt*tt,sn=mt*ct+Wt*tt,dn=ht*tt,Kt=vt*tt,Tt=Wt*tt,yt=0,Gt=0,gt=Math.ceil(1/nt),St=new Float32Array((gt+1)*3),St=[],Qt=0,Gt=0;Gt<gt+1;Gt++)St[Qt++]=Jt,St[Qt++]=en,St[Qt++]=mn,Jt+=Ot,en+=an,mn+=tn,Ot+=Dn,an+=Tn,tn+=sn,Dn+=dn,Tn+=Kt,sn+=Tt,yt+=nt,yt>1&&(Jt=Ot>0?Math.min(Jt,Ge):Math.max(Jt,Ge),en=an>0?Math.min(en,Xe):Math.max(en,Xe),mn=tn>0?Math.min(mn,Ye):Math.max(mn,Ye));return this.addPolyline(St,oe,ce)},addLine:function(de,ee,ne,le){return this.addPolyline([de,ee],ne,le)},addPolyline:function(de,ee,ne,le,oe){if(de.length){var ce=typeof de[0]!="number";if(oe==null&&(oe=ce?de.length:de.length/3),!(oe<2)){le==null&&(le=0),ne==null&&(ne=1),this._itemVertexOffsets.push(this._vertexOffset);var ce=typeof de[0]!="number",he=ce?typeof ee[0]!="number":ee.length/4===oe,ie=this.attributes.position,ue=this.attributes.positionPrev,ge=this.attributes.positionNext,xe=this.attributes.color,Me=this.attributes.offset,Be=this.indices,Ne=this._vertexOffset,Ue,Ge;ne=Math.max(ne,.01);for(var Xe=le;Xe<oe;Xe++){if(ce)Ue=de[Xe],he?Ge=ee[Xe]:Ge=ee;else{var Ye=Xe*3;if(Ue=Ue||[],Ue[0]=de[Ye],Ue[1]=de[Ye+1],Ue[2]=de[Ye+2],he){var nt=Xe*4;Ge=Ge||[],Ge[0]=ee[nt],Ge[1]=ee[nt+1],Ge[2]=ee[nt+2],Ge[3]=ee[nt+3]}else Ge=ee}if(this.useNativeLine?Xe>1&&(ie.copy(Ne,Ne-1),xe.copy(Ne,Ne-1),Ne++):(Xe<oe-1&&(ue.set(Ne+2,Ue),ue.set(Ne+3,Ue)),Xe>0&&(ge.set(Ne-2,Ue),ge.set(Ne-1,Ue)),ie.set(Ne,Ue),ie.set(Ne+1,Ue),xe.set(Ne,Ge),xe.set(Ne+1,Ge),Me.set(Ne,ne/2),Me.set(Ne+1,-ne/2),Ne+=2),this.useNativeLine)xe.set(Ne,Ge),ie.set(Ne,Ue),Ne++;else if(Xe>0){var $e=this._triangleOffset*3,Be=this.indices;Be[$e]=Ne-4,Be[$e+1]=Ne-3,Be[$e+2]=Ne-2,Be[$e+3]=Ne-3,Be[$e+4]=Ne-1,Be[$e+5]=Ne-2,this._triangleOffset+=2}}if(!this.useNativeLine){var qe=this._vertexOffset,st=this._vertexOffset+oe*2;ue.copy(qe,qe+2),ue.copy(qe+1,qe+3),ge.copy(st-1,st-3),ge.copy(st-2,st-4)}return this._vertexOffset=Ne,this._vertexOffset}}},setItemColor:function(de,ee){for(var ne=this._itemVertexOffsets[de],le=de<this._itemVertexOffsets.length-1?this._itemVertexOffsets[de+1]:this._vertexOffset,oe=ne;oe<le;oe++)this.attributes.color.set(oe,ee);this.dirty("color")},currentTriangleOffset:function(){return this._triangleOffset},currentVertexOffset:function(){return this._vertexOffset}});ve.a.util.defaults(Pe.prototype,ye.a),Re.a=Pe},function(Ve,Re,be){"use strict";var Fe=be(1),Ce=be.n(Fe),ve=Ce.a.vec2,ye=function(De,pe){De=De||0,pe=pe||0,this.array=ve.fromValues(De,pe),this._dirty=!0};if(ye.prototype={constructor:ye,add:function(De){return ve.add(this.array,this.array,De.array),this._dirty=!0,this},set:function(De,pe){return this.array[0]=De,this.array[1]=pe,this._dirty=!0,this},setArray:function(De){return this.array[0]=De[0],this.array[1]=De[1],this._dirty=!0,this},clone:function(){return new ye(this.x,this.y)},copy:function(De){return ve.copy(this.array,De.array),this._dirty=!0,this},cross:function(De,pe){return ve.cross(De.array,this.array,pe.array),De._dirty=!0,this},dist:function(De){return ve.dist(this.array,De.array)},distance:function(De){return ve.distance(this.array,De.array)},div:function(De){return ve.div(this.array,this.array,De.array),this._dirty=!0,this},divide:function(De){return ve.divide(this.array,this.array,De.array),this._dirty=!0,this},dot:function(De){return ve.dot(this.array,De.array)},len:function(){return ve.len(this.array)},length:function(){return ve.length(this.array)},lerp:function(De,pe,Ee){return ve.lerp(this.array,De.array,pe.array,Ee),this._dirty=!0,this},min:function(De){return ve.min(this.array,this.array,De.array),this._dirty=!0,this},max:function(De){return ve.max(this.array,this.array,De.array),this._dirty=!0,this},mul:function(De){return ve.mul(this.array,this.array,De.array),this._dirty=!0,this},multiply:function(De){return ve.multiply(this.array,this.array,De.array),this._dirty=!0,this},negate:function(){return ve.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return ve.normalize(this.array,this.array),this._dirty=!0,this},random:function(De){return ve.random(this.array,De),this._dirty=!0,this},scale:function(De){return ve.scale(this.array,this.array,De),this._dirty=!0,this},scaleAndAdd:function(De,pe){return ve.scaleAndAdd(this.array,this.array,De.array,pe),this._dirty=!0,this},sqrDist:function(De){return ve.sqrDist(this.array,De.array)},squaredDistance:function(De){return ve.squaredDistance(this.array,De.array)},sqrLen:function(){return ve.sqrLen(this.array)},squaredLength:function(){return ve.squaredLength(this.array)},sub:function(De){return ve.sub(this.array,this.array,De.array),this._dirty=!0,this},subtract:function(De){return ve.subtract(this.array,this.array,De.array),this._dirty=!0,this},transformMat2:function(De){return ve.transformMat2(this.array,this.array,De.array),this._dirty=!0,this},transformMat2d:function(De){return ve.transformMat2d(this.array,this.array,De.array),this._dirty=!0,this},transformMat3:function(De){return ve.transformMat3(this.array,this.array,De.array),this._dirty=!0,this},transformMat4:function(De){return ve.transformMat4(this.array,this.array,De.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},Object.defineProperty){var we=ye.prototype;Object.defineProperty(we,"x",{get:function(){return this.array[0]},set:function(De){this.array[0]=De,this._dirty=!0}}),Object.defineProperty(we,"y",{get:function(){return this.array[1]},set:function(De){this.array[1]=De,this._dirty=!0}})}ye.add=function(De,pe,Ee){return ve.add(De.array,pe.array,Ee.array),De._dirty=!0,De},ye.set=function(De,pe,Ee){return ve.set(De.array,pe,Ee),De._dirty=!0,De},ye.copy=function(De,pe){return ve.copy(De.array,pe.array),De._dirty=!0,De},ye.cross=function(De,pe,Ee){return ve.cross(De.array,pe.array,Ee.array),De._dirty=!0,De},ye.dist=function(De,pe){return ve.distance(De.array,pe.array)},ye.distance=ye.dist,ye.div=function(De,pe,Ee){return ve.divide(De.array,pe.array,Ee.array),De._dirty=!0,De},ye.divide=ye.div,ye.dot=function(De,pe){return ve.dot(De.array,pe.array)},ye.len=function(De){return ve.length(De.array)},ye.lerp=function(De,pe,Ee,Pe){return ve.lerp(De.array,pe.array,Ee.array,Pe),De._dirty=!0,De},ye.min=function(De,pe,Ee){return ve.min(De.array,pe.array,Ee.array),De._dirty=!0,De},ye.max=function(De,pe,Ee){return ve.max(De.array,pe.array,Ee.array),De._dirty=!0,De},ye.mul=function(De,pe,Ee){return ve.multiply(De.array,pe.array,Ee.array),De._dirty=!0,De},ye.multiply=ye.mul,ye.negate=function(De,pe){return ve.negate(De.array,pe.array),De._dirty=!0,De},ye.normalize=function(De,pe){return ve.normalize(De.array,pe.array),De._dirty=!0,De},ye.random=function(De,pe){return ve.random(De.array,pe),De._dirty=!0,De},ye.scale=function(De,pe,Ee){return ve.scale(De.array,pe.array,Ee),De._dirty=!0,De},ye.scaleAndAdd=function(De,pe,Ee,Pe){return ve.scaleAndAdd(De.array,pe.array,Ee.array,Pe),De._dirty=!0,De},ye.sqrDist=function(De,pe){return ve.sqrDist(De.array,pe.array)},ye.squaredDistance=ye.sqrDist,ye.sqrLen=function(De){return ve.sqrLen(De.array)},ye.squaredLength=ye.sqrLen,ye.sub=function(De,pe,Ee){return ve.subtract(De.array,pe.array,Ee.array),De._dirty=!0,De},ye.subtract=ye.sub,ye.transformMat2=function(De,pe,Ee){return ve.transformMat2(De.array,pe.array,Ee.array),De._dirty=!0,De},ye.transformMat2d=function(De,pe,Ee){return ve.transformMat2d(De.array,pe.array,Ee.array),De._dirty=!0,De},ye.transformMat3=function(De,pe,Ee){return ve.transformMat3(De.array,pe.array,Ee.array),De._dirty=!0,De},ye.transformMat4=function(De,pe,Ee){return ve.transformMat4(De.array,pe.array,Ee.array),De._dirty=!0,De},Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(64),Ce=be(11),ve=be(5),ye=Fe.a.extend({skeleton:null,joints:null,useSkinMatricesTexture:!1},function(){this.joints||(this.joints=[])},{isSkinnedMesh:function(){return!!(this.skeleton&&this.joints&&this.joints.length>0)},render:function(we,De,pe){var Ee=we.gl;if(this.skeleton){this.skeleton.update();var Pe=this.skeleton.getSubSkinMatrices(this.__uid__,this.joints);pe.setUniformOfSemantic(Ee,"SKIN_MATRIX",Pe)}return Fe.a.prototype.render.call(this,we,De,pe)},getSkinMatricesTexture:function(){return this._skinMatricesTexture=this._skinMatricesTexture||new ve.a({type:Ce.a.FLOAT,minFilter:Ce.a.NEAREST,magFilter:Ce.a.NEAREST,useMipmap:!1,flipY:!1}),this._skinMatricesTexture}});ye.POINTS=Ce.a.POINTS,ye.LINES=Ce.a.LINES,ye.LINE_LOOP=Ce.a.LINE_LOOP,ye.LINE_STRIP=Ce.a.LINE_STRIP,ye.TRIANGLES=Ce.a.TRIANGLES,ye.TRIANGLE_STRIP=Ce.a.TRIANGLE_STRIP,ye.TRIANGLE_FAN=Ce.a.TRIANGLE_FAN,ye.BACK=Ce.a.BACK,ye.FRONT=Ce.a.FRONT,ye.FRONT_AND_BACK=Ce.a.FRONT_AND_BACK,ye.CW=Ce.a.CW,ye.CCW=Ce.a.CCW,Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(6),Ce=be(11),ve=be(21),ye=be(66),we=ye.a.isPowerOfTwo,De=["px","nx","py","ny","pz","nz"],pe=Fe.a.extend(function(){return{image:{px:null,nx:null,py:null,ny:null,pz:null,nz:null},pixels:{px:null,nx:null,py:null,ny:null,pz:null,nz:null},mipmaps:[]}},{update:function(Pe){var de=Pe.gl;de.bindTexture(de.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),this.updateCommon(Pe);var ee=this.format,ne=this.type;de.texParameteri(de.TEXTURE_CUBE_MAP,de.TEXTURE_WRAP_S,this.getAvailableWrapS()),de.texParameteri(de.TEXTURE_CUBE_MAP,de.TEXTURE_WRAP_T,this.getAvailableWrapT()),de.texParameteri(de.TEXTURE_CUBE_MAP,de.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),de.texParameteri(de.TEXTURE_CUBE_MAP,de.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var le=Pe.getGLExtension("EXT_texture_filter_anisotropic");if(le&&this.anisotropic>1&&de.texParameterf(de.TEXTURE_CUBE_MAP,le.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),ne===36193){var oe=Pe.getGLExtension("OES_texture_half_float");oe||(ne=Ce.a.FLOAT)}if(this.mipmaps.length)for(var ce=this.width,he=this.height,ie=0;ie<this.mipmaps.length;ie++){var ue=this.mipmaps[ie];this._updateTextureData(de,ue,ie,ce,he,ee,ne),ce/=2,he/=2}else this._updateTextureData(de,this,0,this.width,this.height,ee,ne),!this.NPOT&&this.useMipmap&&de.generateMipmap(de.TEXTURE_CUBE_MAP);de.bindTexture(de.TEXTURE_CUBE_MAP,null)},_updateTextureData:function(Pe,de,ee,ne,le,oe,ce){for(var he=0;he<6;he++){var ie=De[he],ue=de.image&&de.image[ie];ue?Pe.texImage2D(Pe.TEXTURE_CUBE_MAP_POSITIVE_X+he,ee,oe,oe,ce,ue):Pe.texImage2D(Pe.TEXTURE_CUBE_MAP_POSITIVE_X+he,ee,oe,ne,le,0,oe,ce,de.pixels&&de.pixels[ie])}},generateMipmap:function(Pe){var de=Pe.gl;this.useMipmap&&!this.NPOT&&(de.bindTexture(de.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),de.generateMipmap(de.TEXTURE_CUBE_MAP))},bind:function(Pe){Pe.gl.bindTexture(Pe.gl.TEXTURE_CUBE_MAP,this.getWebGLTexture(Pe))},unbind:function(Pe){Pe.gl.bindTexture(Pe.gl.TEXTURE_CUBE_MAP,null)},isPowerOfTwo:function(){return this.image.px?we(this.image.px.width)&&we(this.image.px.height):we(this.width)&&we(this.height)},isRenderable:function(){return this.image.px?Ee(this.image.px)&&Ee(this.image.nx)&&Ee(this.image.py)&&Ee(this.image.ny)&&Ee(this.image.pz)&&Ee(this.image.nz):!!(this.width&&this.height)},load:function(Pe,de){var ee=0,ne=this;return ve.a.each(Pe,function(le,oe){var ce=new Image;de&&(ce.crossOrigin=de),ce.onload=function(){ee--,ee===0&&(ne.dirty(),ne.trigger("success",ne)),ce.onload=null},ce.onerror=function(){ee--,ce.onerror=null},ee++,ce.src=le,ne.image[oe]=ce}),this}});Object.defineProperty(pe.prototype,"width",{get:function(){return this.image&&this.image.px?this.image.px.width:this._width},set:function(Pe){this.image&&this.image.px?console.warn("Texture from image can't set width"):(this._width!==Pe&&this.dirty(),this._width=Pe)}}),Object.defineProperty(pe.prototype,"height",{get:function(){return this.image&&this.image.px?this.image.px.height:this._height},set:function(Pe){this.image&&this.image.px?console.warn("Texture from image can't set height"):(this._height!==Pe&&this.dirty(),this._height=Pe)}});function Ee(Pe){return Pe.nodeName==="CANVAS"||Pe.nodeName==="VIDEO"||Pe.complete}Re.a=pe},function(Ve,Re,be){"use strict";Re.a={defaultOption:{shading:null,realisticMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},lambertMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},colorMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},hatchingMaterial:{textureTiling:1,textureOffset:0,paperColor:"#fff"}}}},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve={};ve.getFormattedLabel=function(ye,we,De,pe,Ee){De=De||"normal";var Pe=ye.getData(pe),de=Pe.getItemModel(we),ee=ye.getDataParams(we,pe);Ee!=null&&ee.value instanceof Array&&(ee.value=ee.value[Ee]);var ne=de.get(De==="normal"?["label","formatter"]:["emphasis","label","formatter"]);ne==null&&(ne=de.get(["label","formatter"]));var le;return typeof ne=="function"?(ee.status=De,le=ne(ee)):typeof ne=="string"&&(le=Ce.a.format.formatTpl(ne,ee)),le},ve.normalizeToArray=function(ye){return ye instanceof Array?ye:ye==null?[]:[ye]},Re.a=ve},function(Ve,Re,be){"use strict";var Fe=be(8),Ce=be(4),ve=be(50),ye=be(9),we=be(1),De=be.n(we),pe=be(15),Ee=De.a.mat4,Pe=0,de=Fe.a.extend({name:"",position:null,rotation:null,scale:null,worldTransform:null,localTransform:null,autoUpdateLocalTransform:!0,_parent:null,_scene:null,_needsUpdateWorldTransform:!0,_inIterating:!1,__depth:0},function(){this.name||(this.name=(this.type||"NODE")+"_"+Pe++),this.position||(this.position=new Ce.a),this.rotation||(this.rotation=new ve.a),this.scale||(this.scale=new Ce.a(1,1,1)),this.worldTransform=new ye.a,this.localTransform=new ye.a,this._children=[]},{target:null,invisible:!1,isSkinnedMesh:function(){return!1},isRenderable:function(){return!1},setName:function(ee){var ne=this._scene;if(ne){var le=ne._nodeRepository;delete le[this.name],le[ee]=this}this.name=ee},add:function(ee){this._inIterating&&console.warn("Add operation can cause unpredictable error when in iterating");var ne=ee._parent;if(ne!==this){ne&&ne.remove(ee),ee._parent=this,this._children.push(ee);var le=this._scene;le&&le!==ee.scene&&ee.traverse(this._addSelfToScene,this),ee._needsUpdateWorldTransform=!0}},remove:function(ee){this._inIterating&&console.warn("Remove operation can cause unpredictable error when in iterating");var ne=this._children,le=ne.indexOf(ee);le<0||(ne.splice(le,1),ee._parent=null,this._scene&&ee.traverse(this._removeSelfFromScene,this))},removeAll:function(){for(var ee=this._children,ne=0;ne<ee.length;ne++)ee[ne]._parent=null,this._scene&&ee[ne].traverse(this._removeSelfFromScene,this);this._children=[]},getScene:function(){return this._scene},getParent:function(){return this._parent},_removeSelfFromScene:function(ee){ee._scene.removeFromScene(ee),ee._scene=null},_addSelfToScene:function(ee){this._scene.addToScene(ee),ee._scene=this._scene},isAncestor:function(ee){for(var ne=ee._parent;ne;){if(ne===this)return!0;ne=ne._parent}return!1},children:function(){return this._children.slice()},childAt:function(ee){return this._children[ee]},getChildByName:function(ee){for(var ne=this._children,le=0;le<ne.length;le++)if(ne[le].name===ee)return ne[le]},getDescendantByName:function(ee){for(var ne=this._children,le=0;le<ne.length;le++){var oe=ne[le];if(oe.name===ee)return oe;var ce=oe.getDescendantByName(ee);if(ce)return ce}},queryNode:function(ee){if(ee){for(var ne=ee.split("/"),le=this,oe=0;oe<ne.length;oe++){var ce=ne[oe];if(ce){for(var he=!1,ie=le._children,ue=0;ue<ie.length;ue++){var ge=ie[ue];if(ge.name===ce){le=ge,he=!0;break}}if(!he)return}}return le}},getPath:function(ee){if(!this._parent)return"/";for(var ne=this._parent,le=this.name;ne._parent&&(le=ne.name+"/"+le,ne._parent!=ee);)ne=ne._parent;return!ne._parent&&ee?null:le},traverse:function(ee,ne,le){this._inIterating=!0,(!le||le.call(ne,this))&&ee.call(ne,this);for(var oe=this._children,ce=0,he=oe.length;ce<he;ce++)oe[ce].traverse(ee,ne,le);this._inIterating=!1},eachChild:function(ee,ne,le){this._inIterating=!0;for(var oe=this._children,ce=le==null,he=0,ie=oe.length;he<ie;he++){var ue=oe[he];(ce||ue.constructor===le)&&ee.call(ne,ue,he)}this._inIterating=!1},setLocalTransform:function(ee){Ee.copy(this.localTransform.array,ee.array),this.decomposeLocalTransform()},decomposeLocalTransform:function(ee){var ne=ee?null:this.scale;this.localTransform.decomposeMatrix(ne,this.rotation,this.position)},setWorldTransform:function(ee){Ee.copy(this.worldTransform.array,ee.array),this.decomposeWorldTransform()},decomposeWorldTransform:function(){var ee=Ee.create();return function(ne){var le=this.localTransform,oe=this.worldTransform;this._parent?(Ee.invert(ee,this._parent.worldTransform.array),Ee.multiply(le.array,ee,oe.array)):Ee.copy(le.array,oe.array);var ce=ne?null:this.scale;le.decomposeMatrix(ce,this.rotation,this.position)}}(),transformNeedsUpdate:function(){return this.position._dirty||this.rotation._dirty||this.scale._dirty},updateLocalTransform:function(){var ee=this.position,ne=this.rotation,le=this.scale;if(this.transformNeedsUpdate()){var oe=this.localTransform.array;Ee.fromRotationTranslation(oe,ne.array,ee.array),Ee.scale(oe,oe,le.array),ne._dirty=!1,le._dirty=!1,ee._dirty=!1,this._needsUpdateWorldTransform=!0}},_updateWorldTransformTopDown:function(){var ee=this.localTransform.array,ne=this.worldTransform.array;this._parent?Ee.multiplyAffine(ne,this._parent.worldTransform.array,ee):Ee.copy(ne,ee)},updateWorldTransform:function(){for(var ee=this;ee&&ee.getParent()&&ee.getParent().transformNeedsUpdate();)ee=ee.getParent();ee.update()},update:function(ee){this.autoUpdateLocalTransform?this.updateLocalTransform():ee=!0,(ee||this._needsUpdateWorldTransform)&&(this._updateWorldTransformTopDown(),ee=!0,this._needsUpdateWorldTransform=!1);for(var ne=this._children,le=0,oe=ne.length;le<oe;le++)ne[le].update(ee)},getBoundingBox:function(){function ee(ce){return!ce.invisible&&ce.geometry}var ne=new pe.a,le=new ye.a,oe=new ye.a;return function(ce,he){return he=he||new pe.a,ce=ce||ee,this._parent?ye.a.invert(oe,this._parent.worldTransform):ye.a.identity(oe),this.traverse(function(ie){ie.geometry&&ie.geometry.boundingBox&&(ne.copy(ie.geometry.boundingBox),ye.a.multiply(le,oe,ie.worldTransform),ne.applyTransform(le),he.union(ne))},this,ee),he}}(),getWorldPosition:function(ee){this.transformNeedsUpdate()&&this.updateWorldTransform();var ne=this.worldTransform.array;if(ee){var le=ee.array;return le[0]=ne[12],le[1]=ne[13],le[2]=ne[14],ee}else return new Ce.a(ne[12],ne[13],ne[14])},clone:function(){var ee=new this.constructor,ne=this._children;ee.setName(this.name),ee.position.copy(this.position),ee.rotation.copy(this.rotation),ee.scale.copy(this.scale);for(var le=0;le<ne.length;le++)ee.add(ne[le].clone());return ee},rotateAround:function(){var ee=new Ce.a,ne=new ye.a;return function(le,oe,ce){ee.copy(this.position).subtract(le);var he=this.localTransform;he.identity(),he.translate(le),he.rotate(ce,oe),ne.fromRotationTranslation(this.rotation,ee),he.multiply(ne),he.scale(this.scale),this.decomposeLocalTransform(),this._needsUpdateWorldTransform=!0}}(),lookAt:function(){var ee=new ye.a;return function(ne,le){ee.lookAt(this.position,ne,le||this.localTransform.y).invert(),this.setLocalTransform(ee),this.target=ne}}()});Re.a=de},function(Ve,Re,be){"use strict";var Fe=be(28),Ce=be(19),ve=be(51),ye=be(15),we=be(21),De={};function pe(de){var ee=[],ne=Object.keys(de);ne.sort();for(var le=0;le<ne.length;le++){var oe=de[le];ee.push(oe+" "+de[oe])}var ce=ee.join(`
|
|
|
`);if(De[ce])return De[ce];var he=we.a.genGUID();return De[ce]=he,he}var Ee=Fe.a.extend(function(){return{material:null,autoUpdate:!0,opaqueList:[],transparentList:[],lights:[],viewBoundingBoxLastFrame:new ye.a,shadowUniforms:{},_cameraList:[],_lightUniforms:{},_previousLightNumber:{},_lightNumber:{},_lightProgramKeys:{},_opaqueObjectCount:0,_transparentObjectCount:0,_nodeRepository:{}}},function(){this._scene=this},{addToScene:function(de){de instanceof ve.a&&(this._cameraList.length>0&&console.warn("Found multiple camera in one scene. Use the fist one."),this._cameraList.push(de)),de.name&&(this._nodeRepository[de.name]=de)},removeFromScene:function(de){if(de instanceof ve.a){var ee=this._cameraList.indexOf(de);ee>=0&&this._cameraList.splice(ee,1)}de.name&&delete this._nodeRepository[de.name]},getNode:function(de){return this._nodeRepository[de]},cloneNode:function(de){var ee=de.clone(),ne={},le=function(ce,he){ce.skeleton&&(he.skeleton=ce.skeleton.clone(de,ee),he.joints=ce.joints.slice()),ce.material&&(ne[ce.material.__uid__]={oldMat:ce.material});for(var ie=0;ie<ce._children.length;ie++)le(ce._children[ie],he._children[ie])};le(de,ee);for(var oe in ne)ne[oe].newMat=ne[oe].oldMat.clone();return ee.traverse(function(ce){ce.material&&(ce.material=ne[ce.material.__uid__].newMat)}),ee},update:function(de,ee){if(this.autoUpdate||de){Fe.a.prototype.update.call(this,de);var ne=this.lights,le=this.material&&this.material.transparent;if(this._opaqueObjectCount=0,this._transparentObjectCount=0,ne.length=0,this._updateRenderList(this,le),this.opaqueList.length=this._opaqueObjectCount,this.transparentList.length=this._transparentObjectCount,!ee){this._previousLightNumber=this._lightNumber;for(var oe={},ce=0;ce<ne.length;ce++){var he=ne[ce],ie=he.group;oe[ie]||(oe[ie]={}),oe[ie][he.type]=oe[ie][he.type]||0,oe[ie][he.type]++}this._lightNumber=oe;for(var ue in oe)this._lightProgramKeys[ue]=pe(oe[ue]);this._updateLightUniforms()}}},getMainCamera:function(){return this._cameraList[0]},_updateRenderList:function(de,ee){if(!de.invisible)for(var ne=0;ne<de._children.length;ne++){var le=de._children[ne];le instanceof Ce.a?this.lights.push(le):le.isRenderable()&&(le.material.transparent||ee?this.transparentList[this._transparentObjectCount++]=le:this.opaqueList[this._opaqueObjectCount++]=le),le._children.length>0&&this._updateRenderList(le)}},_updateLightUniforms:function(){var de=this.lights;de.sort(Pe);var ee=this._lightUniforms;for(var ne in ee)for(var le in ee[ne])ee[ne][le].value.length=0;for(var oe=0;oe<de.length;oe++){var ce=de[oe],ne=ce.group;for(var le in ce.uniformTemplates){var he=ce.uniformTemplates[le],ie=he.value(ce);if(ie!=null){ee[ne]||(ee[ne]={}),ee[ne][le]||(ee[ne][le]={type:"",value:[]});var ue=ee[ne][le];switch(ue.type=he.type+"v",he.type){case"1i":case"1f":case"t":ue.value.push(ie);break;case"2f":case"3f":case"4f":for(var ge=0;ge<ie.length;ge++)ue.value.push(ie[ge]);break;default:console.error("Unkown light uniform type "+he.type)}}}}},getLightGroups:function(){var de=[];for(var ee in this._lightNumber)de.push(ee);return de},getNumberChangedLightGroups:function(){var de=[];for(var ee in this._lightNumber)this.isLightNumberChanged(ee)&&de.push(ee);return de},isLightNumberChanged:function(de){var ee=this._previousLightNumber,ne=this._lightNumber;for(var le in ne[de])if(!ee[de]||ne[de][le]!==ee[de][le])return!0;for(var le in ee[de])if(!ne[de]||ne[de][le]!==ee[de][le])return!0;return!1},getLightsNumbers:function(de){return this._lightNumber[de]},getProgramKey:function(de){return this._lightProgramKeys[de]},setLightUniforms:function(){function de(ee,ne,le){for(var oe in ee){var ce=ee[oe];if(ce.type==="tv"){if(!ne.hasUniform(oe))continue;for(var he=[],ie=0;ie<ce.value.length;ie++){var ue=ce.value[ie],ge=ne.takeCurrentTextureSlot(le,ue);he.push(ge)}ne.setUniform(le.gl,"1iv",oe,he)}else ne.setUniform(le.gl,ce.type,oe,ce.value)}}return function(ee,ne,le){de(this._lightUniforms[ne],ee,le),de(this.shadowUniforms,ee,le)}}(),dispose:function(){this.material=null,this.opaqueList=[],this.transparentList=[],this.lights=[],this._lightUniforms={},this._lightNumber={},this._nodeRepository={}}});function Pe(de,ee){if(ee.castShadow&&!de.castShadow)return!0}Re.a=Ee},function(Ve,Re,be){"use strict";var Fe=be(51),Ce=Fe.a.extend({left:-1,right:1,near:-1,far:1,top:1,bottom:-1},{updateProjectionMatrix:function(){this.projectionMatrix.ortho(this.left,this.right,this.bottom,this.top,this.near,this.far)},decomposeProjectionMatrix:function(){var ve=this.projectionMatrix.array;this.left=(-1-ve[12])/ve[0],this.right=(1-ve[12])/ve[0],this.top=(1-ve[13])/ve[5],this.bottom=(-1-ve[13])/ve[5],this.near=-(-1-ve[14])/ve[10],this.far=-(1-ve[14])/ve[10]},clone:function(){var ve=Fe.a.prototype.clone.call(this);return ve.left=this.left,ve.right=this.right,ve.near=this.near,ve.far=this.far,ve.top=this.top,ve.bottom=this.bottom,ve}});Re.a=Ce},function(Ve,Re,be){"use strict";Re.a={defaultOption:{postEffect:{enable:!1,bloom:{enable:!0,intensity:.1},depthOfField:{enable:!1,focalRange:20,focalDistance:50,blurRadius:10,fstop:2.8,quality:"medium"},screenSpaceAmbientOcclusion:{enable:!1,radius:2,quality:"medium",intensity:1},screenSpaceReflection:{enable:!1,quality:"medium",maxRoughness:.8},colorCorrection:{enable:!0,exposure:0,brightness:0,contrast:1,saturation:1,lookupTexture:""},edge:{enable:!1},FXAA:{enable:!1}},temporalSuperSampling:{enable:"auto"}}}},function(Ve,Re,be){"use strict";Re.a={defaultOption:{light:{main:{shadow:!1,shadowQuality:"high",color:"#fff",intensity:1,alpha:0,beta:0},ambient:{color:"#fff",intensity:.2},ambientCubemap:{texture:null,exposure:1,diffuseIntensity:.5,specularIntensity:.5}}}}},function(Ve,Re,be){"use strict";Re.a={convertToDynamicArray:function(Fe){Fe&&this.resetOffset();var Ce=this.attributes;for(var ve in Ce)Fe||!Ce[ve].value?Ce[ve].value=[]:Ce[ve].value=Array.prototype.slice.call(Ce[ve].value);Fe||!this.indices?this.indices=[]:this.indices=Array.prototype.slice.call(this.indices)},convertToTypedArray:function(){var Fe=this.attributes;for(var Ce in Fe)Fe[Ce].value&&Fe[Ce].value.length>0?Fe[Ce].value=new Float32Array(Fe[Ce].value):Fe[Ce].value=null;this.indices&&this.indices.length>0&&(this.indices=this.vertexCount>65535?new Uint32Array(this.indices):new Uint16Array(this.indices)),this.dirty()}}},function(Ve,Re,be){"use strict";var Fe=be(2),Ce=be(57),ve=be(56),ye=be(0),we=be.n(ye);function De(){}De.prototype={constructor:De,setScene:function(pe){this._scene=pe,this._skybox&&this._skybox.attachScene(this._scene)},initLight:function(pe){this._lightRoot=pe,this.mainLight=new Fe.a.DirectionalLight({shadowBias:.005}),this.ambientLight=new Fe.a.AmbientLight,pe.add(this.mainLight),pe.add(this.ambientLight)},dispose:function(){this._lightRoot&&(this._lightRoot.remove(this.mainLight),this._lightRoot.remove(this.ambientLight))},updateLight:function(pe){var Ee=this.mainLight,Pe=this.ambientLight,de=pe.getModel("light"),ee=de.getModel("main"),ne=de.getModel("ambient");Ee.intensity=ee.get("intensity"),Pe.intensity=ne.get("intensity"),Ee.color=Fe.a.parseColor(ee.get("color")).slice(0,3),Pe.color=Fe.a.parseColor(ne.get("color")).slice(0,3);var le=ee.get("alpha")||0,oe=ee.get("beta")||0;Ee.position.setArray(Fe.a.directionFromAlphaBeta(le,oe)),Ee.lookAt(Fe.a.Vector3.ZERO),Ee.castShadow=ee.get("shadow"),Ee.shadowResolution=Fe.a.getShadowResolution(ee.get("shadowQuality"))},updateAmbientCubemap:function(pe,Ee,Pe){var de=Ee.getModel("light.ambientCubemap"),ee=de.get("texture");if(ee){this._cubemapLightsCache=this._cubemapLightsCache||{};var ne=this._cubemapLightsCache[ee];if(!ne){var le=this;ne=this._cubemapLightsCache[ee]=Fe.a.createAmbientCubemap(de.option,pe,Pe,function(){le._skybox instanceof Ce.a&&le._skybox.setEnvironmentMap(ne.specular.cubemap),Pe.getZr().refresh()})}this._lightRoot.add(ne.diffuse),this._lightRoot.add(ne.specular),this._currentCubemapLights=ne}else this._currentCubemapLights&&(this._lightRoot.remove(this._currentCubemapLights.diffuse),this._lightRoot.remove(this._currentCubemapLights.specular),this._currentCubemapLights=null)},updateSkybox:function(pe,Ee,Pe){var de=Ee.get("environment"),ee=this;function ne(){return ee._skybox instanceof Ce.a||(ee._skybox&&ee._skybox.dispose(pe),ee._skybox=new Ce.a),ee._skybox}function le(){return ee._skybox instanceof ve.a||(ee._skybox&&ee._skybox.dispose(pe),ee._skybox=new ve.a),ee._skybox}if(de&&de!=="none")if(de==="auto")if(this._currentCubemapLights){var oe=ne(),ce=this._currentCubemapLights.specular.cubemap;oe.setEnvironmentMap(ce),this._scene&&oe.attachScene(this._scene),oe.material.set("lod",2)}else this._skybox&&this._skybox.detachScene();else if(typeof de=="object"&&de.colorStops||typeof de=="string"&&we.a.color.parse(de)){var he=le(),ie=new Fe.a.Texture2D({anisotropic:8,flipY:!1});he.setEnvironmentMap(ie);var ue=ie.image=document.createElement("canvas");ue.width=ue.height=16;var ge=ue.getContext("2d"),xe=new we.a.graphic.Rect({shape:{x:0,y:0,width:16,height:16},style:{fill:de}});xe.brush(ge),he.attachScene(this._scene)}else{var he=le(),ie=Fe.a.loadTexture(de,Pe,{anisotropic:8,flipY:!1});he.setEnvironmentMap(ie),he.attachScene(this._scene)}else this._skybox&&this._skybox.detachScene(this._scene),this._skybox=null;var Me=Ee.coordinateSystem;if(this._skybox)if(Me&&Me.viewGL&&de!=="auto"&&!(de.match&&de.match(/.hdr$/))){var Be=Me.viewGL.isLinearSpace()?"define":"undefine";this._skybox.material[Be]("fragment","SRGB_DECODE")}else this._skybox.material.undefine("fragment","SRGB_DECODE")}},Re.a=De},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe);function ve(ye,we){var De=[];return Ce.a.util.each(ye.dimensions,function(pe){var Ee=ye.getDimensionInfo(pe),Pe=Ee.otherDims,de=Pe[we];de!=null&&de!==!1&&(De[de]=Ee.name)}),De}Re.a=function(ye,we,De){function pe(ce){var he=!0,ie=[],ue=ve(Ee,"tooltip");ue.length?Ce.a.util.each(ue,function(xe){ge(Ee.get(xe,we),xe)}):Ce.a.util.each(ce,ge);function ge(xe,Me){var Be=Ee.getDimensionInfo(Me);if(!(!Be||Be.otherDims.tooltip===!1)){var Ne=Be.type,Ue=(he?"- "+(Be.tooltipName||Be.name)+": ":"")+(Ne==="ordinal"?xe+"":Ne==="time"?De?"":Ce.a.format.formatTime("yyyy/MM/dd hh:mm:ss",xe):Ce.a.format.addCommas(xe));Ue&&ie.push(Ce.a.format.encodeHTML(Ue))}}return(he?"<br/>":"")+ie.join(he?"<br/>":", ")}var Ee=ye.getData(),Pe=ye.getRawValue(we),de=Ce.a.util.isArray(Pe)?pe(Pe):Ce.a.format.encodeHTML(Ce.a.format.addCommas(Pe)),ee=Ee.getName(we),ne=Ee.getItemVisual(we,"color");Ce.a.util.isObject(ne)&&ne.colorStops&&(ne=(ne.colorStops[0]||{}).color),ne=ne||"transparent";var le=Ce.a.format.getTooltipMarker(ne),oe=ye.name;return oe==="\0-"&&(oe=""),oe=oe?Ce.a.format.encodeHTML(oe)+(De?": ":"<br/>"):"",De?le+oe+de:oe+le+(ee?Ce.a.format.encodeHTML(ee)+": "+de:de)}},function(Ve,Re,be){"use strict";var Fe=be(51),Ce=Fe.a.extend({fov:50,aspect:1,near:.1,far:2e3},{updateProjectionMatrix:function(){var ve=this.fov/180*Math.PI;this.projectionMatrix.perspective(ve,this.aspect,this.near,this.far)},decomposeProjectionMatrix:function(){var ve=this.projectionMatrix.array,ye=Math.atan(1/ve[5])*2;this.fov=ye/Math.PI*180,this.aspect=ve[5]/ve[0],this.near=ve[14]/(ve[10]-1),this.far=ve[14]/(ve[10]+1)},clone:function(){var ve=Fe.a.prototype.clone.call(this);return ve.fov=this.fov,ve.aspect=this.aspect,ve.near=this.near,ve.far=this.far,ve}});Re.a=Ce},function(Ve,Re,be){"use strict";var Fe=be(13),Ce=be(15),ve=Fe.a.extend({dynamic:!1,widthSegments:1,heightSegments:1},function(){this.build()},{build:function(){for(var ye=this.heightSegments,we=this.widthSegments,De=this.attributes,pe=[],Ee=[],Pe=[],de=[],ee=0;ee<=ye;ee++)for(var ne=ee/ye,le=0;le<=we;le++){var oe=le/we;if(pe.push([2*oe-1,2*ne-1,0]),Ee&&Ee.push([oe,ne]),Pe&&Pe.push([0,0,1]),le<we&&ee<ye){var ce=le+ee*(we+1);de.push([ce,ce+1,ce+we+1]),de.push([ce+we+1,ce+1,ce+we+2])}}De.position.fromArray(pe),De.texcoord0.fromArray(Ee),De.normal.fromArray(Pe),this.initIndicesFromArray(de),this.boundingBox=new Ce.a,this.boundingBox.min.set(-1,-1,0),this.boundingBox.max.set(1,1,0)}});Re.a=ve},function(Ve,Re,be){"use strict";Re.a={defaultOption:{viewControl:{projection:"perspective",autoRotate:!1,autoRotateDirection:"cw",autoRotateSpeed:10,autoRotateAfterStill:3,damping:.8,rotateSensitivity:1,zoomSensitivity:1,panSensitivity:1,panMouseButton:"middle",rotateMouseButton:"left",distance:150,minDistance:40,maxDistance:400,orthographicSize:150,maxOrthographicSize:400,minOrthographicSize:20,center:[0,0,0],alpha:0,beta:0,minAlpha:-90,maxAlpha:90}},setView:function(Fe){Fe=Fe||{},this.option.viewControl=this.option.viewControl||{},Fe.alpha!=null&&(this.option.viewControl.alpha=Fe.alpha),Fe.beta!=null&&(this.option.viewControl.beta=Fe.beta),Fe.distance!=null&&(this.option.viewControl.distance=Fe.distance),Fe.center!=null&&(this.option.viewControl.center=Fe.center)}}},function(Ve,Re,be){"use strict";var Fe=be(8),Ce=be(23),ve=be(4),ye=be(50),we=be(3),De=we.a.firstNotNull,pe={left:0,middle:1,right:2};function Ee(de){return de instanceof Array||(de=[de,de]),de}var Pe=Fe.a.extend(function(){return{zr:null,viewGL:null,_center:new ve.a,minDistance:.5,maxDistance:1.5,maxOrthographicSize:300,minOrthographicSize:30,minAlpha:-90,maxAlpha:90,minBeta:-1/0,maxBeta:1/0,autoRotateAfterStill:0,autoRotateDirection:"cw",autoRotateSpeed:60,damping:.8,rotateSensitivity:1,zoomSensitivity:1,panSensitivity:1,panMouseButton:"middle",rotateMouseButton:"left",_mode:"rotate",_camera:null,_needsUpdate:!1,_rotating:!1,_phi:0,_theta:0,_mouseX:0,_mouseY:0,_rotateVelocity:new Ce.a,_panVelocity:new Ce.a,_distance:500,_zoomSpeed:0,_stillTimeout:0,_animators:[]}},function(){["_mouseDownHandler","_mouseWheelHandler","_mouseMoveHandler","_mouseUpHandler","_pinchHandler","_contextMenuHandler","_update"].forEach(function(de){this[de]=this[de].bind(this)},this)},{init:function(){var de=this.zr;de&&(de.on("mousedown",this._mouseDownHandler),de.on("globalout",this._mouseUpHandler),de.on("mousewheel",this._mouseWheelHandler),de.on("pinch",this._pinchHandler),de.animation.on("frame",this._update),de.dom.addEventListener("contextmenu",this._contextMenuHandler))},dispose:function(){var de=this.zr;de&&(de.off("mousedown",this._mouseDownHandler),de.off("mousemove",this._mouseMoveHandler),de.off("mouseup",this._mouseUpHandler),de.off("mousewheel",this._mouseWheelHandler),de.off("pinch",this._pinchHandler),de.off("globalout",this._mouseUpHandler),de.dom.removeEventListener("contextmenu",this._contextMenuHandler),de.animation.off("frame",this._update)),this.stopAllAnimation()},getDistance:function(){return this._distance},setDistance:function(de){this._distance=de,this._needsUpdate=!0},getOrthographicSize:function(){return this._orthoSize},setOrthographicSize:function(de){this._orthoSize=de,this._needsUpdate=!0},getAlpha:function(){return this._theta/Math.PI*180},getBeta:function(){return-this._phi/Math.PI*180},getCenter:function(){return this._center.toArray()},setAlpha:function(de){de=Math.max(Math.min(this.maxAlpha,de),this.minAlpha),this._theta=de/180*Math.PI,this._needsUpdate=!0},setBeta:function(de){de=Math.max(Math.min(this.maxBeta,de),this.minBeta),this._phi=-de/180*Math.PI,this._needsUpdate=!0},setCenter:function(de){this._center.setArray(de)},setViewGL:function(de){this.viewGL=de},getCamera:function(){return this.viewGL.camera},setFromViewControlModel:function(de,ee){ee=ee||{};var ne=ee.baseDistance||0,le=ee.baseOrthoSize||1,oe=de.get("projection");oe!=="perspective"&&oe!=="orthographic"&&oe!=="isometric"&&(console.error("Unkown projection type %s, use perspective projection instead.",oe),oe="perspective"),this._projection=oe,this.viewGL.setProjection(oe);var ce=de.get("distance")+ne,he=de.get("orthographicSize")+le;[["damping",.8],["autoRotate",!1],["autoRotateAfterStill",3],["autoRotateDirection","cw"],["autoRotateSpeed",10],["minDistance",30],["maxDistance",400],["minOrthographicSize",30],["maxOrthographicSize",300],["minAlpha",-90],["maxAlpha",90],["minBeta",-1/0],["maxBeta",1/0],["rotateSensitivity",1],["zoomSensitivity",1],["panSensitivity",1],["panMouseButton","left"],["rotateMouseButton","middle"]].forEach(function(Be){this[Be[0]]=De(de.get(Be[0]),Be[1])},this),this.minDistance+=ne,this.maxDistance+=ne,this.minOrthographicSize+=le,this.maxOrthographicSize+=le;var ie=de.ecModel,ue={};["animation","animationDurationUpdate","animationEasingUpdate"].forEach(function(Be){ue[Be]=De(de.get(Be),ie&&ie.get(Be))});var ge=De(ee.alpha,de.get("alpha"))||0,xe=De(ee.beta,de.get("beta"))||0,Me=De(ee.center,de.get("center"))||[0,0,0];ue.animation&&ue.animationDurationUpdate>0&&this._notFirst?this.animateTo({alpha:ge,beta:xe,center:Me,distance:ce,targetOrthographicSize:he,easing:ue.animationEasingUpdate,duration:ue.animationDurationUpdate}):(this.setDistance(ce),this.setAlpha(ge),this.setBeta(xe),this.setCenter(Me),this.setOrthographicSize(he)),this._notFirst=!0,this._validateProperties()},_validateProperties:function(){pe[this.panMouseButton]==null&&console.error("Unkown panMouseButton %s. It should be left|middle|right",this.panMouseButton),pe[this.rotateMouseButton]==null&&console.error("Unkown rotateMouseButton %s. It should be left|middle|right",this.rotateMouseButton),this.autoRotateDirection!=="cw"&&this.autoRotateDirection!=="ccw"&&console.error("Unkown autoRotateDirection %s. It should be cw|ccw",this.autoRotateDirection)},animateTo:function(de){var ee=this.zr,ne=this,le={},oe={};return de.distance!=null&&(le.distance=this.getDistance(),oe.distance=de.distance),de.orthographicSize!=null&&(le.orthographicSize=this.getOrthographicSize(),oe.orthographicSize=de.orthographicSize),de.alpha!=null&&(le.alpha=this.getAlpha(),oe.alpha=de.alpha),de.beta!=null&&(le.beta=this.getBeta(),oe.beta=de.beta),de.center!=null&&(le.center=this.getCenter(),oe.center=de.center),this._addAnimator(ee.animation.animate(le).when(de.duration||1e3,oe).during(function(){le.alpha!=null&&ne.setAlpha(le.alpha),le.beta!=null&&ne.setBeta(le.beta),le.distance!=null&&ne.setDistance(le.distance),le.center!=null&&ne.setCenter(le.center),le.orthographicSize!=null&&ne.setOrthographicSize(le.orthographicSize),ne._needsUpdate=!0})).start(de.easing||"linear")},stopAllAnimation:function(){for(var de=0;de<this._animators.length;de++)this._animators[de].stop();this._animators.length=0},_isAnimating:function(){return this._animators.length>0},_update:function(de){if(this._rotating){var ee=(this.autoRotateDirection==="cw"?1:-1)*this.autoRotateSpeed/180*Math.PI;this._phi-=ee*de/1e3,this._needsUpdate=!0}else this._rotateVelocity.len()>0&&(this._needsUpdate=!0);(Math.abs(this._zoomSpeed)>.1||this._panVelocity.len()>0)&&(this._needsUpdate=!0),this._needsUpdate&&(de=Math.min(de,50),this._updateDistanceOrSize(de),this._updatePan(de),this._updateRotate(de),this._updateTransform(),this.getCamera().update(),this.zr&&this.zr.refresh(),this.trigger("update"),this._needsUpdate=!1)},_updateRotate:function(de){var ee=this._rotateVelocity;this._phi=ee.y*de/20+this._phi,this._theta=ee.x*de/20+this._theta,this.setAlpha(this.getAlpha()),this.setBeta(this.getBeta()),this._vectorDamping(ee,Math.pow(this.damping,de/16))},_updateDistanceOrSize:function(de){this._projection==="perspective"?this._setDistance(this._distance+this._zoomSpeed*de/20):this._setOrthoSize(this._orthoSize+this._zoomSpeed*de/20),this._zoomSpeed*=Math.pow(this.damping,de/16)},_setDistance:function(de){this._distance=Math.max(Math.min(de,this.maxDistance),this.minDistance)},_setOrthoSize:function(de){this._orthoSize=Math.max(Math.min(de,this.maxOrthographicSize),this.minOrthographicSize);var ee=this.getCamera(),ne=this._orthoSize,le=ne/this.viewGL.viewport.height*this.viewGL.viewport.width;ee.left=-le/2,ee.right=le/2,ee.top=ne/2,ee.bottom=-ne/2},_updatePan:function(de){var ee=this._panVelocity,ne=this._distance,le=this.getCamera(),oe=le.worldTransform.y,ce=le.worldTransform.x;this._center.scaleAndAdd(ce,-ee.x*ne/200).scaleAndAdd(oe,-ee.y*ne/200),this._vectorDamping(ee,0)},_updateTransform:function(){var de=this.getCamera(),ee=new ve.a,ne=this._theta+Math.PI/2,le=this._phi+Math.PI/2,oe=Math.sin(ne);ee.x=oe*Math.cos(le),ee.y=-Math.cos(ne),ee.z=oe*Math.sin(le),de.position.copy(this._center).scaleAndAdd(ee,this._distance),de.rotation.identity().rotateY(-this._phi).rotateX(-this._theta)},_startCountingStill:function(){clearTimeout(this._stillTimeout);var de=this.autoRotateAfterStill,ee=this;!isNaN(de)&&de>0&&(this._stillTimeout=setTimeout(function(){ee._rotating=!0},de*1e3))},_vectorDamping:function(de,ee){var ne=de.len();ne=ne*ee,ne<1e-4&&(ne=0),de.normalize().scale(ne)},_decomposeTransform:function(){if(this.getCamera()){this.getCamera().updateWorldTransform();var de=this.getCamera().worldTransform.z,ee=Math.asin(de.y),ne=Math.atan2(de.x,de.z);this._theta=ee,this._phi=-ne,this.setBeta(this.getBeta()),this.setAlpha(this.getAlpha()),this.getCamera().aspect?this._setDistance(this.getCamera().position.dist(this._center)):this._setOrthoSize(this.getCamera().top-this.getCamera().bottom)}},_mouseDownHandler:function(de){if(!de.target&&!this._isAnimating()){var ee=de.offsetX,ne=de.offsetY;this.viewGL&&!this.viewGL.containPoint(ee,ne)||(this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler),de.event.targetTouches?de.event.targetTouches.length===1&&(this._mode="rotate"):de.event.button===pe[this.rotateMouseButton]?this._mode="rotate":de.event.button===pe[this.panMouseButton]?this._mode="pan":this._mode="",this._rotateVelocity.set(0,0),this._rotating=!1,this.autoRotate&&this._startCountingStill(),this._mouseX=de.offsetX,this._mouseY=de.offsetY)}},_mouseMoveHandler:function(de){if(!(de.target&&de.target.__isGLToZRProxy)&&!this._isAnimating()){var ee=Ee(this.panSensitivity),ne=Ee(this.rotateSensitivity);this._mode==="rotate"?(this._rotateVelocity.y=(de.offsetX-this._mouseX)/this.zr.getHeight()*2*ne[0],this._rotateVelocity.x=(de.offsetY-this._mouseY)/this.zr.getWidth()*2*ne[1]):this._mode==="pan"&&(this._panVelocity.x=(de.offsetX-this._mouseX)/this.zr.getWidth()*ee[0]*400,this._panVelocity.y=(-de.offsetY+this._mouseY)/this.zr.getHeight()*ee[1]*400),this._mouseX=de.offsetX,this._mouseY=de.offsetY,de.event.preventDefault()}},_mouseWheelHandler:function(de){if(!this._isAnimating()){var ee=de.event.wheelDelta||-de.event.detail;this._zoomHandler(de,ee)}},_pinchHandler:function(de){this._isAnimating()||(this._zoomHandler(de,de.pinchScale>1?1:-1),this._mode="")},_zoomHandler:function(de,ee){if(ee!==0){var ne=de.offsetX,le=de.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(ne,le))){var oe;this._projection==="perspective"?oe=Math.max(Math.max(Math.min(this._distance-this.minDistance,this.maxDistance-this._distance))/20,.5):oe=Math.max(Math.max(Math.min(this._orthoSize-this.minOrthographicSize,this.maxOrthographicSize-this._orthoSize))/20,.5),this._zoomSpeed=(ee>0?-1:1)*oe*this.zoomSensitivity,this._rotating=!1,this.autoRotate&&this._mode==="rotate"&&this._startCountingStill(),de.event.preventDefault()}}},_mouseUpHandler:function(){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_isRightMouseButtonUsed:function(){return this.rotateMouseButton==="right"||this.panMouseButton==="right"},_contextMenuHandler:function(de){this._isRightMouseButtonUsed()&&de.preventDefault()},_addAnimator:function(de){var ee=this._animators;return ee.push(de),de.done(function(){var ne=ee.indexOf(de);ne>=0&&ee.splice(ne,1)}),de}});Object.defineProperty(Pe.prototype,"autoRotate",{get:function(de){return this._autoRotate},set:function(de){this._autoRotate=de,this._rotating=de}}),Re.a=Pe},function(Ve,Re,be){"use strict";Re.a=`@export ecgl.lines3D.vertex
|
|
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
|
|
|
attribute vec3 position: POSITION;
|
|
|
attribute vec4 a_Color : COLOR;
|
|
|
varying vec4 v_Color;
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
gl_Position = worldViewProjection * vec4(position, 1.0);
|
|
|
v_Color = a_Color;
|
|
|
}
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.lines3D.fragment
|
|
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
|
|
|
varying vec4 v_Color;
|
|
|
|
|
|
@import clay.util.srgb
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
#ifdef SRGB_DECODE
|
|
|
gl_FragColor = sRGBToLinear(color * v_Color);
|
|
|
#else
|
|
|
gl_FragColor = color * v_Color;
|
|
|
#endif
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
|
|
@export ecgl.lines3D.clipNear
|
|
|
|
|
|
vec4 clipNear(vec4 p1, vec4 p2) {
|
|
|
float n = (p1.w - near) / (p1.w - p2.w);
|
|
|
return vec4(mix(p1.xy, p2.xy, n), -near, near);
|
|
|
}
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.lines3D.expandLine
|
|
|
#ifdef VERTEX_ANIMATION
|
|
|
vec4 prevProj = worldViewProjection * vec4(mix(prevPositionPrev, positionPrev, percent), 1.0);
|
|
|
vec4 currProj = worldViewProjection * vec4(mix(prevPosition, position, percent), 1.0);
|
|
|
vec4 nextProj = worldViewProjection * vec4(mix(prevPositionNext, positionNext, percent), 1.0);
|
|
|
#else
|
|
|
vec4 prevProj = worldViewProjection * vec4(positionPrev, 1.0);
|
|
|
vec4 currProj = worldViewProjection * vec4(position, 1.0);
|
|
|
vec4 nextProj = worldViewProjection * vec4(positionNext, 1.0);
|
|
|
#endif
|
|
|
|
|
|
if (currProj.w < 0.0) {
|
|
|
if (nextProj.w > 0.0) {
|
|
|
currProj = clipNear(currProj, nextProj);
|
|
|
}
|
|
|
else if (prevProj.w > 0.0) {
|
|
|
currProj = clipNear(currProj, prevProj);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
vec2 prevScreen = (prevProj.xy / abs(prevProj.w) + 1.0) * 0.5 * viewport.zw;
|
|
|
vec2 currScreen = (currProj.xy / abs(currProj.w) + 1.0) * 0.5 * viewport.zw;
|
|
|
vec2 nextScreen = (nextProj.xy / abs(nextProj.w) + 1.0) * 0.5 * viewport.zw;
|
|
|
|
|
|
vec2 dir;
|
|
|
float len = offset;
|
|
|
if (position == positionPrev) {
|
|
|
dir = normalize(nextScreen - currScreen);
|
|
|
}
|
|
|
else if (position == positionNext) {
|
|
|
dir = normalize(currScreen - prevScreen);
|
|
|
}
|
|
|
else {
|
|
|
vec2 dirA = normalize(currScreen - prevScreen);
|
|
|
vec2 dirB = normalize(nextScreen - currScreen);
|
|
|
|
|
|
vec2 tanget = normalize(dirA + dirB);
|
|
|
|
|
|
float miter = 1.0 / max(dot(tanget, dirA), 0.5);
|
|
|
len *= miter;
|
|
|
dir = tanget;
|
|
|
}
|
|
|
|
|
|
dir = vec2(-dir.y, dir.x) * len;
|
|
|
currScreen += dir;
|
|
|
|
|
|
currProj.xy = (currScreen / viewport.zw - 0.5) * 2.0 * abs(currProj.w);
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.meshLines3D.vertex
|
|
|
|
|
|
attribute vec3 position: POSITION;
|
|
|
attribute vec3 positionPrev;
|
|
|
attribute vec3 positionNext;
|
|
|
attribute float offset;
|
|
|
attribute vec4 a_Color : COLOR;
|
|
|
|
|
|
#ifdef VERTEX_ANIMATION
|
|
|
attribute vec3 prevPosition;
|
|
|
attribute vec3 prevPositionPrev;
|
|
|
attribute vec3 prevPositionNext;
|
|
|
uniform float percent : 1.0;
|
|
|
#endif
|
|
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
uniform vec4 viewport : VIEWPORT;
|
|
|
uniform float near : NEAR;
|
|
|
|
|
|
varying vec4 v_Color;
|
|
|
|
|
|
@import ecgl.common.wireframe.vertexHeader
|
|
|
|
|
|
@import ecgl.lines3D.clipNear
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
@import ecgl.lines3D.expandLine
|
|
|
|
|
|
gl_Position = currProj;
|
|
|
|
|
|
v_Color = a_Color;
|
|
|
|
|
|
@import ecgl.common.wireframe.vertexMain
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.meshLines3D.fragment
|
|
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
|
|
|
varying vec4 v_Color;
|
|
|
|
|
|
@import ecgl.common.wireframe.fragmentHeader
|
|
|
|
|
|
@import clay.util.srgb
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
#ifdef SRGB_DECODE
|
|
|
gl_FragColor = sRGBToLinear(color * v_Color);
|
|
|
#else
|
|
|
gl_FragColor = color * v_Color;
|
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.wireframe.fragmentMain
|
|
|
}
|
|
|
|
|
|
@end`},function(Ve,Re,be){var Fe=be(12),Ce=be(75),ve=be(78),ye=ve.parsePercent,we=be(149),De=Fe.each,pe=["left","right","top","bottom","width","height"],Ee=[["width","left","right"],["height","top","bottom"]];function Pe(xe,Me,Be,Ne,Ue){var Ge=0,Xe=0;Ne==null&&(Ne=1/0),Ue==null&&(Ue=1/0);var Ye=0;Me.eachChild(function(nt,$e){var qe=nt.position,st=nt.getBoundingRect(),rt=Me.childAt($e+1),ct=rt&&rt.getBoundingRect(),tt,dt;if(xe==="horizontal"){var At=st.width+(ct?-ct.x+st.x:0);tt=Ge+At,tt>Ne||nt.newline?(Ge=0,tt=At,Xe+=Ye+Be,Ye=st.height):Ye=Math.max(Ye,st.height)}else{var mt=st.height+(ct?-ct.y+st.y:0);dt=Xe+mt,dt>Ue||nt.newline?(Ge+=Ye+Be,Xe=0,dt=mt,Ye=st.width):Ye=Math.max(Ye,st.width)}nt.newline||(qe[0]=Ge,qe[1]=Xe,xe==="horizontal"?Ge=tt+Be:Xe=dt+Be)})}var de=Pe,ee=Fe.curry(Pe,"vertical"),ne=Fe.curry(Pe,"horizontal");function le(xe,Me,Be){var Ne=Me.width,Ue=Me.height,Ge=ye(xe.x,Ne),Xe=ye(xe.y,Ue),Ye=ye(xe.x2,Ne),nt=ye(xe.y2,Ue);return(isNaN(Ge)||isNaN(parseFloat(xe.x)))&&(Ge=0),(isNaN(Ye)||isNaN(parseFloat(xe.x2)))&&(Ye=Ne),(isNaN(Xe)||isNaN(parseFloat(xe.y)))&&(Xe=0),(isNaN(nt)||isNaN(parseFloat(xe.y2)))&&(nt=Ue),Be=we.normalizeCssArray(Be||0),{width:Math.max(Ye-Ge-Be[1]-Be[3],0),height:Math.max(nt-Xe-Be[0]-Be[2],0)}}function oe(xe,Me,Be){Be=we.normalizeCssArray(Be||0);var Ne=Me.width,Ue=Me.height,Ge=ye(xe.left,Ne),Xe=ye(xe.top,Ue),Ye=ye(xe.right,Ne),nt=ye(xe.bottom,Ue),$e=ye(xe.width,Ne),qe=ye(xe.height,Ue),st=Be[2]+Be[0],rt=Be[1]+Be[3],ct=xe.aspect;switch(isNaN($e)&&($e=Ne-Ye-rt-Ge),isNaN(qe)&&(qe=Ue-nt-st-Xe),ct!=null&&(isNaN($e)&&isNaN(qe)&&(ct>Ne/Ue?$e=Ne*.8:qe=Ue*.8),isNaN($e)&&($e=ct*qe),isNaN(qe)&&(qe=$e/ct)),isNaN(Ge)&&(Ge=Ne-Ye-$e-rt),isNaN(Xe)&&(Xe=Ue-nt-qe-st),xe.left||xe.right){case"center":Ge=Ne/2-$e/2-Be[3];break;case"right":Ge=Ne-$e-rt;break}switch(xe.top||xe.bottom){case"middle":case"center":Xe=Ue/2-qe/2-Be[0];break;case"bottom":Xe=Ue-qe-st;break}Ge=Ge||0,Xe=Xe||0,isNaN($e)&&($e=Ne-rt-Ge-(Ye||0)),isNaN(qe)&&(qe=Ue-st-Xe-(nt||0));var tt=new Ce(Ge+Be[3],Xe+Be[0],$e,qe);return tt.margin=Be,tt}function ce(xe,Me,Be,Ne,Ue){var Ge=!Ue||!Ue.hv||Ue.hv[0],Xe=!Ue||!Ue.hv||Ue.hv[1],Ye=Ue&&Ue.boundingMode||"all";if(!(!Ge&&!Xe)){var nt;if(Ye==="raw")nt=xe.type==="group"?new Ce(0,0,+Me.width||0,+Me.height||0):xe.getBoundingRect();else if(nt=xe.getBoundingRect(),xe.needLocalTransform()){var $e=xe.getLocalTransform();nt=nt.clone(),nt.applyTransform($e)}Me=oe(Fe.defaults({width:nt.width,height:nt.height},Me),Be,Ne);var qe=xe.position,st=Ge?Me.x-nt.x:0,rt=Xe?Me.y-nt.y:0;xe.attr("position",Ye==="raw"?[st,rt]:[qe[0]+st,qe[1]+rt])}}function he(xe,Me){return xe[Ee[Me][0]]!=null||xe[Ee[Me][1]]!=null&&xe[Ee[Me][2]]!=null}function ie(xe,Me,Be){!Fe.isObject(Be)&&(Be={});var Ne=Be.ignoreSize;!Fe.isArray(Ne)&&(Ne=[Ne,Ne]);var Ue=Xe(Ee[0],0),Ge=Xe(Ee[1],1);$e(Ee[0],xe,Ue),$e(Ee[1],xe,Ge);function Xe(qe,st){var rt={},ct=0,tt={},dt=0,At=2;if(De(qe,function(vt){tt[vt]=xe[vt]}),De(qe,function(vt){Ye(Me,vt)&&(rt[vt]=tt[vt]=Me[vt]),nt(rt,vt)&&ct++,nt(tt,vt)&&dt++}),Ne[st])return nt(Me,qe[1])?tt[qe[2]]=null:nt(Me,qe[2])&&(tt[qe[1]]=null),tt;if(dt===At||!ct)return tt;if(ct>=At)return rt;for(var mt=0;mt<qe.length;mt++){var ht=qe[mt];if(!Ye(rt,ht)&&Ye(xe,ht)){rt[ht]=xe[ht];break}}return rt}function Ye(qe,st){return qe.hasOwnProperty(st)}function nt(qe,st){return qe[st]!=null&&qe[st]!=="auto"}function $e(qe,st,rt){De(qe,function(ct){st[ct]=rt[ct]})}}function ue(xe){return ge({},xe)}function ge(xe,Me){return Me&&xe&&De(pe,function(Be){Me.hasOwnProperty(Be)&&(xe[Be]=Me[Be])}),xe}Re.LOCATION_PARAMS=pe,Re.HV_NAMES=Ee,Re.box=de,Re.vbox=ee,Re.hbox=ne,Re.getAvailableSize=le,Re.getLayoutRect=oe,Re.positionElement=ce,Re.sizeCalculable=he,Re.mergeLayoutParam=ie,Re.getLayoutParams=ue,Re.copyLayoutParams=ge},function(Ve,Re,be){"use strict";var Fe=be(8),Ce=Fe.a.extend(function(){return{name:"",inputLinks:{},outputLinks:{},_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},{updateParameter:function(ve,ye){var we=this.outputs[ve],De=we.parameters,pe=we._parametersCopy;if(pe||(pe=we._parametersCopy={}),De)for(var Ee in De)Ee!=="width"&&Ee!=="height"&&(pe[Ee]=De[Ee]);var Pe,de;return De.width instanceof Function?Pe=De.width.call(this,ye):Pe=De.width,De.height instanceof Function?de=De.height.call(this,ye):de=De.height,(pe.width!==Pe||pe.height!==de)&&this._outputTextures[ve]&&this._outputTextures[ve].dispose(ye.gl),pe.width=Pe,pe.height=de,pe},setParameter:function(ve,ye){},getParameter:function(ve){},setParameters:function(ve){for(var ye in ve)this.setParameter(ye,ve[ye])},render:function(){},getOutput:function(ve,ye){if(ye==null)return ye=ve,this._outputTextures[ye];var we=this.outputs[ye];if(we)return this._rendered?we.outputLastFrame?this._prevOutputTextures[ye]:this._outputTextures[ye]:this._rendering?(this._prevOutputTextures[ye]||(this._prevOutputTextures[ye]=this._compositor.allocateTexture(we.parameters||{})),this._prevOutputTextures[ye]):(this.render(ve),this._outputTextures[ye])},removeReference:function(ve){if(this._outputReferences[ve]--,this._outputReferences[ve]===0){var ye=this.outputs[ve];ye.keepLastFrame?(this._prevOutputTextures[ve]&&this._compositor.releaseTexture(this._prevOutputTextures[ve]),this._prevOutputTextures[ve]=this._outputTextures[ve]):this._compositor.releaseTexture(this._outputTextures[ve])}},link:function(ve,ye,we){this.inputLinks[ve]={node:ye,pin:we},ye.outputLinks[we]||(ye.outputLinks[we]=[]),ye.outputLinks[we].push({node:this,pin:ve}),this.pass.material.enableTexture(ve)},clear:function(){this.inputLinks={},this.outputLinks={}},updateReference:function(ve){if(!this._rendering){this._rendering=!0;for(var ye in this.inputLinks){var we=this.inputLinks[ye];we.node.updateReference(we.pin)}this._rendering=!1}ve&&this._outputReferences[ve]++},beforeFrame:function(){this._rendered=!1;for(var ve in this.outputLinks)this._outputReferences[ve]=0},afterFrame:function(){for(var ve in this.outputLinks)if(this._outputReferences[ve]>0){var ye=this.outputs[ve];ye.keepLastFrame?(this._prevOutputTextures[ve]&&this._compositor.releaseTexture(this._prevOutputTextures[ve]),this._prevOutputTextures[ve]=this._outputTextures[ve]):this._compositor.releaseTexture(this._outputTextures[ve])}}});Re.a=Ce},function(Ve,Re,be){"use strict";function Fe(Ce,ve){for(var ye=0,we=1/ve,De=Ce;De>0;)ye=ye+we*(De%ve),De=Math.floor(De/ve),we=we/ve;return ye}Re.a=Fe},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe);Re.a=function(ve,ye,we){we=we||ve.getSource();var De=ye||Ce.a.getCoordinateSystemDimensions(ve.get("coordinateSystem"))||["x","y","z"],pe=Ce.a.helper.createDimensions(we,{dimensionsDefine:we.dimensionsDefine||ve.get("dimensions"),encodeDefine:we.encodeDefine||ve.get("encode"),coordDimensions:De.map(function(Pe){var de=ve.getReferringComponents(Pe+"Axis3D")[0];return{type:de&&de.get("type")==="category"?"ordinal":"float",name:Pe,stackable:Pe==="z"}})});ve.get("coordinateSystem")==="cartesian3D"&&pe.forEach(function(Pe){if(De.indexOf(Pe.coordDim)>=0){var de=ve.getReferringComponents(Pe.coordDim+"Axis3D")[0];de&&de.get("type")==="category"&&(Pe.ordinalMeta=de.getOrdinalMeta())}});var Ee=new Ce.a.List(pe,ve);return Ee.initData(we),Ee}},function(Ve,Re){function be(Fe,Ce,ve){return{seriesType:Fe,performRawSeries:!0,reset:function(ye,we,De){var pe=ye.getData(),Ee=ye.get("symbol")||Ce,Pe=ye.get("symbolSize");if(pe.setVisual({legendSymbol:ve||Ee,symbol:Ee,symbolSize:Pe}),we.isSeriesFiltered(ye))return;var de=typeof Pe=="function";function ee(ne,le){if(typeof Pe=="function"){var oe=ye.getRawValue(le),ce=ye.getDataParams(le);ne.setItemVisual(le,"symbolSize",Pe(oe,ce))}if(ne.hasItemOption){var he=ne.getItemModel(le),ie=he.getShallow("symbol",!0),ue=he.getShallow("symbolSize",!0);ie!=null&&ne.setItemVisual(le,"symbol",ie),ue!=null&&ne.setItemVisual(le,"symbolSize",ue)}}return{dataEach:pe.hasItemOption||de?ee:null}}}}Ve.exports=be},function(Ve,Re,be){"use strict";var Fe=be(8),Ce=be(92),ve=be(11),ye=be(18),we=be(15),De=be(9),pe=be(17),Ee=be(23),Pe=be(96),de=be(7),ee=be(98),ne=be(63),le=be(1),oe=be.n(le);de.a.import(ee.a),de.a.import(ne.a);var ce=oe.a.mat4,he=oe.a.vec3,ie=ce.create,ue={};function ge(Ne){return Ne.material}function xe(){}var Me=Fe.a.extend(function(){return{canvas:null,_width:100,_height:100,devicePixelRatio:window.devicePixelRatio||1,clearColor:[0,0,0,0],clearBit:17664,alpha:!0,depth:!0,stencil:!1,antialias:!0,premultipliedAlpha:!0,preserveDrawingBuffer:!1,throwError:!0,gl:null,viewport:{},__currentFrameBuffer:null,_viewportStack:[],_clearStack:[],_sceneRendering:null}},function(){this.canvas||(this.canvas=document.createElement("canvas"));var Ne=this.canvas;try{var Ue={alpha:this.alpha,depth:this.depth,stencil:this.stencil,antialias:this.antialias,premultipliedAlpha:this.premultipliedAlpha,preserveDrawingBuffer:this.preserveDrawingBuffer};if(this.gl=Ne.getContext("webgl",Ue)||Ne.getContext("experimental-webgl",Ue),!this.gl)throw new Error;this._glinfo=new Ce.a(this.gl),this.gl.targetRenderer&&console.error("Already created a renderer"),this.gl.targetRenderer=this,this.resize()}catch(Ge){throw"Error creating WebGL Context "+Ge}this._programMgr=new Pe.a(this)},{resize:function(Ne,Ue){var Ge=this.canvas,Xe=this.devicePixelRatio;Ne!=null?(Ge.style.width=Ne+"px",Ge.style.height=Ue+"px",Ge.width=Ne*Xe,Ge.height=Ue*Xe,this._width=Ne,this._height=Ue):(this._width=Ge.width/Xe,this._height=Ge.height/Xe),this.setViewport(0,0,this._width,this._height)},getWidth:function(){return this._width},getHeight:function(){return this._height},getViewportAspect:function(){var Ne=this.viewport;return Ne.width/Ne.height},setDevicePixelRatio:function(Ne){this.devicePixelRatio=Ne,this.resize(this._width,this._height)},getDevicePixelRatio:function(){return this.devicePixelRatio},getGLExtension:function(Ne){return this._glinfo.getExtension(Ne)},getGLParameter:function(Ne){return this._glinfo.getParameter(Ne)},setViewport:function(Ne,Ue,Ge,Xe,Ye){if(typeof Ne=="object"){var nt=Ne;Ne=nt.x,Ue=nt.y,Ge=nt.width,Xe=nt.height,Ye=nt.devicePixelRatio}Ye=Ye||this.devicePixelRatio,this.gl.viewport(Ne*Ye,Ue*Ye,Ge*Ye,Xe*Ye),this.viewport={x:Ne,y:Ue,width:Ge,height:Xe,devicePixelRatio:Ye}},saveViewport:function(){this._viewportStack.push(this.viewport)},restoreViewport:function(){this._viewportStack.length>0&&this.setViewport(this._viewportStack.pop())},saveClear:function(){this._clearStack.push({clearBit:this.clearBit,clearColor:this.clearColor})},restoreClear:function(){if(this._clearStack.length>0){var Ne=this._clearStack.pop();this.clearColor=Ne.clearColor,this.clearBit=Ne.clearBit}},bindSceneRendering:function(Ne){this._sceneRendering=Ne},render:function(Ne,Ue,Ge,Xe){var Ye=this.gl,nt=this.clearColor;if(this.clearBit){Ye.colorMask(!0,!0,!0,!0),Ye.depthMask(!0);var $e=this.viewport,qe=!1,st=$e.devicePixelRatio;($e.width!==this._width||$e.height!==this._height||st&&st!==this.devicePixelRatio||$e.x||$e.y)&&(qe=!0,Ye.enable(Ye.SCISSOR_TEST),Ye.scissor($e.x*st,$e.y*st,$e.width*st,$e.height*st)),Ye.clearColor(nt[0],nt[1],nt[2],nt[3]),Ye.clear(this.clearBit),qe&&Ye.disable(Ye.SCISSOR_TEST)}if(Ge||Ne.update(!1),Ue=Ue||Ne.getMainCamera(),!Ue){console.error("Can't find camera in the scene.");return}Ue.getScene()||Ue.update(!0),this._sceneRendering=Ne,Ne.viewBoundingBoxLastFrame.min.set(1/0,1/0,1/0),Ne.viewBoundingBoxLastFrame.max.set(-1/0,-1/0,-1/0);var rt=this.cullRenderList(Ne.opaqueList,Ne,Ue),ct=this.cullRenderList(Ne.transparentList,Ne,Ue),tt=Ne.material;Ne.trigger("beforerender",this,Ne,Ue),Xe?(this.renderPreZ(rt,Ne,Ue),Ye.depthFunc(Ye.LEQUAL)):Ye.depthFunc(Ye.LESS);for(var dt=ie(),At=he.create(),mt=0;mt<ct.length;mt++){var ht=ct[mt];ce.multiplyAffine(dt,Ue.viewMatrix.array,ht.worldTransform.array),he.transformMat4(At,ht.position.array,dt),ht.__depth=At[2]}var vt=this.renderPass(rt,Ue,{getMaterial:function(mn){return tt||mn.material},sortCompare:this.opaqueSortCompare}),Wt=this.renderPass(ct,Ue,{getMaterial:function(mn){return tt||mn.material},sortCompare:this.transparentSortCompare}),Jt={};for(var en in vt)Jt[en]=vt[en]+Wt[en];return Ne.trigger("afterrender",this,Ne,Ue,Jt),this._sceneRendering=null,Jt},getProgram:function(Ne,Ue,Ge){return Ue=Ue||Ne.material,this._programMgr.getProgram(Ne,Ue,Ge)},validateProgram:function(Ne){if(Ne.__error){var Ue=Ne.__error;if(ue[Ne.__uid__])return;if(ue[Ne.__uid__]=!0,this.throwError)throw new Error(Ue);this.trigger("error",Ue)}},updatePrograms:function(Ne,Ue,Ge){var Xe=Ge&&Ge.getMaterial||ge;Ue=Ue||null;for(var Ye=0;Ye<Ne.length;Ye++){var nt=Ne[Ye],$e=Xe.call(this,nt);if(Ye>0){var qe=Ne[Ye-1],st=qe.joints?qe.joints.length:0,rt=nt.joints.length?nt.joints.length:0;if(rt===st&&nt.material===qe.material&&nt.lightGroup===qe.lightGroup){nt.__program=qe.__program;continue}}var ct=this._programMgr.getProgram(nt,$e,Ue);this.validateProgram(ct),nt.__program=ct}},cullRenderList:function(Ne,Ue,Ge){for(var Xe=[],Ye=0;Ye<Ne.length;Ye++){var nt=Ne[Ye],$e=nt.isSkinnedMesh()?Be.IDENTITY:nt.worldTransform.array,qe=nt.geometry;ce.multiplyAffine(Be.WORLDVIEW,Ge.viewMatrix.array,$e),!(qe.boundingBox&&this.isFrustumCulled(nt,Ue,Ge,Be.WORLDVIEW,Ge.projectionMatrix.array))&&Xe.push(nt)}return Xe},renderPass:function(Ne,Ue,Ge){this.trigger("beforerenderpass",this,Ne,Ue,Ge);var Xe={triangleCount:0,vertexCount:0,drawCallCount:0,meshCount:Ne.length,renderedMeshCount:0};Ge=Ge||{},Ge.getMaterial=Ge.getMaterial||ge,Ge.beforeRender=Ge.beforeRender||xe,Ge.afterRender=Ge.afterRender||xe,this.updatePrograms(Ne,this._sceneRendering,Ge),Ge.sortCompare&&Ne.sort(Ge.sortCompare);var Ye=this.viewport,nt=Ye.devicePixelRatio,$e=[Ye.x*nt,Ye.y*nt,Ye.width*nt,Ye.height*nt],qe=this.devicePixelRatio,st=this.__currentFrameBuffer?[this.__currentFrameBuffer.getTextureWidth(),this.__currentFrameBuffer.getTextureHeight()]:[this._width*qe,this._height*qe],rt=[$e[2],$e[3]],ct=Date.now();ce.copy(Be.VIEW,Ue.viewMatrix.array),ce.copy(Be.PROJECTION,Ue.projectionMatrix.array),ce.multiply(Be.VIEWPROJECTION,Ue.projectionMatrix.array,Be.VIEW),ce.copy(Be.VIEWINVERSE,Ue.worldTransform.array),ce.invert(Be.PROJECTIONINVERSE,Be.PROJECTION),ce.invert(Be.VIEWPROJECTIONINVERSE,Be.VIEWPROJECTION);for(var tt=this.gl,dt=this._sceneRendering,At,mt,ht,vt,Wt,Jt,en,mn,Ot=0;Ot<Ne.length;Ot++){var an=Ne[Ot];if(!(Ge.ifRender&&!Ge.ifRender(an))){var tn=an.isSkinnedMesh()?Be.IDENTITY:an.worldTransform.array,Dn=Ge.getMaterial.call(this,an),Tn=an.__program,sn=Dn.shader;ce.copy(Be.WORLD,tn),ce.multiply(Be.WORLDVIEWPROJECTION,Be.VIEWPROJECTION,tn),(sn.matrixSemantics.WORLDINVERSE||sn.matrixSemantics.WORLDINVERSETRANSPOSE)&&ce.invert(Be.WORLDINVERSE,tn),(sn.matrixSemantics.WORLDVIEWINVERSE||sn.matrixSemantics.WORLDVIEWINVERSETRANSPOSE)&&ce.invert(Be.WORLDVIEWINVERSE,Be.WORLDVIEW),(sn.matrixSemantics.WORLDVIEWPROJECTIONINVERSE||sn.matrixSemantics.WORLDVIEWPROJECTIONINVERSETRANSPOSE)&&ce.invert(Be.WORLDVIEWPROJECTIONINVERSE,Be.WORLDVIEWPROJECTION),an.beforeRender(this),Ge.beforeRender.call(this,an,Dn,At);var dn=Tn!==mt;dn?(Tn.bind(this),Tn.setUniformOfSemantic(tt,"VIEWPORT",$e),Tn.setUniformOfSemantic(tt,"WINDOW_SIZE",st),Tn.setUniformOfSemantic(tt,"NEAR",Ue.near),Tn.setUniformOfSemantic(tt,"FAR",Ue.far),Tn.setUniformOfSemantic(tt,"DEVICEPIXELRATIO",nt),Tn.setUniformOfSemantic(tt,"TIME",ct),Tn.setUniformOfSemantic(tt,"VIEWPORT_SIZE",rt),dt&&dt.setLightUniforms(Tn,an.lightGroup,this)):Tn=mt,(At!==Dn||dn)&&(Dn.depthTest!==ht&&(Dn.depthTest?tt.enable(tt.DEPTH_TEST):tt.disable(tt.DEPTH_TEST),ht=Dn.depthTest),Dn.depthMask!==vt&&(tt.depthMask(Dn.depthMask),vt=Dn.depthMask),Dn.transparent!==mn&&(Dn.transparent?tt.enable(tt.BLEND):tt.disable(tt.BLEND),mn=Dn.transparent),Dn.transparent&&(Dn.blend?Dn.blend(tt):(tt.blendEquationSeparate(tt.FUNC_ADD,tt.FUNC_ADD),tt.blendFuncSeparate(tt.SRC_ALPHA,tt.ONE_MINUS_SRC_ALPHA,tt.ONE,tt.ONE_MINUS_SRC_ALPHA))),Dn.bind(this,Tn,At,mt),At=Dn);for(var Kt=sn.matrixSemanticKeys,Tt=0;Tt<Kt.length;Tt++){var yt=Kt[Tt],Gt=sn.matrixSemantics[yt],gt=Be[yt];if(Gt.isTranspose){var St=Be[Gt.semanticNoTranspose];ce.transpose(gt,St)}Tn.setUniform(tt,Gt.type,Gt.symbol,gt)}an.cullFace!==Jt&&(Jt=an.cullFace,tt.cullFace(Jt)),an.frontFace!==en&&(en=an.frontFace,tt.frontFace(en)),an.culling!==Wt&&(Wt=an.culling,Wt?tt.enable(tt.CULL_FACE):tt.disable(tt.CULL_FACE));var Qt=an.render(this,Dn,Tn);Qt&&(Xe.triangleCount+=Qt.triangleCount,Xe.vertexCount+=Qt.vertexCount,Xe.drawCallCount+=Qt.drawCallCount,Xe.renderedMeshCount++),Ge.afterRender.call(this,an,Qt),an.afterRender(this,Qt),mt=Tn}}for(var Ot=0;Ot<Ne.length;Ot++)Ne[Ot].__program=null;return this.trigger("afterrenderpass",this,Ne,Ue,Ge),Xe},renderPreZ:function(Ne,Ue,Ge){var Xe=this.gl,Ye=this._prezMaterial||new pe.a({shader:new de.a(de.a.source("clay.prez.vertex"),de.a.source("clay.prez.fragment"))});this._prezMaterial=Ye,Xe.colorMask(!1,!1,!1,!1),Xe.depthMask(!0),this.renderPass(Ne,Ge,{ifRender:function(nt){return!nt.ignorePreZ},getMaterial:function(){return Ye},sort:this.opaqueSortCompare}),Xe.colorMask(!0,!0,!0,!0),Xe.depthMask(!0)},isFrustumCulled:function(){var Ne=new we.a,Ue=new De.a;return function(Ge,Xe,Ye,nt,$e){var qe=Ge.boundingBox||Ge.geometry.boundingBox;if(Ue.array=nt,Ne.copy(qe),Ne.applyTransform(Ue),Xe&&Ge.isRenderable()&&Ge.castShadow&&Xe.viewBoundingBoxLastFrame.union(Ne),Ge.frustumCulling&&!Ge.isSkinnedMesh()){if(!Ne.intersectBoundingBox(Ye.frustum.boundingBox))return!0;Ue.array=$e,Ne.max.array[2]>0&&Ne.min.array[2]<0&&(Ne.max.array[2]=-1e-20),Ne.applyProjection(Ue);var st=Ne.min.array,rt=Ne.max.array;if(rt[0]<-1||st[0]>1||rt[1]<-1||st[1]>1||rt[2]<-1||st[2]>1)return!0}return!1}}(),disposeScene:function(Ne){this.disposeNode(Ne,!0,!0),Ne.dispose()},disposeNode:function(Ne,Ue,Ge){Ne.getParent()&&Ne.getParent().remove(Ne),Ne.traverse(function(Xe){Xe.geometry&&Ue&&Xe.geometry.dispose(this),Xe.dispose&&Xe.dispose(this)},this)},disposeGeometry:function(Ne){Ne.dispose(this)},disposeTexture:function(Ne){Ne.dispose(this)},disposeFrameBuffer:function(Ne){Ne.dispose(this)},dispose:function(){},screenToNDC:function(Ne,Ue,Ge){Ge||(Ge=new Ee.a),Ue=this._height-Ue;var Xe=this.viewport,Ye=Ge.array;return Ye[0]=(Ne-Xe.x)/Xe.width,Ye[0]=Ye[0]*2-1,Ye[1]=(Ue-Xe.y)/Xe.height,Ye[1]=Ye[1]*2-1,Ge}});Me.opaqueSortCompare=Me.prototype.opaqueSortCompare=function(Ne,Ue){return Ne.renderOrder===Ue.renderOrder?Ne.__program===Ue.__program?Ne.material===Ue.material?Ne.geometry.__uid__-Ue.geometry.__uid__:Ne.material.__uid__-Ue.material.__uid__:Ne.__program&&Ue.__program?Ne.__program.__uid__-Ue.__program.__uid__:0:Ne.renderOrder-Ue.renderOrder},Me.transparentSortCompare=Me.prototype.transparentSortCompare=function(Ne,Ue){return Ne.renderOrder===Ue.renderOrder?Ne.__depth===Ue.__depth?Ne.__program===Ue.__program?Ne.material===Ue.material?Ne.geometry.__uid__-Ue.geometry.__uid__:Ne.material.__uid__-Ue.material.__uid__:Ne.__program&&Ue.__program?Ne.__program.__uid__-Ue.__program.__uid__:0:Ne.__depth-Ue.__depth:Ne.renderOrder-Ue.renderOrder};var Be={IDENTITY:ie(),WORLD:ie(),VIEW:ie(),PROJECTION:ie(),WORLDVIEW:ie(),VIEWPROJECTION:ie(),WORLDVIEWPROJECTION:ie(),WORLDINVERSE:ie(),VIEWINVERSE:ie(),PROJECTIONINVERSE:ie(),WORLDVIEWINVERSE:ie(),VIEWPROJECTIONINVERSE:ie(),WORLDVIEWPROJECTIONINVERSE:ie(),WORLDTRANSPOSE:ie(),VIEWTRANSPOSE:ie(),PROJECTIONTRANSPOSE:ie(),WORLDVIEWTRANSPOSE:ie(),VIEWPROJECTIONTRANSPOSE:ie(),WORLDVIEWPROJECTIONTRANSPOSE:ie(),WORLDINVERSETRANSPOSE:ie(),VIEWINVERSETRANSPOSE:ie(),PROJECTIONINVERSETRANSPOSE:ie(),WORLDVIEWINVERSETRANSPOSE:ie(),VIEWPROJECTIONINVERSETRANSPOSE:ie(),WORLDVIEWPROJECTIONINVERSETRANSPOSE:ie()};Me.COLOR_BUFFER_BIT=ve.a.COLOR_BUFFER_BIT,Me.DEPTH_BUFFER_BIT=ve.a.DEPTH_BUFFER_BIT,Me.STENCIL_BUFFER_BIT=ve.a.STENCIL_BUFFER_BIT,Re.a=Me},function(Ve,Re,be){"use strict";function Fe(ve,ye){this.action=ve,this.context=ye}var Ce={trigger:function(ve){if(this.hasOwnProperty("__handlers__")&&this.__handlers__.hasOwnProperty(ve)){var ye=this.__handlers__[ve],we=ye.length,De=-1,pe=arguments;switch(pe.length){case 1:for(;++De<we;)ye[De].action.call(ye[De].context);return;case 2:for(;++De<we;)ye[De].action.call(ye[De].context,pe[1]);return;case 3:for(;++De<we;)ye[De].action.call(ye[De].context,pe[1],pe[2]);return;case 4:for(;++De<we;)ye[De].action.call(ye[De].context,pe[1],pe[2],pe[3]);return;case 5:for(;++De<we;)ye[De].action.call(ye[De].context,pe[1],pe[2],pe[3],pe[4]);return;default:for(;++De<we;)ye[De].action.apply(ye[De].context,Array.prototype.slice.call(pe,1));return}}},on:function(ve,ye,we){if(!(!ve||!ye)){var De=this.__handlers__||(this.__handlers__={});if(!De[ve])De[ve]=[];else if(this.has(ve,ye))return;var pe=new Fe(ye,we||this);return De[ve].push(pe),this}},once:function(ve,ye,we){if(!ve||!ye)return;var De=this;function pe(){De.off(ve,pe),ye.apply(this,arguments)}return this.on(ve,pe,we)},before:function(ve,ye,we){if(!(!ve||!ye))return ve="before"+ve,this.on(ve,ye,we)},after:function(ve,ye,we){if(!(!ve||!ye))return ve="after"+ve,this.on(ve,ye,we)},success:function(ve,ye){return this.once("success",ve,ye)},error:function(ve,ye){return this.once("error",ve,ye)},off:function(ve,ye){var we=this.__handlers__||(this.__handlers__={});if(!ye){we[ve]=[];return}if(we[ve]){for(var De=we[ve],pe=[],Ee=0;Ee<De.length;Ee++)ye&&De[Ee].action!==ye&&pe.push(De[Ee]);we[ve]=pe}return this},has:function(ve,ye){var we=this.__handlers__;if(!we||!we[ve])return!1;for(var De=we[ve],pe=0;pe<De.length;pe++)if(De[pe].action===ye)return!0}};Re.a=Ce},function(Ve,Re,be){"use strict";var Fe="__dt__",Ce=function(){this._contextId=0,this._caches=[],this._context={}};Ce.prototype={use:function(ve,ye){var we=this._caches;we[ve]||(we[ve]={},ye&&(we[ve]=ye())),this._contextId=ve,this._context=we[ve]},put:function(ve,ye){this._context[ve]=ye},get:function(ve){return this._context[ve]},dirty:function(ve){ve=ve||"";var ye=Fe+ve;this.put(ye,!0)},dirtyAll:function(ve){ve=ve||"";for(var ye=Fe+ve,we=this._caches,De=0;De<we.length;De++)we[De]&&(we[De][ye]=!0)},fresh:function(ve){ve=ve||"";var ye=Fe+ve;this.put(ye,!1)},freshAll:function(ve){ve=ve||"";for(var ye=Fe+ve,we=this._caches,De=0;De<we.length;De++)we[De]&&(we[De][ye]=!1)},isDirty:function(ve){ve=ve||"";var ye=Fe+ve,we=this._context;return!we.hasOwnProperty(ye)||we[ye]===!0},deleteContext:function(ve){delete this._caches[ve],this._context={}},delete:function(ve){delete this._context[ve]},clearAll:function(){this._caches={}},getContext:function(){return this._context},eachContext:function(ve,ye){var we=Object.keys(this._caches);we.forEach(function(De){ve&&ve.call(ye,De)})},miss:function(ve){return!this._context.hasOwnProperty(ve)}},Ce.prototype.constructor=Ce,Re.a=Ce},function(Ve,Re,be){"use strict";var Fe=be(4),Ce=be(1),ve=be.n(Ce),ye=ve.a.vec3,we=1e-5,De=function(pe,Ee){this.origin=pe||new Fe.a,this.direction=Ee||new Fe.a};De.prototype={constructor:De,intersectPlane:function(pe,Ee){var Pe=pe.normal.array,de=pe.distance,ee=this.origin.array,ne=this.direction.array,le=ye.dot(Pe,ne);if(le===0)return null;Ee||(Ee=new Fe.a);var oe=(ye.dot(Pe,ee)-de)/le;return ye.scaleAndAdd(Ee.array,ee,ne,-oe),Ee._dirty=!0,Ee},mirrorAgainstPlane:function(pe){var Ee=ye.dot(pe.normal.array,this.direction.array);ye.scaleAndAdd(this.direction.array,this.direction.array,pe.normal.array,-Ee*2),this.direction._dirty=!0},distanceToPoint:function(){var pe=ye.create();return function(Ee){ye.sub(pe,Ee,this.origin.array);var Pe=ye.dot(pe,this.direction.array);if(Pe<0)return ye.distance(this.origin.array,Ee);var de=ye.lenSquared(pe);return Math.sqrt(de-Pe*Pe)}}(),intersectSphere:function(){var pe=ye.create();return function(Ee,Pe,de){var ee=this.origin.array,ne=this.direction.array;Ee=Ee.array,ye.sub(pe,Ee,ee);var le=ye.dot(pe,ne),oe=ye.squaredLength(pe),ce=oe-le*le,he=Pe*Pe;if(!(ce>he)){var ie=Math.sqrt(he-ce),ue=le-ie,ge=le+ie;return de||(de=new Fe.a),ue<0?ge<0?null:(ye.scaleAndAdd(de.array,ee,ne,ge),de):(ye.scaleAndAdd(de.array,ee,ne,ue),de)}}}(),intersectBoundingBox:function(pe,Ee){var Pe=this.direction.array,de=this.origin.array,ee=pe.min.array,ne=pe.max.array,le=1/Pe[0],oe=1/Pe[1],ce=1/Pe[2],he,ie,ue,ge,xe,Me;if(le>=0?(he=(ee[0]-de[0])*le,ie=(ne[0]-de[0])*le):(ie=(ee[0]-de[0])*le,he=(ne[0]-de[0])*le),oe>=0?(ue=(ee[1]-de[1])*oe,ge=(ne[1]-de[1])*oe):(ge=(ee[1]-de[1])*oe,ue=(ne[1]-de[1])*oe),he>ge||ue>ie||((ue>he||he!==he)&&(he=ue),(ge<ie||ie!==ie)&&(ie=ge),ce>=0?(xe=(ee[2]-de[2])*ce,Me=(ne[2]-de[2])*ce):(Me=(ee[2]-de[2])*ce,xe=(ne[2]-de[2])*ce),he>Me||xe>ie)||((xe>he||he!==he)&&(he=xe),(Me<ie||ie!==ie)&&(ie=Me),ie<0))return null;var Be=he>=0?he:ie;return Ee||(Ee=new Fe.a),ye.scaleAndAdd(Ee.array,de,Pe,Be),Ee},intersectTriangle:function(){var pe=ye.create(),Ee=ye.create(),Pe=ye.create(),de=ye.create();return function(ee,ne,le,oe,ce,he){var ie=this.direction.array,ue=this.origin.array;ee=ee.array,ne=ne.array,le=le.array,ye.sub(pe,ne,ee),ye.sub(Ee,le,ee),ye.cross(de,Ee,ie);var ge=ye.dot(pe,de);if(oe){if(ge>-we)return null}else if(ge>-we&&ge<we)return null;ye.sub(Pe,ue,ee);var xe=ye.dot(de,Pe)/ge;if(xe<0||xe>1)return null;ye.cross(de,pe,Pe);var Me=ye.dot(ie,de)/ge;if(Me<0||Me>1||xe+Me>1)return null;ye.cross(de,pe,Ee);var Be=-ye.dot(Pe,de)/ge;return Be<0?null:(ce||(ce=new Fe.a),he&&Fe.a.set(he,1-xe-Me,xe,Me),ye.scaleAndAdd(ce.array,ue,ie,Be),ce)}}(),applyTransform:function(pe){Fe.a.add(this.direction,this.direction,this.origin),Fe.a.transformMat4(this.origin,this.origin,pe),Fe.a.transformMat4(this.direction,this.direction,pe),Fe.a.sub(this.direction,this.direction,this.origin),Fe.a.normalize(this.direction,this.direction)},copy:function(pe){Fe.a.copy(this.origin,pe.origin),Fe.a.copy(this.direction,pe.direction)},clone:function(){var pe=new De;return pe.copy(this),pe}},Re.a=De},function(Ve,Re,be){"use strict";var Fe=be(1),Ce=be.n(Fe),ve=Ce.a.quat,ye=function(pe,Ee,Pe,de){pe=pe||0,Ee=Ee||0,Pe=Pe||0,de=de===void 0?1:de,this.array=ve.fromValues(pe,Ee,Pe,de),this._dirty=!0};ye.prototype={constructor:ye,add:function(pe){return ve.add(this.array,this.array,pe.array),this._dirty=!0,this},calculateW:function(){return ve.calculateW(this.array,this.array),this._dirty=!0,this},set:function(pe,Ee,Pe,de){return this.array[0]=pe,this.array[1]=Ee,this.array[2]=Pe,this.array[3]=de,this._dirty=!0,this},setArray:function(pe){return this.array[0]=pe[0],this.array[1]=pe[1],this.array[2]=pe[2],this.array[3]=pe[3],this._dirty=!0,this},clone:function(){return new ye(this.x,this.y,this.z,this.w)},conjugate:function(){return ve.conjugate(this.array,this.array),this._dirty=!0,this},copy:function(pe){return ve.copy(this.array,pe.array),this._dirty=!0,this},dot:function(pe){return ve.dot(this.array,pe.array)},fromMat3:function(pe){return ve.fromMat3(this.array,pe.array),this._dirty=!0,this},fromMat4:function(){var pe=Ce.a.mat3,Ee=pe.create();return function(Pe){return pe.fromMat4(Ee,Pe.array),pe.transpose(Ee,Ee),ve.fromMat3(this.array,Ee),this._dirty=!0,this}}(),identity:function(){return ve.identity(this.array),this._dirty=!0,this},invert:function(){return ve.invert(this.array,this.array),this._dirty=!0,this},len:function(){return ve.len(this.array)},length:function(){return ve.length(this.array)},lerp:function(pe,Ee,Pe){return ve.lerp(this.array,pe.array,Ee.array,Pe),this._dirty=!0,this},mul:function(pe){return ve.mul(this.array,this.array,pe.array),this._dirty=!0,this},mulLeft:function(pe){return ve.multiply(this.array,pe.array,this.array),this._dirty=!0,this},multiply:function(pe){return ve.multiply(this.array,this.array,pe.array),this._dirty=!0,this},multiplyLeft:function(pe){return ve.multiply(this.array,pe.array,this.array),this._dirty=!0,this},normalize:function(){return ve.normalize(this.array,this.array),this._dirty=!0,this},rotateX:function(pe){return ve.rotateX(this.array,this.array,pe),this._dirty=!0,this},rotateY:function(pe){return ve.rotateY(this.array,this.array,pe),this._dirty=!0,this},rotateZ:function(pe){return ve.rotateZ(this.array,this.array,pe),this._dirty=!0,this},rotationTo:function(pe,Ee){return ve.rotationTo(this.array,pe.array,Ee.array),this._dirty=!0,this},setAxes:function(pe,Ee,Pe){return ve.setAxes(this.array,pe.array,Ee.array,Pe.array),this._dirty=!0,this},setAxisAngle:function(pe,Ee){return ve.setAxisAngle(this.array,pe.array,Ee),this._dirty=!0,this},slerp:function(pe,Ee,Pe){return ve.slerp(this.array,pe.array,Ee.array,Pe),this._dirty=!0,this},sqrLen:function(){return ve.sqrLen(this.array)},squaredLength:function(){return ve.squaredLength(this.array)},fromEuler:function(pe,Ee){return ye.fromEuler(this,pe,Ee)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var we=Object.defineProperty;if(we){var De=ye.prototype;we(De,"x",{get:function(){return this.array[0]},set:function(pe){this.array[0]=pe,this._dirty=!0}}),we(De,"y",{get:function(){return this.array[1]},set:function(pe){this.array[1]=pe,this._dirty=!0}}),we(De,"z",{get:function(){return this.array[2]},set:function(pe){this.array[2]=pe,this._dirty=!0}}),we(De,"w",{get:function(){return this.array[3]},set:function(pe){this.array[3]=pe,this._dirty=!0}})}ye.add=function(pe,Ee,Pe){return ve.add(pe.array,Ee.array,Pe.array),pe._dirty=!0,pe},ye.set=function(pe,Ee,Pe,de,ee){ve.set(pe.array,Ee,Pe,de,ee),pe._dirty=!0},ye.copy=function(pe,Ee){return ve.copy(pe.array,Ee.array),pe._dirty=!0,pe},ye.calculateW=function(pe,Ee){return ve.calculateW(pe.array,Ee.array),pe._dirty=!0,pe},ye.conjugate=function(pe,Ee){return ve.conjugate(pe.array,Ee.array),pe._dirty=!0,pe},ye.identity=function(pe){return ve.identity(pe.array),pe._dirty=!0,pe},ye.invert=function(pe,Ee){return ve.invert(pe.array,Ee.array),pe._dirty=!0,pe},ye.dot=function(pe,Ee){return ve.dot(pe.array,Ee.array)},ye.len=function(pe){return ve.length(pe.array)},ye.lerp=function(pe,Ee,Pe,de){return ve.lerp(pe.array,Ee.array,Pe.array,de),pe._dirty=!0,pe},ye.slerp=function(pe,Ee,Pe,de){return ve.slerp(pe.array,Ee.array,Pe.array,de),pe._dirty=!0,pe},ye.mul=function(pe,Ee,Pe){return ve.multiply(pe.array,Ee.array,Pe.array),pe._dirty=!0,pe},ye.multiply=ye.mul,ye.rotateX=function(pe,Ee,Pe){return ve.rotateX(pe.array,Ee.array,Pe),pe._dirty=!0,pe},ye.rotateY=function(pe,Ee,Pe){return ve.rotateY(pe.array,Ee.array,Pe),pe._dirty=!0,pe},ye.rotateZ=function(pe,Ee,Pe){return ve.rotateZ(pe.array,Ee.array,Pe),pe._dirty=!0,pe},ye.setAxisAngle=function(pe,Ee,Pe){return ve.setAxisAngle(pe.array,Ee.array,Pe),pe._dirty=!0,pe},ye.normalize=function(pe,Ee){return ve.normalize(pe.array,Ee.array),pe._dirty=!0,pe},ye.sqrLen=function(pe){return ve.sqrLen(pe.array)},ye.squaredLength=ye.sqrLen,ye.fromMat3=function(pe,Ee){return ve.fromMat3(pe.array,Ee.array),pe._dirty=!0,pe},ye.setAxes=function(pe,Ee,Pe,de){return ve.setAxes(pe.array,Ee.array,Pe.array,de.array),pe._dirty=!0,pe},ye.rotationTo=function(pe,Ee,Pe){return ve.rotationTo(pe.array,Ee.array,Pe.array),pe._dirty=!0,pe},ye.fromEuler=function(pe,Ee,ie){pe._dirty=!0,Ee=Ee.array;var de=pe.array,ee=Math.cos(Ee[0]/2),ne=Math.cos(Ee[1]/2),le=Math.cos(Ee[2]/2),oe=Math.sin(Ee[0]/2),ce=Math.sin(Ee[1]/2),he=Math.sin(Ee[2]/2),ie=(ie||"XYZ").toUpperCase();switch(ie){case"XYZ":de[0]=oe*ne*le+ee*ce*he,de[1]=ee*ce*le-oe*ne*he,de[2]=ee*ne*he+oe*ce*le,de[3]=ee*ne*le-oe*ce*he;break;case"YXZ":de[0]=oe*ne*le+ee*ce*he,de[1]=ee*ce*le-oe*ne*he,de[2]=ee*ne*he-oe*ce*le,de[3]=ee*ne*le+oe*ce*he;break;case"ZXY":de[0]=oe*ne*le-ee*ce*he,de[1]=ee*ce*le+oe*ne*he,de[2]=ee*ne*he+oe*ce*le,de[3]=ee*ne*le-oe*ce*he;break;case"ZYX":de[0]=oe*ne*le-ee*ce*he,de[1]=ee*ce*le+oe*ne*he,de[2]=ee*ne*he-oe*ce*le,de[3]=ee*ne*le+oe*ce*he;break;case"YZX":de[0]=oe*ne*le+ee*ce*he,de[1]=ee*ce*le+oe*ne*he,de[2]=ee*ne*he-oe*ce*le,de[3]=ee*ne*le-oe*ce*he;break;case"XZY":de[0]=oe*ne*le-ee*ce*he,de[1]=ee*ce*le-oe*ne*he,de[2]=ee*ne*he+oe*ce*le,de[3]=ee*ne*le+oe*ce*he;break}},Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(28),Ce=be(9),ve=be(52),ye=be(49),we=be(1),De=be.n(we),pe=De.a.vec3,Ee=De.a.vec4,Pe=Fe.a.extend(function(){return{projectionMatrix:new Ce.a,invProjectionMatrix:new Ce.a,viewMatrix:new Ce.a,frustum:new ve.a}},function(){this.update(!0)},{update:function(de){Fe.a.prototype.update.call(this,de),Ce.a.invert(this.viewMatrix,this.worldTransform),this.updateProjectionMatrix(),Ce.a.invert(this.invProjectionMatrix,this.projectionMatrix),this.frustum.setFromProjection(this.projectionMatrix)},setViewMatrix:function(de){Ce.a.copy(this.viewMatrix,de),Ce.a.invert(this.worldTransform,de),this.decomposeWorldTransform()},decomposeProjectionMatrix:function(){},setProjectionMatrix:function(de){Ce.a.copy(this.projectionMatrix,de),Ce.a.invert(this.invProjectionMatrix,de),this.decomposeProjectionMatrix()},updateProjectionMatrix:function(){},castRay:function(){var de=Ee.create();return function(ee,ne){var le=ne!==void 0?ne:new ye.a,oe=ee.array[0],ce=ee.array[1];return Ee.set(de,oe,ce,-1,1),Ee.transformMat4(de,de,this.invProjectionMatrix.array),Ee.transformMat4(de,de,this.worldTransform.array),pe.scale(le.origin.array,de,1/de[3]),Ee.set(de,oe,ce,1,1),Ee.transformMat4(de,de,this.invProjectionMatrix.array),Ee.transformMat4(de,de,this.worldTransform.array),pe.scale(de,de,1/de[3]),pe.sub(le.direction.array,de,le.origin.array),pe.normalize(le.direction.array,le.direction.array),le.direction._dirty=!0,le.origin._dirty=!0,le}}()});Re.a=Pe},function(Ve,Re,be){"use strict";var Fe=be(4),Ce=be(15),ve=be(67),ye=be(1),we=be.n(ye),De=we.a.vec3,pe=De.set,Ee=De.copy,Pe=De.transformMat4,de=Math.min,ee=Math.max,ne=function(){this.planes=[];for(var le=0;le<6;le++)this.planes.push(new ve.a);this.boundingBox=new Ce.a,this.vertices=[];for(var le=0;le<8;le++)this.vertices[le]=De.fromValues(0,0,0)};ne.prototype={setFromProjection:function(le){var oe=this.planes,ce=le.array,he=ce[0],ie=ce[1],ue=ce[2],ge=ce[3],xe=ce[4],Me=ce[5],Be=ce[6],Ne=ce[7],Ue=ce[8],Ge=ce[9],Xe=ce[10],Ye=ce[11],nt=ce[12],$e=ce[13],qe=ce[14],st=ce[15];pe(oe[0].normal.array,ge-he,Ne-xe,Ye-Ue),oe[0].distance=-(st-nt),oe[0].normalize(),pe(oe[1].normal.array,ge+he,Ne+xe,Ye+Ue),oe[1].distance=-(st+nt),oe[1].normalize(),pe(oe[2].normal.array,ge+ie,Ne+Me,Ye+Ge),oe[2].distance=-(st+$e),oe[2].normalize(),pe(oe[3].normal.array,ge-ie,Ne-Me,Ye-Ge),oe[3].distance=-(st-$e),oe[3].normalize(),pe(oe[4].normal.array,ge-ue,Ne-Be,Ye-Xe),oe[4].distance=-(st-qe),oe[4].normalize(),pe(oe[5].normal.array,ge+ue,Ne+Be,Ye+Xe),oe[5].distance=-(st+qe),oe[5].normalize();var rt=this.boundingBox;if(st===0){var ct=Me/he,tt=-qe/(Xe-1),dt=-qe/(Xe+1),At=-dt/Me,mt=-tt/Me;rt.min.set(-At*ct,-At,dt),rt.max.set(At*ct,At,tt);var ht=this.vertices;pe(ht[0],-At*ct,-At,dt),pe(ht[1],-At*ct,At,dt),pe(ht[2],At*ct,-At,dt),pe(ht[3],At*ct,At,dt),pe(ht[4],-mt*ct,-mt,tt),pe(ht[5],-mt*ct,mt,tt),pe(ht[6],mt*ct,-mt,tt),pe(ht[7],mt*ct,mt,tt)}else{var vt=(-1-nt)/he,Wt=(1-nt)/he,Jt=(1-$e)/Me,en=(-1-$e)/Me,mn=(-1-qe)/Xe,Ot=(1-qe)/Xe;rt.min.set(Math.min(vt,Wt),Math.min(en,Jt),Math.min(Ot,mn)),rt.max.set(Math.max(Wt,vt),Math.max(Jt,en),Math.max(mn,Ot));var an=rt.min.array,tn=rt.max.array,ht=this.vertices;pe(ht[0],an[0],an[1],an[2]),pe(ht[1],an[0],tn[1],an[2]),pe(ht[2],tn[0],an[1],an[2]),pe(ht[3],tn[0],tn[1],an[2]),pe(ht[4],an[0],an[1],tn[2]),pe(ht[5],an[0],tn[1],tn[2]),pe(ht[6],tn[0],an[1],tn[2]),pe(ht[7],tn[0],tn[1],tn[2])}},getTransformedBoundingBox:function(){var le=De.create();return function(oe,ce){var he=this.vertices,ie=ce.array,ue=oe.min,ge=oe.max,xe=ue.array,Me=ge.array,Be=he[0];Pe(le,Be,ie),Ee(xe,le),Ee(Me,le);for(var Ne=1;Ne<8;Ne++)Be=he[Ne],Pe(le,Be,ie),xe[0]=de(le[0],xe[0]),xe[1]=de(le[1],xe[1]),xe[2]=de(le[2],xe[2]),Me[0]=ee(le[0],Me[0]),Me[1]=ee(le[1],Me[1]),Me[2]=ee(le[2],Me[2]);return ue._dirty=!0,ge._dirty=!0,oe}}()},Re.a=ne},function(Ve,Re){var be=function(){this.head=null,this.tail=null,this._len=0},Fe=be.prototype;Fe.insert=function(De){var pe=new Ce(De);return this.insertEntry(pe),pe},Fe.insertEntry=function(De){this.head?(this.tail.next=De,De.prev=this.tail,De.next=null,this.tail=De):this.head=this.tail=De,this._len++},Fe.remove=function(De){var pe=De.prev,Ee=De.next;pe?pe.next=Ee:this.head=Ee,Ee?Ee.prev=pe:this.tail=pe,De.next=De.prev=null,this._len--},Fe.len=function(){return this._len},Fe.clear=function(){this.head=this.tail=null,this._len=0};var Ce=function(De){this.value=De,this.next,this.prev},ve=function(De){this._list=new be,this._map={},this._maxSize=De||10,this._lastRemovedEntry=null},ye=ve.prototype;ye.put=function(De,pe){var Ee=this._list,Pe=this._map,de=null;if(Pe[De]==null){var ee=Ee.len(),ne=this._lastRemovedEntry;if(ee>=this._maxSize&&ee>0){var le=Ee.head;Ee.remove(le),delete Pe[le.key],de=le.value,this._lastRemovedEntry=le}ne?ne.value=pe:ne=new Ce(pe),ne.key=De,Ee.insertEntry(ne),Pe[De]=ne}return de},ye.get=function(De){var pe=this._map[De],Ee=this._list;if(pe!=null)return pe!==Ee.tail&&(Ee.remove(pe),Ee.insertEntry(pe)),pe.value},ye.clear=function(){this._list.clear(),this._map={}};var we=ve;Ve.exports=we},function(Ve,Re,be){"use strict";var Fe=be(5),Ce=be(25),ve=be(102),ye=be(55),we=be(56),De=be(29),pe=be(104),Ee=be(105),Pe={loadTexture:function(de,ee,ne,le){var oe;if(typeof ee=="function"?(ne=ee,le=ne,ee={}):ee=ee||{},typeof de=="string"){if(de.match(/.hdr$/)||ee.fileType==="hdr")return oe=new Fe.a({width:0,height:0,sRGB:!1}),Pe._fetchTexture(de,function(ce){Ee.a.parseRGBE(ce,oe,ee.exposure),oe.dirty(),ne&&ne(oe)},le),oe;de.match(/.dds$/)||ee.fileType==="dds"?(oe=new Fe.a({width:0,height:0}),Pe._fetchTexture(de,function(ce){pe.a.parse(ce,oe),oe.dirty(),ne&&ne(oe)},le)):(oe=new Fe.a,oe.load(de),oe.success(ne),oe.error(le))}else if(typeof de=="object"&&typeof de.px!="undefined"){var oe=new Ce.a;oe.load(de),oe.success(ne),oe.error(le)}return oe},loadPanorama:function(de,ee,ne,le,oe,ce){var he=this;typeof le=="function"?(oe=le,ce=oe,le={}):le=le||{},Pe.loadTexture(ee,le,function(ie){ie.flipY=le.flipY||!1,he.panoramaToCubeMap(de,ie,ne,le),ie.dispose(de),oe&&oe(ne)},ce)},panoramaToCubeMap:function(de,ee,ne,le){var oe=new ye.a,ce=new we.a({scene:new De.a});return ce.material.set("diffuseMap",ee),le=le||{},le.encodeRGBM&&ce.material.define("fragment","RGBM_ENCODE"),ne.sRGB=ee.sRGB,oe.texture=ne,oe.render(de,ce.scene),oe.texture=null,oe.dispose(de),ne},heightToNormal:function(de,ee){var ne=document.createElement("canvas"),le=ne.width=de.width,oe=ne.height=de.height,ce=ne.getContext("2d");ce.drawImage(de,0,0,le,oe),ee=ee||!1;for(var he=ce.getImageData(0,0,le,oe),ie=ce.createImageData(le,oe),ue=0;ue<he.data.length;ue+=4){if(ee){var ge=he.data[ue],xe=he.data[ue+1],Me=he.data[ue+2],Be=Math.abs(ge-xe)+Math.abs(xe-Me);if(Be>20)return console.warn("Given image is not a height map"),de}var Ne,Ue,Ge,Xe;ue%(le*4)===0?(Ne=he.data[ue],Ge=he.data[ue+4]):ue%(le*4)===(le-1)*4?(Ne=he.data[ue-4],Ge=he.data[ue]):(Ne=he.data[ue-4],Ge=he.data[ue+4]),ue<le*4?(Ue=he.data[ue],Xe=he.data[ue+le*4]):ue>le*(oe-1)*4?(Ue=he.data[ue-le*4],Xe=he.data[ue]):(Ue=he.data[ue-le*4],Xe=he.data[ue+le*4]),ie.data[ue]=Ne-Ge+127,ie.data[ue+1]=Ue-Xe+127,ie.data[ue+2]=255,ie.data[ue+3]=255}return ce.putImageData(ie,0,0),ne},isHeightImage:function(de,ee,ne){if(!de||!de.width||!de.height)return!1;var le=document.createElement("canvas"),oe=le.getContext("2d"),ce=ee||32;ne=ne||20,le.width=le.height=ce,oe.drawImage(de,0,0,ce,ce);for(var he=oe.getImageData(0,0,ce,ce),ie=0;ie<he.data.length;ie+=4){var ue=he.data[ie],ge=he.data[ie+1],xe=he.data[ie+2],Me=Math.abs(ue-ge)+Math.abs(ge-xe);if(Me>ne)return!1}return!0},_fetchTexture:function(de,ee,ne){ve.a.get({url:de,responseType:"arraybuffer",onload:ee,onerror:ne})},createChessboard:function(de,ee,ne,le){de=de||512,ee=ee||64,ne=ne||"black",le=le||"white";var oe=Math.ceil(de/ee),ce=document.createElement("canvas");ce.width=de,ce.height=de;var he=ce.getContext("2d");he.fillStyle=le,he.fillRect(0,0,de,de),he.fillStyle=ne;for(var ie=0;ie<oe;ie++)for(var ue=0;ue<oe;ue++){var ge=ue%2?ie%2:ie%2-1;ge&&he.fillRect(ie*ee,ue*ee,ee,ee)}var xe=new Fe.a({image:ce,anisotropic:8});return xe},createBlank:function(de){var ee=document.createElement("canvas");ee.width=1,ee.height=1;var ne=ee.getContext("2d");ne.fillStyle=de,ne.fillRect(0,0,1,1);var le=new Fe.a({image:ee});return le}};Re.a=Pe},function(Ve,Re,be){"use strict";var Fe=be(8),Ce=be(4),ve=be(36),ye=be(10),we=["px","nx","py","ny","pz","nz"],De=Fe.a.extend(function(){var pe={position:new Ce.a,far:1e3,near:.1,texture:null,shadowMapPass:null},Ee=pe._cameras={px:new ve.a({fov:90}),nx:new ve.a({fov:90}),py:new ve.a({fov:90}),ny:new ve.a({fov:90}),pz:new ve.a({fov:90}),nz:new ve.a({fov:90})};return Ee.px.lookAt(Ce.a.POSITIVE_X,Ce.a.NEGATIVE_Y),Ee.nx.lookAt(Ce.a.NEGATIVE_X,Ce.a.NEGATIVE_Y),Ee.py.lookAt(Ce.a.POSITIVE_Y,Ce.a.POSITIVE_Z),Ee.ny.lookAt(Ce.a.NEGATIVE_Y,Ce.a.NEGATIVE_Z),Ee.pz.lookAt(Ce.a.POSITIVE_Z,Ce.a.NEGATIVE_Y),Ee.nz.lookAt(Ce.a.NEGATIVE_Z,Ce.a.NEGATIVE_Y),pe._frameBuffer=new ye.a,pe},{getCamera:function(pe){return this._cameras[pe]},render:function(pe,Ee,Pe){var de=pe.gl;Pe||Ee.update();for(var ee=this.texture.width,ne=2*Math.atan(ee/(ee-.5))/Math.PI*180,le=0;le<6;le++){var oe=we[le],ce=this._cameras[oe];if(Ce.a.copy(ce.position,this.position),ce.far=this.far,ce.near=this.near,ce.fov=ne,this.shadowMapPass){ce.update();var he=Ee.getBoundingBox();he.applyTransform(ce.viewMatrix),Ee.viewBoundingBoxLastFrame.copy(he),this.shadowMapPass.render(pe,Ee,ce,!0)}this._frameBuffer.attach(this.texture,de.COLOR_ATTACHMENT0,de.TEXTURE_CUBE_MAP_POSITIVE_X+le),this._frameBuffer.bind(pe),pe.render(Ee,ce,!0),this._frameBuffer.unbind(pe)}},dispose:function(pe){this._frameBuffer.dispose(pe)}});Re.a=De},function(Ve,Re,be){"use strict";var Fe=be(24),Ce=be(68),ve=be(7),ye=be(17),we=be(103);ve.a.import(we.a);var De=Fe.a.extend(function(){var pe=new ve.a(ve.a.source("clay.basic.vertex"),ve.a.source("clay.basic.fragment")),Ee=new ye.a({shader:pe,depthMask:!1});return Ee.enableTexture("diffuseMap"),{scene:null,geometry:new Ce.a({widthSegments:30,heightSegments:30}),material:Ee,environmentMap:null,culling:!1}},function(){var pe=this.scene;pe&&this.attachScene(pe),this.environmentMap&&this.setEnvironmentMap(this.environmentMap)},{attachScene:function(pe){this.scene&&this.detachScene(),pe.skydome=this,this.scene=pe,pe.on("beforerender",this._beforeRenderScene,this)},detachScene:function(){this.scene&&(this.scene.off("beforerender",this._beforeRenderScene),this.scene.skydome=null),this.scene=null},_beforeRenderScene:function(pe,Ee,Pe){this.position.copy(Pe.getWorldPosition()),this.update(),pe.renderPass([this],Pe)},setEnvironmentMap:function(pe){this.material.set("diffuseMap",pe)},getEnvironmentMap:function(){return this.material.get("diffuseMap")},dispose:function(pe){this.detachScene(),this.geometry.dispose(pe)}});Re.a=De},function(Ve,Re,be){"use strict";var Fe=be(24),Ce=be(69),ve=be(7),ye=be(17),we=be(110);ve.a.import(we.a);var De=Fe.a.extend(function(){var pe=new ve.a({vertex:ve.a.source("clay.skybox.vertex"),fragment:ve.a.source("clay.skybox.fragment")}),Ee=new ye.a({shader:pe,depthMask:!1});return{scene:null,geometry:new Ce.a,material:Ee,environmentMap:null,culling:!1}},function(){var pe=this.scene;pe&&this.attachScene(pe),this.environmentMap&&this.setEnvironmentMap(this.environmentMap)},{attachScene:function(pe){this.scene&&this.detachScene(),pe.skybox=this,this.scene=pe,pe.on("beforerender",this._beforeRenderScene,this)},detachScene:function(){this.scene&&(this.scene.off("beforerender",this._beforeRenderScene),this.scene.skybox=null),this.scene=null},dispose:function(pe){this.detachScene(),this.geometry.dispose(pe)},setEnvironmentMap:function(pe){this.material.set("environmentMap",pe)},getEnvironmentMap:function(){return this.material.get("environmentMap")},_beforeRenderScene:function(pe,Ee,Pe){this.renderSkybox(pe,Pe)},renderSkybox:function(pe,Ee){this.position.copy(Ee.getWorldPosition()),this.update(),pe.gl.disable(pe.gl.BLEND),this.material.get("lod")>0?this.material.define("fragment","LOD"):this.material.undefine("fragment","LOD"),pe.renderPass([this],Ee)}});Re.a=De},function(Ve,Re,be){"use strict";var Fe=be(2),Ce=be(143),ve=be(144);Fe.a.Shader.import(ve.a),Re.a=Fe.a.Mesh.extend(function(){var ye=new Ce.a({dynamic:!0}),we=new Fe.a.Material({shader:Fe.a.createShader("ecgl.labels"),transparent:!0,depthMask:!1});return{geometry:ye,material:we,culling:!1,castShadow:!1,ignorePicking:!0}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(186),we=be(22),De=be(3),pe=be(1),Ee=be.n(pe),Pe=be(60),de=be(61),ee=be(40),ne=Ee.a.vec3;ve.a.Shader.import(ee.a);function le(oe){this.rootNode=new ve.a.Node,this._triangulationResults={},this._shadersMap=ve.a.COMMON_SHADERS.reduce(function(he,ie){return he[ie]=ve.a.createShader("ecgl."+ie),he},{}),this._linesShader=ve.a.createShader("ecgl.meshLines3D");var ce={};ve.a.COMMON_SHADERS.forEach(function(he){ce[he]=new ve.a.Material({shader:ve.a.createShader("ecgl."+he)})}),this._groundMaterials=ce,this._groundMesh=new ve.a.Mesh({geometry:new ve.a.PlaneGeometry({dynamic:!0}),castShadow:!1,renderNormal:!0,$ignorePicking:!0}),this._groundMesh.rotation.rotateX(-Math.PI/2),this._labelsBuilder=new de.a(512,512,oe),this._labelsBuilder.getMesh().renderOrder=100,this._labelsBuilder.getMesh().material.depthTest=!1,this.rootNode.add(this._labelsBuilder.getMesh()),this._initMeshes(),this._api=oe}le.prototype={constructor:le,extrudeY:!0,update:function(oe,ce,he,ie,ue){var ge=oe.getData();ie==null&&(ie=0),ue==null&&(ue=ge.count()),this._startIndex=ie,this._endIndex=ue-1,this._triangulation(oe,ie,ue);var xe=this._getShader(oe.get("shading"));this._prepareMesh(oe,xe,he,ie,ue),this.rootNode.updateWorldTransform(),this._updateRegionMesh(oe,he,ie,ue);var Me=oe.coordinateSystem;Me.type==="geo3D"&&this._updateGroundPlane(oe,Me,he);var Be=this;this._labelsBuilder.updateData(ge,ie,ue),this._labelsBuilder.getLabelPosition=function(Ne,Ue,Ge){var Xe=ge.getName(Ne),Ye,nt=Ge;if(Me.type==="geo3D"){var $e=Me.getRegion(Xe);return Ye=$e.center,Me.dataToPoint([Ye[0],Ye[1],nt])}else var qe=Be._triangulationResults[Ne-Be._startIndex],Ye=Be.extrudeY?[(qe.max[0]+qe.min[0])/2,qe.max[1]+nt,(qe.max[2]+qe.min[2])/2]:[(qe.max[0]+qe.min[0])/2,(qe.max[1]+qe.min[1])/2,qe.max[2]+nt]},this._data=ge,this._labelsBuilder.updateLabels(),this._updateDebugWireframe(oe),this._lastHoverDataIndex=0},_initMeshes:function(){this.rootNode.removeAll();var oe=this;function ce(){var ue=new ve.a.Mesh({name:"Polygon",material:new ve.a.Material({shader:oe._shadersMap.lambert}),culling:!1,geometry:new ve.a.Geometry({sortTriangles:!0,dynamic:!0}),ignorePicking:!0,renderNormal:!0});return Ce.a.util.extend(ue.geometry,Pe.a),ue}var he=ce(),ie=new ve.a.Mesh({material:new ve.a.Material({shader:this._linesShader}),castShadow:!1,ignorePicking:!0,$ignorePicking:!0,geometry:new we.a({useNativeLine:!1})});this.rootNode.add(he),this.rootNode.add(ie),he.material.define("both","VERTEX_COLOR"),he.material.define("fragment","DOUBLE_SIDED"),this._polygonMesh=he,this._linesMesh=ie,this.rootNode.add(this._groundMesh)},_getShader:function(oe){var ce=this._shadersMap[oe];return ce||(console.warn("Unkown shading "+oe),ce=this._shadersMap.lambert),ce.__shading=oe,ce},_prepareMesh:function(oe,ce,he,ie,ue){for(var ge=0,xe=0,Me=0,Be=0,Ne=ie;Ne<ue;Ne++){var Ue=this._getRegionPolygonInfo(Ne),Ge=this._getRegionLinesInfo(Ne,oe,this._linesMesh.geometry);ge+=Ue.vertexCount,xe+=Ue.triangleCount,Me+=Ge.vertexCount,Be+=Ge.triangleCount}var Xe=this._polygonMesh,Ye=Xe.geometry;["position","normal","texcoord0","color"].forEach(function(nt){Ye.attributes[nt].init(ge)}),Ye.indices=ge>65535?new Uint32Array(xe*3):new Uint16Array(xe*3),Xe.material.shader!==ce&&Xe.material.attachShader(ce,!0),ve.a.setMaterialFromModel(ce.__shading,Xe.material,oe,he),Me>0&&(this._linesMesh.geometry.resetOffset(),this._linesMesh.geometry.setVertexCount(Me),this._linesMesh.geometry.setTriangleCount(Be)),this._dataIndexOfVertex=new Uint32Array(ge),this._vertexRangeOfDataIndex=new Uint32Array((ue-ie)*2)},_updateRegionMesh:function(oe,ce,he,ie){for(var ue=oe.getData(),ge=0,xe=0,Me=!1,At=this._polygonMesh,Be=this._linesMesh,Ne=he;Ne<ie;Ne++){var Ue=oe.getRegionModel(Ne),Ge=Ue.getModel("itemStyle"),Xe=Ge.get("color"),Ye=De.a.firstNotNull(Ge.get("opacity"),1),nt=ue.getItemVisual(Ne,"color",!0);nt!=null&&ue.hasValue(Ne)&&(Xe=nt),ue.setItemVisual(Ne,"color",Xe),ue.setItemVisual(Ne,"opacity",Ye),Xe=ve.a.parseColor(Xe);var $e=ve.a.parseColor(Ge.get("borderColor"));Xe[3]*=Ye,$e[3]*=Ye;var qe=Xe[3]<.99;At.material.set("color",[1,1,1,1]),Me=Me||qe;for(var st=De.a.firstNotNull(Ue.get("height",!0),oe.get("regionHeight")),rt=this._updatePolygonGeometry(oe,At.geometry,Ne,st,ge,xe,Xe),ct=ge;ct<rt.vertexOffset;ct++)this._dataIndexOfVertex[ct]=Ne;this._vertexRangeOfDataIndex[(Ne-he)*2]=ge,this._vertexRangeOfDataIndex[(Ne-he)*2+1]=rt.vertexOffset,ge=rt.vertexOffset,xe=rt.triangleOffset;var tt=Ge.get("borderWidth"),dt=tt>0;dt&&(tt*=ce.getDevicePixelRatio(),this._updateLinesGeometry(Be.geometry,oe,Ne,st,tt,oe.coordinateSystem.transform)),Be.invisible=!dt,Be.material.set({color:$e})}var At=this._polygonMesh;At.material.transparent=Me,At.material.depthMask=!Me,At.geometry.updateBoundingBox(),At.material.get("normalMap")&&At.geometry.generateTangents(),At.seriesIndex=oe.seriesIndex,At.on("mousemove",this._onmousemove,this),At.on("mouseout",this._onmouseout,this)},_updateDebugWireframe:function(oe){var ce=oe.getModel("debug.wireframe");if(ce.get("show")){var he=ve.a.parseColor(ce.get("lineStyle.color")||"rgba(0,0,0,0.5)"),ie=De.a.firstNotNull(ce.get("lineStyle.width"),1),ue=this._polygonMesh;ue.geometry.generateBarycentric(),ue.material.define("both","WIREFRAME_TRIANGLE"),ue.material.set("wireframeLineColor",he),ue.material.set("wireframeLineWidth",ie)}},_onmousemove:function(oe){var ce=this._dataIndexOfVertex[oe.triangle[0]];ce==null&&(ce=-1),ce!==this._lastHoverDataIndex&&(this.downplay(this._lastHoverDataIndex),this.highlight(ce)),this._lastHoverDataIndex=ce,this._polygonMesh.dataIndex=ce},_onmouseover:function(oe){if(oe.target){var ce=oe.target.eventData?this._data.indexOfName(oe.target.eventData.name):oe.target.dataIndex;ce!=null&&(this.highlight(ce),this._labelsBuilder.updateLabels([ce]))}},_onmouseout:function(oe){oe.target&&(this.downplay(this._lastHoverDataIndex),this._lastHoverDataIndex=-1,this._polygonMesh.dataIndex=-1)},_updateGroundPlane:function(oe,ce,he){var ie=oe.getModel("groundPlane",oe);if(this._groundMesh.invisible=!ie.get("show",!0),!this._groundMesh.invisible){var ue=oe.get("shading"),ge=this._groundMaterials[ue];ge||(console.warn("Unkown shading "+ue),ge=this._groundMaterials.lambert),ve.a.setMaterialFromModel(ue,ge,ie,he),ge.get("normalMap")&&this._groundMesh.geometry.generateTangents(),this._groundMesh.material=ge,this._groundMesh.material.set("color",ve.a.parseColor(ie.get("color"))),this._groundMesh.scale.set(ce.size[0],ce.size[2],1)}},_triangulation:function(oe,ce,he){this._triangulationResults=[];for(var ie=[1/0,1/0,1/0],ue=[-1/0,-1/0,-1/0],ge=oe.coordinateSystem,xe=ce;xe<he;xe++){for(var Me=[],Be=oe.getRegionPolygonCoords(xe),Ne=0;Ne<Be.length;Ne++){var Ue=Be[Ne].exterior,Ge=Be[Ne].interiors,Xe=[],Ye=[];if(!(Ue.length<3)){for(var nt=0,$e=0;$e<Ue.length;$e++){var qe=Ue[$e];Xe[nt++]=qe[0],Xe[nt++]=qe[1]}for(var $e=0;$e<Ge.length;$e++)if(!(Ge[$e].length<3)){for(var st=Xe.length/2,rt=0;rt<Ge[$e].length;rt++){var qe=Ge[$e][rt];Xe.push(qe[0]),Xe.push(qe[1])}Ye.push(st)}for(var ct=Object(ye.a)(Xe,Ye),tt=new Float64Array(Xe.length/2*3),dt=[],At=[1/0,1/0,1/0],mt=[-1/0,-1/0,-1/0],ht=0,$e=0;$e<Xe.length;)ne.set(dt,Xe[$e++],0,Xe[$e++]),ge&&ge.transform&&ne.transformMat4(dt,dt,ge.transform),ne.min(At,At,dt),ne.max(mt,mt,dt),tt[ht++]=dt[0],tt[ht++]=dt[1],tt[ht++]=dt[2];ne.min(ie,ie,At),ne.max(ue,ue,mt),Me.push({points:tt,indices:ct,min:At,max:mt})}}this._triangulationResults.push(Me)}this._geoBoundingBox=[ie,ue]},_getRegionPolygonInfo:function(oe){for(var ce=this._triangulationResults[oe-this._startIndex],he=0,ie=0,ue=0;ue<ce.length;ue++)he+=ce[ue].points.length/3,ie+=ce[ue].indices.length/3;var ge=he*2+he*4,xe=ie*2+he*2;return{vertexCount:ge,triangleCount:xe}},_updatePolygonGeometry:function(oe,ce,he,ie,ue,ge,xe){var Me=oe.get("projectUVOnGround"),Be=ce.attributes.position,Ne=ce.attributes.normal,Ue=ce.attributes.texcoord0,Ge=ce.attributes.color,Xe=this._triangulationResults[he-this._startIndex],Ye=Ge.value&&xe,nt=ce.indices,$e=this.extrudeY?1:2,qe=this.extrudeY?2:1,st=[this.rootNode.worldTransform.x.len(),this.rootNode.worldTransform.y.len(),this.rootNode.worldTransform.z.len()],rt=ne.mul([],this._geoBoundingBox[0],st),ct=ne.mul([],this._geoBoundingBox[1],st),tt=Math.max(ct[0]-rt[0],ct[2]-rt[2]);function dt(Nt,wt,rn){for(var On=Nt.points,zn=On.length,Gn=[],nr=[],Xn=0;Xn<zn;Xn+=3)Gn[0]=On[Xn],Gn[$e]=wt,Gn[qe]=On[Xn+2],nr[0]=(On[Xn]*st[0]-rt[0])/tt,nr[1]=(On[Xn+2]*st[qe]-rt[2])/tt,Be.set(ue,Gn),Ye&&Ge.set(ue,xe),Ue.set(ue++,nr)}function At(Nt,wt,rn){var On=ue;dt(Nt,wt,rn);for(var zn=0;zn<Nt.indices.length;zn++)nt[ge*3+zn]=Nt.indices[zn]+On;ge+=Nt.indices.length/3}for(var mt=this.extrudeY?[0,1,0]:[0,0,1],ht=ne.negate([],mt),vt=0;vt<Xe.length;vt++){var Wt=ue,Jt=Xe[vt];At(Jt,0,0),At(Jt,ie,0);for(var en=Jt.points.length/3,mn=0;mn<en;mn++)Ne.set(Wt+mn,ht),Ne.set(Wt+mn+en,mt);for(var Ot=[0,3,1,1,3,2],an=[[],[],[],[]],tn=[],Dn=[],Tn=[],sn=[],dn=0,mn=0;mn<en;mn++){for(var Kt=(mn+1)%en,Tt=(Jt.points[Kt*3]-Jt.points[mn*3])*st[0],yt=(Jt.points[Kt*3+2]-Jt.points[mn*3+2])*st[qe],Gt=Math.sqrt(Tt*Tt+yt*yt),gt=0;gt<4;gt++){var St=gt===0||gt===3,Qt=(St?mn:Kt)*3;an[gt][0]=Jt.points[Qt],an[gt][$e]=gt>1?ie:0,an[gt][qe]=Jt.points[Qt+2],Be.set(ue+gt,an[gt]),Me?(sn[0]=(Jt.points[Qt]*st[0]-rt[0])/tt,sn[1]=(Jt.points[Qt+2]*st[qe]-rt[qe])/tt):(sn[0]=(St?dn:dn+Gt)/tt,sn[1]=(an[gt][$e]*st[$e]-rt[$e])/tt),Ue.set(ue+gt,sn)}ne.sub(tn,an[1],an[0]),ne.sub(Dn,an[3],an[0]),ne.cross(Tn,tn,Dn),ne.normalize(Tn,Tn);for(var gt=0;gt<4;gt++)Ne.set(ue+gt,Tn),Ye&&Ge.set(ue+gt,xe);for(var gt=0;gt<6;gt++)nt[ge*3+gt]=Ot[gt]+ue;ue+=4,ge+=2,dn+=Gt}}return ce.dirty(),{vertexOffset:ue,triangleOffset:ge}},_getRegionLinesInfo:function(oe,ce,he){var ie=0,ue=0,ge=ce.getRegionModel(oe),xe=ge.getModel("itemStyle"),Me=xe.get("borderWidth");if(Me>0){var Be=ce.getRegionPolygonCoords(oe);Be.forEach(function(Ne){var Ue=Ne.exterior,Ge=Ne.interiors;ie+=he.getPolylineVertexCount(Ue),ue+=he.getPolylineTriangleCount(Ue);for(var Xe=0;Xe<Ge.length;Xe++)ie+=he.getPolylineVertexCount(Ge[Xe]),ue+=he.getPolylineTriangleCount(Ge[Xe])},this)}return{vertexCount:ie,triangleCount:ue}},_updateLinesGeometry:function(oe,ce,he,ie,ue,ge){function xe(Ne){for(var Ue=new Float64Array(Ne.length*3),Ge=0,Xe=[],Ye=0;Ye<Ne.length;Ye++)Xe[0]=Ne[Ye][0],Xe[1]=ie+.1,Xe[2]=Ne[Ye][1],ge&&ne.transformMat4(Xe,Xe,ge),Ue[Ge++]=Xe[0],Ue[Ge++]=Xe[1],Ue[Ge++]=Xe[2];return Ue}var Me=[1,1,1,1],Be=ce.getRegionPolygonCoords(he);Be.forEach(function(Ne){var Ue=Ne.exterior,Ge=Ne.interiors;oe.addPolyline(xe(Ue),Me,ue);for(var Xe=0;Xe<Ge.length;Xe++)oe.addPolyline(xe(Ge[Xe]),Me,ue)})},highlight:function(oe){var ce=this._data;if(ce){var he=ce.getItemModel(oe),ie=he.getModel("emphasis.itemStyle"),ue=ie.get("color"),ge=De.a.firstNotNull(ie.get("opacity"),ce.getItemVisual(oe,"opacity"),1);if(ue==null){var xe=ce.getItemVisual(oe,"color");ue=Ce.a.color.lift(xe,-.4)}ge==null&&(ge=ce.getItemVisual(oe,"opacity"));var Me=ve.a.parseColor(ue);Me[3]*=ge,this._setColorOfDataIndex(ce,oe,Me)}},downplay:function(oe){var ce=this._data;if(ce){var he=ce.getItemVisual(oe,"color"),ie=De.a.firstNotNull(ce.getItemVisual(oe,"opacity"),1),ue=ve.a.parseColor(he);ue[3]*=ie,this._setColorOfDataIndex(ce,oe,ue)}},_setColorOfDataIndex:function(oe,ce,he){if(!(ce<this._startIndex&&ce>this._endIndex)){ce-=this._startIndex;for(var ie=this._vertexRangeOfDataIndex[ce*2];ie<this._vertexRangeOfDataIndex[ce*2+1];ie++)this._polygonMesh.geometry.attributes.color.set(ie,he);this._polygonMesh.geometry.dirty(),this._api.getZr().refresh()}}},Re.a=le},function(Ve,Re,be){"use strict";var Fe=be(81),Ce=be(1),ve=be.n(Ce),ye=ve.a.vec3,we=ye.create(),De=ye.create(),pe=ye.create();Re.a={needsSortTriangles:function(){return this.indices&&this.sortTriangles},needsSortTrianglesProgressively:function(){return this.needsSortTriangles()&&this.triangleCount>=2e4},doSortTriangles:function(Ee,Pe){var de=this.indices;if(Pe===0){var ee=this.attributes.position,Ee=Ee.array;(!this._triangleZList||this._triangleZList.length!==this.triangleCount)&&(this._triangleZList=new Float32Array(this.triangleCount),this._sortedTriangleIndices=new Uint32Array(this.triangleCount),this._indicesTmp=new de.constructor(de.length),this._triangleZListTmp=new Float32Array(this.triangleCount));for(var ne=0,le,oe=0;oe<de.length;){ee.get(de[oe++],we),ee.get(de[oe++],De),ee.get(de[oe++],pe);var ce=ye.sqrDist(we,Ee),he=ye.sqrDist(De,Ee),ie=ye.sqrDist(pe,Ee),ue=Math.min(ce,he);ue=Math.min(ue,ie),oe===3?(le=ue,ue=0):ue=ue-le,this._triangleZList[ne++]=ue}}for(var ge=this._sortedTriangleIndices,oe=0;oe<ge.length;oe++)ge[oe]=oe;if(this.triangleCount<2e4)Pe===0&&this._simpleSort(!0);else for(var oe=0;oe<3;oe++)this._progressiveQuickSort(Pe*3+oe);for(var xe=this._indicesTmp,Me=this._triangleZListTmp,Be=this._triangleZList,oe=0;oe<this.triangleCount;oe++){var Ne=ge[oe]*3,Ue=oe*3;xe[Ue++]=de[Ne++],xe[Ue++]=de[Ne++],xe[Ue]=de[Ne],Me[oe]=Be[ge[oe]]}var Ge=this._indicesTmp;this._indicesTmp=this.indices,this.indices=Ge;var Ge=this._triangleZListTmp;this._triangleZListTmp=this._triangleZList,this._triangleZList=Ge,this.dirtyIndices()},_simpleSort:function(Ee){var Pe=this._triangleZList,de=this._sortedTriangleIndices;function ee(ne,le){return Pe[le]-Pe[ne]}Ee?Array.prototype.sort.call(de,ee):Fe.a.sort(de,ee,0,de.length-1)},_progressiveQuickSort:function(Ee){var Pe=this._triangleZList,de=this._sortedTriangleIndices;this._quickSort=this._quickSort||new Fe.a,this._quickSort.step(de,function(ee,ne){return Pe[ne]-Pe[ee]},Ee)}}},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(73),ye=be(58),we=be(3),De=1,pe=2;function Ee(Pe,de,ee){this._labelsMesh=new ye.a,this._labelTextureSurface=new ve.a({width:512,height:512,devicePixelRatio:ee.getDevicePixelRatio(),onupdate:function(){ee.getZr().refresh()}}),this._api=ee,this._labelsMesh.material.set("textureAtlas",this._labelTextureSurface.getTexture())}Ee.prototype.getLabelPosition=function(Pe,de,ee){return[0,0,0]},Ee.prototype.getLabelDistance=function(Pe,de,ee){return 0},Ee.prototype.getMesh=function(){return this._labelsMesh},Ee.prototype.updateData=function(Pe,de,ee){de==null&&(de=0),ee==null&&(ee=Pe.count()),(!this._labelsVisibilitiesBits||this._labelsVisibilitiesBits.length!==ee-de)&&(this._labelsVisibilitiesBits=new Uint8Array(ee-de));for(var ne=["label","show"],le=["emphasis","label","show"],oe=de;oe<ee;oe++){var ce=Pe.getItemModel(oe),he=ce.get(ne),ie=ce.get(le);ie==null&&(ie=he);var ue=(he?De:0)|(ie?pe:0);this._labelsVisibilitiesBits[oe-de]=ue}this._start=de,this._end=ee,this._data=Pe},Ee.prototype.updateLabels=function(Pe){if(this._data){Pe=Pe||[];for(var de=Pe.length>0,ee={},ne=0;ne<Pe.length;ne++)ee[Pe[ne]]=!0;this._labelsMesh.geometry.convertToDynamicArray(!0),this._labelTextureSurface.clear();for(var le=["label"],oe=["emphasis","label"],ce=this._data.hostModel,he=this._data,ie=ce.getModel(le),ue=ce.getModel(oe,ie),ge={left:"right",right:"left",top:"center",bottom:"center"},xe={left:"middle",right:"middle",top:"bottom",bottom:"top"},Me=this._start;Me<this._end;Me++){var Be=!1;de&&ee[Me]&&(Be=!0);var Ne=this._labelsVisibilitiesBits[Me-this._start]&(Be?pe:De);if(Ne){var Ue=he.getItemModel(Me),Ge=Ue.getModel(Be?oe:le,Be?ue:ie),Xe=Ge.get("distance")||0,Ye=Ge.get("position"),nt=Ge.getModel("textStyle"),$e=this._api.getDevicePixelRatio(),qe=ce.getFormattedLabel(Me,Be?"emphasis":"normal");if(qe==null||qe==="")return;var st=new Ce.a.graphic.Text;Ce.a.graphic.setTextStyle(st.style,nt,{text:qe,textFill:nt.get("color")||he.getItemVisual(Me,"color")||"#000",textAlign:"left",textVerticalAlign:"top",opacity:we.a.firstNotNull(nt.get("opacity"),he.getItemVisual(Me,"opacity"),1)});var rt=st.getBoundingRect(),ct=1.2;rt.height*=ct;var tt=this._labelTextureSurface.add(st),dt=ge[Ye]||"center",At=xe[Ye]||"bottom";this._labelsMesh.geometry.addSprite(this.getLabelPosition(Me,Ye,Xe),[rt.width*$e,rt.height*$e],tt,dt,At,this.getLabelDistance(Me,Ye,Xe)*$e)}}this._labelsMesh.material.set("uvScale",this._labelTextureSurface.getCoordsScale()),this._labelTextureSurface.getZr().refreshImmediately(),this._labelsMesh.geometry.convertToTypedArray(),this._labelsMesh.geometry.dirty()}},Re.a=Ee},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(216),we=be(217),De=be(61),pe=be(9),Ee=be(3),Pe=20,de=-10;function ee(le,oe){return le&&oe&&le[0]===oe[0]&&le[1]===oe[1]}function ne(le,oe){this.rootNode=new ve.a.Node,this.is2D=le,this._labelsBuilder=new De.a(256,256,oe),this._labelsBuilder.getMesh().renderOrder=100,this.rootNode.add(this._labelsBuilder.getMesh()),this._api=oe,this._spriteImageCanvas=document.createElement("canvas"),this._startDataIndex=0,this._endDataIndex=0,this._sizeScale=1}ne.prototype={constructor:ne,highlightOnMouseover:!0,update:function(le,oe,ce,he,ie){var ue=this._prevMesh;this._prevMesh=this._mesh,this._mesh=ue;var ge=le.getData();if(he==null&&(he=0),ie==null&&(ie=ge.count()),this._startDataIndex=he,this._endDataIndex=ie-1,!this._mesh){var xe=this._prevMesh&&this._prevMesh.material;this._mesh=new we.a({renderOrder:10,frustumCulling:!1}),xe&&(this._mesh.material=xe)}var xe=this._mesh.material,Me=this._mesh.geometry,Be=Me.attributes;this.rootNode.remove(this._prevMesh),this.rootNode.add(this._mesh),this._setPositionTextureToMesh(this._mesh,this._positionTexture);var Ne=this._getSymbolInfo(le,he,ie),Ue=ce.getDevicePixelRatio(),Ge=le.getModel("itemStyle").getItemStyle(),Xe=le.get("large"),Ye=1;Ne.maxSize>2?(Ye=this._updateSymbolSprite(le,Ge,Ne,Ue),xe.enableTexture("sprite")):xe.disableTexture("sprite"),Be.position.init(ie-he);var nt=[];if(Xe){xe.undefine("VERTEX_SIZE"),xe.undefine("VERTEX_COLOR");var $e=ge.getVisual("color"),qe=ge.getVisual("opacity");ve.a.parseColor($e,nt),nt[3]*=qe,xe.set({color:nt,u_Size:Ne.maxSize*this._sizeScale})}else xe.set({color:[1,1,1,1]}),xe.define("VERTEX_SIZE"),xe.define("VERTEX_COLOR"),Be.size.init(ie-he),Be.color.init(ie-he),this._originalOpacity=new Float32Array(ie-he);for(var st=ge.getLayout("points"),rt=Be.position.value,ct=!1,tt=0;tt<ie-he;tt++){var dt=tt*3,At=tt*2;if(this.is2D?(rt[dt]=st[At],rt[dt+1]=st[At+1],rt[dt+2]=de):(rt[dt]=st[dt],rt[dt+1]=st[dt+1],rt[dt+2]=st[dt+2]),!Xe){var $e=ge.getItemVisual(tt,"color"),qe=ge.getItemVisual(tt,"opacity");ve.a.parseColor($e,nt),nt[3]*=qe,Be.color.set(tt,nt),nt[3]<.99&&(ct=!0);var mt=ge.getItemVisual(tt,"symbolSize");mt=mt instanceof Array?Math.max(mt[0],mt[1]):mt,isNaN(mt)&&(mt=0),Be.size.value[tt]=mt*Ye*this._sizeScale,this._originalOpacity[tt]=nt[3]}}this._mesh.sizeScale=Ye,Me.updateBoundingBox(),Me.dirty(),this._updateMaterial(le,Ge);var ht=le.coordinateSystem;if(ht&&ht.viewGL){var vt=ht.viewGL.isLinearSpace()?"define":"undefine";xe[vt]("fragment","SRGB_DECODE")}Xe||this._updateLabelBuilder(le,he,ie),this._updateHandler(le,oe,ce),this._updateAnimation(le),this._api=ce},getPointsMesh:function(){return this._mesh},updateLabels:function(le){this._labelsBuilder.updateLabels(le)},hideLabels:function(){this.rootNode.remove(this._labelsBuilder.getMesh())},showLabels:function(){this.rootNode.add(this._labelsBuilder.getMesh())},_updateSymbolSprite:function(le,oe,ce,he){ce.maxSize=Math.min(ce.maxSize*2,200);var ie=[];return ce.aspect>1?(ie[0]=ce.maxSize,ie[1]=ce.maxSize/ce.aspect):(ie[1]=ce.maxSize,ie[0]=ce.maxSize*ce.aspect),ie[0]=ie[0]||1,ie[1]=ie[1]||1,(this._symbolType!==ce.type||!ee(this._symbolSize,ie)||this._lineWidth!==oe.lineWidth)&&(ye.a.createSymbolSprite(ce.type,ie,{fill:"#fff",lineWidth:oe.lineWidth,stroke:"transparent",shadowColor:"transparent",minMargin:Math.min(ie[0]/2,10)},this._spriteImageCanvas),ye.a.createSDFFromCanvas(this._spriteImageCanvas,Math.min(this._spriteImageCanvas.width,32),Pe,this._mesh.material.get("sprite").image),this._symbolType=ce.type,this._symbolSize=ie,this._lineWidth=oe.lineWidth),this._spriteImageCanvas.width/ce.maxSize*he},_updateMaterial:function(le,oe){var ce=le.get("blendMode")==="lighter"?ve.a.additiveBlend:null,he=this._mesh.material;he.blend=ce,he.set("lineWidth",oe.lineWidth/Pe);var ie=ve.a.parseColor(oe.stroke);he.set("strokeColor",ie),he.transparent=!0,he.depthMask=!1,he.depthTest=!this.is2D,he.sortVertices=!this.is2D},_updateLabelBuilder:function(le,ge,ce){var he=le.getData(),ie=this._mesh.geometry,ue=ie.attributes.position.value,ge=this._startDataIndex,xe=this._mesh.sizeScale;this._labelsBuilder.updateData(he,ge,ce),this._labelsBuilder.getLabelPosition=function(Me,Be,Ne){var Ue=(Me-ge)*3;return[ue[Ue],ue[Ue+1],ue[Ue+2]]},this._labelsBuilder.getLabelDistance=function(Me,Be,Ne){var Ue=ie.attributes.size.get(Me-ge)/xe;return Ue/2+Ne},this._labelsBuilder.updateLabels()},_updateAnimation:function(le){ve.a.updateVertexAnimation([["prevPosition","position"],["prevSize","size"]],this._prevMesh,this._mesh,le)},_updateHandler:function(le,oe,ce){var he=le.getData(),ie=this._mesh,ue=this,ge=-1,xe=le.coordinateSystem&&le.coordinateSystem.type==="cartesian3D",Me;xe&&(Me=le.coordinateSystem.model),ie.seriesIndex=le.seriesIndex,ie.off("mousemove"),ie.off("mouseout"),ie.on("mousemove",function(Be){var Ne=Be.vertexIndex+ue._startDataIndex;Ne!==ge&&(this.highlightOnMouseover&&(this.downplay(he,ge),this.highlight(he,Ne),this._labelsBuilder.updateLabels([Ne])),xe&&ce.dispatchAction({type:"grid3DShowAxisPointer",value:[he.get(le.coordDimToDataDim("x")[0],Ne),he.get(le.coordDimToDataDim("y")[0],Ne),he.get(le.coordDimToDataDim("z")[0],Ne)],grid3DIndex:Me.componentIndex})),ie.dataIndex=Ne,ge=Ne},this),ie.on("mouseout",function(Be){var Ne=Be.vertexIndex+ue._startDataIndex;this.highlightOnMouseover&&(this.downplay(he,Ne),this._labelsBuilder.updateLabels()),ge=-1,ie.dataIndex=-1,xe&&ce.dispatchAction({type:"grid3DHideAxisPointer",grid3DIndex:Me.componentIndex})},this)},updateLayout:function(le,oe,ce){var he=le.getData();if(this._mesh){var ie=this._mesh.geometry.attributes.position.value,ue=he.getLayout("points");if(this.is2D)for(var ge=0;ge<ue.length/2;ge++){var xe=ge*3,Me=ge*2;ie[xe]=ue[Me],ie[xe+1]=ue[Me+1],ie[xe+2]=de}else for(var ge=0;ge<ue.length;ge++)ie[ge]=ue[ge];this._mesh.geometry.dirty(),ce.getZr().refresh()}},updateView:function(le){if(this._mesh){var oe=new pe.a;pe.a.mul(oe,le.viewMatrix,this._mesh.worldTransform),pe.a.mul(oe,le.projectionMatrix,oe),this._mesh.updateNDCPosition(oe,this.is2D,this._api)}},highlight:function(le,oe){if(!(oe>this._endDataIndex||oe<this._startDataIndex)){var ce=le.getItemModel(oe),he=ce.getModel("emphasis.itemStyle"),ie=he.get("color"),ue=he.get("opacity");if(ie==null){var ge=le.getItemVisual(oe,"color");ie=Ce.a.color.lift(ge,-.4)}ue==null&&(ue=le.getItemVisual(oe,"opacity"));var xe=ve.a.parseColor(ie);xe[3]*=ue,this._mesh.geometry.attributes.color.set(oe-this._startDataIndex,xe),this._mesh.geometry.dirtyAttribute("color"),this._api.getZr().refresh()}},downplay:function(le,oe){if(!(oe>this._endDataIndex||oe<this._startDataIndex)){var ce=le.getItemVisual(oe,"color"),he=le.getItemVisual(oe,"opacity"),ie=ve.a.parseColor(ce);ie[3]*=he,this._mesh.geometry.attributes.color.set(oe-this._startDataIndex,ie),this._mesh.geometry.dirtyAttribute("color"),this._api.getZr().refresh()}},fadeOutAll:function(le){if(this._originalOpacity){for(var oe=this._mesh.geometry,ce=0;ce<oe.vertexCount;ce++){var he=this._originalOpacity[ce]*le;oe.attributes.color.value[ce*4+3]=he}oe.dirtyAttribute("color"),this._api.getZr().refresh()}},fadeInAll:function(){this.fadeOutAll(1)},setPositionTexture:function(le){this._mesh&&this._setPositionTextureToMesh(this._mesh,le),this._positionTexture=le},removePositionTexture:function(){this._positionTexture=null,this._mesh&&this._setPositionTextureToMesh(this._mesh,null)},setSizeScale:function(le){if(le!==this._sizeScale){if(this._mesh){var oe=this._mesh.material.get("u_Size");this._mesh.material.set("u_Size",oe/this._sizeScale*le);var ce=this._mesh.geometry.attributes;if(ce.size.value)for(var he=0;he<ce.size.value.length;he++)ce.size.value[he]=ce.size.value[he]/this._sizeScale*le}this._sizeScale=le}},_setPositionTextureToMesh:function(le,oe){oe&&le.material.set("positionTexture",oe),le.material[oe?"enableTexture":"disableTexture"]("positionTexture")},_getSymbolInfo:function(le,oe,ce){if(le.get("large")){var he=Ee.a.firstNotNull(le.get("symbolSize"),1),Be,ue;return he instanceof Array?(Be=Math.max(he[0],he[1]),ue=he[0]/he[1]):(Be=he,ue=1),{maxSize:he,type:le.get("symbol"),aspect:ue}}for(var ie=le.getData(),ue,ge=!1,xe=ie.getItemVisual(0,"symbol")||"circle",Me=!1,Be=0,Ne=oe;Ne<ce;Ne++){var he=ie.getItemVisual(Ne,"symbolSize"),Ue=ie.getItemVisual(Ne,"symbol"),Ge;if(he instanceof Array)Ge=he[0]/he[1],Be=Math.max(Math.max(he[0],he[1]),Be);else{if(isNaN(he))return;Ge=1,Be=Math.max(he,Be)}ue!=null&&Math.abs(Ge-ue)>.05&&(ge=!0),Ue!==xe&&(Me=!0),xe=Ue,ue=Ge}return ge&&console.warn("Different symbol width / height ratio will be ignored."),Me&&console.warn("Different symbol type will be ignored."),{maxSize:Be,type:xe,aspect:ue}}},Re.a=ne},function(Ve,Re,be){"use strict";Re.a=`@export clay.prez.vertex
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
attribute vec3 position : POSITION;
|
|
|
@import clay.chunk.skinning_header
|
|
|
void main()
|
|
|
{
|
|
|
vec3 skinnedPosition = position;
|
|
|
#ifdef SKINNING
|
|
|
@import clay.chunk.skin_matrix
|
|
|
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
|
|
|
#endif
|
|
|
gl_Position = worldViewProjection * vec4(skinnedPosition, 1.0);
|
|
|
}
|
|
|
@end
|
|
|
@export clay.prez.fragment
|
|
|
void main()
|
|
|
{
|
|
|
gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";var Fe=be(28),Ce=be(11),ve=0,ye=null,we=!0,De,pe=function(){this.triangleCount=0,this.vertexCount=0,this.drawCallCount=0};function Ee(de,ee,ne){this.availableAttributes=de,this.availableAttributeSymbols=ee,this.indicesBuffer=ne,this.vao=null}var Pe=Fe.a.extend({material:null,geometry:null,mode:Ce.a.TRIANGLES,_drawCache:null,_renderInfo:null},function(){this._drawCache={},this._renderInfo=new pe},{__program:null,lightGroup:0,renderOrder:0,lineWidth:1,culling:!0,cullFace:Ce.a.BACK,frontFace:Ce.a.CCW,frustumCulling:!0,receiveShadow:!0,castShadow:!0,ignorePicking:!1,ignorePreZ:!1,ignoreGBuffer:!1,isRenderable:function(){return this.geometry&&this.material&&this.material.shader&&!this.invisible&&this.geometry.vertexCount>0},beforeRender:function(de){},afterRender:function(de,ee){},getBoundingBox:function(de,ee){return ee=Fe.a.prototype.getBoundingBox.call(this,de,ee),this.geometry&&this.geometry.boundingBox&&ee.union(this.geometry.boundingBox),ee},render:function(de,ee,ne){var le=de.gl;ee=ee||this.material;var oe=ee.shader,ce=this.geometry,he=this.mode,ie=ce.vertexCount,ue=ce.isUseIndices(),ge=de.getGLExtension("OES_element_index_uint"),xe=ge&&ie>65535,Me=xe?le.UNSIGNED_INT:le.UNSIGNED_SHORT,Be=de.getGLExtension("OES_vertex_array_object"),Ne=!ce.dynamic,Ue=this._renderInfo;Ue.vertexCount=ie,Ue.triangleCount=0,Ue.drawCallCount=0;var Ge=!1;if(De=de.__uid__+"-"+ce.__uid__+"-"+ne.__uid__,(De!==ve||Be&&Ne||ce._cache.isDirty("any"))&&(Ge=!0),ve=De,!Ge)we?(le.drawElements(he,ye.count,Me,0),Ue.triangleCount=ye.count/3):le.drawArrays(he,0,ie),Ue.drawCallCount=1;else{var Xe=this._drawCache[De];if(!Xe){var Ye=ce.getBufferChunks(de);if(!Ye)return;Xe=[];for(var nt=0;nt<Ye.length;nt++){for(var $e=Ye[nt],qe=$e.attributeBuffers,st=$e.indicesBuffer,rt=[],ct=[],tt=0;tt<qe.length;tt++){var dt=qe[tt],At=dt.name,mt=dt.semantic,ht;if(mt){var vt=oe.attributeSemantics[mt];ht=vt&&vt.symbol}else ht=At;ht&&ne.attributes[ht]&&(rt.push(dt),ct.push(ht))}var Wt=new Ee(rt,ct,st);Xe.push(Wt)}Ne&&(this._drawCache[De]=Xe)}for(var Jt=0;Jt<Xe.length;Jt++){var Wt=Xe[Jt],en=!0;Be&&Ne&&(Wt.vao==null?Wt.vao=Be.createVertexArrayOES():en=!1,Be.bindVertexArrayOES(Wt.vao));var rt=Wt.availableAttributes,st=Wt.indicesBuffer;if(en)for(var mn=ne.enableAttributes(de,Wt.availableAttributeSymbols,Be&&Ne&&Wt.vao),tt=0;tt<rt.length;tt++){var Ot=mn[tt];if(Ot!==-1){var dt=rt[tt],an=dt.buffer,tn=dt.size,Dn;switch(dt.type){case"float":Dn=le.FLOAT;break;case"byte":Dn=le.BYTE;break;case"ubyte":Dn=le.UNSIGNED_BYTE;break;case"short":Dn=le.SHORT;break;case"ushort":Dn=le.UNSIGNED_SHORT;break;default:Dn=le.FLOAT;break}le.bindBuffer(le.ARRAY_BUFFER,an),le.vertexAttribPointer(Ot,tn,Dn,!1,0,0)}}(he==Ce.a.LINES||he==Ce.a.LINE_STRIP||he==Ce.a.LINE_LOOP)&&le.lineWidth(this.lineWidth),ye=st,we=ce.isUseIndices(),we?(en&&le.bindBuffer(le.ELEMENT_ARRAY_BUFFER,st.buffer),le.drawElements(he,st.count,Me,0),Ue.triangleCount+=st.count/3):le.drawArrays(he,0,ie),Be&&Ne&&Be.bindVertexArrayOES(null),Ue.drawCallCount++}}return Ue},clone:function(){var de=["castShadow","receiveShadow","mode","culling","cullFace","frontFace","frustumCulling","renderOrder","lineWidth","ignorePicking","ignorePreZ","ignoreGBuffer"];return function(){var ee=Fe.a.prototype.clone.call(this);ee.geometry=this.geometry,ee.material=this.material;for(var ne=0;ne<de.length;ne++){var le=de[ne];ee[le]!==this[le]&&(ee[le]=this[le])}return ee}}()});Pe.POINTS=Ce.a.POINTS,Pe.LINES=Ce.a.LINES,Pe.LINE_LOOP=Ce.a.LINE_LOOP,Pe.LINE_STRIP=Ce.a.LINE_STRIP,Pe.TRIANGLES=Ce.a.TRIANGLES,Pe.TRIANGLE_STRIP=Ce.a.TRIANGLE_STRIP,Pe.TRIANGLE_FAN=Ce.a.TRIANGLE_FAN,Pe.BACK=Ce.a.BACK,Pe.FRONT=Ce.a.FRONT,Pe.FRONT_AND_BACK=Ce.a.FRONT_AND_BACK,Pe.CW=Ce.a.CW,Pe.CCW=Ce.a.CCW,Pe.RenderInfo=pe,Re.a=Pe},function(Ve,Re){var be=typeof window!="undefined"&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(Fe){setTimeout(Fe,16)};Ve.exports=be},function(Ve,Re,be){"use strict";var Fe={};Fe.isPowerOfTwo=function(Ce){return(Ce&Ce-1)===0},Fe.nextPowerOfTwo=function(Ce){return Ce--,Ce|=Ce>>1,Ce|=Ce>>2,Ce|=Ce>>4,Ce|=Ce>>8,Ce|=Ce>>16,Ce++,Ce},Fe.nearestPowerOfTwo=function(Ce){return Math.pow(2,Math.round(Math.log(Ce)/Math.LN2))},Re.a=Fe},function(Ve,Re,be){"use strict";var Fe=be(4),Ce=be(1),ve=be.n(Ce),ye=ve.a.vec3,we=ve.a.mat4,De=ve.a.vec4,pe=function(Ee,Pe){this.normal=Ee||new Fe.a(0,1,0),this.distance=Pe||0};pe.prototype={constructor:pe,distanceToPoint:function(Ee){return ye.dot(Ee.array,this.normal.array)-this.distance},projectPoint:function(Ee,Pe){Pe||(Pe=new Fe.a);var de=this.distanceToPoint(Ee);return ye.scaleAndAdd(Pe.array,Ee.array,this.normal.array,-de),Pe._dirty=!0,Pe},normalize:function(){var Ee=1/ye.len(this.normal.array);ye.scale(this.normal.array,Ee),this.distance*=Ee},intersectFrustum:function(Ee){for(var Pe=Ee.vertices,de=this.normal.array,ee=ye.dot(Pe[0].array,de)>this.distance,ne=1;ne<8;ne++)if(ye.dot(Pe[ne].array,de)>this.distance!=ee)return!0},intersectLine:function(){var Ee=ye.create();return function(Pe,de,ee){var ne=this.distanceToPoint(Pe),le=this.distanceToPoint(de);if(ne>0&&le>0||ne<0&&le<0)return null;var oe=this.normal.array,ce=this.distance,he=Pe.array;ye.sub(Ee,de.array,Pe.array),ye.normalize(Ee,Ee);var ie=ye.dot(oe,Ee);if(ie===0)return null;ee||(ee=new Fe.a);var ue=(ye.dot(oe,he)-ce)/ie;return ye.scaleAndAdd(ee.array,he,Ee,-ue),ee._dirty=!0,ee}}(),applyTransform:function(){var Ee=we.create(),Pe=De.create(),de=De.create();return de[3]=1,function(ee){ee=ee.array,ye.scale(de,this.normal.array,this.distance),De.transformMat4(de,de,ee),this.distance=ye.dot(de,this.normal.array),we.invert(Ee,ee),we.transpose(Ee,Ee),Pe[3]=0,ye.copy(Pe,this.normal.array),De.transformMat4(Pe,Pe,Ee),ye.copy(this.normal.array,Pe)}}(),copy:function(Ee){ye.copy(this.normal.array,Ee.normal.array),this.normal._dirty=!0,this.distance=Ee.distance},clone:function(){var Ee=new pe;return Ee.copy(this),Ee}},Re.a=pe},function(Ve,Re,be){"use strict";var Fe=be(13),Ce=be(15),ve=Fe.a.extend({dynamic:!1,widthSegments:40,heightSegments:20,phiStart:0,phiLength:Math.PI*2,thetaStart:0,thetaLength:Math.PI,radius:1},function(){this.build()},{build:function(){var ye=this.heightSegments,we=this.widthSegments,De=this.attributes.position,pe=this.attributes.texcoord0,Ee=this.attributes.normal,Pe=(we+1)*(ye+1);De.init(Pe),pe.init(Pe),Ee.init(Pe);var de=Pe>65535?Uint32Array:Uint16Array,ee=this.indices=new de(we*ye*6),ne,le,oe,ce,he,ie,ue,Ne=this.radius,ge=this.phiStart,xe=this.phiLength,Me=this.thetaStart,Be=this.thetaLength,Ne=this.radius,Ue=[],Ge=[],Xe=0,Ye=1/Ne;for(ue=0;ue<=ye;ue++)for(ie=0;ie<=we;ie++)ce=ie/we,he=ue/ye,ne=-Ne*Math.cos(ge+ce*xe)*Math.sin(Me+he*Be),le=Ne*Math.cos(Me+he*Be),oe=Ne*Math.sin(ge+ce*xe)*Math.sin(Me+he*Be),Ue[0]=ne,Ue[1]=le,Ue[2]=oe,Ge[0]=ce,Ge[1]=he,De.set(Xe,Ue),pe.set(Xe,Ge),Ue[0]*=Ye,Ue[1]*=Ye,Ue[2]*=Ye,Ee.set(Xe,Ue),Xe++;var nt,$e,qe,st,rt=we+1,ct=0;for(ue=0;ue<ye;ue++)for(ie=0;ie<we;ie++)$e=ue*rt+ie,nt=ue*rt+ie+1,st=(ue+1)*rt+ie+1,qe=(ue+1)*rt+ie,ee[ct++]=nt,ee[ct++]=$e,ee[ct++]=st,ee[ct++]=$e,ee[ct++]=qe,ee[ct++]=st;this.boundingBox=new Ce.a,this.boundingBox.max.set(Ne,Ne,Ne),this.boundingBox.min.set(-Ne,-Ne,-Ne)}});Re.a=ve},function(Ve,Re,be){"use strict";var Fe=be(13),Ce=be(37),ve=be(9),ye=be(4),we=be(15),De=be(18),pe=new ve.a,Ee=Fe.a.extend({dynamic:!1,widthSegments:1,heightSegments:1,depthSegments:1,inside:!1},function(){this.build()},{build:function(){var de={px:Pe("px",this.depthSegments,this.heightSegments),nx:Pe("nx",this.depthSegments,this.heightSegments),py:Pe("py",this.widthSegments,this.depthSegments),ny:Pe("ny",this.widthSegments,this.depthSegments),pz:Pe("pz",this.widthSegments,this.heightSegments),nz:Pe("nz",this.widthSegments,this.heightSegments)},ee=["position","texcoord0","normal"],ne=0,le=0;for(var oe in de)ne+=de[oe].vertexCount,le+=de[oe].indices.length;for(var ce=0;ce<ee.length;ce++)this.attributes[ee[ce]].init(ne);this.indices=new De.a.Uint16Array(le);var he=0,ie=0;for(var oe in de){for(var ue=de[oe],ce=0;ce<ee.length;ce++)for(var ge=ee[ce],xe=ue.attributes[ge].value,Me=ue.attributes[ge].size,Be=ge==="normal",Ne=0;Ne<xe.length;Ne++){var Ue=xe[Ne];this.inside&&Be&&(Ue=-Ue),this.attributes[ge].value[Ne+Me*ie]=Ue}for(var Ge=ue.indices.length,Ne=0;Ne<ue.indices.length;Ne++)this.indices[Ne+he]=ie+ue.indices[this.inside?Ge-Ne-1:Ne];he+=ue.indices.length,ie+=ue.vertexCount}this.boundingBox=new we.a,this.boundingBox.max.set(1,1,1),this.boundingBox.min.set(-1,-1,-1)}});function Pe(de,ee,ne){pe.identity();var le=new Ce.a({widthSegments:ee,heightSegments:ne});switch(de){case"px":ve.a.translate(pe,pe,ye.a.POSITIVE_X),ve.a.rotateY(pe,pe,Math.PI/2);break;case"nx":ve.a.translate(pe,pe,ye.a.NEGATIVE_X),ve.a.rotateY(pe,pe,-Math.PI/2);break;case"py":ve.a.translate(pe,pe,ye.a.POSITIVE_Y),ve.a.rotateX(pe,pe,-Math.PI/2);break;case"ny":ve.a.translate(pe,pe,ye.a.NEGATIVE_Y),ve.a.rotateX(pe,pe,Math.PI/2);break;case"pz":ve.a.translate(pe,pe,ye.a.POSITIVE_Z);break;case"nz":ve.a.translate(pe,pe,ye.a.NEGATIVE_Z),ve.a.rotateY(pe,pe,Math.PI);break}return le.applyTransform(pe),le}Re.a=Ee},function(Ve,Re,be){"use strict";var Fe=be(19),Ce=be(4),ve=Fe.a.extend({shadowBias:.001,shadowSlopeScale:2,shadowCascade:1,cascadeSplitLogFactor:.2},{type:"DIRECTIONAL_LIGHT",uniformTemplates:{directionalLightDirection:{type:"3f",value:function(ye){return ye.__dir=ye.__dir||new Ce.a,ye.__dir.copy(ye.worldTransform.z).normalize().negate().array}},directionalLightColor:{type:"3f",value:function(ye){var we=ye.color,De=ye.intensity;return[we[0]*De,we[1]*De,we[2]*De]}}},clone:function(){var ye=Fe.a.prototype.clone.call(this);return ye.shadowBias=this.shadowBias,ye.shadowSlopeScale=this.shadowSlopeScale,ye}});Re.a=ve},function(Ve,Re,be){"use strict";var Fe=be(19),Ce=Fe.a.extend({range:100,castShadow:!1},{type:"POINT_LIGHT",uniformTemplates:{pointLightPosition:{type:"3f",value:function(ve){return ve.getWorldPosition().array}},pointLightRange:{type:"1f",value:function(ve){return ve.range}},pointLightColor:{type:"3f",value:function(ve){var ye=ve.color,we=ve.intensity;return[ye[0]*we,ye[1]*we,ye[2]*we]}}},clone:function(){var ve=Fe.a.prototype.clone.call(this);return ve.range=this.range,ve}});Re.a=Ce},function(Ve,Re,be){"use strict";var Fe=be(19),Ce=be(4),ve=Fe.a.extend({range:20,umbraAngle:30,penumbraAngle:45,falloffFactor:2,shadowBias:2e-4,shadowSlopeScale:2},{type:"SPOT_LIGHT",uniformTemplates:{spotLightPosition:{type:"3f",value:function(ye){return ye.getWorldPosition().array}},spotLightRange:{type:"1f",value:function(ye){return ye.range}},spotLightUmbraAngleCosine:{type:"1f",value:function(ye){return Math.cos(ye.umbraAngle*Math.PI/180)}},spotLightPenumbraAngleCosine:{type:"1f",value:function(ye){return Math.cos(ye.penumbraAngle*Math.PI/180)}},spotLightFalloffFactor:{type:"1f",value:function(ye){return ye.falloffFactor}},spotLightDirection:{type:"3f",value:function(ye){return ye.__dir=ye.__dir||new Ce.a,ye.__dir.copy(ye.worldTransform.z).negate().array}},spotLightColor:{type:"3f",value:function(ye){var we=ye.color,De=ye.intensity;return[we[0]*De,we[1]*De,we[2]*De]}}},clone:function(){var ye=Fe.a.prototype.clone.call(this);return ye.range=this.range,ye.umbraAngle=this.umbraAngle,ye.penumbraAngle=this.penumbraAngle,ye.falloffFactor=this.falloffFactor,ye.shadowBias=this.shadowBias,ye.shadowSlopeScale=this.shadowSlopeScale,ye}});Re.a=ve},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(5);function ye(De,pe,Ee,Pe,de,ee,ne){this._zr=De,this._x=0,this._y=0,this._rowHeight=0,this.width=Pe,this.height=de,this.offsetX=pe,this.offsetY=Ee,this.dpr=ne,this.gap=ee}ye.prototype={constructor:ye,clear:function(){this._x=0,this._y=0,this._rowHeight=0},add:function(De,pe,Ee){var Pe=De.getBoundingRect();pe==null&&(pe=Pe.width),Ee==null&&(Ee=Pe.height),pe*=this.dpr,Ee*=this.dpr,this._fitElement(De,pe,Ee);var de=this._x,ee=this._y,ne=this.width*this.dpr,le=this.height*this.dpr,oe=this.gap;if(de+pe+oe>ne&&(de=this._x=0,ee+=this._rowHeight+oe,this._y=ee,this._rowHeight=0),this._x+=pe+oe,this._rowHeight=Math.max(this._rowHeight,Ee),ee+Ee+oe>le)return null;De.position[0]+=this.offsetX*this.dpr+de,De.position[1]+=this.offsetY*this.dpr+ee,this._zr.add(De);var ce=[this.offsetX/this.width,this.offsetY/this.height],he=[[de/ne+ce[0],ee/le+ce[1]],[(de+pe)/ne+ce[0],(ee+Ee)/le+ce[1]]];return he},_fitElement:function(De,pe,Ee){var Pe=De.getBoundingRect(),de=pe/Pe.width,ee=Ee/Pe.height;De.position=[-Pe.x*de,-Pe.y*ee],De.scale=[de,ee],De.update()}};function we(De){De=De||{},De.width=De.width||512,De.height=De.height||512,De.devicePixelRatio=De.devicePixelRatio||1,De.gap=De.gap==null?2:De.gap;var pe=document.createElement("canvas");pe.width=De.width*De.devicePixelRatio,pe.height=De.height*De.devicePixelRatio,this._canvas=pe,this._texture=new ve.a({image:pe,flipY:!1});var Ee=this;this._zr=Ce.a.zrender.init(pe);var Pe=this._zr.refreshImmediately;this._zr.refreshImmediately=function(){Pe.call(this),Ee._texture.dirty(),Ee.onupdate&&Ee.onupdate()},this._dpr=De.devicePixelRatio,this._coords={},this.onupdate=De.onupdate,this._gap=De.gap,this._textureAtlasNodes=[new ye(this._zr,0,0,De.width,De.height,this._gap,this._dpr)],this._nodeWidth=De.width,this._nodeHeight=De.height,this._currentNodeIdx=0}we.prototype={clear:function(){for(var De=0;De<this._textureAtlasNodes.length;De++)this._textureAtlasNodes[De].clear();this._currentNodeIdx=0,this._zr.clear(),this._coords={}},getWidth:function(){return this._width},getHeight:function(){return this._height},getTexture:function(){return this._texture},getDevicePixelRatio:function(){return this._dpr},getZr:function(){return this._zr},_getCurrentNode:function(){return this._textureAtlasNodes[this._currentNodeIdx]},_expand:function(){if(this._currentNodeIdx++,this._textureAtlasNodes[this._currentNodeIdx])return this._textureAtlasNodes[this._currentNodeIdx];var De=4096/this._dpr,pe=this._textureAtlasNodes,Ee=pe.length,Pe=Ee*this._nodeWidth%De,de=Math.floor(Ee*this._nodeWidth/De)*this._nodeHeight;if(de>=De){console.error("Too much labels. Some will be ignored.");return}var ee=(Pe+this._nodeWidth)*this._dpr,ne=(de+this._nodeHeight)*this._dpr;try{this._zr.resize({width:ee,height:ne})}catch(oe){this._canvas.width=ee,this._canvas.height=ne}var le=new ye(this._zr,Pe,de,this._nodeWidth,this._nodeHeight,this._gap,this._dpr);return this._textureAtlasNodes.push(le),le},add:function(De,pe,Ee){if(this._coords[De.id])return console.warn("Element already been add"),this._coords[De.id];var Pe=this._getCurrentNode().add(De,pe,Ee);if(!Pe){var de=this._expand();if(!de)return;Pe=de.add(De,pe,Ee)}return this._coords[De.id]=Pe,Pe},getCoordsScale:function(){var De=this._dpr;return[this._nodeWidth/this._canvas.width*De,this._nodeHeight/this._canvas.height*De]},getCoords:function(De){return this._coords[De]}},Re.a=we},function(Ve,Re,be){"use strict";Re.a=Fe;function Fe(Ce,ve,ye){var we,De=Ce.scale;return De.type==="ordinal"&&(typeof ye=="function"?(we=De.getTicks()[ve],!ye(we,De.getLabel(we))):ve%(ye+1))}},function(Ve,Re,be){var Fe=be(76),Ce=be(77),ve=Fe.applyTransform,ye=Math.min,we=Math.max;function De(Ee,Pe,de,ee){de<0&&(Ee=Ee+de,de=-de),ee<0&&(Pe=Pe+ee,ee=-ee),this.x=Ee,this.y=Pe,this.width=de,this.height=ee}De.prototype={constructor:De,union:function(Ee){var Pe=ye(Ee.x,this.x),de=ye(Ee.y,this.y);this.width=we(Ee.x+Ee.width,this.x+this.width)-Pe,this.height=we(Ee.y+Ee.height,this.y+this.height)-de,this.x=Pe,this.y=de},applyTransform:function(){var Ee=[],Pe=[],de=[],ee=[];return function(ne){if(ne){Ee[0]=de[0]=this.x,Ee[1]=ee[1]=this.y,Pe[0]=ee[0]=this.x+this.width,Pe[1]=de[1]=this.y+this.height,ve(Ee,Ee,ne),ve(Pe,Pe,ne),ve(de,de,ne),ve(ee,ee,ne),this.x=ye(Ee[0],Pe[0],de[0],ee[0]),this.y=ye(Ee[1],Pe[1],de[1],ee[1]);var le=we(Ee[0],Pe[0],de[0],ee[0]),oe=we(Ee[1],Pe[1],de[1],ee[1]);this.width=le-this.x,this.height=oe-this.y}}}(),calculateTransform:function(Ee){var Pe=this,de=Ee.width/Pe.width,ee=Ee.height/Pe.height,ne=Ce.create();return Ce.translate(ne,ne,[-Pe.x,-Pe.y]),Ce.scale(ne,ne,[de,ee]),Ce.translate(ne,ne,[Ee.x,Ee.y]),ne},intersect:function(Ee){if(!Ee)return!1;Ee instanceof De||(Ee=De.create(Ee));var Pe=this,de=Pe.x,ee=Pe.x+Pe.width,ne=Pe.y,le=Pe.y+Pe.height,oe=Ee.x,ce=Ee.x+Ee.width,he=Ee.y,ie=Ee.y+Ee.height;return!(ee<oe||ce<de||le<he||ie<ne)},contain:function(Ee,Pe){var de=this;return Ee>=de.x&&Ee<=de.x+de.width&&Pe>=de.y&&Pe<=de.y+de.height},clone:function(){return new De(this.x,this.y,this.width,this.height)},copy:function(Ee){this.x=Ee.x,this.y=Ee.y,this.width=Ee.width,this.height=Ee.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},De.create=function(Ee){return new De(Ee.x,Ee.y,Ee.width,Ee.height)};var pe=De;Ve.exports=pe},function(Ve,Re){var be=typeof Float32Array=="undefined"?Array:Float32Array;function Fe(Xe,Ye){var nt=new be(2);return Xe==null&&(Xe=0),Ye==null&&(Ye=0),nt[0]=Xe,nt[1]=Ye,nt}function Ce(Xe,Ye){return Xe[0]=Ye[0],Xe[1]=Ye[1],Xe}function ve(Xe){var Ye=new be(2);return Ye[0]=Xe[0],Ye[1]=Xe[1],Ye}function ye(Xe,Ye,nt){return Xe[0]=Ye,Xe[1]=nt,Xe}function we(Xe,Ye,nt){return Xe[0]=Ye[0]+nt[0],Xe[1]=Ye[1]+nt[1],Xe}function De(Xe,Ye,nt,$e){return Xe[0]=Ye[0]+nt[0]*$e,Xe[1]=Ye[1]+nt[1]*$e,Xe}function pe(Xe,Ye,nt){return Xe[0]=Ye[0]-nt[0],Xe[1]=Ye[1]-nt[1],Xe}function Ee(Xe){return Math.sqrt(de(Xe))}var Pe=Ee;function de(Xe){return Xe[0]*Xe[0]+Xe[1]*Xe[1]}var ee=de;function ne(Xe,Ye,nt){return Xe[0]=Ye[0]*nt[0],Xe[1]=Ye[1]*nt[1],Xe}function le(Xe,Ye,nt){return Xe[0]=Ye[0]/nt[0],Xe[1]=Ye[1]/nt[1],Xe}function oe(Xe,Ye){return Xe[0]*Ye[0]+Xe[1]*Ye[1]}function ce(Xe,Ye,nt){return Xe[0]=Ye[0]*nt,Xe[1]=Ye[1]*nt,Xe}function he(Xe,Ye){var nt=Ee(Ye);return nt===0?(Xe[0]=0,Xe[1]=0):(Xe[0]=Ye[0]/nt,Xe[1]=Ye[1]/nt),Xe}function ie(Xe,Ye){return Math.sqrt((Xe[0]-Ye[0])*(Xe[0]-Ye[0])+(Xe[1]-Ye[1])*(Xe[1]-Ye[1]))}var ue=ie;function ge(Xe,Ye){return(Xe[0]-Ye[0])*(Xe[0]-Ye[0])+(Xe[1]-Ye[1])*(Xe[1]-Ye[1])}var xe=ge;function Me(Xe,Ye){return Xe[0]=-Ye[0],Xe[1]=-Ye[1],Xe}function Be(Xe,Ye,nt,$e){return Xe[0]=Ye[0]+$e*(nt[0]-Ye[0]),Xe[1]=Ye[1]+$e*(nt[1]-Ye[1]),Xe}function Ne(Xe,Ye,nt){var $e=Ye[0],qe=Ye[1];return Xe[0]=nt[0]*$e+nt[2]*qe+nt[4],Xe[1]=nt[1]*$e+nt[3]*qe+nt[5],Xe}function Ue(Xe,Ye,nt){return Xe[0]=Math.min(Ye[0],nt[0]),Xe[1]=Math.min(Ye[1],nt[1]),Xe}function Ge(Xe,Ye,nt){return Xe[0]=Math.max(Ye[0],nt[0]),Xe[1]=Math.max(Ye[1],nt[1]),Xe}Re.create=Fe,Re.copy=Ce,Re.clone=ve,Re.set=ye,Re.add=we,Re.scaleAndAdd=De,Re.sub=pe,Re.len=Ee,Re.length=Pe,Re.lenSquare=de,Re.lengthSquare=ee,Re.mul=ne,Re.div=le,Re.dot=oe,Re.scale=ce,Re.normalize=he,Re.distance=ie,Re.dist=ue,Re.distanceSquare=ge,Re.distSquare=xe,Re.negate=Me,Re.lerp=Be,Re.applyTransform=Ne,Re.min=Ue,Re.max=Ge},function(Ve,Re){var be=typeof Float32Array=="undefined"?Array:Float32Array;function Fe(){var de=new be(6);return Ce(de),de}function Ce(de){return de[0]=1,de[1]=0,de[2]=0,de[3]=1,de[4]=0,de[5]=0,de}function ve(de,ee){return de[0]=ee[0],de[1]=ee[1],de[2]=ee[2],de[3]=ee[3],de[4]=ee[4],de[5]=ee[5],de}function ye(de,ee,ne){var le=ee[0]*ne[0]+ee[2]*ne[1],oe=ee[1]*ne[0]+ee[3]*ne[1],ce=ee[0]*ne[2]+ee[2]*ne[3],he=ee[1]*ne[2]+ee[3]*ne[3],ie=ee[0]*ne[4]+ee[2]*ne[5]+ee[4],ue=ee[1]*ne[4]+ee[3]*ne[5]+ee[5];return de[0]=le,de[1]=oe,de[2]=ce,de[3]=he,de[4]=ie,de[5]=ue,de}function we(de,ee,ne){return de[0]=ee[0],de[1]=ee[1],de[2]=ee[2],de[3]=ee[3],de[4]=ee[4]+ne[0],de[5]=ee[5]+ne[1],de}function De(de,ee,ne){var le=ee[0],oe=ee[2],ce=ee[4],he=ee[1],ie=ee[3],ue=ee[5],ge=Math.sin(ne),xe=Math.cos(ne);return de[0]=le*xe+he*ge,de[1]=-le*ge+he*xe,de[2]=oe*xe+ie*ge,de[3]=-oe*ge+xe*ie,de[4]=xe*ce+ge*ue,de[5]=xe*ue-ge*ce,de}function pe(de,ee,ne){var le=ne[0],oe=ne[1];return de[0]=ee[0]*le,de[1]=ee[1]*oe,de[2]=ee[2]*le,de[3]=ee[3]*oe,de[4]=ee[4]*le,de[5]=ee[5]*oe,de}function Ee(de,ee){var ne=ee[0],le=ee[2],oe=ee[4],ce=ee[1],he=ee[3],ie=ee[5],ue=ne*he-ce*le;return ue?(ue=1/ue,de[0]=he*ue,de[1]=-ce*ue,de[2]=-le*ue,de[3]=ne*ue,de[4]=(le*ie-he*oe)*ue,de[5]=(ce*oe-ne*ie)*ue,de):null}function Pe(de){var ee=Fe();return ve(ee,de),ee}Re.create=Fe,Re.identity=Ce,Re.copy=ve,Re.mul=ye,Re.translate=we,Re.rotate=De,Re.scale=pe,Re.invert=Ee,Re.clone=Pe},function(Ve,Re,be){var Fe=be(12),Ce=1e-4;function ve(Be){return Be.replace(/^\s+/,"").replace(/\s+$/,"")}function ye(Be,Ne,Ue,Ge){var Xe=Ne[1]-Ne[0],Ye=Ue[1]-Ue[0];if(Xe===0)return Ye===0?Ue[0]:(Ue[0]+Ue[1])/2;if(Ge)if(Xe>0){if(Be<=Ne[0])return Ue[0];if(Be>=Ne[1])return Ue[1]}else{if(Be>=Ne[0])return Ue[0];if(Be<=Ne[1])return Ue[1]}else{if(Be===Ne[0])return Ue[0];if(Be===Ne[1])return Ue[1]}return(Be-Ne[0])/Xe*Ye+Ue[0]}function we(Be,Ne){switch(Be){case"center":case"middle":Be="50%";break;case"left":case"top":Be="0%";break;case"right":case"bottom":Be="100%";break}return typeof Be=="string"?ve(Be).match(/%$/)?parseFloat(Be)/100*Ne:parseFloat(Be):Be==null?NaN:+Be}function De(Be,Ne,Ue){return Ne==null&&(Ne=10),Ne=Math.min(Math.max(0,Ne),20),Be=(+Be).toFixed(Ne),Ue?Be:+Be}function pe(Be){return Be.sort(function(Ne,Ue){return Ne-Ue}),Be}function Ee(Be){if(Be=+Be,isNaN(Be))return 0;for(var Ne=1,Ue=0;Math.round(Be*Ne)/Ne!==Be;)Ne*=10,Ue++;return Ue}function Pe(Be){var Ne=Be.toString(),Ue=Ne.indexOf("e");if(Ue>0){var Ge=+Ne.slice(Ue+1);return Ge<0?-Ge:0}else{var Xe=Ne.indexOf(".");return Xe<0?0:Ne.length-1-Xe}}function de(Be,Ne){var Ue=Math.log,Ge=Math.LN10,Xe=Math.floor(Ue(Be[1]-Be[0])/Ge),Ye=Math.round(Ue(Math.abs(Ne[1]-Ne[0]))/Ge),nt=Math.min(Math.max(-Xe+Ye,0),20);return isFinite(nt)?nt:20}function ee(Be,Ne,Ue){if(!Be[Ne])return 0;var Ge=Fe.reduce(Be,function(At,mt){return At+(isNaN(mt)?0:mt)},0);if(Ge===0)return 0;for(var Xe=Math.pow(10,Ue),Ye=Fe.map(Be,function(At){return(isNaN(At)?0:At)/Ge*Xe*100}),nt=Xe*100,$e=Fe.map(Ye,function(At){return Math.floor(At)}),qe=Fe.reduce($e,function(At,mt){return At+mt},0),st=Fe.map(Ye,function(At,mt){return At-$e[mt]});qe<nt;){for(var rt=Number.NEGATIVE_INFINITY,ct=null,tt=0,dt=st.length;tt<dt;++tt)st[tt]>rt&&(rt=st[tt],ct=tt);++$e[ct],st[ct]=0,++qe}return $e[Ne]/Xe}var ne=9007199254740991;function le(Be){var Ne=Math.PI*2;return(Be%Ne+Ne)%Ne}function oe(Be){return Be>-Ce&&Be<Ce}var ce=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;function he(Be){if(Be instanceof Date)return Be;if(typeof Be=="string"){var Ne=ce.exec(Be);if(!Ne)return new Date(NaN);if(Ne[8]){var Ue=+Ne[4]||0;return Ne[8].toUpperCase()!=="Z"&&(Ue-=Ne[8].slice(0,3)),new Date(Date.UTC(+Ne[1],+(Ne[2]||1)-1,+Ne[3]||1,Ue,+(Ne[5]||0),+Ne[6]||0,+Ne[7]||0))}else return new Date(+Ne[1],+(Ne[2]||1)-1,+Ne[3]||1,+Ne[4]||0,+(Ne[5]||0),+Ne[6]||0,+Ne[7]||0)}else if(Be==null)return new Date(NaN);return new Date(Math.round(Be))}function ie(Be){return Math.pow(10,ue(Be))}function ue(Be){return Math.floor(Math.log(Be)/Math.LN10)}function ge(Be,Ne){var Ue=ue(Be),Ge=Math.pow(10,Ue),Xe=Be/Ge,Ye;return Ne?Xe<1.5?Ye=1:Xe<2.5?Ye=2:Xe<4?Ye=3:Xe<7?Ye=5:Ye=10:Xe<1?Ye=1:Xe<2?Ye=2:Xe<3?Ye=3:Xe<5?Ye=5:Ye=10,Be=Ye*Ge,Ue>=-20?+Be.toFixed(Ue<0?-Ue:0):Be}function xe(Be){Be.sort(function(qe,st){return $e(qe,st,0)?-1:1});for(var Ne=-1/0,Ue=1,Ge=0;Ge<Be.length;){for(var Xe=Be[Ge].interval,Ye=Be[Ge].close,nt=0;nt<2;nt++)Xe[nt]<=Ne&&(Xe[nt]=Ne,Ye[nt]=nt?1:1-Ue),Ne=Xe[nt],Ue=Ye[nt];Xe[0]===Xe[1]&&Ye[0]*Ye[1]!==1?Be.splice(Ge,1):Ge++}return Be;function $e(qe,st,rt){return qe.interval[rt]<st.interval[rt]||qe.interval[rt]===st.interval[rt]&&(qe.close[rt]-st.close[rt]===(rt?-1:1)||!rt&&$e(qe,st,1))}}function Me(Be){return Be-parseFloat(Be)>=0}Re.linearMap=ye,Re.parsePercent=we,Re.round=De,Re.asc=pe,Re.getPrecision=Ee,Re.getPrecisionSafe=Pe,Re.getPixelPrecision=de,Re.getPercentWithPrecision=ee,Re.MAX_SAFE_INTEGER=ne,Re.remRadian=le,Re.isRadianAroundZero=oe,Re.parseDate=he,Re.quantity=ie,Re.nice=ge,Re.reformIntervals=xe,Re.isNumeric=Me},function(Ve,Re,be){"use strict";var Fe=be(5),Ce=be(11),ve=be(21),ye=function(){this._pool={},this._allocatedTextures=[]};ye.prototype={constructor:ye,get:function(de){var ee=pe(de);this._pool.hasOwnProperty(ee)||(this._pool[ee]=[]);var ne=this._pool[ee];if(!ne.length){var le=new Fe.a(de);return this._allocatedTextures.push(le),le}return ne.pop()},put:function(de){var ee=pe(de);this._pool.hasOwnProperty(ee)||(this._pool[ee]=[]);var ne=this._pool[ee];ne.push(de)},clear:function(de){for(var ee=0;ee<this._allocatedTextures.length;ee++)this._allocatedTextures[ee].dispose(de);this._pool={},this._allocatedTextures=[]}};var we={width:512,height:512,type:Ce.a.UNSIGNED_BYTE,format:Ce.a.RGBA,wrapS:Ce.a.CLAMP_TO_EDGE,wrapT:Ce.a.CLAMP_TO_EDGE,minFilter:Ce.a.LINEAR_MIPMAP_LINEAR,magFilter:Ce.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,unpackAlignment:4,premultiplyAlpha:!1},De=Object.keys(we);function pe(de){ve.a.defaultsWithPropList(de,we,De),Ee(de);for(var ee="",ne=0;ne<De.length;ne++){var le=De[ne],oe=de[le].toString();ee+=oe}return ee}function Ee(de){var ee=Pe(de.width,de.height);de.format===Ce.a.DEPTH_COMPONENT&&(de.useMipmap=!1),(!ee||!de.useMipmap)&&(de.minFilter==Ce.a.NEAREST_MIPMAP_NEAREST||de.minFilter==Ce.a.NEAREST_MIPMAP_LINEAR?de.minFilter=Ce.a.NEAREST:(de.minFilter==Ce.a.LINEAR_MIPMAP_LINEAR||de.minFilter==Ce.a.LINEAR_MIPMAP_NEAREST)&&(de.minFilter=Ce.a.LINEAR)),ee||(de.wrapS=Ce.a.CLAMP_TO_EDGE,de.wrapT=Ce.a.CLAMP_TO_EDGE)}function Pe(de,ee){return(de&de-1)===0&&(ee&ee-1)===0}Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe);Re.a={getFilledRegions:function(ve,ye){var we=(ve||[]).slice(),De;if(typeof ye=="string"?(ye=Ce.a.getMap(ye),De=ye&&ye.geoJson):ye&&ye.features&&(De=ye),!De)return console.error("Map "+ye+" not exists. You can download map file on http://echarts.baidu.com/download-map.html"),De.features||console.error("Invalid GeoJSON for map3D"),[];for(var pe={},Ee=De.features,Pe=0;Pe<we.length;Pe++)pe[we[Pe].name]=we[Pe];for(var Pe=0;Pe<Ee.length;Pe++){var de=Ee[Pe].properties.name;pe[de]||we.push({name:de})}return we},defaultOption:{show:!0,zlevel:-10,map:"",left:0,top:0,width:"100%",height:"100%",boxWidth:100,boxHeight:10,boxDepth:"auto",regionHeight:3,environment:"auto",groundPlane:{show:!1,color:"#aaa"},shading:"lambert",light:{main:{alpha:40,beta:30}},viewControl:{alpha:40,beta:0,distance:100,orthographicSize:60,minAlpha:5,minBeta:-80,maxBeta:80},label:{show:!1,distance:2,textStyle:{fontSize:20,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:4}},itemStyle:{color:"#fff",borderWidth:0,borderColor:"#333"},emphasis:{itemStyle:{color:"#639fc0"},label:{show:!0}}}}},function(Ve,Re,be){"use strict";function Fe(we,De,pe){var Ee=we[De];we[De]=we[pe],we[pe]=Ee}function Ce(we,De,pe,Ee,Pe){var de=pe,ee=we[De];Fe(we,De,Ee);for(var ne=pe;ne<Ee;ne++)Pe(we[ne],ee)<0&&(Fe(we,ne,de),de++);return Fe(we,Ee,de),de}function ve(we,De,pe,Ee){if(pe<Ee){var Pe=Math.floor((pe+Ee)/2),de=Ce(we,Pe,pe,Ee,De);ve(we,De,pe,de-1),ve(we,De,de+1,Ee)}}function ye(){this._parts=[]}ye.prototype.step=function(we,De,pe){var Ee=we.length;if(pe===0){this._parts=[],this._sorted=!1;var Pe=Math.floor(Ee/2);this._parts.push({pivot:Pe,left:0,right:Ee-1}),this._currentSortPartIdx=0}if(!this._sorted){var de=this._parts;if(de.length===0)return this._sorted=!0,!0;if(de.length<512){for(var ee=0;ee<de.length;ee++)de[ee].pivot=Ce(we,de[ee].pivot,de[ee].left,de[ee].right,De);for(var ne=[],ee=0;ee<de.length;ee++){var le=de[ee].left,oe=de[ee].pivot-1;oe>le&&ne.push({pivot:Math.floor((oe+le)/2),left:le,right:oe});var le=de[ee].pivot+1,oe=de[ee].right;oe>le&&ne.push({pivot:Math.floor((oe+le)/2),left:le,right:oe})}de=this._parts=ne}else for(var ee=0;ee<Math.floor(de.length/10);ee++){var ce=de.length-1-this._currentSortPartIdx;if(ve(we,De,de[ce].left,de[ce].right),this._currentSortPartIdx++,this._currentSortPartIdx===de.length)return this._sorted=!0,!0}return!1}},ye.sort=ve,Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(83),Ce=be(0),ve=be.n(Ce),ye=be(41),we=be.n(ye),De=be(20),pe=be(3);function Ee(le,oe){var ce=le.getBoxLayoutParams(),he=we.a.getLayoutRect(ce,{width:oe.getWidth(),height:oe.getHeight()});he.y=oe.getHeight()-he.y-he.height,this.viewGL.setViewport(he.x,he.y,he.width,he.height,oe.getDevicePixelRatio());var ie=this.getGeoBoundingRect(),ue=ie.width/ie.height*(le.get("aspectScale")||.75),ge=le.get("boxWidth"),xe=le.get("boxDepth"),Me=le.get("boxHeight");Me==null&&(Me=5),isNaN(ge)&&isNaN(xe)&&(ge=100),isNaN(xe)?xe=ge/ue:isNaN(ge)&&(ge=xe/ue),this.setSize(ge,Me,xe),this.regionHeight=le.get("regionHeight"),this.altitudeAxis&&this.altitudeAxis.setExtent(0,Math.max(Me-this.regionHeight,0))}function Pe(le,oe){var ce=[1/0,-1/0];if(le.eachSeries(function(ie){if(ie.coordinateSystem===this&&ie.type!=="series.map3D"){var ue=ie.getData(),ge=ie.coordDimToDataDim("alt")[0];if(ge){var xe=ue.getDataExtent(ge,!0);ce[0]=Math.min(ce[0],xe[0]),ce[1]=Math.max(ce[1],xe[1])}}},this),ce&&isFinite(ce[1]-ce[0])){var he=ve.a.helper.createScale(ce,{type:"value",min:"dataMin",max:"dataMax"});this.altitudeAxis=new ve.a.Axis("altitude",he),this.resize(this.model,oe)}}var de=function(le){console.error("Map "+le+" not exists. You can download map file on http://echarts.baidu.com/download-map.html")},ee=0,ne={dimensions:Fe.a.prototype.dimensions,create:function(le,oe){var ce=[];if(!ve.a.getMap)throw new Error("geo3D component depends on geo component");function he(ie,ue){var ge=ne.createGeo3D(ie);ie.__viewGL=ie.__viewGL||new De.a,ge.viewGL=ie.__viewGL,ie.coordinateSystem=ge,ge.model=ie,ce.push(ge),ge.resize=Ee,ge.resize(ie,oe),ge.update=Pe}return le.eachComponent("geo3D",function(ie,ue){he(ie,ue)}),le.eachSeriesByType("map3D",function(ie,ue){var ge=ie.get("coordinateSystem");ge==null&&(ge="geo3D"),ge==="geo3D"&&he(ie,ue)}),le.eachSeries(function(ie){if(ie.get("coordinateSystem")==="geo3D"){if(ie.type==="series.map3D")return;var ue=ie.getReferringComponents("geo3D")[0];if(ue||(ue=le.getComponent("geo3D")),!ue)throw new Error('geo "'+pe.a.firstNotNull(ie.get("geo3DIndex"),ie.get("geo3DId"),0)+'" not found');ie.coordinateSystem=ue.coordinateSystem}}),ce},createGeo3D:function(le){var oe=le.get("map"),ce;if(typeof oe=="string"?(ce=oe,oe=ve.a.getMap(oe)):oe&&oe.features&&(oe={geoJson:oe}),oe||de(oe),!oe.geoJson.features)throw new Error("Invalid GeoJSON for map3D");return ce==null&&(ce="GEO_ANONYMOUS_"+ee++),new Fe.a(ce+ee++,ce,oe&&oe.geoJson,oe&&oe.specialAreas,le.get("nameMap"))}};ve.a.registerCoordinateSystem("geo3D",ne),Re.a=ne},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(1),ye=be.n(ve),we=be(187),De=be.n(we),pe=be(188),Ee=be.n(pe),Pe=ye.a.vec3,de=ye.a.mat4,ee=[De.a,Ee.a];function ne(le,oe,ce,he,ie){this.name=le,this.map=oe,this.regionHeight=0,this.regions=[],this._nameCoordMap={},this.loadGeoJson(ce,he,ie),this.transform=de.identity(new Float64Array(16)),this.invTransform=de.identity(new Float64Array(16)),this.extrudeY=!0,this.altitudeAxis}ne.prototype={constructor:ne,type:"geo3D",dimensions:["lng","lat","alt"],containPoint:function(){},loadGeoJson:function(le,oe,ce){var he=Ce.a.parseGeoJSON||Ce.a.parseGeoJson;try{this.regions=le?he(le):[]}catch(Be){throw`Invalid geoJson format
|
|
|
`+Be}oe=oe||{},ce=ce||{};for(var ie=this.regions,ue={},ge=0;ge<ie.length;ge++){var xe=ie[ge].name;xe=ce[xe]||xe,ie[ge].name=xe,ue[xe]=ie[ge],this.addGeoCoord(xe,ie[ge].center);var Me=oe[xe];Me&&ie[ge].transformTo(Me.left,Me.top,Me.width,Me.height)}this._regionsMap=ue,this._geoRect=null,ee.forEach(function(Be){Be(this)},this)},getGeoBoundingRect:function(){if(this._geoRect)return this._geoRect;for(var le,oe=this.regions,ce=0;ce<oe.length;ce++){var he=oe[ce].getBoundingRect();le=le||he.clone(),le.union(he)}return this._geoRect=le||new Ce.a.graphic.BoundingRect(0,0,0,0)},addGeoCoord:function(le,oe){this._nameCoordMap[le]=oe},getRegion:function(le){return this._regionsMap[le]},getRegionByCoord:function(le){for(var oe=this.regions,ce=0;ce<oe.length;ce++)if(oe[ce].contain(le))return oe[ce]},setSize:function(le,oe,ce){this.size=[le,oe,ce];var he=this.getGeoBoundingRect(),ie=le/he.width,ue=-ce/he.height,ge=-le/2-he.x*ie,xe=ce/2-he.y*ue,Me=this.extrudeY?[ge,0,xe]:[ge,xe,0],Be=this.extrudeY?[ie,1,ue]:[ie,ue,1],Ne=this.transform;de.identity(Ne),de.translate(Ne,Ne,Me),de.scale(Ne,Ne,Be),de.invert(this.invTransform,Ne)},dataToPoint:function(le,oe){oe=oe||[];var ce=this.extrudeY?1:2,he=this.extrudeY?2:1,ie=le[2];return isNaN(ie)&&(ie=0),oe[0]=le[0],oe[he]=le[1],this.altitudeAxis?oe[ce]=this.altitudeAxis.dataToCoord(ie):oe[ce]=0,oe[ce]+=this.regionHeight,Pe.transformMat4(oe,oe,this.transform),oe},pointToData:function(le,oe){}},Re.a=ne},function(Ve,Re,be){"use strict";var Fe=be(77),Ce=be.n(Fe),ve=be(76),ye=be.n(ve);function we(De){this.viewGL=De}we.prototype.reset=function(De,pe){this._updateCamera(pe.getWidth(),pe.getHeight(),pe.getDevicePixelRatio()),this._viewTransform=Ce.a.create(),this.updateTransform(De,pe)},we.prototype.updateTransform=function(De,pe){var Ee=De.coordinateSystem;Ee.getRoamTransform&&(Ce.a.invert(this._viewTransform,Ee.getRoamTransform()),this._setCameraTransform(this._viewTransform),pe.getZr().refresh())},we.prototype.dataToPoint=function(De,pe,Ee){Ee=De.dataToPoint(pe,null,Ee);var Pe=this._viewTransform;Pe&&ye.a.applyTransform(Ee,Ee,Pe)},we.prototype.removeTransformInPoint=function(De){return this._viewTransform&&ye.a.applyTransform(De,De,this._viewTransform),De},we.prototype.getZoom=function(){if(this._viewTransform){var De=this._viewTransform;return 1/Math.max(Math.sqrt(De[0]*De[0]+De[1]*De[1]),Math.sqrt(De[2]*De[2]+De[3]*De[3]))}return 1},we.prototype._setCameraTransform=function(De){var pe=this.viewGL.camera;pe.position.set(De[4],De[5],0),pe.scale.set(Math.sqrt(De[0]*De[0]+De[1]*De[1]),Math.sqrt(De[2]*De[2]+De[3]*De[3]),1)},we.prototype._updateCamera=function(De,pe,Ee){this.viewGL.setViewport(0,0,De,pe,Ee);var Pe=this.viewGL.camera;Pe.left=Pe.top=0,Pe.bottom=pe,Pe.right=De,Pe.near=0,Pe.far=100},Re.a=we},function(Ve,Re,be){(function(Fe){var Ce;typeof window!="undefined"?Ce=window.__DEV__:typeof Fe!="undefined"&&(Ce=Fe.__DEV__),typeof Ce=="undefined"&&(Ce=!0);var ve=Ce;Re.__DEV__=ve}).call(Re,be(243))},function(Ve,Re,be){"use strict";var Fe=be(13),Ce=be(0),ve=be.n(Ce),ye=be(33),we=be(1),De=be.n(we),pe=De.a.vec2,Ee=[[0,0],[1,1]],Pe=Fe.a.extend(function(){return{segmentScale:4,dynamic:!0,useNativeLine:!0,attributes:{position:new Fe.a.Attribute("position","float",2,"POSITION"),normal:new Fe.a.Attribute("normal","float",2),offset:new Fe.a.Attribute("offset","float",1),color:new Fe.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(de){var ee=this.attributes;this.vertexCount!==de&&(ee.position.init(de),ee.color.init(de),this.useNativeLine||(ee.offset.init(de),ee.normal.init(de)),de>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(de){this.triangleCount!==de&&(de===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(de*3):new Uint16Array(de*3))},_getCubicCurveApproxStep:function(de,ee,ne,le){var oe=pe.dist(de,ee)+pe.dist(ne,ee)+pe.dist(le,ne),ce=1/(oe+1)*this.segmentScale;return ce},getCubicCurveVertexCount:function(de,ee,ne,le){var oe=this._getCubicCurveApproxStep(de,ee,ne,le),ce=Math.ceil(1/oe);return this.useNativeLine?ce*2:ce*2+2},getCubicCurveTriangleCount:function(de,ee,ne,le){var oe=this._getCubicCurveApproxStep(de,ee,ne,le),ce=Math.ceil(1/oe);return this.useNativeLine?0:ce*2},getLineVertexCount:function(){return this.getPolylineVertexCount(Ee)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(Ee)},getPolylineVertexCount:function(de){var ee;if(typeof de=="number")ee=de;else{var ne=typeof de[0]!="number";ee=ne?de.length:de.length/2}return this.useNativeLine?(ee-1)*2:(ee-1)*2+2},getPolylineTriangleCount:function(de){var ee;if(typeof de=="number")ee=de;else{var ne=typeof de[0]!="number";ee=ne?de.length:de.length/2}return this.useNativeLine?0:(ee-1)*2},addCubicCurve:function(de,ee,ne,le,oe,ce){ce==null&&(ce=1);for(var he=de[0],ie=de[1],ue=ee[0],ge=ee[1],xe=ne[0],Me=ne[1],Be=le[0],Ne=le[1],Ue=this._getCubicCurveApproxStep(de,ee,ne,le),Ge=Ue*Ue,Xe=Ge*Ue,Ye=3*Ue,nt=3*Ge,$e=6*Ge,qe=6*Xe,st=he-ue*2+xe,rt=ie-ge*2+Me,ct=(ue-xe)*3-he+Be,tt=(ge-Me)*3-ie+Ne,dt=he,At=ie,mt=(ue-he)*Ye+st*nt+ct*Xe,ht=(ge-ie)*Ye+rt*nt+tt*Xe,vt=st*$e+ct*qe,Wt=rt*$e+tt*qe,Jt=ct*qe,en=tt*qe,mn=0,Ot=0,an=Math.ceil(1/Ue),tn=new Float32Array((an+1)*3),tn=[],Dn=0,Ot=0;Ot<an+1;Ot++)tn[Dn++]=dt,tn[Dn++]=At,dt+=mt,At+=ht,mt+=vt,ht+=Wt,vt+=Jt,Wt+=en,mn+=Ue,mn>1&&(dt=mt>0?Math.min(dt,Be):Math.max(dt,Be),At=ht>0?Math.min(At,Ne):Math.max(At,Ne));this.addPolyline(tn,oe,ce)},addLine:function(de,ee,ne,le){this.addPolyline([de,ee],ne,le)},addPolyline:function(){var de=pe.create(),ee=pe.create(),ne=pe.create(),le=pe.create(),oe=[],ce=[],he=[];return function(ie,ue,ge,xe,Me){if(ie.length){var Be=typeof ie[0]!="number";if(Me==null&&(Me=Be?ie.length:ie.length/2),!(Me<2)){xe==null&&(xe=0),ge==null&&(ge=1),this._itemVertexOffsets.push(this._vertexOffset);for(var Ne=Be?typeof ue[0]!="number":ue.length/4===Me,Ue=this.attributes.position,Ge=this.attributes.color,Xe=this.attributes.offset,Ye=this.attributes.normal,nt=this.indices,$e=this._vertexOffset,qe,st=0;st<Me;st++){if(Be)oe=ie[st+xe],Ne?qe=ue[st+xe]:qe=ue;else{var rt=st*2+xe;if(oe=oe||[],oe[0]=ie[rt],oe[1]=ie[rt+1],Ne){var ct=st*4+xe;qe=qe||[],qe[0]=ue[ct],qe[1]=ue[ct+1],qe[2]=ue[ct+2],qe[3]=ue[ct+3]}else qe=ue}if(this.useNativeLine)st>1&&(Ue.copy($e,$e-1),Ge.copy($e,$e-1),$e++);else{var tt;if(st<Me-1){if(Be)pe.copy(ce,ie[st+1]);else{var rt=(st+1)*2+xe;ce=ce||[],ce[0]=ie[rt],ce[1]=ie[rt+1]}if(st>0){pe.sub(de,oe,he),pe.sub(ee,ce,oe),pe.normalize(de,de),pe.normalize(ee,ee),pe.add(le,de,ee),pe.normalize(le,le);var dt=ge/2*Math.min(1/pe.dot(de,le),2);ne[0]=-le[1],ne[1]=le[0],tt=dt}else pe.sub(de,ce,oe),pe.normalize(de,de),ne[0]=-de[1],ne[1]=de[0],tt=ge/2}else pe.sub(de,oe,he),pe.normalize(de,de),ne[0]=-de[1],ne[1]=de[0],tt=ge/2;Ye.set($e,ne),Ye.set($e+1,ne),Xe.set($e,tt),Xe.set($e+1,-tt),pe.copy(he,oe),Ue.set($e,oe),Ue.set($e+1,oe),Ge.set($e,qe),Ge.set($e+1,qe),$e+=2}if(this.useNativeLine)Ge.set($e,qe),Ue.set($e,oe),$e++;else if(st>0){var At=this._faceOffset*3,nt=this.indices;nt[At]=$e-4,nt[At+1]=$e-3,nt[At+2]=$e-2,nt[At+3]=$e-3,nt[At+4]=$e-1,nt[At+5]=$e-2,this._faceOffset+=2}}this._vertexOffset=$e}}}}(),setItemColor:function(de,ee){for(var ne=this._itemVertexOffsets[de],le=de<this._itemVertexOffsets.length-1?this._itemVertexOffsets[de+1]:this._vertexOffset,oe=ne;oe<le;oe++)this.attributes.color.set(oe,ee);this.dirty("color")}});ve.a.util.defaults(Pe.prototype,ye.a),Re.a=Pe},function(Ve,Re,be){"use strict";Object.defineProperty(Re,"__esModule",{value:!0});var Fe=be(88),Ce=be(133),ve=be(183),ye=be(189),we=be(195),De=be(202),pe=be(209),Ee=be(213),Pe=be(220),de=be(226),ee=be(229),ne=be(233),le=be(236),oe=be(239),ce=be(253),he=be(259)},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(89),ye=be(90),we=be(101),De=be(2),pe={version:"1.0.0",dependencies:{echarts:"4.0.0",claygl:"1.0.0"}},Ee=pe.dependencies;function Pe(oe){throw new Error(oe+" version is too old, needs "+Ee[oe]+" or higher")}function de(oe,ce){oe.replace(".","")-0<Ee[ce].replace(".","")-0&&Pe(ce),console.log("Loaded "+ce+", version "+oe)}de(ve.a,"claygl"),de(Ce.a.version,"echarts");function ee(oe){this._layers={},this._zr=oe}ee.prototype.update=function(oe,ce){var he=this,ie=ce.getZr();if(!ie.getWidth()||!ie.getHeight()){console.warn("Dom has no width or height");return}function ue(Me){var Be;Me.coordinateSystem&&Me.coordinateSystem.model,Be=Me.get("zlevel");var Ne=he._layers,Ue=Ne[Be];if(!Ue){if(Ue=Ne[Be]=new ye.a("gl-"+Be,ie),ie.painter.isSingleCanvas()){Ue.virtual=!0;var Ge=new Ce.a.graphic.Image({z:1e4,style:{image:Ue.renderer.canvas},silent:!0});Ue.__hostImage=Ge,ie.add(Ge)}ie.painter.insertLayer(Be,Ue)}return Ue.__hostImage&&Ue.__hostImage.setStyle({width:Ue.renderer.getWidth(),height:Ue.renderer.getHeight()}),Ue}function ge(Me,Be){Me&&Me.traverse(function(Ne){Ne.isRenderable&&Ne.isRenderable()&&(Ne.ignorePicking=Ne.$ignorePicking!=null?Ne.$ignorePicking:Be)})}for(var xe in this._layers)this._layers[xe].removeViewsAll();oe.eachComponent(function(Me,Be){if(Me!=="series"){var Ne=ce.getViewOfComponentModel(Be),Ue=Be.coordinateSystem;if(Ne.__ecgl__){var Ge;if(Ue){if(!Ue.viewGL){console.error("Can't find viewGL in coordinateSystem of component "+Be.id);return}Ge=Ue.viewGL}else{if(!Be.viewGL){console.error("Can't find viewGL of component "+Be.id);return}Ge=Ue.viewGL}var Ge=Ue.viewGL,Xe=ue(Be);Xe.addView(Ge),Ne.afterRender&&Ne.afterRender(Be,oe,ce,Xe),ge(Ne.groupGL,Be.get("silent"))}}}),oe.eachSeries(function(Me){var Be=ce.getViewOfSeriesModel(Me),Ne=Me.coordinateSystem;if(Be.__ecgl__){if(Ne&&!Ne.viewGL&&!Be.viewGL){console.error("Can't find viewGL of series "+Be.id);return}var Ue=Ne&&Ne.viewGL||Be.viewGL,Ge=ue(Me);Ge.addView(Ue),Be.afterRender&&Be.afterRender(Me,oe,ce,Ge),ge(Be.groupGL,Me.get("silent"))}})};var ne=Ce.a.init;Ce.a.init=function(){var oe=ne.apply(this,arguments);return oe.getZr().painter.getRenderedCanvas=function(ce){if(ce=ce||{},this._singleCanvas)return this._layers[0].dom;var he=document.createElement("canvas"),ie=ce.pixelRatio||this.dpr;he.width=this.getWidth()*ie,he.height=this.getHeight()*ie;var ue=he.getContext("2d");ue.dpr=ie,ue.clearRect(0,0,he.width,he.height),ce.backgroundColor&&(ue.fillStyle=ce.backgroundColor,ue.fillRect(0,0,he.width,he.height));var ge=this.storage.getDisplayList(!0),xe={},Me,Be=this;function Ne(Ye,nt){var $e=Be._zlevelList;Ye==null&&(Ye=-1/0);for(var qe,st=0;st<$e.length;st++){var rt=$e[st],ct=Be._layers[rt];if(!ct.__builtin__&&rt>Ye&&rt<nt){qe=ct;break}}qe&&qe.renderToCanvas&&(ue.save(),qe.renderToCanvas(ue),ue.restore())}for(var Ue={ctx:ue},Ge=0;Ge<ge.length;Ge++){var Xe=ge[Ge];Xe.zlevel!==Me&&(Ne(Me,Xe.zlevel),Me=Xe.zlevel),this._doPaintEl(Xe,Ue,!0,xe)}return Ne(Me,1/0),he},oe},Ce.a.registerPostUpdate(function(oe,ce){var he=ce.getZr(),ie=he.__egl=he.__egl||new ee(he);ie.update(oe,ce)}),Ce.a.registerPreprocessor(we.a),Ce.a.graphicGL=De.a;var le=ee},function(Ve,Re,be){"use strict";Re.a="1.0.0"},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(46),ye=be(100),we=be(6),De=be(47),pe=be(65),Ee=be.n(pe),Pe=function(he,ie){this.id=he,this.zr=ie;try{this.renderer=new ve.a({clearBit:0,devicePixelRatio:ie.painter.dpr,preserveDrawingBuffer:!0,premultipliedAlpha:!0}),this.renderer.resize(ie.painter.getWidth(),ie.painter.getHeight())}catch(ge){this.renderer=null,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute; left: 0; top: 0; right: 0; bottom: 0;",this.dom.className="ecgl-nowebgl",this.dom.innerHTML="Sorry, your browser does support WebGL",console.error(ge);return}this.onglobalout=this.onglobalout.bind(this),ie.on("globalout",this.onglobalout),this.dom=this.renderer.canvas;var ue=this.dom.style;ue.position="absolute",ue.left="0",ue.top="0",this.views=[],this._picking=new ye.a({renderer:this.renderer}),this._viewsToDispose=[],this._accumulatingId=0,this._zrEventProxy=new Ce.a.graphic.Rect({shape:{x:-1,y:-1,width:2,height:2},__isGLToZRProxy:!0})};Pe.prototype.addView=function(he){if(he.layer!==this){var ie=this._viewsToDispose.indexOf(he);ie>=0&&this._viewsToDispose.splice(ie,1),this.views.push(he),he.layer=this;var ue=this.zr;he.scene.traverse(function(ge){ge.__zr=ue,ge.addAnimatorsToZr&&ge.addAnimatorsToZr(ue)})}};function de(he){var ie=he.__zr;he.__zr=null,ie&&he.removeAnimatorsFromZr&&he.removeAnimatorsFromZr(ie)}Pe.prototype.removeView=function(he){if(he.layer===this){var ie=this.views.indexOf(he);ie>=0&&(this.views.splice(ie,1),he.scene.traverse(de,this),he.layer=null,this._viewsToDispose.push(he))}},Pe.prototype.removeViewsAll=function(){this.views.forEach(function(he){he.scene.traverse(de,this),he.layer=null,this._viewsToDispose.push(he)},this),this.views.length=0},Pe.prototype.resize=function(he,ie){var ue=this.renderer;ue.resize(he,ie)},Pe.prototype.clear=function(){var he=this.renderer.gl;he.clearColor(0,0,0,0),he.depthMask(!0),he.colorMask(!0,!0,!0,!0),he.clear(he.DEPTH_BUFFER_BIT|he.COLOR_BUFFER_BIT)},Pe.prototype.clearDepth=function(){var he=this.renderer.gl;he.clear(he.DEPTH_BUFFER_BIT)},Pe.prototype.clearColor=function(){var he=this.renderer.gl;he.clearColor(0,0,0,0),he.clear(he.COLOR_BUFFER_BIT)},Pe.prototype.needsRefresh=function(){this.zr.refresh()},Pe.prototype.refresh=function(){for(var he=0;he<this.views.length;he++)this.views[he].prepareRender();this._doRender(!1),this._trackAndClean();for(var he=0;he<this._viewsToDispose.length;he++)this._viewsToDispose[he].dispose(this.renderer);this._viewsToDispose.length=0,this._startAccumulating()},Pe.prototype.renderToCanvas=function(he){this._startAccumulating(!0),he.drawImage(this.dom,0,0,he.canvas.width,he.canvas.height)},Pe.prototype._doRender=function(he){this.clear(),this.renderer.saveViewport();for(var ie=0;ie<this.views.length;ie++)this.views[ie].render(this.renderer,he);this.renderer.restoreViewport()},Pe.prototype._stopAccumulating=function(){this._accumulatingId=0,clearTimeout(this._accumulatingTimeout)};var ee=1;Pe.prototype._startAccumulating=function(he){var ie=this;this._stopAccumulating();for(var ue=!1,ge=0;ge<this.views.length;ge++)ue=this.views[ge].needsAccumulate()||ue;if(!ue)return;function xe(Me){if(!(!ie._accumulatingId||Me!==ie._accumulatingId)){for(var Be=!0,Ne=0;Ne<ie.views.length;Ne++)Be=ie.views[Ne].isAccumulateFinished()&&ue;Be||(ie._doRender(!0),he?xe(Me):Ee()(function(){xe(Me)}))}}this._accumulatingId=ee++,he?xe(ie._accumulatingId):this._accumulatingTimeout=setTimeout(function(){xe(ie._accumulatingId)},50)},Pe.prototype._trackAndClean=function(){var he=[],ie=[];this._textureList&&(ne(this._textureList),ne(this._geometriesList));for(var ue=0;ue<this.views.length;ue++)ce(this.views[ue].scene,he,ie);this._textureList&&(le(this.renderer,this._textureList),le(this.renderer,this._geometriesList)),this._textureList=he,this._geometriesList=ie};function ne(he){for(var ie=0;ie<he.length;ie++)he[ie].__used__=0}function le(he,ie){for(var ue=0;ue<ie.length;ue++)ie[ue].__used__||ie[ue].dispose(he)}function oe(he,ie){he.__used__=he.__used__||0,he.__used__++,he.__used__===1&&ie.push(he)}function ce(he,ie,ue){function ge(Me){for(var Be,Ne,Ue=0;Ue<Me.length;Ue++){var Ge=Me[Ue],Xe=Ge.geometry,Ye=Ge.material;if(Ye!==Be)for(var nt=Ye.getTextureUniforms(),$e=0;$e<nt.length;$e++){var qe=nt[$e],st=Ye.uniforms[qe].value;if(st){if(st instanceof we.a)oe(st,ie);else if(st instanceof Array)for(var rt=0;rt<st.length;rt++)st[rt]instanceof we.a&&oe(st[rt],ie)}}Xe!==Ne&&oe(Xe,ue),Be=Ye,Ne=Xe}}ge(he.opaqueList),ge(he.transparentList);for(var xe=0;xe<he.lights.length;xe++)he.lights[xe].cubemap&&oe(he.lights[xe].cubemap,ie)}Pe.prototype.dispose=function(){this._stopAccumulating(),this.renderer.disposeScene(this.scene),this.zr.off("globalout",this.onglobalout)},Pe.prototype.onmousedown=function(he){if(!(he.target&&he.target.__isGLToZRProxy)){he=he.event;var ie=this.pickObject(he.offsetX,he.offsetY);ie&&(this._dispatchEvent("mousedown",he,ie),this._dispatchDataEvent("mousedown",he,ie)),this._downX=he.offsetX,this._downY=he.offsetY}},Pe.prototype.onmousemove=function(he){if(!(he.target&&he.target.__isGLToZRProxy)){he=he.event;var ie=this.pickObject(he.offsetX,he.offsetY),ue=ie&&ie.target,ge=this._hovered;this._hovered=ie,ge&&ue!==ge.target&&(ge.relatedTarget=ue,this._dispatchEvent("mouseout",he,ge),this.zr.setCursorStyle("default")),this._dispatchEvent("mousemove",he,ie),ie&&(this.zr.setCursorStyle("pointer"),(!ge||ue!==ge.target)&&this._dispatchEvent("mouseover",he,ie)),this._dispatchDataEvent("mousemove",he,ie)}},Pe.prototype.onmouseup=function(he){if(!(he.target&&he.target.__isGLToZRProxy)){he=he.event;var ie=this.pickObject(he.offsetX,he.offsetY);ie&&(this._dispatchEvent("mouseup",he,ie),this._dispatchDataEvent("mouseup",he,ie)),this._upX=he.offsetX,this._upY=he.offsetY}},Pe.prototype.onclick=Pe.prototype.dblclick=function(he){if(!(he.target&&he.target.__isGLToZRProxy)){var ie=this._upX-this._downX,ue=this._upY-this._downY;if(!(Math.sqrt(ie*ie+ue*ue)>20)){he=he.event;var ge=this.pickObject(he.offsetX,he.offsetY);ge&&(this._dispatchEvent(he.type,he,ge),this._dispatchDataEvent(he.type,he,ge));var xe=this._clickToSetFocusPoint(he);if(xe){var Me=xe.view.setDOFFocusOnPoint(xe.distance);Me&&this.zr.refresh()}}}},Pe.prototype._clickToSetFocusPoint=function(he){for(var ie=this.renderer,ue=ie.viewport,ge=this.views.length-1;ge>=0;ge--){var xe=this.views[ge];if(xe.hasDOF()&&xe.containPoint(he.offsetX,he.offsetY)){this._picking.scene=xe.scene,this._picking.camera=xe.camera,ie.viewport=xe.viewport;var Me=this._picking.pick(he.offsetX,he.offsetY,!0);if(Me)return Me.view=xe,Me}}ie.viewport=ue},Pe.prototype.onglobalout=function(he){var ie=this._hovered;ie&&this._dispatchEvent("mouseout",he,{target:ie.target})},Pe.prototype.pickObject=function(he,ie){for(var ue=[],ge=this.renderer,xe=ge.viewport,Me=0;Me<this.views.length;Me++){var Be=this.views[Me];Be.containPoint(he,ie)&&(this._picking.scene=Be.scene,this._picking.camera=Be.camera,ge.viewport=Be.viewport,this._picking.pickAll(he,ie,ue))}return ge.viewport=xe,ue.sort(function(Ne,Ue){return Ne.distance-Ue.distance}),ue[0]},Pe.prototype._dispatchEvent=function(he,ie,ue){ue||(ue={});var ge=ue.target;for(ue.cancelBubble=!1,ue.event=ie,ue.type=he,ue.offsetX=ie.offsetX,ue.offsetY=ie.offsetY;ge&&(ge.trigger(he,ue),ge=ge.getParent(),!ue.cancelBubble););this._dispatchToView(he,ue)},Pe.prototype._dispatchDataEvent=function(he,ie,ue){var ge=ue&&ue.target,xe=ge&&ge.dataIndex,Me=ge&&ge.seriesIndex,Be=ge&&ge.eventData,Ne=!1,Ue=this._zrEventProxy;Ue.position=[ie.offsetX,ie.offsetY],Ue.update();var Ge={target:Ue};he==="mousemove"&&(xe!=null?xe!==this._lastDataIndex&&(parseInt(this._lastDataIndex,10)>=0&&(Ue.dataIndex=this._lastDataIndex,Ue.seriesIndex=this._lastSeriesIndex,this.zr.handler.dispatchToElement(Ge,"mouseout",ie)),Ne=!0):Be!=null&&Be!==this._lastEventData&&(this._lastEventData!=null&&(Ue.eventData=this._lastEventData,this.zr.handler.dispatchToElement(Ge,"mouseout",ie)),Ne=!0),this._lastEventData=Be,this._lastDataIndex=xe,this._lastSeriesIndex=Me),Ue.eventData=Be,Ue.dataIndex=xe,Ue.seriesIndex=Me,(Be!=null||parseInt(xe,10)>=0)&&(this.zr.handler.dispatchToElement(Ge,he,ie),Ne&&this.zr.handler.dispatchToElement(Ge,"mouseover",ie))},Pe.prototype._dispatchToView=function(he,ie){for(var ue=0;ue<this.views.length;ue++)this.views[ue].containPoint(ie.offsetX,ie.offsetY)&&this.views[ue].trigger(he,ie)},Ce.a.util.extend(Pe.prototype,De.a),Re.a=Pe},function(Ve,Re,be){"use strict";function Fe(ye,we,De){typeof we=="object"&&(De=we,we=null);var pe=this,Ee;if(!(ye instanceof Function)){Ee=[];for(var Pe in ye)ye.hasOwnProperty(Pe)&&Ee.push(Pe)}var de=function(ne){if(pe.apply(this,arguments),ye instanceof Function?Ce(this,ye.call(this,ne)):ve(this,ye,Ee),this.constructor===de)for(var le=de.__initializers__,oe=0;oe<le.length;oe++)le[oe].apply(this,arguments)};de.__super__=pe,pe.__initializers__?de.__initializers__=pe.__initializers__.slice():de.__initializers__=[],we&&de.__initializers__.push(we);var ee=function(){};return ee.prototype=pe.prototype,de.prototype=new ee,de.prototype.constructor=de,Ce(de.prototype,De),de.extend=pe.extend,de.derive=pe.extend,de}function Ce(ye,we){if(we)for(var De in we)we.hasOwnProperty(De)&&(ye[De]=we[De])}function ve(ye,we,De){for(var pe=0;pe<De.length;pe++){var Ee=De[pe];ye[Ee]=we[Ee]}}Re.a={extend:Fe,derive:Fe}},function(Ve,Re,be){"use strict";var Fe=["OES_texture_float","OES_texture_half_float","OES_texture_float_linear","OES_texture_half_float_linear","OES_standard_derivatives","OES_vertex_array_object","OES_element_index_uint","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","EXT_texture_filter_anisotropic","EXT_shader_texture_lod","WEBGL_draw_buffers","EXT_frag_depth","EXT_sRGB"],Ce=["MAX_TEXTURE_SIZE","MAX_CUBE_MAP_TEXTURE_SIZE"];function ve(ye){for(var we={},De={},pe=0;pe<Fe.length;pe++){var Ee=Fe[pe];de(Ee)}for(var pe=0;pe<Ce.length;pe++){var Pe=Ce[pe];De[Pe]=ye.getParameter(ye[Pe])}this.getExtension=function(ee){return ee in we||de(ee),we[ee]},this.getParameter=function(ee){return De[ee]};function de(ee){var ne=ye.getExtension(ee);ne||(ne=ye.getExtension("MOZ_"+ee)),ne||(ne=ye.getExtension("WEBKIT_"+ee)),we[ee]=ne}}Re.a=ve},function(Ve,Re,be){"use strict";var Fe=be(94),Ce={},ve={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function ye(ue){return ue=Math.round(ue),ue<0?0:ue>255?255:ue}function we(ue){return ue=Math.round(ue),ue<0?0:ue>360?360:ue}function De(ue){return ue<0?0:ue>1?1:ue}function pe(ue){return ue.length&&ue.charAt(ue.length-1)==="%"?ye(parseFloat(ue)/100*255):ye(parseInt(ue,10))}function Ee(ue){return ue.length&&ue.charAt(ue.length-1)==="%"?De(parseFloat(ue)/100):De(parseFloat(ue))}function Pe(ue,ge,xe){return xe<0?xe+=1:xe>1&&(xe-=1),xe*6<1?ue+(ge-ue)*xe*6:xe*2<1?ge:xe*3<2?ue+(ge-ue)*(2/3-xe)*6:ue}function de(ue,ge,xe){return ue+(ge-ue)*xe}function ee(ue,ge,xe,Me,Be){return ue[0]=ge,ue[1]=xe,ue[2]=Me,ue[3]=Be,ue}function ne(ue,ge){return ue[0]=ge[0],ue[1]=ge[1],ue[2]=ge[2],ue[3]=ge[3],ue}var le=new Fe.a(20),oe=null;function ce(ue,ge){oe&&ne(oe,ge),oe=le.put(ue,oe||ge.slice())}Ce.parse=function(ue,ge){if(ue){ge=ge||[];var xe=le.get(ue);if(xe)return ne(ge,xe);ue=ue+"";var Me=ue.replace(/ /g,"").toLowerCase();if(Me in ve)return ne(ge,ve[Me]),ce(ue,ge),ge;if(Me.charAt(0)==="#"){if(Me.length===4){var Be=parseInt(Me.substr(1),16);if(!(Be>=0&&Be<=4095)){ee(ge,0,0,0,1);return}return ee(ge,(Be&3840)>>4|(Be&3840)>>8,Be&240|(Be&240)>>4,Be&15|(Be&15)<<4,1),ce(ue,ge),ge}else if(Me.length===7){var Be=parseInt(Me.substr(1),16);if(!(Be>=0&&Be<=16777215)){ee(ge,0,0,0,1);return}return ee(ge,(Be&16711680)>>16,(Be&65280)>>8,Be&255,1),ce(ue,ge),ge}return}var Ne=Me.indexOf("("),Ue=Me.indexOf(")");if(Ne!==-1&&Ue+1===Me.length){var Ge=Me.substr(0,Ne),Xe=Me.substr(Ne+1,Ue-(Ne+1)).split(","),Ye=1;switch(Ge){case"rgba":if(Xe.length!==4){ee(ge,0,0,0,1);return}Ye=Ee(Xe.pop());case"rgb":if(Xe.length!==3){ee(ge,0,0,0,1);return}return ee(ge,pe(Xe[0]),pe(Xe[1]),pe(Xe[2]),Ye),ce(ue,ge),ge;case"hsla":if(Xe.length!==4){ee(ge,0,0,0,1);return}return Xe[3]=Ee(Xe[3]),he(Xe,ge),ce(ue,ge),ge;case"hsl":if(Xe.length!==3){ee(ge,0,0,0,1);return}return he(Xe,ge),ce(ue,ge),ge;default:return}}ee(ge,0,0,0,1)}},Ce.parseToFloat=function(ue,ge){if(ge=Ce.parse(ue,ge),!!ge)return ge[0]/=255,ge[1]/=255,ge[2]/=255,ge};function he(ue,ge){var xe=(parseFloat(ue[0])%360+360)%360/360,Me=Ee(ue[1]),Be=Ee(ue[2]),Ne=Be<=.5?Be*(Me+1):Be+Me-Be*Me,Ue=Be*2-Ne;return ge=ge||[],ee(ge,ye(Pe(Ue,Ne,xe+1/3)*255),ye(Pe(Ue,Ne,xe)*255),ye(Pe(Ue,Ne,xe-1/3)*255),1),ue.length===4&&(ge[3]=ue[3]),ge}function ie(ue){if(ue){var ge=ue[0]/255,xe=ue[1]/255,Me=ue[2]/255,Be=Math.min(ge,xe,Me),Ne=Math.max(ge,xe,Me),Ue=Ne-Be,Ge=(Ne+Be)/2,Xe,Ye;if(Ue===0)Xe=0,Ye=0;else{Ge<.5?Ye=Ue/(Ne+Be):Ye=Ue/(2-Ne-Be);var nt=((Ne-ge)/6+Ue/2)/Ue,$e=((Ne-xe)/6+Ue/2)/Ue,qe=((Ne-Me)/6+Ue/2)/Ue;ge===Ne?Xe=qe-$e:xe===Ne?Xe=1/3+nt-qe:Me===Ne&&(Xe=2/3+$e-nt),Xe<0&&(Xe+=1),Xe>1&&(Xe-=1)}var st=[Xe*360,Ye,Ge];return ue[3]!=null&&st.push(ue[3]),st}}Ce.lift=function(ue,ge){var xe=Ce.parse(ue);if(xe){for(var Me=0;Me<3;Me++)ge<0?xe[Me]=xe[Me]*(1-ge)|0:xe[Me]=(255-xe[Me])*ge+xe[Me]|0;return Ce.stringify(xe,xe.length===4?"rgba":"rgb")}},Ce.toHex=function(ue){var ge=Ce.parse(ue);if(ge)return((1<<24)+(ge[0]<<16)+(ge[1]<<8)+ +ge[2]).toString(16).slice(1)},Ce.fastLerp=function(ue,ge,xe){if(!(!(ge&&ge.length)||!(ue>=0&&ue<=1))){xe=xe||[];var Me=ue*(ge.length-1),Be=Math.floor(Me),Ne=Math.ceil(Me),Ue=ge[Be],Ge=ge[Ne],Xe=Me-Be;return xe[0]=ye(de(Ue[0],Ge[0],Xe)),xe[1]=ye(de(Ue[1],Ge[1],Xe)),xe[2]=ye(de(Ue[2],Ge[2],Xe)),xe[3]=De(de(Ue[3],Ge[3],Xe)),xe}},Ce.fastMapToColor=Ce.fastLerp,Ce.lerp=function(ue,ge,xe){if(!(!(ge&&ge.length)||!(ue>=0&&ue<=1))){var Me=ue*(ge.length-1),Be=Math.floor(Me),Ne=Math.ceil(Me),Ue=Ce.parse(ge[Be]),Ge=Ce.parse(ge[Ne]),Xe=Me-Be,Ye=Ce.stringify([ye(de(Ue[0],Ge[0],Xe)),ye(de(Ue[1],Ge[1],Xe)),ye(de(Ue[2],Ge[2],Xe)),De(de(Ue[3],Ge[3],Xe))],"rgba");return xe?{color:Ye,leftIndex:Be,rightIndex:Ne,value:Me}:Ye}},Ce.mapToColor=Ce.lerp,Ce.modifyHSL=function(ue,ge,xe,Me){if(ue=Ce.parse(ue),ue)return ue=ie(ue),ge!=null&&(ue[0]=we(ge)),xe!=null&&(ue[1]=Ee(xe)),Me!=null&&(ue[2]=Ee(Me)),Ce.stringify(he(ue),"rgba")},Ce.modifyAlpha=function(ue,ge){if(ue=Ce.parse(ue),ue&&ge!=null)return ue[3]=De(ge),Ce.stringify(ue,"rgba")},Ce.stringify=function(ue,ge){if(!(!ue||!ue.length)){var xe=ue[0]+","+ue[1]+","+ue[2];return(ge==="rgba"||ge==="hsva"||ge==="hsla")&&(xe+=","+ue[3]),ge+"("+xe+")"}},Re.a=Ce},function(Ve,Re,be){"use strict";var Fe=be(95),Ce=function(ve){this._list=new Fe.a,this._map={},this._maxSize=ve||10};Ce.prototype.setMaxSize=function(ve){this._maxSize=ve},Ce.prototype.put=function(ve,ye){if(typeof this._map[ve]=="undefined"){var we=this._list.length();if(we>=this._maxSize&&we>0){var De=this._list.head;this._list.remove(De),delete this._map[De.key]}var pe=this._list.insert(ye);pe.key=ve,this._map[ve]=pe}},Ce.prototype.get=function(ve){var ye=this._map[ve];if(typeof ye!="undefined")return ye!==this._list.tail&&(this._list.remove(ye),this._list.insertEntry(ye)),ye.value},Ce.prototype.remove=function(ve){var ye=this._map[ve];typeof ye!="undefined"&&(delete this._map[ve],this._list.remove(ye))},Ce.prototype.clear=function(){this._list.clear(),this._map={}},Re.a=Ce},function(Ve,Re,be){"use strict";var Fe=function(){this.head=null,this.tail=null,this._length=0};Fe.prototype.insert=function(Ce){var ve=new Fe.Entry(Ce);return this.insertEntry(ve),ve},Fe.prototype.insertAt=function(Ce,ve){if(!(Ce<0)){for(var ye=this.head,we=0;ye&&we!=Ce;)ye=ye.next,we++;if(ye){var De=new Fe.Entry(ve),pe=ye.prev;pe?(pe.next=De,De.prev=pe):this.head=De,De.next=ye,ye.prev=De}else this.insert(ve)}},Fe.prototype.insertBeforeEntry=function(Ce,ve){var ye=new Fe.Entry(Ce),we=ve.prev;we?(we.next=ye,ye.prev=we):this.head=ye,ye.next=ve,ve.prev=ye,this._length++},Fe.prototype.insertEntry=function(Ce){this.head?(this.tail.next=Ce,Ce.prev=this.tail,this.tail=Ce):this.head=this.tail=Ce,this._length++},Fe.prototype.remove=function(Ce){var ve=Ce.prev,ye=Ce.next;ve?ve.next=ye:this.head=ye,ye?ye.prev=ve:this.tail=ve,Ce.next=Ce.prev=null,this._length--},Fe.prototype.removeAt=function(Ce){if(!(Ce<0)){for(var ve=this.head,ye=0;ve&&ye!=Ce;)ve=ve.next,ye++;if(ve)return this.remove(ve),ve.value}},Fe.prototype.getHead=function(){if(this.head)return this.head.value},Fe.prototype.getTail=function(){if(this.tail)return this.tail.value},Fe.prototype.getAt=function(Ce){if(!(Ce<0)){for(var ve=this.head,ye=0;ve&&ye!=Ce;)ve=ve.next,ye++;return ve.value}},Fe.prototype.indexOf=function(Ce){for(var ve=this.head,ye=0;ve;){if(ve.value===Ce)return ye;ve=ve.next,ye++}},Fe.prototype.length=function(){return this._length},Fe.prototype.isEmpty=function(){return this._length===0},Fe.prototype.forEach=function(Ce,ve){for(var ye=this.head,we=0,De=typeof ve!="undefined";ye;)De?Ce.call(ve,ye.value,we):Ce(ye.value,we),ye=ye.next,we++},Fe.prototype.clear=function(){this.tail=this.head=null,this._length=0},Fe.Entry=function(Ce){this.value=Ce,this.next=null,this.prev=null},Re.a=Fe},function(Ve,Re,be){"use strict";var Fe=be(97),Ce=/for\s*?\(int\s*?_idx_\s*\=\s*([\w-]+)\;\s*_idx_\s*<\s*([\w-]+);\s*_idx_\s*\+\+\s*\)\s*\{\{([\s\S]+?)(?=\}\})\}\}/g;function ve(Ee,Pe,de){function ee(oe,ce,he,ie){var ue="";isNaN(ce)&&(ce in Pe?ce=Pe[ce]:ce=ne[ce]),isNaN(he)&&(he in Pe?he=Pe[he]:he=ne[he]);for(var ge=parseInt(ce);ge<parseInt(he);ge++)ue+="{"+ie.replace(/float\s*\(\s*_idx_\s*\)/g,ge.toFixed(1)).replace(/_idx_/g,ge)+"}";return ue}var ne={};for(var le in de)ne[le+"_COUNT"]=de[le];return Ee.replace(Ce,ee)}function ye(Ee,Pe,de){var ee=[];if(Pe)for(var ne in Pe){var le=Pe[ne];le>0&&ee.push("#define "+ne.toUpperCase()+"_COUNT "+le)}if(de)for(var oe=0;oe<de.length;oe++){var ce=de[oe];ee.push("#define "+ce.toUpperCase()+"_ENABLED")}for(var ce in Ee){var he=Ee[ce];he===null?ee.push("#define "+ce):ee.push("#define "+ce+" "+he.toString())}return ee.join(`
|
|
|
`)}function we(Ee){for(var Pe=[],de=0;de<Ee.length;de++)Pe.push("#extension GL_"+Ee[de]+" : enable");return Pe.join(`
|
|
|
`)}function De(Ee){return["precision",Ee,"float"].join(" ")+`;
|
|
|
`+["precision",Ee,"int"].join(" ")+`;
|
|
|
`+["precision",Ee,"sampler2D"].join(" ")+`;
|
|
|
`}function pe(Ee){this._renderer=Ee,this._cache={}}pe.prototype.getProgram=function(Ee,Pe,de){var ee=this._cache,ne="s"+Pe.shader.shaderID+"m"+Pe.programKey;de&&(ne+="se"+de.getProgramKey(Ee.lightGroup)),Ee.isSkinnedMesh()&&(ne+=","+Ee.joints.length);var Ue=ee[ne];if(Ue)return Ue;var le=de?de.getLightsNumbers(Ee.lightGroup):{},oe=this._renderer,ce=oe.gl,he=Pe.getEnabledTextures(),ie="";Ee.isSkinnedMesh()&&(ie=`
|
|
|
`+ye({SKINNING:null,JOINT_COUNT:Ee.joints.length})+`
|
|
|
`);var ue=ie+ye(Pe.vertexDefines,le,he),ge=ie+ye(Pe.fragmentDefines,le,he),xe=ue+`
|
|
|
`+Pe.shader.vertex,Me=we(["OES_standard_derivatives","EXT_shader_texture_lod"])+`
|
|
|
`+De(Pe.precision)+`
|
|
|
`+ge+`
|
|
|
`+Pe.shader.fragment,Be=ve(xe,Pe.vertexDefines,le),Ne=ve(Me,Pe.fragmentDefines,le),Ue=new Fe.a;Ue.uniformSemantics=Pe.shader.uniformSemantics,Ue.attributes=Pe.shader.attributes;var Ge=Ue.buildProgram(ce,Pe.shader,Be,Ne);return Ue.__error=Ge,ee[ne]=Ue,Ue},Re.a=pe},function(Ve,Re,be){"use strict";var Fe=be(18),Ce=be(8),ve=1,ye=2,we=3,De={};function pe(de){for(var ee=de.split(`
|
|
|
`),ne=0,le=ee.length;ne<le;ne++)ee[ne]=ne+1+": "+ee[ne];return ee.join(`
|
|
|
`)}function Ee(de,ee,ne){if(!de.getShaderParameter(ee,de.COMPILE_STATUS))return[de.getShaderInfoLog(ee),pe(ne)].join(`
|
|
|
`)}var Pe=Ce.a.extend({uniformSemantics:{},attributes:{}},function(){this._locations={},this._textureSlot=0,this._program=null},{bind:function(de){this._textureSlot=0,de.gl.useProgram(this._program)},hasUniform:function(de){var ee=this._locations[de];return ee!=null},useTextureSlot:function(de,ee,ne){ee&&(de.gl.activeTexture(de.gl.TEXTURE0+ne),ee.isRenderable()?ee.bind(de):ee.unbind(de))},currentTextureSlot:function(){return this._textureSlot},resetTextureSlot:function(de){this._textureSlot=de||0},takeCurrentTextureSlot:function(de,ee){var ne=this._textureSlot;return this.useTextureSlot(de,ee,ne),this._textureSlot++,ne},setUniform:function(de,ee,ne,le){var oe=this._locations,ce=oe[ne];if(ce==null)return!1;switch(ee){case"m4":de.uniformMatrix4fv(ce,!1,le);break;case"2i":de.uniform2i(ce,le[0],le[1]);break;case"2f":de.uniform2f(ce,le[0],le[1]);break;case"3i":de.uniform3i(ce,le[0],le[1],le[2]);break;case"3f":de.uniform3f(ce,le[0],le[1],le[2]);break;case"4i":de.uniform4i(ce,le[0],le[1],le[2],le[3]);break;case"4f":de.uniform4f(ce,le[0],le[1],le[2],le[3]);break;case"1i":de.uniform1i(ce,le);break;case"1f":de.uniform1f(ce,le);break;case"1fv":de.uniform1fv(ce,le);break;case"1iv":de.uniform1iv(ce,le);break;case"2iv":de.uniform2iv(ce,le);break;case"2fv":de.uniform2fv(ce,le);break;case"3iv":de.uniform3iv(ce,le);break;case"3fv":de.uniform3fv(ce,le);break;case"4iv":de.uniform4iv(ce,le);break;case"4fv":de.uniform4fv(ce,le);break;case"m2":case"m2v":de.uniformMatrix2fv(ce,!1,le);break;case"m3":case"m3v":de.uniformMatrix3fv(ce,!1,le);break;case"m4v":if(Array.isArray(le)){for(var he=new Fe.a.Float32Array(le.length*16),ie=0,ue=0;ue<le.length;ue++)for(var ge=le[ue],xe=0;xe<16;xe++)he[ie++]=ge[xe];de.uniformMatrix4fv(ce,!1,he)}else le instanceof Fe.a.Float32Array&&de.uniformMatrix4fv(ce,!1,le);break}return!0},setUniformOfSemantic:function(de,ee,ne){var le=this.uniformSemantics[ee];return le?this.setUniform(de,le.type,le.symbol,ne):!1},enableAttributes:function(de,ee,ne){var le=de.gl,oe=this._program,ce=this._locations,he;ne?he=ne.__enabledAttributeList:he=De[de.__uid__],he||(ne?he=ne.__enabledAttributeList=[]:he=De[de.__uid__]=[]);for(var ie=[],ue=0;ue<ee.length;ue++){var ge=ee[ue];if(!this.attributes[ge]){ie[ue]=-1;continue}var xe=ce[ge];if(xe==null){if(xe=le.getAttribLocation(oe,ge),xe===-1){ie[ue]=-1;continue}ce[ge]=xe}ie[ue]=xe,he[xe]?he[xe]=ye:he[xe]=ve}for(var ue=0;ue<he.length;ue++)switch(he[ue]){case ve:le.enableVertexAttribArray(ue),he[ue]=we;break;case ye:he[ue]=we;break;case we:le.disableVertexAttribArray(ue),he[ue]=0;break}return ie},buildProgram:function(de,ee,ne,le){var oe=de.createShader(de.VERTEX_SHADER),ce=de.createProgram();de.shaderSource(oe,ne),de.compileShader(oe);var he=de.createShader(de.FRAGMENT_SHADER);de.shaderSource(he,le),de.compileShader(he);var ie=Ee(de,oe,ne);if(ie||(ie=Ee(de,he,le),ie))return ie;if(de.attachShader(ce,oe),de.attachShader(ce,he),ee.attributeSemantics.POSITION)de.bindAttribLocation(ce,0,ee.attributeSemantics.POSITION.symbol);else{var ue=Object.keys(this.attributes);de.bindAttribLocation(ce,0,ue[0])}if(de.linkProgram(ce),!de.getProgramParameter(ce,de.LINK_STATUS))return`Could not link program
|
|
|
VALIDATE_STATUS: `+de.getProgramParameter(ce,de.VALIDATE_STATUS)+", gl error ["+de.getError()+"]";for(var ge=0;ge<ee.uniforms.length;ge++){var xe=ee.uniforms[ge];this._locations[xe]=de.getUniformLocation(ce,xe)}de.deleteShader(oe),de.deleteShader(he),this._program=ce,this.vertexCode=ne,this.fragmentCode=le}});Re.a=Pe},function(Ve,Re,be){"use strict";var Fe=be(99),Ce="uniform vec3 ",ve="uniform float ",ye="@export clay.header.",we="@end",De=":unconfigurable;";Re.a=[ye+"directional_light",Ce+"directionalLightDirection[DIRECTIONAL_LIGHT_COUNT]"+De,Ce+"directionalLightColor[DIRECTIONAL_LIGHT_COUNT]"+De,we,ye+"ambient_light",Ce+"ambientLightColor[AMBIENT_LIGHT_COUNT]"+De,we,ye+"ambient_sh_light",Ce+"ambientSHLightColor[AMBIENT_SH_LIGHT_COUNT]"+De,Ce+"ambientSHLightCoefficients[AMBIENT_SH_LIGHT_COUNT * 9]"+De,Fe.a,we,ye+"ambient_cubemap_light",Ce+"ambientCubemapLightColor[AMBIENT_CUBEMAP_LIGHT_COUNT]"+De,"uniform samplerCube ambientCubemapLightCubemap[AMBIENT_CUBEMAP_LIGHT_COUNT]"+De,"uniform sampler2D ambientCubemapLightBRDFLookup[AMBIENT_CUBEMAP_LIGHT_COUNT]"+De,we,ye+"point_light",Ce+"pointLightPosition[POINT_LIGHT_COUNT]"+De,ve+"pointLightRange[POINT_LIGHT_COUNT]"+De,Ce+"pointLightColor[POINT_LIGHT_COUNT]"+De,we,ye+"spot_light",Ce+"spotLightPosition[SPOT_LIGHT_COUNT]"+De,Ce+"spotLightDirection[SPOT_LIGHT_COUNT]"+De,ve+"spotLightRange[SPOT_LIGHT_COUNT]"+De,ve+"spotLightUmbraAngleCosine[SPOT_LIGHT_COUNT]"+De,ve+"spotLightPenumbraAngleCosine[SPOT_LIGHT_COUNT]"+De,ve+"spotLightFalloffFactor[SPOT_LIGHT_COUNT]"+De,Ce+"spotLightColor[SPOT_LIGHT_COUNT]"+De,we].join(`
|
|
|
`)},function(Ve,Re,be){"use strict";Re.a=`vec3 calcAmbientSHLight(int idx, vec3 N) {
|
|
|
int offset = 9 * idx;
|
|
|
return ambientSHLightCoefficients[0]
|
|
|
+ ambientSHLightCoefficients[1] * N.x
|
|
|
+ ambientSHLightCoefficients[2] * N.y
|
|
|
+ ambientSHLightCoefficients[3] * N.z
|
|
|
+ ambientSHLightCoefficients[4] * N.x * N.z
|
|
|
+ ambientSHLightCoefficients[5] * N.z * N.y
|
|
|
+ ambientSHLightCoefficients[6] * N.y * N.x
|
|
|
+ ambientSHLightCoefficients[7] * (3.0 * N.z * N.z - 1.0)
|
|
|
+ ambientSHLightCoefficients[8] * (N.x * N.x - N.y * N.y);
|
|
|
}`},function(Ve,Re,be){"use strict";var Fe=be(8),Ce=be(49),ve=be(23),ye=be(4),we=be(9),De=be(64),pe=be(11),Ee=be(1),Pe=be.n(Ee),de=Pe.a.vec3,ee=Fe.a.extend({scene:null,camera:null,renderer:null},function(){this._ray=new Ce.a,this._ndc=new ve.a},{pick:function(ne,le,oe){var ce=this.pickAll(ne,le,[],oe);return ce[0]||null},pickAll:function(ne,le,oe,ce){return this.renderer.screenToNDC(ne,le,this._ndc),this.camera.castRay(this._ndc,this._ray),oe=oe||[],this._intersectNode(this.scene,oe,ce||!1),oe.sort(this._intersectionCompareFunc),oe},_intersectNode:function(ne,le,oe){ne instanceof De.a&&ne.isRenderable()&&(!ne.ignorePicking||oe)&&(ne.mode===pe.a.TRIANGLES&&ne.geometry.isUseIndices()||ne.geometry.pickByRay||ne.geometry.pick)&&this._intersectRenderable(ne,le);for(var ce=0;ce<ne._children.length;ce++)this._intersectNode(ne._children[ce],le,oe)},_intersectRenderable:function(){var ne=new ye.a,le=new ye.a,oe=new ye.a,ce=new Ce.a,he=new we.a;return function(ie,ue){var ge=ie.isSkinnedMesh();ce.copy(this._ray),we.a.invert(he,ie.worldTransform),ge||ce.applyTransform(he);var xe=ie.geometry;if(!(!ge&&xe.boundingBox&&!ce.intersectBoundingBox(xe.boundingBox))){if(xe.pick){xe.pick(this._ndc.x,this._ndc.y,this.renderer,this.camera,ie,ue);return}else if(xe.pickByRay){xe.pickByRay(ce,ie,ue);return}var Me=ie.cullFace===pe.a.BACK&&ie.frontFace===pe.a.CCW||ie.cullFace===pe.a.FRONT&&ie.frontFace===pe.a.CW,Be,Ne=xe.indices,Ue=xe.attributes.position,Ge=xe.attributes.weight,Xe=xe.attributes.joint,Ye,nt=[];if(!(!Ue||!Ue.value||!Ne)){if(ge){Ye=ie.skeleton.getSubSkinMatrices(ie.__uid__,ie.joints);for(var $e=0;$e<ie.joints.length;$e++){nt[$e]=nt[$e]||[];for(var qe=0;qe<16;qe++)nt[$e][qe]=Ye[$e*16+qe]}var st=[],rt=[],ct=[],tt=[],dt=[],At=xe.attributes.skinnedPosition;(!At||!At.value)&&(xe.createAttribute("skinnedPosition","f",3),At=xe.attributes.skinnedPosition,At.init(xe.vertexCount));for(var $e=0;$e<xe.vertexCount;$e++){Ue.get($e,st),Ge.get($e,rt),Xe.get($e,ct),rt[3]=1-rt[0]-rt[1]-rt[2],de.set(tt,0,0,0);for(var qe=0;qe<4;qe++)ct[qe]>=0&&rt[qe]>1e-4&&(de.transformMat4(dt,st,nt[ct[qe]]),de.scaleAndAdd(tt,tt,dt,rt[qe]));At.set($e,tt)}}for(var $e=0;$e<Ne.length;$e+=3){var mt=Ne[$e],ht=Ne[$e+1],vt=Ne[$e+2],Wt=ge?xe.attributes.skinnedPosition:Ue;if(Wt.get(mt,ne.array),Wt.get(ht,le.array),Wt.get(vt,oe.array),Me?Be=ce.intersectTriangle(ne,le,oe,ie.culling):Be=ce.intersectTriangle(ne,oe,le,ie.culling),Be){var Jt=new ye.a;ge?ye.a.copy(Jt,Be):ye.a.transformMat4(Jt,Be,ie.worldTransform),ue.push(new ee.Intersection(Be,Jt,ie,[mt,ht,vt],$e/3,ye.a.dist(Jt,this._ray.origin)))}}}}}}(),_intersectionCompareFunc:function(ne,le){return ne.distance-le.distance}});ee.Intersection=function(ne,le,oe,ce,he,ie){this.point=ne,this.pointWorld=le,this.target=oe,this.triangle=ce,this.triangleIndex=he,this.distance=ie},Re.a=ee},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=["bar3D","line3D","map3D","scatter3D","surface","lines3D","scatterGL","scatter3D"];function ye(pe,Ee){if(pe&&pe[Ee]&&(pe[Ee].normal||pe[Ee].emphasis)){var Pe=pe[Ee].normal,de=pe[Ee].emphasis;Pe&&(pe[Ee]=Pe),de&&(pe.emphasis=pe.emphasis||{},pe.emphasis[Ee]=de)}}function we(pe){ye(pe,"itemStyle"),ye(pe,"lineStyle"),ye(pe,"areaStyle"),ye(pe,"label")}function De(pe){pe&&(pe instanceof Array||(pe=[pe]),Ce.a.util.each(pe,function(Ee){if(Ee.axisLabel){var Pe=Ee.axisLabel;Ce.a.util.extend(Pe,Pe.textStyle),Pe.textStyle=null}}))}Re.a=function(pe){Ce.a.util.each(pe.series,function(Ee){Ce.a.util.indexOf(ve,Ee.type)>=0&&(we(Ee),Ee.coordinateSystem==="mapbox"&&(Ee.coordinateSystem="mapbox3D",pe.mapbox3D=pe.mapbox))}),De(pe.xAxis3D),De(pe.yAxis3D),De(pe.zAxis3D),De(pe.grid3D),ye(pe.geo3D)}},function(Ve,Re,be){"use strict";function Fe(Ce){var ve=new XMLHttpRequest;ve.open("get",Ce.url),ve.responseType=Ce.responseType||"text",Ce.onprogress&&(ve.onprogress=function(ye){if(ye.lengthComputable){var we=ye.loaded/ye.total;Ce.onprogress(we,ye.loaded,ye.total)}else Ce.onprogress(null)}),ve.onload=function(ye){ve.status>=400?Ce.onerror&&Ce.onerror():Ce.onload&&Ce.onload(ve.response)},Ce.onerror&&(ve.onerror=Ce.onerror),ve.send(null)}Re.a={get:Fe}},function(Ve,Re,be){"use strict";Re.a=`@export clay.basic.vertex
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
uniform vec2 uvRepeat : [1.0, 1.0];
|
|
|
uniform vec2 uvOffset : [0.0, 0.0];
|
|
|
attribute vec2 texcoord : TEXCOORD_0;
|
|
|
attribute vec3 position : POSITION;
|
|
|
attribute vec3 barycentric;
|
|
|
@import clay.chunk.skinning_header
|
|
|
varying vec2 v_Texcoord;
|
|
|
varying vec3 v_Barycentric;
|
|
|
#ifdef VERTEX_COLOR
|
|
|
attribute vec4 a_Color : COLOR;
|
|
|
varying vec4 v_Color;
|
|
|
#endif
|
|
|
void main()
|
|
|
{
|
|
|
vec3 skinnedPosition = position;
|
|
|
#ifdef SKINNING
|
|
|
@import clay.chunk.skin_matrix
|
|
|
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
|
|
|
#endif
|
|
|
v_Texcoord = texcoord * uvRepeat + uvOffset;
|
|
|
v_Barycentric = barycentric;
|
|
|
gl_Position = worldViewProjection * vec4(skinnedPosition, 1.0);
|
|
|
#ifdef VERTEX_COLOR
|
|
|
v_Color = a_Color;
|
|
|
#endif
|
|
|
}
|
|
|
@end
|
|
|
@export clay.basic.fragment
|
|
|
varying vec2 v_Texcoord;
|
|
|
uniform sampler2D diffuseMap;
|
|
|
uniform vec3 color : [1.0, 1.0, 1.0];
|
|
|
uniform vec3 emission : [0.0, 0.0, 0.0];
|
|
|
uniform float alpha : 1.0;
|
|
|
#ifdef ALPHA_TEST
|
|
|
uniform float alphaCutoff: 0.9;
|
|
|
#endif
|
|
|
#ifdef VERTEX_COLOR
|
|
|
varying vec4 v_Color;
|
|
|
#endif
|
|
|
uniform float lineWidth : 0.0;
|
|
|
uniform vec4 lineColor : [0.0, 0.0, 0.0, 0.6];
|
|
|
varying vec3 v_Barycentric;
|
|
|
@import clay.util.edge_factor
|
|
|
@import clay.util.rgbm
|
|
|
@import clay.util.srgb
|
|
|
@import clay.util.ACES
|
|
|
void main()
|
|
|
{
|
|
|
#ifdef RENDER_TEXCOORD
|
|
|
gl_FragColor = vec4(v_Texcoord, 1.0, 1.0);
|
|
|
return;
|
|
|
#endif
|
|
|
gl_FragColor = vec4(color, alpha);
|
|
|
#ifdef VERTEX_COLOR
|
|
|
gl_FragColor *= v_Color;
|
|
|
#endif
|
|
|
#ifdef DIFFUSEMAP_ENABLED
|
|
|
vec4 tex = decodeHDR(texture2D(diffuseMap, v_Texcoord));
|
|
|
#ifdef SRGB_DECODE
|
|
|
tex = sRGBToLinear(tex);
|
|
|
#endif
|
|
|
#if defined(DIFFUSEMAP_ALPHA_ALPHA)
|
|
|
gl_FragColor.a = tex.a;
|
|
|
#endif
|
|
|
gl_FragColor.rgb *= tex.rgb;
|
|
|
#endif
|
|
|
gl_FragColor.rgb += emission;
|
|
|
if( lineWidth > 0.)
|
|
|
{
|
|
|
gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor(lineWidth)) * lineColor.a);
|
|
|
}
|
|
|
#ifdef ALPHA_TEST
|
|
|
if (gl_FragColor.a < alphaCutoff) {
|
|
|
discard;
|
|
|
}
|
|
|
#endif
|
|
|
#ifdef TONEMAPPING
|
|
|
gl_FragColor.rgb = ACESToneMapping(gl_FragColor.rgb);
|
|
|
#endif
|
|
|
#ifdef SRGB_ENCODE
|
|
|
gl_FragColor = linearTosRGB(gl_FragColor);
|
|
|
#endif
|
|
|
gl_FragColor = encodeHDR(gl_FragColor);
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";var Fe=be(6),Ce=be(5),ve=be(25),ye=542327876,we=1,De=2,pe=4,Ee=8,Pe=4096,de=131072,ee=524288,ne=8388608,le=8,oe=4194304,ce=4096,he=512,ie=1024,ue=2048,ge=4096,xe=8192,Me=16384,Be=32768,Ne=2097152,Ue=1,Ge=2,Xe=4,Ye=64,nt=512,$e=131072;function qe(sn){return sn.charCodeAt(0)+(sn.charCodeAt(1)<<8)+(sn.charCodeAt(2)<<16)+(sn.charCodeAt(3)<<24)}function st(sn){return String.fromCharCode(sn&255,sn>>8&255,sn>>16&255,sn>>24&255)}var rt=31,ct=qe("DXT1"),tt=qe("DXT3"),dt=qe("DXT5"),At=0,mt=1,ht=2,vt=3,Wt=4,Jt=7,en=20,mn=21,Ot=27,an=28,tn=29,Dn=30,Tn={parse:function(sn,dn){var Kt=new Int32Array(sn,0,rt);if(Kt[At]!==ye||!Kt(en)&Xe)return null;var Tt=Kt(mn),yt=Kt[Wt],Gt=Kt[vt],gt=Kt[an]&he,St=Kt[ht]&de,Qt,Nt;switch(Tt){case ct:Qt=8,Nt=Fe.a.COMPRESSED_RGB_S3TC_DXT1_EXT;break;case tt:Qt=16,Nt=Fe.a.COMPRESSED_RGBA_S3TC_DXT3_EXT;break;case dt:Qt=16,Nt=Fe.a.COMPRESSED_RGBA_S3TC_DXT5_EXT;break;default:return null}var wt=Kt[mt]+4,rn=gt?6:1,On=1;St&&(On=Math.max(1,Kt[Jt]));for(var zn=[],Gn=0;Gn<rn;Gn++){var nr=yt,Xn=Gt;zn[Gn]=new Ce.a({width:nr,height:Xn,format:Nt});for(var $t=[],gn=0;gn<On;gn++){var jn=Math.max(4,nr)/4*Math.max(4,Xn)/4*Qt,Ln=new Uint8Array(sn,wt,jn);wt+=jn,nr*=.5,Xn*=.5,$t[gn]=Ln}zn[Gn].pixels=$t[0],St&&(zn[Gn].mipmaps=$t)}if(dn)dn.width=zn[0].width,dn.height=zn[0].height,dn.format=zn[0].format,dn.pixels=zn[0].pixels,dn.mipmaps=zn[0].mipmaps;else return zn[0]}};Re.a=Tn},function(Ve,Re,be){"use strict";var Fe=be(6),Ce=be(5),ve=String.fromCharCode,ye=8,we=32767;function De(ne,le,oe,ce){if(ne[3]>0){var he=Math.pow(2,ne[3]-128-8+ce);le[oe+0]=ne[0]*he,le[oe+1]=ne[1]*he,le[oe+2]=ne[2]*he}else le[oe+0]=0,le[oe+1]=0,le[oe+2]=0;return le[oe+3]=1,le}function pe(ne,le,oe){for(var ce="",he=le;he<oe;he++)ce+=ve(ne[he]);return ce}function Ee(ne,le){le[0]=ne[0],le[1]=ne[1],le[2]=ne[2],le[3]=ne[3]}function Pe(ne,le,oe,ce){for(var he=0,ie=0,ue=ce;ue>0;)if(ne[ie][0]=le[oe++],ne[ie][1]=le[oe++],ne[ie][2]=le[oe++],ne[ie][3]=le[oe++],ne[ie][0]===1&&ne[ie][1]===1&&ne[ie][2]===1){for(var ge=ne[ie][3]<<he>>>0;ge>0;ge--)Ee(ne[ie-1],ne[ie]),ie++,ue--;he+=8}else ie++,ue--,he=0;return oe}function de(ne,le,oe,ce){if(ce<ye|ce>we)return Pe(ne,le,oe,ce);var he=le[oe++];if(he!=2)return Pe(ne,le,oe-1,ce);if(ne[0][1]=le[oe++],ne[0][2]=le[oe++],he=le[oe++],(ne[0][2]<<8>>>0|he)>>>0!==ce)return null;for(var he=0;he<4;he++)for(var ie=0;ie<ce;){var ue=le[oe++];if(ue>128){ue=(ue&127)>>>0;for(var ge=le[oe++];ue--;)ne[ie++][he]=ge}else for(;ue--;)ne[ie++][he]=le[oe++]}return oe}var ee={parseRGBE:function(ne,le,oe){oe==null&&(oe=0);var ce=new Uint8Array(ne),he=ce.length;if(pe(ce,0,2)==="#?"){for(var ie=2;ie<he&&!(ve(ce[ie])===`
|
|
|
`&&ve(ce[ie+1])===`
|
|
|
`);ie++);if(!(ie>=he)){ie+=2;for(var ue="";ie<he;ie++){var ge=ve(ce[ie]);if(ge===`
|
|
|
`)break;ue+=ge}var xe=ue.split(" "),Me=parseInt(xe[1]),Be=parseInt(xe[3]);if(!(!Be||!Me)){for(var Ne=ie+1,Ue=[],Ge=0;Ge<Be;Ge++){Ue[Ge]=[];for(var Xe=0;Xe<4;Xe++)Ue[Ge][Xe]=0}for(var Ye=new Float32Array(Be*Me*4),nt=0,$e=0;$e<Me;$e++){var Ne=de(Ue,ce,Ne,Be);if(!Ne)return null;for(var Ge=0;Ge<Be;Ge++)De(Ue[Ge],Ye,nt,oe),nt+=4}return le||(le=new Ce.a),le.width=Be,le.height=Me,le.pixels=Ye,le.type=Fe.a.FLOAT,le}}}},parseRGBEFromPNG:function(ne){}};Re.a=ee},function(Ve,Re,be){"use strict";var Fe=be(5),Ce=be(4),ve=be(23),ye=["mousedown","mouseup","mousemove","mouseover","mouseout","click","dblclick","contextmenu"];function we(pe){return"_on"+pe}var De=function(pe){var Ee=this;this._texture=new Fe.a({anisotropic:32,flipY:!1,surface:this,dispose:function(Pe){Ee.dispose(),Fe.a.prototype.dispose.call(this,Pe)}}),ye.forEach(function(Pe){this[we(Pe)]=function(de){de.triangle&&this._meshes.forEach(function(ee){this.dispatchEvent(Pe,ee,de.triangle,de.point)},this)}},this),this._meshes=[],pe&&this.setECharts(pe),this.onupdate=null};De.prototype={constructor:De,getTexture:function(){return this._texture},setECharts:function(pe){this._chart=pe;var Ee=pe.getDom();if(!(Ee instanceof HTMLCanvasElement))console.error("ECharts must init on canvas if it is used as texture."),Ee=document.createElement("canvas");else{var Pe=this,de=pe.getZr(),ee=de.__oldRefreshImmediately||de.refreshImmediately;de.refreshImmediately=function(){ee.call(this),Pe._texture.dirty(),Pe.onupdate&&Pe.onupdate()},de.__oldRefreshImmediately=ee}this._texture.image=Ee,this._texture.dirty(),this.onupdate&&this.onupdate()},dispatchEvent:function(){var pe=new Ce.a,Ee=new Ce.a,Pe=new Ce.a,de=new ve.a,ee=new ve.a,ne=new ve.a,le=new ve.a,oe=new Ce.a;return function(ce,he,ie,ue){var ge=he.geometry,xe=ge.attributes.position,Me=ge.attributes.texcoord0,Be=Ce.a.dot,Ne=Ce.a.cross;xe.get(ie[0],pe.array),xe.get(ie[1],Ee.array),xe.get(ie[2],Pe.array),Me.get(ie[0],de.array),Me.get(ie[1],ee.array),Me.get(ie[2],ne.array),Ne(oe,Ee,Pe);var Ue=Be(pe,oe),Ge=Be(ue,oe)/Ue;Ne(oe,Pe,pe);var Xe=Be(ue,oe)/Ue;Ne(oe,pe,Ee);var Ye=Be(ue,oe)/Ue;ve.a.scale(le,de,Ge),ve.a.scaleAndAdd(le,le,ee,Xe),ve.a.scaleAndAdd(le,le,ne,Ye);var nt=le.x*this._chart.getWidth(),$e=le.y*this._chart.getHeight();this._chart.getZr().handler.dispatch(ce,{zrX:nt,zrY:$e})}}(),attachToMesh:function(pe){this._meshes.indexOf(pe)>=0||(ye.forEach(function(Ee){pe.on(Ee,this[we(Ee)],this)},this),this._meshes.push(pe))},detachFromMesh:function(pe){var Ee=this._meshes.indexOf(pe);Ee>=0&&this._meshes.splice(Ee,1),ye.forEach(function(Pe){pe.off(Pe,this[we(Pe)])},this)},dispose:function(){this._meshes.forEach(function(pe){this.detachFromMesh(pe)},this)}},Re.a=De},function(Ve,Re,be){"use strict";var Fe=be(19),Ce=be(108),ve=Fe.a.extend({cubemap:null,castShadow:!1,_normalDistribution:null,_brdfLookup:null},{type:"AMBIENT_CUBEMAP_LIGHT",prefilter:function(ye,we){this._brdfLookup||(this._normalDistribution=Ce.a.generateNormalDistribution(),this._brdfLookup=Ce.a.integrateBRDF(ye,this._normalDistribution));var De=this.cubemap;if(!De.__prefiltered){var pe=Ce.a.prefilterEnvironmentMap(ye,De,{encodeRGBM:!0,width:we,height:we},this._normalDistribution,this._brdfLookup);this.cubemap=pe.environmentMap,this.cubemap.__prefiltered=!0,De.dispose(ye)}},uniformTemplates:{ambientCubemapLightColor:{type:"3f",value:function(ye){var we=ye.color,De=ye.intensity;return[we[0]*De,we[1]*De,we[2]*De]}},ambientCubemapLightCubemap:{type:"t",value:function(ye){return ye.cubemap}},ambientCubemapLightBRDFLookup:{type:"t",value:function(ye){return ye._brdfLookup}}}});Re.a=ve},function(Ve,Re,be){"use strict";var Fe=be(5),Ce=be(25),ve=be(6),ye=be(10),we=be(14),De=be(17),pe=be(7),Ee=be(57),Pe=be(29),de=be(55),ee=be(18),ne=be(54),le=be(111),oe=be(112),ce={},he=["px","nx","py","ny","pz","nz"];ce.prefilterEnvironmentMap=function(ie,ue,ge,xe,Me){(!Me||!xe)&&(xe=ce.generateNormalDistribution(),Me=ce.integrateBRDF(ie,xe)),ge=ge||{};var Be=ge.width||64,Ne=ge.height||64,Ue=ge.type||ue.type,Ge=new Ce.a({width:Be,height:Ne,type:Ue,flipY:!1,mipmaps:[]});Ge.isPowerOfTwo()||console.warn("Width and height must be power of two to enable mipmap.");var Xe=Math.min(Be,Ne),Ye=Math.log(Xe)/Math.log(2)+1,nt=new De.a({shader:new pe.a({vertex:pe.a.source("clay.skybox.vertex"),fragment:oe.a})});nt.set("normalDistribution",xe),ge.encodeRGBM&&nt.define("fragment","RGBM_ENCODE"),ge.decodeRGBM&&nt.define("fragment","RGBM_DECODE");var $e=new Pe.a,qe;if(ue instanceof Fe.a){var st=new Ce.a({width:Be,height:Ne,type:Ue===ve.a.FLOAT?ve.a.HALF_FLOAT:Ue});ne.a.panoramaToCubeMap(ie,ue,st,{encodeRGBM:ge.decodeRGBM}),ue=st}qe=new Ee.a({scene:$e,material:nt}),qe.material.set("environmentMap",ue);var rt=new de.a({texture:Ge});ge.encodeRGBM&&(Ue=Ge.type=ve.a.UNSIGNED_BYTE);for(var ct=new Fe.a({width:Be,height:Ne,type:Ue}),tt=new ye.a({depthBuffer:!1}),dt=ee.a[Ue===ve.a.UNSIGNED_BYTE?"Uint8Array":"Float32Array"],At=0;At<Ye;At++){Ge.mipmaps[At]={pixels:{}},qe.material.set("roughness",At/(he.length-1));for(var mt=ct.width,ht=2*Math.atan(mt/(mt-.5))/Math.PI*180,vt=0;vt<he.length;vt++){var Wt=new dt(ct.width*ct.height*4);tt.attach(ct),tt.bind(ie);var Jt=rt.getCamera(he[vt]);Jt.fov=ht,ie.render($e,Jt),ie.gl.readPixels(0,0,ct.width,ct.height,ve.a.RGBA,Ue,Wt),tt.unbind(ie),Ge.mipmaps[At].pixels[he[vt]]=Wt}ct.width/=2,ct.height/=2,ct.dirty()}return tt.dispose(ie),ct.dispose(ie),qe.dispose(ie),xe.dispose(ie),{environmentMap:Ge,brdfLookup:Me,normalDistribution:xe,maxMipmapLevel:Ye}},ce.integrateBRDF=function(ie,ue){ue=ue||ce.generateNormalDistribution();var ge=new ye.a({depthBuffer:!1}),xe=new we.a({fragment:le.a}),Me=new Fe.a({width:512,height:256,type:ve.a.HALF_FLOAT,minFilter:ve.a.NEAREST,magFilter:ve.a.NEAREST,useMipmap:!1});return xe.setUniform("normalDistribution",ue),xe.setUniform("viewportSize",[512,256]),xe.attachOutput(Me),xe.render(ie,ge),ge.dispose(ie),Me},ce.generateNormalDistribution=function(ge,xe){for(var ge=ge||256,xe=xe||1024,Me=new Fe.a({width:ge,height:xe,type:ve.a.FLOAT,minFilter:ve.a.NEAREST,magFilter:ve.a.NEAREST,useMipmap:!1}),Be=new Float32Array(xe*ge*4),Ne=0;Ne<xe;Ne++){var Ue=Ne/xe,Ge=(Ne<<16|Ne>>>16)>>>0;Ge=((Ge&1431655765)<<1|(Ge&2863311530)>>>1)>>>0,Ge=((Ge&858993459)<<2|(Ge&3435973836)>>>2)>>>0,Ge=((Ge&252645135)<<4|(Ge&4042322160)>>>4)>>>0,Ge=(((Ge&16711935)<<8|(Ge&4278255360)>>>8)>>>0)/4294967296;for(var Xe=0;Xe<ge;Xe++){var Ye=Xe/ge,nt=Ye*Ye,$e=2*Math.PI*Ue,qe=Math.sqrt((1-Ge)/(1+(nt*nt-1)*Ge)),st=Math.sqrt(1-qe*qe),rt=(Ne*ge+Xe)*4;Be[rt]=st*Math.cos($e),Be[rt+1]=st*Math.sin($e),Be[rt+2]=qe,Be[rt+3]=1}}return Me.pixels=Be,Me},Re.a=ce},function(Ve,Re,be){"use strict";Re.a=`
|
|
|
@export clay.compositor.vertex
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
attribute vec3 position : POSITION;
|
|
|
attribute vec2 texcoord : TEXCOORD_0;
|
|
|
varying vec2 v_Texcoord;
|
|
|
void main()
|
|
|
{
|
|
|
v_Texcoord = texcoord;
|
|
|
gl_Position = worldViewProjection * vec4(position, 1.0);
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";Re.a=`@export clay.skybox.vertex
|
|
|
uniform mat4 world : WORLD;
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
attribute vec3 position : POSITION;
|
|
|
varying vec3 v_WorldPosition;
|
|
|
void main()
|
|
|
{
|
|
|
v_WorldPosition = (world * vec4(position, 1.0)).xyz;
|
|
|
gl_Position = worldViewProjection * vec4(position, 1.0);
|
|
|
}
|
|
|
@end
|
|
|
@export clay.skybox.fragment
|
|
|
uniform mat4 viewInverse : VIEWINVERSE;
|
|
|
uniform samplerCube environmentMap;
|
|
|
uniform float lod: 0.0;
|
|
|
varying vec3 v_WorldPosition;
|
|
|
@import clay.util.rgbm
|
|
|
@import clay.util.srgb
|
|
|
@import clay.util.ACES
|
|
|
void main()
|
|
|
{
|
|
|
vec3 eyePos = viewInverse[3].xyz;
|
|
|
vec3 viewDirection = normalize(v_WorldPosition - eyePos);
|
|
|
#ifdef LOD
|
|
|
vec4 texel = decodeHDR(textureCubeLodEXT(environmentMap, viewDirection, lod));
|
|
|
#else
|
|
|
vec4 texel = decodeHDR(textureCube(environmentMap, viewDirection));
|
|
|
#endif
|
|
|
#ifdef SRGB_DECODE
|
|
|
texel = sRGBToLinear(texel);
|
|
|
#endif
|
|
|
#ifdef TONEMAPPING
|
|
|
texel.rgb = ACESToneMapping(texel.rgb);
|
|
|
#endif
|
|
|
#ifdef SRGB_ENCODE
|
|
|
texel = linearTosRGB(texel);
|
|
|
#endif
|
|
|
gl_FragColor = encodeHDR(vec4(texel.rgb, 1.0));
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";Re.a=`#define SAMPLE_NUMBER 1024
|
|
|
#define PI 3.14159265358979
|
|
|
uniform sampler2D normalDistribution;
|
|
|
uniform vec2 viewportSize : [512, 256];
|
|
|
const vec3 N = vec3(0.0, 0.0, 1.0);
|
|
|
const float fSampleNumber = float(SAMPLE_NUMBER);
|
|
|
vec3 importanceSampleNormal(float i, float roughness, vec3 N) {
|
|
|
vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;
|
|
|
vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);
|
|
|
vec3 tangentX = normalize(cross(upVector, N));
|
|
|
vec3 tangentY = cross(N, tangentX);
|
|
|
return tangentX * H.x + tangentY * H.y + N * H.z;
|
|
|
}
|
|
|
float G_Smith(float roughness, float NoV, float NoL) {
|
|
|
float k = roughness * roughness / 2.0;
|
|
|
float G1V = NoV / (NoV * (1.0 - k) + k);
|
|
|
float G1L = NoL / (NoL * (1.0 - k) + k);
|
|
|
return G1L * G1V;
|
|
|
}
|
|
|
void main() {
|
|
|
vec2 uv = gl_FragCoord.xy / viewportSize;
|
|
|
float NoV = uv.x;
|
|
|
float roughness = uv.y;
|
|
|
vec3 V;
|
|
|
V.x = sqrt(1.0 - NoV * NoV);
|
|
|
V.y = 0.0;
|
|
|
V.z = NoV;
|
|
|
float A = 0.0;
|
|
|
float B = 0.0;
|
|
|
for (int i = 0; i < SAMPLE_NUMBER; i++) {
|
|
|
vec3 H = importanceSampleNormal(float(i) / fSampleNumber, roughness, N);
|
|
|
vec3 L = reflect(-V, H);
|
|
|
float NoL = clamp(L.z, 0.0, 1.0);
|
|
|
float NoH = clamp(H.z, 0.0, 1.0);
|
|
|
float VoH = clamp(dot(V, H), 0.0, 1.0);
|
|
|
if (NoL > 0.0) {
|
|
|
float G = G_Smith(roughness, NoV, NoL);
|
|
|
float G_Vis = G * VoH / (NoH * NoV);
|
|
|
float Fc = pow(1.0 - VoH, 5.0);
|
|
|
A += (1.0 - Fc) * G_Vis;
|
|
|
B += Fc * G_Vis;
|
|
|
}
|
|
|
}
|
|
|
gl_FragColor = vec4(vec2(A, B) / fSampleNumber, 0.0, 1.0);
|
|
|
}
|
|
|
`},function(Ve,Re,be){"use strict";Re.a=`#define SAMPLE_NUMBER 1024
|
|
|
#define PI 3.14159265358979
|
|
|
uniform mat4 viewInverse : VIEWINVERSE;
|
|
|
uniform samplerCube environmentMap;
|
|
|
uniform sampler2D normalDistribution;
|
|
|
uniform float roughness : 0.5;
|
|
|
varying vec2 v_Texcoord;
|
|
|
varying vec3 v_WorldPosition;
|
|
|
const float fSampleNumber = float(SAMPLE_NUMBER);
|
|
|
@import clay.util.rgbm
|
|
|
vec3 importanceSampleNormal(float i, float roughness, vec3 N) {
|
|
|
vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;
|
|
|
vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);
|
|
|
vec3 tangentX = normalize(cross(upVector, N));
|
|
|
vec3 tangentY = cross(N, tangentX);
|
|
|
return tangentX * H.x + tangentY * H.y + N * H.z;
|
|
|
}
|
|
|
void main() {
|
|
|
vec3 eyePos = viewInverse[3].xyz;
|
|
|
vec3 V = normalize(v_WorldPosition - eyePos);
|
|
|
vec3 N = V;
|
|
|
vec3 R = V;
|
|
|
vec3 prefilteredColor = vec3(0.0);
|
|
|
float totalWeight = 0.0;
|
|
|
for (int i = 0; i < SAMPLE_NUMBER; i++) {
|
|
|
vec3 H = importanceSampleNormal(float(i) / fSampleNumber, roughness, N);
|
|
|
vec3 L = reflect(-V, H);
|
|
|
float NoL = clamp(dot(N, L), 0.0, 1.0);
|
|
|
if (NoL > 0.0) {
|
|
|
prefilteredColor += decodeHDR(textureCube(environmentMap, L)).rgb * NoL;
|
|
|
totalWeight += NoL;
|
|
|
}
|
|
|
}
|
|
|
gl_FragColor = encodeHDR(vec4(prefilteredColor / totalWeight, 1.0));
|
|
|
}
|
|
|
`},function(Ve,Re,be){"use strict";var Fe=be(19),Ce=be(18),ve=Fe.a.extend({castShadow:!1,coefficients:[]},function(){this._coefficientsTmpArr=new Ce.a.Float32Array(9*3)},{type:"AMBIENT_SH_LIGHT",uniformTemplates:{ambientSHLightColor:{type:"3f",value:function(ye){var we=ye.color,De=ye.intensity;return[we[0]*De,we[1]*De,we[2]*De]}},ambientSHLightCoefficients:{type:"3f",value:function(ye){for(var we=ye._coefficientsTmpArr,De=0;De<ye.coefficients.length;De++)we[De]=ye.coefficients[De];return we}}}});Re.a=ve},function(Ve,Re,be){"use strict";var Fe=be(6),Ce=be(10),ve=be(5),ye=be(14),we=be(18),De=be(57),pe=be(56),Ee=be(55),Pe=be(29),de=be(1),ee=be.n(de),ne=be(115),le=ee.a.vec3,oe={},ce=["px","nx","py","ny","pz","nz"];function he(xe,Me){var Be=new ve.a({width:9,height:1,type:Fe.a.FLOAT}),Ne=new ye.a({fragment:ne.a});Ne.material.define("fragment","TEXTURE_SIZE",Me.width),Ne.setUniform("environmentMap",Me);var Ue=new Ce.a;Ue.attach(Be),Ne.render(xe,Ue),Ue.bind(xe);var Ge=new we.a.Float32Array(9*4);xe.gl.readPixels(0,0,9,1,Fe.a.RGBA,Fe.a.FLOAT,Ge);for(var Xe=new we.a.Float32Array(9*3),Ye=0;Ye<9;Ye++)Xe[Ye*3]=Ge[Ye*4],Xe[Ye*3+1]=Ge[Ye*4+1],Xe[Ye*3+2]=Ge[Ye*4+2];return Ue.unbind(xe),Ue.dispose(xe),Ne.dispose(xe),Xe}function ie(xe,Me){var Be=xe[0],Ne=xe[1],Ue=xe[2];return Me===0?1:Me===1?Be:Me===2?Ne:Me===3?Ue:Me===4?Be*Ue:Me===5?Ne*Ue:Me===6?Be*Ne:Me===7?3*Ue*Ue-1:Be*Be-Ne*Ne}var ue={px:[2,1,0,-1,-1,1],nx:[2,1,0,1,-1,-1],py:[0,2,1,1,-1,-1],ny:[0,2,1,1,1,1],pz:[0,1,2,-1,-1,-1],nz:[0,1,2,1,-1,1]};function ge(xe,Me,Be,Ne){for(var Ue=new we.a.Float32Array(27),Ge=le.create(),Xe=le.create(),Ye=le.create(),nt=0;nt<9;nt++){for(var $e=le.create(),qe=0;qe<ce.length;qe++){for(var st=Me[ce[qe]],rt=le.create(),ct=0,tt=0,dt=ue[ce[qe]],At=0;At<Ne;At++)for(var mt=0;mt<Be;mt++){Ge[0]=mt/(Be-1)*2-1,Ge[1]=At/(Ne-1)*2-1,Ge[2]=-1,le.normalize(Ge,Ge),Ye[0]=Ge[dt[0]]*dt[3],Ye[1]=Ge[dt[1]]*dt[4],Ye[2]=Ge[dt[2]]*dt[5],Xe[0]=st[tt++]/255,Xe[1]=st[tt++]/255,Xe[2]=st[tt++]/255;var ht=st[tt++]/255*51.5;Xe[0]*=ht,Xe[1]*=ht,Xe[2]*=ht,le.scaleAndAdd(rt,rt,Xe,ie(Ye,nt)*-Ge[2]),ct+=-Ge[2]}le.scaleAndAdd($e,$e,rt,1/ct)}Ue[nt*3]=$e[0]/6,Ue[nt*3+1]=$e[1]/6,Ue[nt*3+2]=$e[2]/6}return Ue}oe.projectEnvironmentMap=function(xe,Me,Be){Be=Be||{},Be.lod=Be.lod||0;var Ne,Ue=new Pe.a,Ge=64;Me instanceof ve.a?Ne=new pe.a({scene:Ue,environmentMap:Me}):(Ge=Me.image&&Me.image.px?Me.image.px.width:Me.width,Ne=new De.a({scene:Ue,environmentMap:Me}));var Xe=Math.ceil(Ge/Math.pow(2,Be.lod)),Ye=Math.ceil(Ge/Math.pow(2,Be.lod)),nt=new ve.a({width:Xe,height:Ye}),$e=new Ce.a;Ne.material.define("fragment","RGBM_ENCODE"),Be.decodeRGBM&&Ne.material.define("fragment","RGBM_DECODE"),Ne.material.set("lod",Be.lod);for(var qe=new Ee.a({texture:nt}),st={},rt=0;rt<ce.length;rt++){st[ce[rt]]=new Uint8Array(Xe*Ye*4);var ct=qe.getCamera(ce[rt]);ct.fov=90,$e.attach(nt),$e.bind(xe),xe.render(Ue,ct),xe.gl.readPixels(0,0,Xe,Ye,Fe.a.RGBA,Fe.a.UNSIGNED_BYTE,st[ce[rt]]),$e.unbind(xe)}return Ne.dispose(xe),$e.dispose(xe),nt.dispose(xe),ge(xe,st,Xe,Ye)},Re.a=oe},function(Ve,Re,be){"use strict";Re.a=`uniform samplerCube environmentMap;
|
|
|
varying vec2 v_Texcoord;
|
|
|
#define TEXTURE_SIZE 16
|
|
|
mat3 front = mat3(
|
|
|
1.0, 0.0, 0.0,
|
|
|
0.0, 1.0, 0.0,
|
|
|
0.0, 0.0, 1.0
|
|
|
);
|
|
|
mat3 back = mat3(
|
|
|
-1.0, 0.0, 0.0,
|
|
|
0.0, 1.0, 0.0,
|
|
|
0.0, 0.0, -1.0
|
|
|
);
|
|
|
mat3 left = mat3(
|
|
|
0.0, 0.0, -1.0,
|
|
|
0.0, 1.0, 0.0,
|
|
|
1.0, 0.0, 0.0
|
|
|
);
|
|
|
mat3 right = mat3(
|
|
|
0.0, 0.0, 1.0,
|
|
|
0.0, 1.0, 0.0,
|
|
|
-1.0, 0.0, 0.0
|
|
|
);
|
|
|
mat3 up = mat3(
|
|
|
1.0, 0.0, 0.0,
|
|
|
0.0, 0.0, 1.0,
|
|
|
0.0, -1.0, 0.0
|
|
|
);
|
|
|
mat3 down = mat3(
|
|
|
1.0, 0.0, 0.0,
|
|
|
0.0, 0.0, -1.0,
|
|
|
0.0, 1.0, 0.0
|
|
|
);
|
|
|
float harmonics(vec3 normal){
|
|
|
int index = int(gl_FragCoord.x);
|
|
|
float x = normal.x;
|
|
|
float y = normal.y;
|
|
|
float z = normal.z;
|
|
|
if(index==0){
|
|
|
return 1.0;
|
|
|
}
|
|
|
else if(index==1){
|
|
|
return x;
|
|
|
}
|
|
|
else if(index==2){
|
|
|
return y;
|
|
|
}
|
|
|
else if(index==3){
|
|
|
return z;
|
|
|
}
|
|
|
else if(index==4){
|
|
|
return x*z;
|
|
|
}
|
|
|
else if(index==5){
|
|
|
return y*z;
|
|
|
}
|
|
|
else if(index==6){
|
|
|
return x*y;
|
|
|
}
|
|
|
else if(index==7){
|
|
|
return 3.0*z*z - 1.0;
|
|
|
}
|
|
|
else{
|
|
|
return x*x - y*y;
|
|
|
}
|
|
|
}
|
|
|
vec3 sampleSide(mat3 rot)
|
|
|
{
|
|
|
vec3 result = vec3(0.0);
|
|
|
float divider = 0.0;
|
|
|
for (int i = 0; i < TEXTURE_SIZE * TEXTURE_SIZE; i++) {
|
|
|
float x = mod(float(i), float(TEXTURE_SIZE));
|
|
|
float y = float(i / TEXTURE_SIZE);
|
|
|
vec2 sidecoord = ((vec2(x, y) + vec2(0.5, 0.5)) / vec2(TEXTURE_SIZE)) * 2.0 - 1.0;
|
|
|
vec3 normal = normalize(vec3(sidecoord, -1.0));
|
|
|
vec3 fetchNormal = rot * normal;
|
|
|
vec3 texel = textureCube(environmentMap, fetchNormal).rgb;
|
|
|
result += harmonics(fetchNormal) * texel * -normal.z;
|
|
|
divider += -normal.z;
|
|
|
}
|
|
|
return result / divider;
|
|
|
}
|
|
|
void main()
|
|
|
{
|
|
|
vec3 result = (
|
|
|
sampleSide(front) +
|
|
|
sampleSide(back) +
|
|
|
sampleSide(left) +
|
|
|
sampleSide(right) +
|
|
|
sampleSide(up) +
|
|
|
sampleSide(down)
|
|
|
) / 6.0;
|
|
|
gl_FragColor = vec4(result, 1.0);
|
|
|
}`},function(Ve,Re,be){"use strict";var Fe=be(19),Ce=Fe.a.extend({castShadow:!1},{type:"AMBIENT_LIGHT",uniformTemplates:{ambientLightColor:{type:"3f",value:function(ve){var ye=ve.color,we=ve.intensity;return[ye[0]*we,ye[1]*we,ye[2]*we]}}}});Re.a=Ce},function(Ve,Re,be){"use strict";var Fe=be(1),Ce=be.n(Fe),ve=Ce.a.vec4,ye=function(pe,Ee,Pe,de){pe=pe||0,Ee=Ee||0,Pe=Pe||0,de=de||0,this.array=ve.fromValues(pe,Ee,Pe,de),this._dirty=!0};ye.prototype={constructor:ye,add:function(pe){return ve.add(this.array,this.array,pe.array),this._dirty=!0,this},set:function(pe,Ee,Pe,de){return this.array[0]=pe,this.array[1]=Ee,this.array[2]=Pe,this.array[3]=de,this._dirty=!0,this},setArray:function(pe){return this.array[0]=pe[0],this.array[1]=pe[1],this.array[2]=pe[2],this.array[3]=pe[3],this._dirty=!0,this},clone:function(){return new ye(this.x,this.y,this.z,this.w)},copy:function(pe){return ve.copy(this.array,pe.array),this._dirty=!0,this},dist:function(pe){return ve.dist(this.array,pe.array)},distance:function(pe){return ve.distance(this.array,pe.array)},div:function(pe){return ve.div(this.array,this.array,pe.array),this._dirty=!0,this},divide:function(pe){return ve.divide(this.array,this.array,pe.array),this._dirty=!0,this},dot:function(pe){return ve.dot(this.array,pe.array)},len:function(){return ve.len(this.array)},length:function(){return ve.length(this.array)},lerp:function(pe,Ee,Pe){return ve.lerp(this.array,pe.array,Ee.array,Pe),this._dirty=!0,this},min:function(pe){return ve.min(this.array,this.array,pe.array),this._dirty=!0,this},max:function(pe){return ve.max(this.array,this.array,pe.array),this._dirty=!0,this},mul:function(pe){return ve.mul(this.array,this.array,pe.array),this._dirty=!0,this},multiply:function(pe){return ve.multiply(this.array,this.array,pe.array),this._dirty=!0,this},negate:function(){return ve.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return ve.normalize(this.array,this.array),this._dirty=!0,this},random:function(pe){return ve.random(this.array,pe),this._dirty=!0,this},scale:function(pe){return ve.scale(this.array,this.array,pe),this._dirty=!0,this},scaleAndAdd:function(pe,Ee){return ve.scaleAndAdd(this.array,this.array,pe.array,Ee),this._dirty=!0,this},sqrDist:function(pe){return ve.sqrDist(this.array,pe.array)},squaredDistance:function(pe){return ve.squaredDistance(this.array,pe.array)},sqrLen:function(){return ve.sqrLen(this.array)},squaredLength:function(){return ve.squaredLength(this.array)},sub:function(pe){return ve.sub(this.array,this.array,pe.array),this._dirty=!0,this},subtract:function(pe){return ve.subtract(this.array,this.array,pe.array),this._dirty=!0,this},transformMat4:function(pe){return ve.transformMat4(this.array,this.array,pe.array),this._dirty=!0,this},transformQuat:function(pe){return ve.transformQuat(this.array,this.array,pe.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var we=Object.defineProperty;if(we){var De=ye.prototype;we(De,"x",{get:function(){return this.array[0]},set:function(pe){this.array[0]=pe,this._dirty=!0}}),we(De,"y",{get:function(){return this.array[1]},set:function(pe){this.array[1]=pe,this._dirty=!0}}),we(De,"z",{get:function(){return this.array[2]},set:function(pe){this.array[2]=pe,this._dirty=!0}}),we(De,"w",{get:function(){return this.array[3]},set:function(pe){this.array[3]=pe,this._dirty=!0}})}ye.add=function(pe,Ee,Pe){return ve.add(pe.array,Ee.array,Pe.array),pe._dirty=!0,pe},ye.set=function(pe,Ee,Pe,de,ee){ve.set(pe.array,Ee,Pe,de,ee),pe._dirty=!0},ye.copy=function(pe,Ee){return ve.copy(pe.array,Ee.array),pe._dirty=!0,pe},ye.dist=function(pe,Ee){return ve.distance(pe.array,Ee.array)},ye.distance=ye.dist,ye.div=function(pe,Ee,Pe){return ve.divide(pe.array,Ee.array,Pe.array),pe._dirty=!0,pe},ye.divide=ye.div,ye.dot=function(pe,Ee){return ve.dot(pe.array,Ee.array)},ye.len=function(pe){return ve.length(pe.array)},ye.lerp=function(pe,Ee,Pe,de){return ve.lerp(pe.array,Ee.array,Pe.array,de),pe._dirty=!0,pe},ye.min=function(pe,Ee,Pe){return ve.min(pe.array,Ee.array,Pe.array),pe._dirty=!0,pe},ye.max=function(pe,Ee,Pe){return ve.max(pe.array,Ee.array,Pe.array),pe._dirty=!0,pe},ye.mul=function(pe,Ee,Pe){return ve.multiply(pe.array,Ee.array,Pe.array),pe._dirty=!0,pe},ye.multiply=ye.mul,ye.negate=function(pe,Ee){return ve.negate(pe.array,Ee.array),pe._dirty=!0,pe},ye.normalize=function(pe,Ee){return ve.normalize(pe.array,Ee.array),pe._dirty=!0,pe},ye.random=function(pe,Ee){return ve.random(pe.array,Ee),pe._dirty=!0,pe},ye.scale=function(pe,Ee,Pe){return ve.scale(pe.array,Ee.array,Pe),pe._dirty=!0,pe},ye.scaleAndAdd=function(pe,Ee,Pe,de){return ve.scaleAndAdd(pe.array,Ee.array,Pe.array,de),pe._dirty=!0,pe},ye.sqrDist=function(pe,Ee){return ve.sqrDist(pe.array,Ee.array)},ye.squaredDistance=ye.sqrDist,ye.sqrLen=function(pe){return ve.sqrLen(pe.array)},ye.squaredLength=ye.sqrLen,ye.sub=function(pe,Ee,Pe){return ve.subtract(pe.array,Ee.array,Pe.array),pe._dirty=!0,pe},ye.subtract=ye.sub,ye.transformMat4=function(pe,Ee,Pe){return ve.transformMat4(pe.array,Ee.array,Pe.array),pe._dirty=!0,pe},ye.transformQuat=function(pe,Ee,Pe){return ve.transformQuat(pe.array,Ee.array,Pe.array),pe._dirty=!0,pe},Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(1),Ce=be.n(Fe),ve=Ce.a.mat2,ye=function(){this.array=ve.create(),this._dirty=!0};ye.prototype={constructor:ye,setArray:function(we){for(var De=0;De<this.array.length;De++)this.array[De]=we[De];return this._dirty=!0,this},clone:function(){return new ye().copy(this)},copy:function(we){return ve.copy(this.array,we.array),this._dirty=!0,this},adjoint:function(){return ve.adjoint(this.array,this.array),this._dirty=!0,this},determinant:function(){return ve.determinant(this.array)},identity:function(){return ve.identity(this.array),this._dirty=!0,this},invert:function(){return ve.invert(this.array,this.array),this._dirty=!0,this},mul:function(we){return ve.mul(this.array,this.array,we.array),this._dirty=!0,this},mulLeft:function(we){return ve.mul(this.array,we.array,this.array),this._dirty=!0,this},multiply:function(we){return ve.multiply(this.array,this.array,we.array),this._dirty=!0,this},multiplyLeft:function(we){return ve.multiply(this.array,we.array,this.array),this._dirty=!0,this},rotate:function(we){return ve.rotate(this.array,this.array,we),this._dirty=!0,this},scale:function(we){return ve.scale(this.array,this.array,we.array),this._dirty=!0,this},transpose:function(){return ve.transpose(this.array,this.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},ye.adjoint=function(we,De){return ve.adjoint(we.array,De.array),we._dirty=!0,we},ye.copy=function(we,De){return ve.copy(we.array,De.array),we._dirty=!0,we},ye.determinant=function(we){return ve.determinant(we.array)},ye.identity=function(we){return ve.identity(we.array),we._dirty=!0,we},ye.invert=function(we,De){return ve.invert(we.array,De.array),we._dirty=!0,we},ye.mul=function(we,De,pe){return ve.mul(we.array,De.array,pe.array),we._dirty=!0,we},ye.multiply=ye.mul,ye.rotate=function(we,De,pe){return ve.rotate(we.array,De.array,pe),we._dirty=!0,we},ye.scale=function(we,De,pe){return ve.scale(we.array,De.array,pe.array),we._dirty=!0,we},ye.transpose=function(we,De){return ve.transpose(we.array,De.array),we._dirty=!0,we},Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(1),Ce=be.n(Fe),ve=Ce.a.mat2d,ye=function(){this.array=ve.create(),this._dirty=!0};ye.prototype={constructor:ye,setArray:function(we){for(var De=0;De<this.array.length;De++)this.array[De]=we[De];return this._dirty=!0,this},clone:function(){return new ye().copy(this)},copy:function(we){return ve.copy(this.array,we.array),this._dirty=!0,this},determinant:function(){return ve.determinant(this.array)},identity:function(){return ve.identity(this.array),this._dirty=!0,this},invert:function(){return ve.invert(this.array,this.array),this._dirty=!0,this},mul:function(we){return ve.mul(this.array,this.array,we.array),this._dirty=!0,this},mulLeft:function(we){return ve.mul(this.array,we.array,this.array),this._dirty=!0,this},multiply:function(we){return ve.multiply(this.array,this.array,we.array),this._dirty=!0,this},multiplyLeft:function(we){return ve.multiply(this.array,we.array,this.array),this._dirty=!0,this},rotate:function(we){return ve.rotate(this.array,this.array,we),this._dirty=!0,this},scale:function(we){return ve.scale(this.array,this.array,we.array),this._dirty=!0,this},translate:function(we){return ve.translate(this.array,this.array,we.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},ye.copy=function(we,De){return ve.copy(we.array,De.array),we._dirty=!0,we},ye.determinant=function(we){return ve.determinant(we.array)},ye.identity=function(we){return ve.identity(we.array),we._dirty=!0,we},ye.invert=function(we,De){return ve.invert(we.array,De.array),we._dirty=!0,we},ye.mul=function(we,De,pe){return ve.mul(we.array,De.array,pe.array),we._dirty=!0,we},ye.multiply=ye.mul,ye.rotate=function(we,De,pe){return ve.rotate(we.array,De.array,pe),we._dirty=!0,we},ye.scale=function(we,De,pe){return ve.scale(we.array,De.array,pe.array),we._dirty=!0,we},ye.translate=function(we,De,pe){return ve.translate(we.array,De.array,pe.array),we._dirty=!0,we},Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(1),Ce=be.n(Fe),ve=Ce.a.mat3,ye=function(){this.array=ve.create(),this._dirty=!0};ye.prototype={constructor:ye,setArray:function(we){for(var De=0;De<this.array.length;De++)this.array[De]=we[De];return this._dirty=!0,this},adjoint:function(){return ve.adjoint(this.array,this.array),this._dirty=!0,this},clone:function(){return new ye().copy(this)},copy:function(we){return ve.copy(this.array,we.array),this._dirty=!0,this},determinant:function(){return ve.determinant(this.array)},fromMat2d:function(we){return ve.fromMat2d(this.array,we.array),this._dirty=!0,this},fromMat4:function(we){return ve.fromMat4(this.array,we.array),this._dirty=!0,this},fromQuat:function(we){return ve.fromQuat(this.array,we.array),this._dirty=!0,this},identity:function(){return ve.identity(this.array),this._dirty=!0,this},invert:function(){return ve.invert(this.array,this.array),this._dirty=!0,this},mul:function(we){return ve.mul(this.array,this.array,we.array),this._dirty=!0,this},mulLeft:function(we){return ve.mul(this.array,we.array,this.array),this._dirty=!0,this},multiply:function(we){return ve.multiply(this.array,this.array,we.array),this._dirty=!0,this},multiplyLeft:function(we){return ve.multiply(this.array,we.array,this.array),this._dirty=!0,this},rotate:function(we){return ve.rotate(this.array,this.array,we),this._dirty=!0,this},scale:function(we){return ve.scale(this.array,this.array,we.array),this._dirty=!0,this},translate:function(we){return ve.translate(this.array,this.array,we.array),this._dirty=!0,this},normalFromMat4:function(we){return ve.normalFromMat4(this.array,we.array),this._dirty=!0,this},transpose:function(){return ve.transpose(this.array,this.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},ye.adjoint=function(we,De){return ve.adjoint(we.array,De.array),we._dirty=!0,we},ye.copy=function(we,De){return ve.copy(we.array,De.array),we._dirty=!0,we},ye.determinant=function(we){return ve.determinant(we.array)},ye.identity=function(we){return ve.identity(we.array),we._dirty=!0,we},ye.invert=function(we,De){return ve.invert(we.array,De.array),we},ye.mul=function(we,De,pe){return ve.mul(we.array,De.array,pe.array),we._dirty=!0,we},ye.multiply=ye.mul,ye.fromMat2d=function(we,De){return ve.fromMat2d(we.array,De.array),we._dirty=!0,we},ye.fromMat4=function(we,De){return ve.fromMat4(we.array,De.array),we._dirty=!0,we},ye.fromQuat=function(we,De){return ve.fromQuat(we.array,De.array),we._dirty=!0,we},ye.normalFromMat4=function(we,De){return ve.normalFromMat4(we.array,De.array),we._dirty=!0,we},ye.rotate=function(we,De,pe){return ve.rotate(we.array,De.array,pe),we._dirty=!0,we},ye.scale=function(we,De,pe){return ve.scale(we.array,De.array,pe.array),we._dirty=!0,we},ye.transpose=function(we,De){return ve.transpose(we.array,De.array),we._dirty=!0,we},ye.translate=function(we,De,pe){return ve.translate(we.array,De.array,pe.array),we._dirty=!0,we},Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(122),Ce=be.n(Fe),ve={_animators:null,getAnimators:function(){return this._animators=this._animators||[],this._animators},animate:function(ye,we){this._animators=this._animators||[];var De=this,pe;if(ye){for(var Ee=ye.split("."),Pe=De,de=0,ee=Ee.length;de<ee;de++)Pe&&(Pe=Pe[Ee[de]]);Pe&&(pe=Pe)}else pe=De;if(pe==null)throw new Error("Target "+ye+" not exists");var ne=this._animators,le=new Ce.a(pe,we),oe=this;return le.during(function(){oe.__zr&&oe.__zr.refresh()}).done(function(){var ce=ne.indexOf(le);ce>=0&&ne.splice(ce,1)}),ne.push(le),this.__zr&&this.__zr.animation.addAnimator(le),le},stopAnimation:function(ye){this._animators=this._animators||[];for(var we=this._animators,De=we.length,pe=0;pe<De;pe++)we[pe].stop(ye);return we.length=0,this},addAnimatorsToZr:function(ye){if(this._animators)for(var we=0;we<this._animators.length;we++)ye.animation.addAnimator(this._animators[we])},removeAnimatorsFromZr:function(ye){if(this._animators)for(var we=0;we<this._animators.length;we++)ye.animation.removeAnimator(this._animators[we])}};Re.a=ve},function(Ve,Re,be){var Fe=be(123),Ce=be(125),ve=be(12),ye=ve.isArrayLike,we=Array.prototype.slice;function De(Me,Be){return Me[Be]}function pe(Me,Be,Ne){Me[Be]=Ne}function Ee(Me,Be,Ne){return(Be-Me)*Ne+Me}function Pe(Me,Be,Ne){return Ne>.5?Be:Me}function de(Me,Be,Ne,Ue,Ge){var Xe=Me.length;if(Ge==1)for(var Ye=0;Ye<Xe;Ye++)Ue[Ye]=Ee(Me[Ye],Be[Ye],Ne);else for(var nt=Xe&&Me[0].length,Ye=0;Ye<Xe;Ye++)for(var $e=0;$e<nt;$e++)Ue[Ye][$e]=Ee(Me[Ye][$e],Be[Ye][$e],Ne)}function ee(Me,Be,Ne){var Ue=Me.length,Ge=Be.length;if(Ue!==Ge){var Xe=Ue>Ge;if(Xe)Me.length=Ge;else for(var Ye=Ue;Ye<Ge;Ye++)Me.push(Ne===1?Be[Ye]:we.call(Be[Ye]))}for(var nt=Me[0]&&Me[0].length,Ye=0;Ye<Me.length;Ye++)if(Ne===1)isNaN(Me[Ye])&&(Me[Ye]=Be[Ye]);else for(var $e=0;$e<nt;$e++)isNaN(Me[Ye][$e])&&(Me[Ye][$e]=Be[Ye][$e])}function ne(Me,Be,Ne){if(Me===Be)return!0;var Ue=Me.length;if(Ue!==Be.length)return!1;if(Ne===1){for(var Ge=0;Ge<Ue;Ge++)if(Me[Ge]!==Be[Ge])return!1}else for(var Xe=Me[0].length,Ge=0;Ge<Ue;Ge++)for(var Ye=0;Ye<Xe;Ye++)if(Me[Ge][Ye]!==Be[Ge][Ye])return!1;return!0}function le(Me,Be,Ne,Ue,Ge,Xe,Ye,nt,$e){var qe=Me.length;if($e==1)for(var st=0;st<qe;st++)nt[st]=oe(Me[st],Be[st],Ne[st],Ue[st],Ge,Xe,Ye);else for(var rt=Me[0].length,st=0;st<qe;st++)for(var ct=0;ct<rt;ct++)nt[st][ct]=oe(Me[st][ct],Be[st][ct],Ne[st][ct],Ue[st][ct],Ge,Xe,Ye)}function oe(Me,Be,Ne,Ue,Ge,Xe,Ye){var nt=(Ne-Me)*.5,$e=(Ue-Be)*.5;return(2*(Be-Ne)+nt+$e)*Ye+(-3*(Be-Ne)-2*nt-$e)*Xe+nt*Ge+Be}function ce(Me){if(ye(Me)){var Be=Me.length;if(ye(Me[0])){for(var Ne=[],Ue=0;Ue<Be;Ue++)Ne.push(we.call(Me[Ue]));return Ne}return we.call(Me)}return Me}function he(Me){return Me[0]=Math.floor(Me[0]),Me[1]=Math.floor(Me[1]),Me[2]=Math.floor(Me[2]),"rgba("+Me.join(",")+")"}function ie(Me){var Be=Me[Me.length-1].value;return ye(Be&&Be[0])?2:1}function ue(Me,Be,Ne,Ue,Ge,Xe){var Ye=Me._getter,nt=Me._setter,$e=Be==="spline",qe=Ue.length;if(qe){var st=Ue[0].value,rt=ye(st),ct=!1,tt=!1,dt=rt?ie(Ue):0,At;Ue.sort(function(St,Qt){return St.time-Qt.time}),At=Ue[qe-1].time;for(var mt=[],ht=[],vt=Ue[0].value,Wt=!0,Jt=0;Jt<qe;Jt++){mt.push(Ue[Jt].time/At);var en=Ue[Jt].value;if(rt&&ne(en,vt,dt)||!rt&&en===vt||(Wt=!1),vt=en,typeof en=="string"){var mn=Ce.parse(en);mn?(en=mn,ct=!0):tt=!0}ht.push(en)}if(!(!Xe&&Wt)){for(var Ot=ht[qe-1],Jt=0;Jt<qe-1;Jt++)rt?ee(ht[Jt],Ot,dt):isNaN(ht[Jt])&&!isNaN(Ot)&&!tt&&!ct&&(ht[Jt]=Ot);rt&&ee(Ye(Me._target,Ge),Ot,dt);var an=0,tn=0,Dn,Tn,sn,dn,Kt,Tt;if(ct)var yt=[0,0,0,0];var Gt=function(St,Qt){var Nt;if(Qt<0)Nt=0;else if(Qt<tn){for(Dn=Math.min(an+1,qe-1),Nt=Dn;Nt>=0&&!(mt[Nt]<=Qt);Nt--);Nt=Math.min(Nt,qe-2)}else{for(Nt=an;Nt<qe&&!(mt[Nt]>Qt);Nt++);Nt=Math.min(Nt-1,qe-2)}an=Nt,tn=Qt;var wt=mt[Nt+1]-mt[Nt];if(wt!==0)if(Tn=(Qt-mt[Nt])/wt,$e)if(dn=ht[Nt],sn=ht[Nt===0?Nt:Nt-1],Kt=ht[Nt>qe-2?qe-1:Nt+1],Tt=ht[Nt>qe-3?qe-1:Nt+2],rt)le(sn,dn,Kt,Tt,Tn,Tn*Tn,Tn*Tn*Tn,Ye(St,Ge),dt);else{var rn;if(ct)rn=le(sn,dn,Kt,Tt,Tn,Tn*Tn,Tn*Tn*Tn,yt,1),rn=he(yt);else{if(tt)return Pe(dn,Kt,Tn);rn=oe(sn,dn,Kt,Tt,Tn,Tn*Tn,Tn*Tn*Tn)}nt(St,Ge,rn)}else if(rt)de(ht[Nt],ht[Nt+1],Tn,Ye(St,Ge),dt);else{var rn;if(ct)de(ht[Nt],ht[Nt+1],Tn,yt,1),rn=he(yt);else{if(tt)return Pe(ht[Nt],ht[Nt+1],Tn);rn=Ee(ht[Nt],ht[Nt+1],Tn)}nt(St,Ge,rn)}},gt=new Fe({target:Me._target,life:At,loop:Me._loop,delay:Me._delay,onframe:Gt,ondestroy:Ne});return Be&&Be!=="spline"&&(gt.easing=Be),gt}}}var ge=function(Me,Be,Ne,Ue){this._tracks={},this._target=Me,this._loop=Be||!1,this._getter=Ne||De,this._setter=Ue||pe,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};ge.prototype={when:function(Me,Be){var Ne=this._tracks;for(var Ue in Be)if(Be.hasOwnProperty(Ue)){if(!Ne[Ue]){Ne[Ue]=[];var Ge=this._getter(this._target,Ue);if(Ge==null)continue;Me!==0&&Ne[Ue].push({time:0,value:ce(Ge)})}Ne[Ue].push({time:Me,value:Be[Ue]})}return this},during:function(Me){return this._onframeList.push(Me),this},pause:function(){for(var Me=0;Me<this._clipList.length;Me++)this._clipList[Me].pause();this._paused=!0},resume:function(){for(var Me=0;Me<this._clipList.length;Me++)this._clipList[Me].resume();this._paused=!1},isPaused:function(){return!!this._paused},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var Me=this._doneList,Be=Me.length,Ne=0;Ne<Be;Ne++)Me[Ne].call(this)},start:function(Me,Be){var Ne=this,Ue=0,Ge=function(){Ue--,Ue||Ne._doneCallback()},Xe;for(var Ye in this._tracks)if(this._tracks.hasOwnProperty(Ye)){var nt=ue(this,Me,Ge,this._tracks[Ye],Ye,Be);nt&&(this._clipList.push(nt),Ue++,this.animation&&this.animation.addClip(nt),Xe=nt)}if(Xe){var $e=Xe.onframe;Xe.onframe=function(qe,st){$e(qe,st);for(var rt=0;rt<Ne._onframeList.length;rt++)Ne._onframeList[rt](qe,st)}}return Ue||this._doneCallback(),this},stop:function(Me){for(var Be=this._clipList,Ne=this.animation,Ue=0;Ue<Be.length;Ue++){var Ge=Be[Ue];Me&&Ge.onframe(this._target,1),Ne&&Ne.removeClip(Ge)}Be.length=0},delay:function(Me){return this._delay=Me,this},done:function(Me){return Me&&this._doneList.push(Me),this},getClips:function(){return this._clipList}};var xe=ge;Ve.exports=xe},function(Ve,Re,be){var Fe=be(124);function Ce(ye){this._target=ye.target,this._life=ye.life||1e3,this._delay=ye.delay||0,this._initialized=!1,this.loop=ye.loop==null?!1:ye.loop,this.gap=ye.gap||0,this.easing=ye.easing||"Linear",this.onframe=ye.onframe,this.ondestroy=ye.ondestroy,this.onrestart=ye.onrestart,this._pausedTime=0,this._paused=!1}Ce.prototype={constructor:Ce,step:function(ye,we){if(this._initialized||(this._startTime=ye+this._delay,this._initialized=!0),this._paused){this._pausedTime+=we;return}var De=(ye-this._startTime-this._pausedTime)/this._life;if(!(De<0)){De=Math.min(De,1);var pe=this.easing,Ee=typeof pe=="string"?Fe[pe]:pe,Pe=typeof Ee=="function"?Ee(De):De;return this.fire("frame",Pe),De==1?this.loop?(this.restart(ye),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(ye){var we=(ye-this._startTime-this._pausedTime)%this._life;this._startTime=ye-we+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(ye,we){ye="on"+ye,this[ye]&&this[ye](this._target,we)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var ve=Ce;Ve.exports=ve},function(Ve,Re){var be={linear:function(Ce){return Ce},quadraticIn:function(Ce){return Ce*Ce},quadraticOut:function(Ce){return Ce*(2-Ce)},quadraticInOut:function(Ce){return(Ce*=2)<1?.5*Ce*Ce:-.5*(--Ce*(Ce-2)-1)},cubicIn:function(Ce){return Ce*Ce*Ce},cubicOut:function(Ce){return--Ce*Ce*Ce+1},cubicInOut:function(Ce){return(Ce*=2)<1?.5*Ce*Ce*Ce:.5*((Ce-=2)*Ce*Ce+2)},quarticIn:function(Ce){return Ce*Ce*Ce*Ce},quarticOut:function(Ce){return 1- --Ce*Ce*Ce*Ce},quarticInOut:function(Ce){return(Ce*=2)<1?.5*Ce*Ce*Ce*Ce:-.5*((Ce-=2)*Ce*Ce*Ce-2)},quinticIn:function(Ce){return Ce*Ce*Ce*Ce*Ce},quinticOut:function(Ce){return--Ce*Ce*Ce*Ce*Ce+1},quinticInOut:function(Ce){return(Ce*=2)<1?.5*Ce*Ce*Ce*Ce*Ce:.5*((Ce-=2)*Ce*Ce*Ce*Ce+2)},sinusoidalIn:function(Ce){return 1-Math.cos(Ce*Math.PI/2)},sinusoidalOut:function(Ce){return Math.sin(Ce*Math.PI/2)},sinusoidalInOut:function(Ce){return .5*(1-Math.cos(Math.PI*Ce))},exponentialIn:function(Ce){return Ce===0?0:Math.pow(1024,Ce-1)},exponentialOut:function(Ce){return Ce===1?1:1-Math.pow(2,-10*Ce)},exponentialInOut:function(Ce){return Ce===0?0:Ce===1?1:(Ce*=2)<1?.5*Math.pow(1024,Ce-1):.5*(-Math.pow(2,-10*(Ce-1))+2)},circularIn:function(Ce){return 1-Math.sqrt(1-Ce*Ce)},circularOut:function(Ce){return Math.sqrt(1- --Ce*Ce)},circularInOut:function(Ce){return(Ce*=2)<1?-.5*(Math.sqrt(1-Ce*Ce)-1):.5*(Math.sqrt(1-(Ce-=2)*Ce)+1)},elasticIn:function(Ce){var ve,ye=.1,we=.4;return Ce===0?0:Ce===1?1:(!ye||ye<1?(ye=1,ve=we/4):ve=we*Math.asin(1/ye)/(2*Math.PI),-(ye*Math.pow(2,10*(Ce-=1))*Math.sin((Ce-ve)*(2*Math.PI)/we)))},elasticOut:function(Ce){var ve,ye=.1,we=.4;return Ce===0?0:Ce===1?1:(!ye||ye<1?(ye=1,ve=we/4):ve=we*Math.asin(1/ye)/(2*Math.PI),ye*Math.pow(2,-10*Ce)*Math.sin((Ce-ve)*(2*Math.PI)/we)+1)},elasticInOut:function(Ce){var ve,ye=.1,we=.4;return Ce===0?0:Ce===1?1:(!ye||ye<1?(ye=1,ve=we/4):ve=we*Math.asin(1/ye)/(2*Math.PI),(Ce*=2)<1?-.5*(ye*Math.pow(2,10*(Ce-=1))*Math.sin((Ce-ve)*(2*Math.PI)/we)):ye*Math.pow(2,-10*(Ce-=1))*Math.sin((Ce-ve)*(2*Math.PI)/we)*.5+1)},backIn:function(Ce){var ve=1.70158;return Ce*Ce*((ve+1)*Ce-ve)},backOut:function(Ce){var ve=1.70158;return--Ce*Ce*((ve+1)*Ce+ve)+1},backInOut:function(Ce){var ve=2.5949095;return(Ce*=2)<1?.5*(Ce*Ce*((ve+1)*Ce-ve)):.5*((Ce-=2)*Ce*((ve+1)*Ce+ve)+2)},bounceIn:function(Ce){return 1-be.bounceOut(1-Ce)},bounceOut:function(Ce){return Ce<.36363636363636365?7.5625*Ce*Ce:Ce<.7272727272727273?7.5625*(Ce-=.5454545454545454)*Ce+.75:Ce<.9090909090909091?7.5625*(Ce-=.8181818181818182)*Ce+.9375:7.5625*(Ce-=.9545454545454546)*Ce+.984375},bounceInOut:function(Ce){return Ce<.5?be.bounceIn(Ce*2)*.5:be.bounceOut(Ce*2-1)*.5+.5}},Fe=be;Ve.exports=Fe},function(Ve,Re,be){var Fe=be(53),Ce={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function ve(Ye){return Ye=Math.round(Ye),Ye<0?0:Ye>255?255:Ye}function ye(Ye){return Ye=Math.round(Ye),Ye<0?0:Ye>360?360:Ye}function we(Ye){return Ye<0?0:Ye>1?1:Ye}function De(Ye){return Ye.length&&Ye.charAt(Ye.length-1)==="%"?ve(parseFloat(Ye)/100*255):ve(parseInt(Ye,10))}function pe(Ye){return Ye.length&&Ye.charAt(Ye.length-1)==="%"?we(parseFloat(Ye)/100):we(parseFloat(Ye))}function Ee(Ye,nt,$e){return $e<0?$e+=1:$e>1&&($e-=1),$e*6<1?Ye+(nt-Ye)*$e*6:$e*2<1?nt:$e*3<2?Ye+(nt-Ye)*(2/3-$e)*6:Ye}function Pe(Ye,nt,$e){return Ye+(nt-Ye)*$e}function de(Ye,nt,$e,qe,st){return Ye[0]=nt,Ye[1]=$e,Ye[2]=qe,Ye[3]=st,Ye}function ee(Ye,nt){return Ye[0]=nt[0],Ye[1]=nt[1],Ye[2]=nt[2],Ye[3]=nt[3],Ye}var ne=new Fe(20),le=null;function oe(Ye,nt){le&&ee(le,nt),le=ne.put(Ye,le||nt.slice())}function ce(Ye,nt){if(Ye){nt=nt||[];var $e=ne.get(Ye);if($e)return ee(nt,$e);Ye=Ye+"";var qe=Ye.replace(/ /g,"").toLowerCase();if(qe in Ce)return ee(nt,Ce[qe]),oe(Ye,nt),nt;if(qe.charAt(0)==="#"){if(qe.length===4){var st=parseInt(qe.substr(1),16);if(!(st>=0&&st<=4095)){de(nt,0,0,0,1);return}return de(nt,(st&3840)>>4|(st&3840)>>8,st&240|(st&240)>>4,st&15|(st&15)<<4,1),oe(Ye,nt),nt}else if(qe.length===7){var st=parseInt(qe.substr(1),16);if(!(st>=0&&st<=16777215)){de(nt,0,0,0,1);return}return de(nt,(st&16711680)>>16,(st&65280)>>8,st&255,1),oe(Ye,nt),nt}return}var rt=qe.indexOf("("),ct=qe.indexOf(")");if(rt!==-1&&ct+1===qe.length){var tt=qe.substr(0,rt),dt=qe.substr(rt+1,ct-(rt+1)).split(","),At=1;switch(tt){case"rgba":if(dt.length!==4){de(nt,0,0,0,1);return}At=pe(dt.pop());case"rgb":if(dt.length!==3){de(nt,0,0,0,1);return}return de(nt,De(dt[0]),De(dt[1]),De(dt[2]),At),oe(Ye,nt),nt;case"hsla":if(dt.length!==4){de(nt,0,0,0,1);return}return dt[3]=pe(dt[3]),he(dt,nt),oe(Ye,nt),nt;case"hsl":if(dt.length!==3){de(nt,0,0,0,1);return}return he(dt,nt),oe(Ye,nt),nt;default:return}}de(nt,0,0,0,1)}}function he(Ye,nt){var $e=(parseFloat(Ye[0])%360+360)%360/360,qe=pe(Ye[1]),st=pe(Ye[2]),rt=st<=.5?st*(qe+1):st+qe-st*qe,ct=st*2-rt;return nt=nt||[],de(nt,ve(Ee(ct,rt,$e+1/3)*255),ve(Ee(ct,rt,$e)*255),ve(Ee(ct,rt,$e-1/3)*255),1),Ye.length===4&&(nt[3]=Ye[3]),nt}function ie(Ye){if(Ye){var nt=Ye[0]/255,$e=Ye[1]/255,qe=Ye[2]/255,st=Math.min(nt,$e,qe),rt=Math.max(nt,$e,qe),ct=rt-st,tt=(rt+st)/2,dt,At;if(ct===0)dt=0,At=0;else{tt<.5?At=ct/(rt+st):At=ct/(2-rt-st);var mt=((rt-nt)/6+ct/2)/ct,ht=((rt-$e)/6+ct/2)/ct,vt=((rt-qe)/6+ct/2)/ct;nt===rt?dt=vt-ht:$e===rt?dt=1/3+mt-vt:qe===rt&&(dt=2/3+ht-mt),dt<0&&(dt+=1),dt>1&&(dt-=1)}var Wt=[dt*360,At,tt];return Ye[3]!=null&&Wt.push(Ye[3]),Wt}}function ue(Ye,nt){var $e=ce(Ye);if($e){for(var qe=0;qe<3;qe++)nt<0?$e[qe]=$e[qe]*(1-nt)|0:$e[qe]=(255-$e[qe])*nt+$e[qe]|0;return Xe($e,$e.length===4?"rgba":"rgb")}}function ge(Ye){var nt=ce(Ye);if(nt)return((1<<24)+(nt[0]<<16)+(nt[1]<<8)+ +nt[2]).toString(16).slice(1)}function xe(Ye,nt,$e){if(!(!(nt&&nt.length)||!(Ye>=0&&Ye<=1))){$e=$e||[];var qe=Ye*(nt.length-1),st=Math.floor(qe),rt=Math.ceil(qe),ct=nt[st],tt=nt[rt],dt=qe-st;return $e[0]=ve(Pe(ct[0],tt[0],dt)),$e[1]=ve(Pe(ct[1],tt[1],dt)),$e[2]=ve(Pe(ct[2],tt[2],dt)),$e[3]=we(Pe(ct[3],tt[3],dt)),$e}}var Me=xe;function Be(Ye,nt,$e){if(!(!(nt&&nt.length)||!(Ye>=0&&Ye<=1))){var qe=Ye*(nt.length-1),st=Math.floor(qe),rt=Math.ceil(qe),ct=ce(nt[st]),tt=ce(nt[rt]),dt=qe-st,At=Xe([ve(Pe(ct[0],tt[0],dt)),ve(Pe(ct[1],tt[1],dt)),ve(Pe(ct[2],tt[2],dt)),we(Pe(ct[3],tt[3],dt))],"rgba");return $e?{color:At,leftIndex:st,rightIndex:rt,value:qe}:At}}var Ne=Be;function Ue(Ye,nt,$e,qe){if(Ye=ce(Ye),Ye)return Ye=ie(Ye),nt!=null&&(Ye[0]=ye(nt)),$e!=null&&(Ye[1]=pe($e)),qe!=null&&(Ye[2]=pe(qe)),Xe(he(Ye),"rgba")}function Ge(Ye,nt){if(Ye=ce(Ye),Ye&&nt!=null)return Ye[3]=we(nt),Xe(Ye,"rgba")}function Xe(Ye,nt){if(!(!Ye||!Ye.length)){var $e=Ye[0]+","+Ye[1]+","+Ye[2];return(nt==="rgba"||nt==="hsva"||nt==="hsla")&&($e+=","+Ye[3]),nt+"("+$e+")"}}Re.parse=ce,Re.lift=ue,Re.toHex=ge,Re.fastLerp=xe,Re.fastMapToColor=Me,Re.lerp=Be,Re.mapToColor=Ne,Re.modifyHSL=Ue,Re.modifyAlpha=Ge,Re.stringify=Xe},function(Ve,Re,be){"use strict";Re.a=`
|
|
|
@export clay.util.rand
|
|
|
highp float rand(vec2 uv) {
|
|
|
const highp float a = 12.9898, b = 78.233, c = 43758.5453;
|
|
|
highp float dt = dot(uv.xy, vec2(a,b)), sn = mod(dt, 3.141592653589793);
|
|
|
return fract(sin(sn) * c);
|
|
|
}
|
|
|
@end
|
|
|
@export clay.util.calculate_attenuation
|
|
|
uniform float attenuationFactor : 5.0;
|
|
|
float lightAttenuation(float dist, float range)
|
|
|
{
|
|
|
float attenuation = 1.0;
|
|
|
attenuation = dist*dist/(range*range+1.0);
|
|
|
float att_s = attenuationFactor;
|
|
|
attenuation = 1.0/(attenuation*att_s+1.0);
|
|
|
att_s = 1.0/(att_s+1.0);
|
|
|
attenuation = attenuation - att_s;
|
|
|
attenuation /= 1.0 - att_s;
|
|
|
return clamp(attenuation, 0.0, 1.0);
|
|
|
}
|
|
|
@end
|
|
|
@export clay.util.edge_factor
|
|
|
float edgeFactor(float width)
|
|
|
{
|
|
|
vec3 d = fwidth(v_Barycentric);
|
|
|
vec3 a3 = smoothstep(vec3(0.0), d * width, v_Barycentric);
|
|
|
return min(min(a3.x, a3.y), a3.z);
|
|
|
}
|
|
|
@end
|
|
|
@export clay.util.encode_float
|
|
|
vec4 encodeFloat(const in float depth)
|
|
|
{
|
|
|
const vec4 bitShifts = vec4(256.0*256.0*256.0, 256.0*256.0, 256.0, 1.0);
|
|
|
const vec4 bit_mask = vec4(0.0, 1.0/256.0, 1.0/256.0, 1.0/256.0);
|
|
|
vec4 res = fract(depth * bitShifts);
|
|
|
res -= res.xxyz * bit_mask;
|
|
|
return res;
|
|
|
}
|
|
|
@end
|
|
|
@export clay.util.decode_float
|
|
|
float decodeFloat(const in vec4 color)
|
|
|
{
|
|
|
const vec4 bitShifts = vec4(1.0/(256.0*256.0*256.0), 1.0/(256.0*256.0), 1.0/256.0, 1.0);
|
|
|
return dot(color, bitShifts);
|
|
|
}
|
|
|
@end
|
|
|
@export clay.util.float
|
|
|
@import clay.util.encode_float
|
|
|
@import clay.util.decode_float
|
|
|
@end
|
|
|
@export clay.util.rgbm_decode
|
|
|
vec3 RGBMDecode(vec4 rgbm, float range) {
|
|
|
return range * rgbm.rgb * rgbm.a;
|
|
|
}
|
|
|
@end
|
|
|
@export clay.util.rgbm_encode
|
|
|
vec4 RGBMEncode(vec3 color, float range) {
|
|
|
if (dot(color, color) == 0.0) {
|
|
|
return vec4(0.0);
|
|
|
}
|
|
|
vec4 rgbm;
|
|
|
color /= range;
|
|
|
rgbm.a = clamp(max(max(color.r, color.g), max(color.b, 1e-6)), 0.0, 1.0);
|
|
|
rgbm.a = ceil(rgbm.a * 255.0) / 255.0;
|
|
|
rgbm.rgb = color / rgbm.a;
|
|
|
return rgbm;
|
|
|
}
|
|
|
@end
|
|
|
@export clay.util.rgbm
|
|
|
@import clay.util.rgbm_decode
|
|
|
@import clay.util.rgbm_encode
|
|
|
vec4 decodeHDR(vec4 color)
|
|
|
{
|
|
|
#if defined(RGBM_DECODE) || defined(RGBM)
|
|
|
return vec4(RGBMDecode(color, 51.5), 1.0);
|
|
|
#else
|
|
|
return color;
|
|
|
#endif
|
|
|
}
|
|
|
vec4 encodeHDR(vec4 color)
|
|
|
{
|
|
|
#if defined(RGBM_ENCODE) || defined(RGBM)
|
|
|
return RGBMEncode(color.xyz, 51.5);
|
|
|
#else
|
|
|
return color;
|
|
|
#endif
|
|
|
}
|
|
|
@end
|
|
|
@export clay.util.srgb
|
|
|
vec4 sRGBToLinear(in vec4 value) {
|
|
|
return vec4(mix(pow(value.rgb * 0.9478672986 + vec3(0.0521327014), vec3(2.4)), value.rgb * 0.0773993808, vec3(lessThanEqual(value.rgb, vec3(0.04045)))), value.w);
|
|
|
}
|
|
|
vec4 linearTosRGB(in vec4 value) {
|
|
|
return vec4(mix(pow(value.rgb, vec3(0.41666)) * 1.055 - vec3(0.055), value.rgb * 12.92, vec3(lessThanEqual(value.rgb, vec3(0.0031308)))), value.w);
|
|
|
}
|
|
|
@end
|
|
|
@export clay.chunk.skinning_header
|
|
|
#ifdef SKINNING
|
|
|
attribute vec3 weight : WEIGHT;
|
|
|
attribute vec4 joint : JOINT;
|
|
|
uniform mat4 skinMatrix[JOINT_COUNT] : SKIN_MATRIX;
|
|
|
mat4 getSkinMatrix(float idx) {
|
|
|
return skinMatrix[int(idx)];
|
|
|
}
|
|
|
#endif
|
|
|
@end
|
|
|
@export clay.chunk.skin_matrix
|
|
|
mat4 skinMatrixWS = getSkinMatrix(joint.x) * weight.x;
|
|
|
if (weight.y > 1e-4)
|
|
|
{
|
|
|
skinMatrixWS += getSkinMatrix(joint.y) * weight.y;
|
|
|
}
|
|
|
if (weight.z > 1e-4)
|
|
|
{
|
|
|
skinMatrixWS += getSkinMatrix(joint.z) * weight.z;
|
|
|
}
|
|
|
float weightW = 1.0-weight.x-weight.y-weight.z;
|
|
|
if (weightW > 1e-4)
|
|
|
{
|
|
|
skinMatrixWS += getSkinMatrix(joint.w) * weightW;
|
|
|
}
|
|
|
@end
|
|
|
@export clay.util.parallax_correct
|
|
|
vec3 parallaxCorrect(in vec3 dir, in vec3 pos, in vec3 boxMin, in vec3 boxMax) {
|
|
|
vec3 first = (boxMax - pos) / dir;
|
|
|
vec3 second = (boxMin - pos) / dir;
|
|
|
vec3 further = max(first, second);
|
|
|
float dist = min(further.x, min(further.y, further.z));
|
|
|
vec3 fixedPos = pos + dir * dist;
|
|
|
vec3 boxCenter = (boxMax + boxMin) * 0.5;
|
|
|
return normalize(fixedPos - boxCenter);
|
|
|
}
|
|
|
@end
|
|
|
@export clay.util.clamp_sample
|
|
|
vec4 clampSample(const in sampler2D texture, const in vec2 coord)
|
|
|
{
|
|
|
#ifdef STEREO
|
|
|
float eye = step(0.5, coord.x) * 0.5;
|
|
|
vec2 coordClamped = clamp(coord, vec2(eye, 0.0), vec2(0.5 + eye, 1.0));
|
|
|
#else
|
|
|
vec2 coordClamped = clamp(coord, vec2(0.0), vec2(1.0));
|
|
|
#endif
|
|
|
return texture2D(texture, coordClamped);
|
|
|
}
|
|
|
@end
|
|
|
@export clay.util.ACES
|
|
|
vec3 ACESToneMapping(vec3 color)
|
|
|
{
|
|
|
const float A = 2.51;
|
|
|
const float B = 0.03;
|
|
|
const float C = 2.43;
|
|
|
const float D = 0.59;
|
|
|
const float E = 0.14;
|
|
|
return (color * (A * color + B)) / (color * (C * color + D) + E);
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";Re.a=`
|
|
|
@export ecgl.common.transformUniforms
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
uniform mat4 worldInverseTranspose : WORLDINVERSETRANSPOSE;
|
|
|
uniform mat4 world : WORLD;
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.attributes
|
|
|
attribute vec3 position : POSITION;
|
|
|
attribute vec2 texcoord : TEXCOORD_0;
|
|
|
attribute vec3 normal : NORMAL;
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.uv.header
|
|
|
uniform vec2 uvRepeat : [1.0, 1.0];
|
|
|
uniform vec2 uvOffset : [0.0, 0.0];
|
|
|
uniform vec2 detailUvRepeat : [1.0, 1.0];
|
|
|
uniform vec2 detailUvOffset : [0.0, 0.0];
|
|
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
varying vec2 v_DetailTexcoord;
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.uv.main
|
|
|
v_Texcoord = texcoord * uvRepeat + uvOffset;
|
|
|
v_DetailTexcoord = texcoord * detailUvRepeat + detailUvOffset;
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.uv.fragmentHeader
|
|
|
varying vec2 v_Texcoord;
|
|
|
varying vec2 v_DetailTexcoord;
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.common.albedo.main
|
|
|
|
|
|
vec4 albedoTexel = vec4(1.0);
|
|
|
#ifdef DIFFUSEMAP_ENABLED
|
|
|
albedoTexel = texture2D(diffuseMap, v_Texcoord);
|
|
|
#ifdef SRGB_DECODE
|
|
|
albedoTexel = sRGBToLinear(albedoTexel);
|
|
|
#endif
|
|
|
#endif
|
|
|
|
|
|
#ifdef DETAILMAP_ENABLED
|
|
|
vec4 detailTexel = texture2D(detailMap, v_DetailTexcoord);
|
|
|
#ifdef SRGB_DECODE
|
|
|
detailTexel = sRGBToLinear(detailTexel);
|
|
|
#endif
|
|
|
albedoTexel.rgb = mix(albedoTexel.rgb, detailTexel.rgb, detailTexel.a);
|
|
|
albedoTexel.a = detailTexel.a + (1.0 - detailTexel.a) * albedoTexel.a;
|
|
|
#endif
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.wireframe.vertexHeader
|
|
|
|
|
|
#ifdef WIREFRAME_QUAD
|
|
|
attribute vec4 barycentric;
|
|
|
varying vec4 v_Barycentric;
|
|
|
#elif defined(WIREFRAME_TRIANGLE)
|
|
|
attribute vec3 barycentric;
|
|
|
varying vec3 v_Barycentric;
|
|
|
#endif
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.wireframe.vertexMain
|
|
|
|
|
|
#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)
|
|
|
v_Barycentric = barycentric;
|
|
|
#endif
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.common.wireframe.fragmentHeader
|
|
|
|
|
|
uniform float wireframeLineWidth : 1;
|
|
|
uniform vec4 wireframeLineColor: [0, 0, 0, 0.5];
|
|
|
|
|
|
#ifdef WIREFRAME_QUAD
|
|
|
varying vec4 v_Barycentric;
|
|
|
float edgeFactor () {
|
|
|
vec4 d = fwidth(v_Barycentric);
|
|
|
vec4 a4 = smoothstep(vec4(0.0), d * wireframeLineWidth, v_Barycentric);
|
|
|
return min(min(min(a4.x, a4.y), a4.z), a4.w);
|
|
|
}
|
|
|
#elif defined(WIREFRAME_TRIANGLE)
|
|
|
varying vec3 v_Barycentric;
|
|
|
float edgeFactor () {
|
|
|
vec3 d = fwidth(v_Barycentric);
|
|
|
vec3 a3 = smoothstep(vec3(0.0), d * wireframeLineWidth, v_Barycentric);
|
|
|
return min(min(a3.x, a3.y), a3.z);
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.common.wireframe.fragmentMain
|
|
|
|
|
|
#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)
|
|
|
if (wireframeLineWidth > 0.) {
|
|
|
vec4 lineColor = wireframeLineColor;
|
|
|
#ifdef SRGB_DECODE
|
|
|
lineColor = sRGBToLinear(lineColor);
|
|
|
#endif
|
|
|
|
|
|
gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor()) * lineColor.a);
|
|
|
}
|
|
|
#endif
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@export ecgl.common.bumpMap.header
|
|
|
|
|
|
#ifdef BUMPMAP_ENABLED
|
|
|
uniform sampler2D bumpMap;
|
|
|
uniform float bumpScale : 1.0;
|
|
|
|
|
|
|
|
|
vec3 bumpNormal(vec3 surfPos, vec3 surfNormal, vec3 baseNormal)
|
|
|
{
|
|
|
vec2 dSTdx = dFdx(v_Texcoord);
|
|
|
vec2 dSTdy = dFdy(v_Texcoord);
|
|
|
|
|
|
float Hll = bumpScale * texture2D(bumpMap, v_Texcoord).x;
|
|
|
float dHx = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdx).x - Hll;
|
|
|
float dHy = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdy).x - Hll;
|
|
|
|
|
|
vec3 vSigmaX = dFdx(surfPos);
|
|
|
vec3 vSigmaY = dFdy(surfPos);
|
|
|
vec3 vN = surfNormal;
|
|
|
|
|
|
vec3 R1 = cross(vSigmaY, vN);
|
|
|
vec3 R2 = cross(vN, vSigmaX);
|
|
|
|
|
|
float fDet = dot(vSigmaX, R1);
|
|
|
|
|
|
vec3 vGrad = sign(fDet) * (dHx * R1 + dHy * R2);
|
|
|
return normalize(abs(fDet) * baseNormal - vGrad);
|
|
|
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.normalMap.vertexHeader
|
|
|
|
|
|
#ifdef NORMALMAP_ENABLED
|
|
|
attribute vec4 tangent : TANGENT;
|
|
|
varying vec3 v_Tangent;
|
|
|
varying vec3 v_Bitangent;
|
|
|
#endif
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.normalMap.vertexMain
|
|
|
|
|
|
#ifdef NORMALMAP_ENABLED
|
|
|
if (dot(tangent, tangent) > 0.0) {
|
|
|
v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);
|
|
|
v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.common.normalMap.fragmentHeader
|
|
|
|
|
|
#ifdef NORMALMAP_ENABLED
|
|
|
uniform sampler2D normalMap;
|
|
|
varying vec3 v_Tangent;
|
|
|
varying vec3 v_Bitangent;
|
|
|
#endif
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.normalMap.fragmentMain
|
|
|
#ifdef NORMALMAP_ENABLED
|
|
|
if (dot(v_Tangent, v_Tangent) > 0.0) {
|
|
|
vec3 normalTexel = texture2D(normalMap, v_DetailTexcoord).xyz;
|
|
|
if (dot(normalTexel, normalTexel) > 0.0) { N = normalTexel * 2.0 - 1.0;
|
|
|
mat3 tbn = mat3(v_Tangent, v_Bitangent, v_Normal);
|
|
|
N = normalize(tbn * N);
|
|
|
}
|
|
|
}
|
|
|
#endif
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
|
|
@export ecgl.common.vertexAnimation.header
|
|
|
|
|
|
#ifdef VERTEX_ANIMATION
|
|
|
attribute vec3 prevPosition;
|
|
|
attribute vec3 prevNormal;
|
|
|
uniform float percent;
|
|
|
#endif
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.vertexAnimation.main
|
|
|
|
|
|
#ifdef VERTEX_ANIMATION
|
|
|
vec3 pos = mix(prevPosition, position, percent);
|
|
|
vec3 norm = mix(prevNormal, normal, percent);
|
|
|
#else
|
|
|
vec3 pos = position;
|
|
|
vec3 norm = normal;
|
|
|
#endif
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.common.ssaoMap.header
|
|
|
#ifdef SSAOMAP_ENABLED
|
|
|
uniform sampler2D ssaoMap;
|
|
|
uniform vec4 viewport : VIEWPORT;
|
|
|
#endif
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.ssaoMap.main
|
|
|
float ao = 1.0;
|
|
|
#ifdef SSAOMAP_ENABLED
|
|
|
ao = texture2D(ssaoMap, (gl_FragCoord.xy - viewport.xy) / viewport.zw).r;
|
|
|
#endif
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@export ecgl.common.diffuseLayer.header
|
|
|
|
|
|
#if (LAYER_DIFFUSEMAP_COUNT > 0)
|
|
|
uniform float layerDiffuseIntensity[LAYER_DIFFUSEMAP_COUNT];
|
|
|
uniform sampler2D layerDiffuseMap[LAYER_DIFFUSEMAP_COUNT];
|
|
|
#endif
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.emissiveLayer.header
|
|
|
|
|
|
#if (LAYER_EMISSIVEMAP_COUNT > 0)
|
|
|
uniform float layerEmissionIntensity[LAYER_EMISSIVEMAP_COUNT];
|
|
|
uniform sampler2D layerEmissiveMap[LAYER_EMISSIVEMAP_COUNT];
|
|
|
#endif
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.layers.header
|
|
|
@import ecgl.common.diffuseLayer.header
|
|
|
@import ecgl.common.emissiveLayer.header
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.diffuseLayer.main
|
|
|
|
|
|
#if (LAYER_DIFFUSEMAP_COUNT > 0)
|
|
|
for (int _idx_ = 0; _idx_ < LAYER_DIFFUSEMAP_COUNT; _idx_++) {{
|
|
|
float intensity = layerDiffuseIntensity[_idx_];
|
|
|
vec4 texel2 = texture2D(layerDiffuseMap[_idx_], v_Texcoord);
|
|
|
#ifdef SRGB_DECODE
|
|
|
texel2 = sRGBToLinear(texel2);
|
|
|
#endif
|
|
|
albedoTexel.rgb = mix(albedoTexel.rgb, texel2.rgb * intensity, texel2.a);
|
|
|
albedoTexel.a = texel2.a + (1.0 - texel2.a) * albedoTexel.a;
|
|
|
}}
|
|
|
#endif
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.common.emissiveLayer.main
|
|
|
|
|
|
#if (LAYER_EMISSIVEMAP_COUNT > 0)
|
|
|
for (int _idx_ = 0; _idx_ < LAYER_EMISSIVEMAP_COUNT; _idx_++)
|
|
|
{{
|
|
|
vec4 texel2 = texture2D(layerEmissiveMap[_idx_], v_Texcoord) * layerEmissionIntensity[_idx_];
|
|
|
#ifdef SRGB_DECODE
|
|
|
texel2 = sRGBToLinear(texel2);
|
|
|
#endif
|
|
|
float intensity = layerEmissionIntensity[_idx_];
|
|
|
gl_FragColor.rgb += texel2.rgb * texel2.a * intensity;
|
|
|
}}
|
|
|
#endif
|
|
|
|
|
|
@end
|
|
|
`},function(Ve,Re,be){"use strict";Re.a=`@export ecgl.color.vertex
|
|
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
|
|
|
@import ecgl.common.uv.header
|
|
|
|
|
|
attribute vec2 texcoord : TEXCOORD_0;
|
|
|
attribute vec3 position: POSITION;
|
|
|
|
|
|
@import ecgl.common.wireframe.vertexHeader
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
attribute vec4 a_Color : COLOR;
|
|
|
varying vec4 v_Color;
|
|
|
#endif
|
|
|
|
|
|
#ifdef VERTEX_ANIMATION
|
|
|
attribute vec3 prevPosition;
|
|
|
uniform float percent : 1.0;
|
|
|
#endif
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
#ifdef VERTEX_ANIMATION
|
|
|
vec3 pos = mix(prevPosition, position, percent);
|
|
|
#else
|
|
|
vec3 pos = position;
|
|
|
#endif
|
|
|
|
|
|
gl_Position = worldViewProjection * vec4(pos, 1.0);
|
|
|
|
|
|
@import ecgl.common.uv.main
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
v_Color = a_Color;
|
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.wireframe.vertexMain
|
|
|
|
|
|
}
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.color.fragment
|
|
|
|
|
|
#define LAYER_DIFFUSEMAP_COUNT 0
|
|
|
#define LAYER_EMISSIVEMAP_COUNT 0
|
|
|
|
|
|
uniform sampler2D diffuseMap;
|
|
|
uniform sampler2D detailMap;
|
|
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
varying vec4 v_Color;
|
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.layers.header
|
|
|
|
|
|
@import ecgl.common.uv.fragmentHeader
|
|
|
|
|
|
@import ecgl.common.wireframe.fragmentHeader
|
|
|
|
|
|
@import clay.util.srgb
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
#ifdef SRGB_DECODE
|
|
|
gl_FragColor = sRGBToLinear(color);
|
|
|
#else
|
|
|
gl_FragColor = color;
|
|
|
#endif
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
gl_FragColor *= v_Color;
|
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.albedo.main
|
|
|
|
|
|
@import ecgl.common.diffuseLayer.main
|
|
|
|
|
|
gl_FragColor *= albedoTexel;
|
|
|
|
|
|
@import ecgl.common.emissiveLayer.main
|
|
|
|
|
|
@import ecgl.common.wireframe.fragmentMain
|
|
|
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";Re.a=`/**
|
|
|
* http: */
|
|
|
|
|
|
@export ecgl.lambert.vertex
|
|
|
|
|
|
@import ecgl.common.transformUniforms
|
|
|
|
|
|
@import ecgl.common.uv.header
|
|
|
|
|
|
|
|
|
@import ecgl.common.attributes
|
|
|
|
|
|
@import ecgl.common.wireframe.vertexHeader
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
attribute vec4 a_Color : COLOR;
|
|
|
varying vec4 v_Color;
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@import ecgl.common.vertexAnimation.header
|
|
|
|
|
|
|
|
|
varying vec3 v_Normal;
|
|
|
varying vec3 v_WorldPosition;
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
@import ecgl.common.uv.main
|
|
|
|
|
|
@import ecgl.common.vertexAnimation.main
|
|
|
|
|
|
|
|
|
gl_Position = worldViewProjection * vec4(pos, 1.0);
|
|
|
|
|
|
v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);
|
|
|
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
v_Color = a_Color;
|
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.wireframe.vertexMain
|
|
|
}
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.lambert.fragment
|
|
|
|
|
|
#define LAYER_DIFFUSEMAP_COUNT 0
|
|
|
#define LAYER_EMISSIVEMAP_COUNT 0
|
|
|
|
|
|
#define NORMAL_UP_AXIS 1
|
|
|
#define NORMAL_FRONT_AXIS 2
|
|
|
|
|
|
@import ecgl.common.uv.fragmentHeader
|
|
|
|
|
|
varying vec3 v_Normal;
|
|
|
varying vec3 v_WorldPosition;
|
|
|
|
|
|
uniform sampler2D diffuseMap;
|
|
|
uniform sampler2D detailMap;
|
|
|
|
|
|
@import ecgl.common.layers.header
|
|
|
|
|
|
uniform float emissionIntensity: 1.0;
|
|
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
|
|
|
uniform mat4 viewInverse : VIEWINVERSE;
|
|
|
|
|
|
#ifdef AMBIENT_LIGHT_COUNT
|
|
|
@import clay.header.ambient_light
|
|
|
#endif
|
|
|
#ifdef AMBIENT_SH_LIGHT_COUNT
|
|
|
@import clay.header.ambient_sh_light
|
|
|
#endif
|
|
|
|
|
|
#ifdef DIRECTIONAL_LIGHT_COUNT
|
|
|
@import clay.header.directional_light
|
|
|
#endif
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
varying vec4 v_Color;
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@import ecgl.common.ssaoMap.header
|
|
|
|
|
|
@import ecgl.common.bumpMap.header
|
|
|
|
|
|
@import clay.util.srgb
|
|
|
|
|
|
@import ecgl.common.wireframe.fragmentHeader
|
|
|
|
|
|
@import clay.plugin.compute_shadow_map
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
#ifdef SRGB_DECODE
|
|
|
gl_FragColor = sRGBToLinear(color);
|
|
|
#else
|
|
|
gl_FragColor = color;
|
|
|
#endif
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
#ifdef SRGB_DECODE
|
|
|
gl_FragColor *= sRGBToLinear(v_Color);
|
|
|
#else
|
|
|
gl_FragColor *= v_Color;
|
|
|
#endif
|
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.albedo.main
|
|
|
|
|
|
@import ecgl.common.diffuseLayer.main
|
|
|
|
|
|
gl_FragColor *= albedoTexel;
|
|
|
|
|
|
vec3 N = v_Normal;
|
|
|
#ifdef DOUBLE_SIDED
|
|
|
vec3 eyePos = viewInverse[3].xyz;
|
|
|
vec3 V = normalize(eyePos - v_WorldPosition);
|
|
|
|
|
|
if (dot(N, V) < 0.0) {
|
|
|
N = -N;
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
float ambientFactor = 1.0;
|
|
|
|
|
|
#ifdef BUMPMAP_ENABLED
|
|
|
N = bumpNormal(v_WorldPosition, v_Normal, N);
|
|
|
ambientFactor = dot(v_Normal, N);
|
|
|
#endif
|
|
|
|
|
|
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
|
|
|
|
|
|
vec3 diffuseColor = vec3(0.0, 0.0, 0.0);
|
|
|
|
|
|
@import ecgl.common.ssaoMap.main
|
|
|
|
|
|
#ifdef AMBIENT_LIGHT_COUNT
|
|
|
for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)
|
|
|
{
|
|
|
diffuseColor += ambientLightColor[i] * ambientFactor * ao;
|
|
|
}
|
|
|
#endif
|
|
|
#ifdef AMBIENT_SH_LIGHT_COUNT
|
|
|
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
|
|
|
{{
|
|
|
diffuseColor += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;
|
|
|
}}
|
|
|
#endif
|
|
|
#ifdef DIRECTIONAL_LIGHT_COUNT
|
|
|
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
|
|
|
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
|
|
|
if(shadowEnabled)
|
|
|
{
|
|
|
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
|
|
|
}
|
|
|
#endif
|
|
|
for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)
|
|
|
{
|
|
|
vec3 lightDirection = -directionalLightDirection[i];
|
|
|
vec3 lightColor = directionalLightColor[i];
|
|
|
|
|
|
float shadowContrib = 1.0;
|
|
|
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
|
|
|
if (shadowEnabled)
|
|
|
{
|
|
|
shadowContrib = shadowContribsDir[i];
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
float ndl = dot(N, normalize(lightDirection)) * shadowContrib;
|
|
|
|
|
|
diffuseColor += lightColor * clamp(ndl, 0.0, 1.0);
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
gl_FragColor.rgb *= diffuseColor;
|
|
|
|
|
|
@import ecgl.common.emissiveLayer.main
|
|
|
|
|
|
@import ecgl.common.wireframe.fragmentMain
|
|
|
}
|
|
|
|
|
|
@end`},function(Ve,Re,be){"use strict";Re.a=`@export ecgl.realistic.vertex
|
|
|
|
|
|
@import ecgl.common.transformUniforms
|
|
|
|
|
|
@import ecgl.common.uv.header
|
|
|
|
|
|
@import ecgl.common.attributes
|
|
|
|
|
|
|
|
|
@import ecgl.common.wireframe.vertexHeader
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
attribute vec4 a_Color : COLOR;
|
|
|
varying vec4 v_Color;
|
|
|
#endif
|
|
|
|
|
|
#ifdef NORMALMAP_ENABLED
|
|
|
attribute vec4 tangent : TANGENT;
|
|
|
varying vec3 v_Tangent;
|
|
|
varying vec3 v_Bitangent;
|
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.vertexAnimation.header
|
|
|
|
|
|
varying vec3 v_Normal;
|
|
|
varying vec3 v_WorldPosition;
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
|
|
|
@import ecgl.common.uv.main
|
|
|
|
|
|
@import ecgl.common.vertexAnimation.main
|
|
|
|
|
|
gl_Position = worldViewProjection * vec4(pos, 1.0);
|
|
|
|
|
|
v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);
|
|
|
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
v_Color = a_Color;
|
|
|
#endif
|
|
|
|
|
|
#ifdef NORMALMAP_ENABLED
|
|
|
v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);
|
|
|
v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);
|
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.wireframe.vertexMain
|
|
|
|
|
|
}
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
|
|
@export ecgl.realistic.fragment
|
|
|
|
|
|
#define LAYER_DIFFUSEMAP_COUNT 0
|
|
|
#define LAYER_EMISSIVEMAP_COUNT 0
|
|
|
#define PI 3.14159265358979
|
|
|
#define ROUGHNESS_CHANEL 0
|
|
|
#define METALNESS_CHANEL 1
|
|
|
|
|
|
#define NORMAL_UP_AXIS 1
|
|
|
#define NORMAL_FRONT_AXIS 2
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
varying vec4 v_Color;
|
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.uv.fragmentHeader
|
|
|
|
|
|
varying vec3 v_Normal;
|
|
|
varying vec3 v_WorldPosition;
|
|
|
|
|
|
uniform sampler2D diffuseMap;
|
|
|
|
|
|
uniform sampler2D detailMap;
|
|
|
uniform sampler2D metalnessMap;
|
|
|
uniform sampler2D roughnessMap;
|
|
|
|
|
|
@import ecgl.common.layers.header
|
|
|
|
|
|
uniform float emissionIntensity: 1.0;
|
|
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
|
|
|
uniform float metalness : 0.0;
|
|
|
uniform float roughness : 0.5;
|
|
|
|
|
|
uniform mat4 viewInverse : VIEWINVERSE;
|
|
|
|
|
|
#ifdef AMBIENT_LIGHT_COUNT
|
|
|
@import clay.header.ambient_light
|
|
|
#endif
|
|
|
|
|
|
#ifdef AMBIENT_SH_LIGHT_COUNT
|
|
|
@import clay.header.ambient_sh_light
|
|
|
#endif
|
|
|
|
|
|
#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT
|
|
|
@import clay.header.ambient_cubemap_light
|
|
|
#endif
|
|
|
|
|
|
#ifdef DIRECTIONAL_LIGHT_COUNT
|
|
|
@import clay.header.directional_light
|
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.normalMap.fragmentHeader
|
|
|
|
|
|
@import ecgl.common.ssaoMap.header
|
|
|
|
|
|
@import ecgl.common.bumpMap.header
|
|
|
|
|
|
@import clay.util.srgb
|
|
|
|
|
|
@import clay.util.rgbm
|
|
|
|
|
|
@import ecgl.common.wireframe.fragmentHeader
|
|
|
|
|
|
@import clay.plugin.compute_shadow_map
|
|
|
|
|
|
vec3 F_Schlick(float ndv, vec3 spec) {
|
|
|
return spec + (1.0 - spec) * pow(1.0 - ndv, 5.0);
|
|
|
}
|
|
|
|
|
|
float D_Phong(float g, float ndh) {
|
|
|
float a = pow(8192.0, g);
|
|
|
return (a + 2.0) / 8.0 * pow(ndh, a);
|
|
|
}
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
vec4 albedoColor = color;
|
|
|
|
|
|
vec3 eyePos = viewInverse[3].xyz;
|
|
|
vec3 V = normalize(eyePos - v_WorldPosition);
|
|
|
#ifdef VERTEX_COLOR
|
|
|
#ifdef SRGB_DECODE
|
|
|
albedoColor *= sRGBToLinear(v_Color);
|
|
|
#else
|
|
|
albedoColor *= v_Color;
|
|
|
#endif
|
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.albedo.main
|
|
|
|
|
|
@import ecgl.common.diffuseLayer.main
|
|
|
|
|
|
albedoColor *= albedoTexel;
|
|
|
|
|
|
float m = metalness;
|
|
|
|
|
|
#ifdef METALNESSMAP_ENABLED
|
|
|
float m2 = texture2D(metalnessMap, v_DetailTexcoord)[METALNESS_CHANEL];
|
|
|
m = clamp(m2 + (m - 0.5) * 2.0, 0.0, 1.0);
|
|
|
#endif
|
|
|
|
|
|
vec3 baseColor = albedoColor.rgb;
|
|
|
albedoColor.rgb = baseColor * (1.0 - m);
|
|
|
vec3 specFactor = mix(vec3(0.04), baseColor, m);
|
|
|
|
|
|
float g = 1.0 - roughness;
|
|
|
|
|
|
#ifdef ROUGHNESSMAP_ENABLED
|
|
|
float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];
|
|
|
g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);
|
|
|
#endif
|
|
|
|
|
|
vec3 N = v_Normal;
|
|
|
|
|
|
#ifdef DOUBLE_SIDED
|
|
|
if (dot(N, V) < 0.0) {
|
|
|
N = -N;
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
float ambientFactor = 1.0;
|
|
|
|
|
|
#ifdef BUMPMAP_ENABLED
|
|
|
N = bumpNormal(v_WorldPosition, v_Normal, N);
|
|
|
ambientFactor = dot(v_Normal, N);
|
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.normalMap.fragmentMain
|
|
|
|
|
|
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
|
|
|
|
|
|
vec3 diffuseTerm = vec3(0.0);
|
|
|
vec3 specularTerm = vec3(0.0);
|
|
|
|
|
|
float ndv = clamp(dot(N, V), 0.0, 1.0);
|
|
|
vec3 fresnelTerm = F_Schlick(ndv, specFactor);
|
|
|
|
|
|
@import ecgl.common.ssaoMap.main
|
|
|
|
|
|
#ifdef AMBIENT_LIGHT_COUNT
|
|
|
for(int _idx_ = 0; _idx_ < AMBIENT_LIGHT_COUNT; _idx_++)
|
|
|
{{
|
|
|
diffuseTerm += ambientLightColor[_idx_] * ambientFactor * ao;
|
|
|
}}
|
|
|
#endif
|
|
|
|
|
|
#ifdef AMBIENT_SH_LIGHT_COUNT
|
|
|
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
|
|
|
{{
|
|
|
diffuseTerm += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;
|
|
|
}}
|
|
|
#endif
|
|
|
|
|
|
#ifdef DIRECTIONAL_LIGHT_COUNT
|
|
|
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
|
|
|
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
|
|
|
if(shadowEnabled)
|
|
|
{
|
|
|
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
|
|
|
}
|
|
|
#endif
|
|
|
for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++)
|
|
|
{{
|
|
|
vec3 L = -directionalLightDirection[_idx_];
|
|
|
vec3 lc = directionalLightColor[_idx_];
|
|
|
|
|
|
vec3 H = normalize(L + V);
|
|
|
float ndl = clamp(dot(N, normalize(L)), 0.0, 1.0);
|
|
|
float ndh = clamp(dot(N, H), 0.0, 1.0);
|
|
|
|
|
|
float shadowContrib = 1.0;
|
|
|
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
|
|
|
if (shadowEnabled)
|
|
|
{
|
|
|
shadowContrib = shadowContribsDir[_idx_];
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
vec3 li = lc * ndl * shadowContrib;
|
|
|
|
|
|
diffuseTerm += li;
|
|
|
specularTerm += li * fresnelTerm * D_Phong(g, ndh);
|
|
|
}}
|
|
|
#endif
|
|
|
|
|
|
|
|
|
#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT
|
|
|
vec3 L = reflect(-V, N);
|
|
|
L = vec3(L.x, L[NORMAL_UP_AXIS], L[NORMAL_FRONT_AXIS]);
|
|
|
float rough2 = clamp(1.0 - g, 0.0, 1.0);
|
|
|
float bias2 = rough2 * 5.0;
|
|
|
vec2 brdfParam2 = texture2D(ambientCubemapLightBRDFLookup[0], vec2(rough2, ndv)).xy;
|
|
|
vec3 envWeight2 = specFactor * brdfParam2.x + brdfParam2.y;
|
|
|
vec3 envTexel2;
|
|
|
for(int _idx_ = 0; _idx_ < AMBIENT_CUBEMAP_LIGHT_COUNT; _idx_++)
|
|
|
{{
|
|
|
envTexel2 = RGBMDecode(textureCubeLodEXT(ambientCubemapLightCubemap[_idx_], L, bias2), 51.5);
|
|
|
specularTerm += ambientCubemapLightColor[_idx_] * envTexel2 * envWeight2 * ao;
|
|
|
}}
|
|
|
#endif
|
|
|
|
|
|
gl_FragColor.rgb = albedoColor.rgb * diffuseTerm + specularTerm;
|
|
|
gl_FragColor.a = albedoColor.a;
|
|
|
|
|
|
#ifdef SRGB_ENCODE
|
|
|
gl_FragColor = linearTosRGB(gl_FragColor);
|
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.emissiveLayer.main
|
|
|
|
|
|
@import ecgl.common.wireframe.fragmentMain
|
|
|
}
|
|
|
|
|
|
@end`},function(Ve,Re,be){"use strict";Re.a=`@export ecgl.hatching.vertex
|
|
|
|
|
|
@import ecgl.realistic.vertex
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.hatching.fragment
|
|
|
|
|
|
#define NORMAL_UP_AXIS 1
|
|
|
#define NORMAL_FRONT_AXIS 2
|
|
|
|
|
|
@import ecgl.common.uv.fragmentHeader
|
|
|
|
|
|
varying vec3 v_Normal;
|
|
|
varying vec3 v_WorldPosition;
|
|
|
|
|
|
uniform vec4 color : [0.0, 0.0, 0.0, 1.0];
|
|
|
uniform vec4 paperColor : [1.0, 1.0, 1.0, 1.0];
|
|
|
|
|
|
uniform mat4 viewInverse : VIEWINVERSE;
|
|
|
|
|
|
#ifdef AMBIENT_LIGHT_COUNT
|
|
|
@import clay.header.ambient_light
|
|
|
#endif
|
|
|
#ifdef AMBIENT_SH_LIGHT_COUNT
|
|
|
@import clay.header.ambient_sh_light
|
|
|
#endif
|
|
|
|
|
|
#ifdef DIRECTIONAL_LIGHT_COUNT
|
|
|
@import clay.header.directional_light
|
|
|
#endif
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
varying vec4 v_Color;
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@import ecgl.common.ssaoMap.header
|
|
|
|
|
|
@import ecgl.common.bumpMap.header
|
|
|
|
|
|
@import clay.util.srgb
|
|
|
|
|
|
@import ecgl.common.wireframe.fragmentHeader
|
|
|
|
|
|
@import clay.plugin.compute_shadow_map
|
|
|
|
|
|
uniform sampler2D hatch1;
|
|
|
uniform sampler2D hatch2;
|
|
|
uniform sampler2D hatch3;
|
|
|
uniform sampler2D hatch4;
|
|
|
uniform sampler2D hatch5;
|
|
|
uniform sampler2D hatch6;
|
|
|
|
|
|
float shade(in float tone) {
|
|
|
vec4 c = vec4(1. ,1., 1., 1.);
|
|
|
float step = 1. / 6.;
|
|
|
vec2 uv = v_DetailTexcoord;
|
|
|
if (tone <= step / 2.0) {
|
|
|
c = mix(vec4(0.), texture2D(hatch6, uv), 12. * tone);
|
|
|
}
|
|
|
else if (tone <= step) {
|
|
|
c = mix(texture2D(hatch6, uv), texture2D(hatch5, uv), 6. * tone);
|
|
|
}
|
|
|
if(tone > step && tone <= 2. * step){
|
|
|
c = mix(texture2D(hatch5, uv), texture2D(hatch4, uv) , 6. * (tone - step));
|
|
|
}
|
|
|
if(tone > 2. * step && tone <= 3. * step){
|
|
|
c = mix(texture2D(hatch4, uv), texture2D(hatch3, uv), 6. * (tone - 2. * step));
|
|
|
}
|
|
|
if(tone > 3. * step && tone <= 4. * step){
|
|
|
c = mix(texture2D(hatch3, uv), texture2D(hatch2, uv), 6. * (tone - 3. * step));
|
|
|
}
|
|
|
if(tone > 4. * step && tone <= 5. * step){
|
|
|
c = mix(texture2D(hatch2, uv), texture2D(hatch1, uv), 6. * (tone - 4. * step));
|
|
|
}
|
|
|
if(tone > 5. * step){
|
|
|
c = mix(texture2D(hatch1, uv), vec4(1.), 6. * (tone - 5. * step));
|
|
|
}
|
|
|
|
|
|
return c.r;
|
|
|
}
|
|
|
|
|
|
const vec3 w = vec3(0.2125, 0.7154, 0.0721);
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
#ifdef SRGB_DECODE
|
|
|
vec4 inkColor = sRGBToLinear(color);
|
|
|
#else
|
|
|
vec4 inkColor = color;
|
|
|
#endif
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
#ifdef SRGB_DECODE
|
|
|
inkColor *= sRGBToLinear(v_Color);
|
|
|
#else
|
|
|
inkColor *= v_Color;
|
|
|
#endif
|
|
|
#endif
|
|
|
|
|
|
vec3 N = v_Normal;
|
|
|
#ifdef DOUBLE_SIDED
|
|
|
vec3 eyePos = viewInverse[3].xyz;
|
|
|
vec3 V = normalize(eyePos - v_WorldPosition);
|
|
|
|
|
|
if (dot(N, V) < 0.0) {
|
|
|
N = -N;
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
float tone = 0.0;
|
|
|
|
|
|
float ambientFactor = 1.0;
|
|
|
|
|
|
#ifdef BUMPMAP_ENABLED
|
|
|
N = bumpNormal(v_WorldPosition, v_Normal, N);
|
|
|
ambientFactor = dot(v_Normal, N);
|
|
|
#endif
|
|
|
|
|
|
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
|
|
|
|
|
|
@import ecgl.common.ssaoMap.main
|
|
|
|
|
|
#ifdef AMBIENT_LIGHT_COUNT
|
|
|
for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)
|
|
|
{
|
|
|
tone += dot(ambientLightColor[i], w) * ambientFactor * ao;
|
|
|
}
|
|
|
#endif
|
|
|
#ifdef AMBIENT_SH_LIGHT_COUNT
|
|
|
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
|
|
|
{{
|
|
|
tone += dot(calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_], w) * ao;
|
|
|
}}
|
|
|
#endif
|
|
|
#ifdef DIRECTIONAL_LIGHT_COUNT
|
|
|
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
|
|
|
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
|
|
|
if(shadowEnabled)
|
|
|
{
|
|
|
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
|
|
|
}
|
|
|
#endif
|
|
|
for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)
|
|
|
{
|
|
|
vec3 lightDirection = -directionalLightDirection[i];
|
|
|
float lightTone = dot(directionalLightColor[i], w);
|
|
|
|
|
|
float shadowContrib = 1.0;
|
|
|
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
|
|
|
if (shadowEnabled)
|
|
|
{
|
|
|
shadowContrib = shadowContribsDir[i];
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
float ndl = dot(N, normalize(lightDirection)) * shadowContrib;
|
|
|
|
|
|
tone += lightTone * clamp(ndl, 0.0, 1.0);
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
gl_FragColor = mix(inkColor, paperColor, shade(clamp(tone, 0.0, 1.0)));
|
|
|
}
|
|
|
@end
|
|
|
`},function(Ve,Re,be){"use strict";Re.a=`@export ecgl.sm.depth.vertex
|
|
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
|
|
|
attribute vec3 position : POSITION;
|
|
|
|
|
|
#ifdef VERTEX_ANIMATION
|
|
|
attribute vec3 prevPosition;
|
|
|
uniform float percent : 1.0;
|
|
|
#endif
|
|
|
|
|
|
varying vec4 v_ViewPosition;
|
|
|
|
|
|
void main(){
|
|
|
|
|
|
#ifdef VERTEX_ANIMATION
|
|
|
vec3 pos = mix(prevPosition, position, percent);
|
|
|
#else
|
|
|
vec3 pos = position;
|
|
|
#endif
|
|
|
|
|
|
v_ViewPosition = worldViewProjection * vec4(pos, 1.0);
|
|
|
gl_Position = v_ViewPosition;
|
|
|
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
|
|
@export ecgl.sm.depth.fragment
|
|
|
|
|
|
@import clay.sm.depth.fragment
|
|
|
|
|
|
@end`},function(Ve,Re,be){"use strict";var Fe=be(134),Ce=be(138),ve=be(139),ye=be(145),we=be(0),De=be.n(we);De.a.registerAction({type:"grid3DChangeCamera",event:"grid3dcamerachanged",update:"series:updateCamera"},function(pe,Ee){Ee.eachComponent({mainType:"grid3D",query:pe},function(Pe){Pe.setView(pe)})}),De.a.registerAction({type:"grid3DShowAxisPointer",event:"grid3dshowaxispointer",update:"grid3D:showAxisPointer"},function(pe,Ee){}),De.a.registerAction({type:"grid3DHideAxisPointer",event:"grid3dhideaxispointer",update:"grid3D:hideAxisPointer"},function(pe,Ee){})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(135),ye=Ce.a.extendComponentModel({type:"cartesian3DAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid3D",index:this.option.gridIndex,id:this.option.gridId})[0]}});Ce.a.helper.mixinAxisModelCommonMethods(ye);function we(De,pe){return pe.type||(pe.data?"category":"value")}Object(ve.a)("x",ye,we,{name:"X"}),Object(ve.a)("y",ye,we,{name:"Y"}),Object(ve.a)("z",ye,we,{name:"Z"})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(136),ye=be(137),we=be.n(ye),De=["value","category","time","log"];Re.a=function(pe,Ee,Pe,de){Ce.a.util.each(De,function(ee){Ee.extend({type:pe+"Axis3D."+ee,__ordinalMeta:null,mergeDefaultAndTheme:function(ne,le){var oe=le.getTheme();Ce.a.util.merge(ne,oe.get(ee+"Axis3D")),Ce.a.util.merge(ne,this.getDefaultOption()),ne.type=Pe(pe,ne)},optionUpdated:function(){var ne=this.option;ne.type==="category"&&(this.__ordinalMeta=we.a.createByAxisModel(this))},getCategories:function(){if(this.option.type==="category")return this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:Ce.a.util.merge(Ce.a.util.clone(ve.a[ee+"Axis3D"]),de||{},!0)})}),Ee.superClass.registerSubTypeDefaulter(pe+"Axis3D",Ce.a.util.curry(Pe,pe))}},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve={show:!0,grid3DIndex:0,inverse:!1,name:"",nameLocation:"middle",nameTextStyle:{fontSize:16},nameGap:20,axisPointer:{},axisLine:{},axisTick:{},axisLabel:{},splitArea:{}},ye=Ce.a.util.merge({boundaryGap:!0,axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"},axisPointer:{label:{show:!1}}},ve),we=Ce.a.util.merge({boundaryGap:[0,0],splitNumber:5,axisPointer:{label:{}}},ve),De=Ce.a.util.defaults({scale:!0,min:"dataMin",max:"dataMax"},we),pe=Ce.a.util.defaults({logBase:10},we);pe.scale=!0,Re.a={categoryAxis3D:ye,valueAxis3D:we,timeAxis3D:De,logAxis3D:pe}},function(Ve,Re,be){var Fe=be(12),Ce=Fe.createHashMap,ve=Fe.isObject,ye=Fe.map;function we(de){this.categories=de.categories||[],this._needCollect=de.needCollect,this._deduplication=de.deduplication,this._map}we.createByAxisModel=function(de){var ee=de.option,ne=ee.data,le=ne&&ye(ne,Ee);return new we({categories:le,needCollect:!le,deduplication:ee.dedplication!==!1})};var De=we.prototype;De.getOrdinal=function(de){return pe(this).get(de)},De.parseAndCollect=function(de){var ee,ne=this._needCollect;if(typeof de!="string"&&!ne)return de;if(ne&&!this._deduplication)return ee=this.categories.length,this.categories[ee]=de,ee;var le=pe(this);return ee=le.get(de),ee==null&&(ne?(ee=this.categories.length,this.categories[ee]=de,le.set(de,ee)):ee=NaN),ee};function pe(de){return de._map||(de._map=Ce(de.categories))}function Ee(de){return ve(de)&&de.value!=null?de.value:de+""}var Pe=we;Ve.exports=Pe},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(38),ye=be(31),we=be(32),De=Ce.a.extendComponentModel({type:"grid3D",dependencies:["xAxis3D","yAxis3D","zAxis3D"],defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",boxWidth:100,boxHeight:100,boxDepth:100,axisPointer:{show:!0,lineStyle:{color:"rgba(0, 0, 0, 0.8)",width:1},label:{show:!0,formatter:null,margin:8,textStyle:{fontSize:14,color:"#fff",backgroundColor:"rgba(0,0,0,0.5)",padding:3,borderRadius:3}}},axisLine:{show:!0,lineStyle:{color:"#333",width:2,type:"solid"}},axisTick:{show:!0,inside:!1,length:3,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,margin:8,textStyle:{fontSize:12}},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}},light:{main:{alpha:30,beta:40},ambient:{intensity:.4}},viewControl:{alpha:20,beta:40,autoRotate:!1,distance:200,minDistance:40,maxDistance:400}}});Ce.a.util.merge(De.prototype,ve.a),Ce.a.util.merge(De.prototype,ye.a),Ce.a.util.merge(De.prototype,we.a);var pe=De},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(39),we=be(22),De=be(3),pe=be(73),Ee=be(34),Pe=be(140),de=be(142),ee=be(58),ne=be(40),le=De.a.firstNotNull;ve.a.Shader.import(ne.a),["x","y","z"].forEach(function(he){Ce.a.extendComponentView({type:he+"Axis3D"})});var oe={x:0,y:2,z:1},ce=Ce.a.extendComponentView({type:"grid3D",__ecgl__:!0,init:function(he,ie){var ue=[["y","z","x",-1,"left"],["y","z","x",1,"right"],["x","y","z",-1,"bottom"],["x","y","z",1,"top"],["x","z","y",-1,"far"],["x","z","y",1,"near"]],ge=["x","y","z"],xe=new ve.a.Material({shader:ve.a.createShader("ecgl.color"),depthMask:!1,transparent:!0}),Me=new ve.a.Material({shader:ve.a.createShader("ecgl.meshLines3D"),depthMask:!1,transparent:!0});xe.define("fragment","DOUBLE_SIDED"),xe.define("both","VERTEX_COLOR"),this.groupGL=new ve.a.Node,this._control=new ye.a({zr:ie.getZr()}),this._control.init(),this._faces=ue.map(function(Ne){var Ue=new Pe.a(Ne,Me,xe);return this.groupGL.add(Ue.rootNode),Ue},this),this._axes=ge.map(function(Ne){var Ue=new de.a(Ne,Me);return this.groupGL.add(Ue.rootNode),Ue},this);var Be=ie.getDevicePixelRatio();this._axisLabelSurface=new pe.a({width:256,height:256,devicePixelRatio:Be}),this._axisLabelSurface.onupdate=function(){ie.getZr().refresh()},this._axisPointerLineMesh=new ve.a.Mesh({geometry:new we.a({useNativeLine:!1}),material:Me,castShadow:!1,ignorePicking:!0,renderOrder:3}),this.groupGL.add(this._axisPointerLineMesh),this._axisPointerLabelsSurface=new pe.a({width:128,height:128,devicePixelRatio:Be}),this._axisPointerLabelsMesh=new ee.a({ignorePicking:!0,renderOrder:4,castShadow:!1}),this._axisPointerLabelsMesh.material.set("textureAtlas",this._axisPointerLabelsSurface.getTexture()),this.groupGL.add(this._axisPointerLabelsMesh),this._lightRoot=new ve.a.Node,this._sceneHelper=new Ee.a,this._sceneHelper.initLight(this._lightRoot)},render:function(he,ie,ue){this._model=he,this._api=ue;var ge=he.coordinateSystem;ge.viewGL.add(this._lightRoot),he.get("show")?ge.viewGL.add(this.groupGL):ge.viewGL.remove(this.groupGL);var xe=this._control;xe.setViewGL(ge.viewGL);var Me=he.getModel("viewControl");xe.setFromViewControlModel(Me,0),this._axisLabelSurface.clear();var Be=["x","y","z"].reduce(function(Ne,Ue){var Ge=ge.getAxis(Ue),Xe=Ge.model;return Ne[Ue]=le(Xe.get("axisLabel.interval"),he.get("axisLabel.interval")),Ge.scale.type==="ordinal"&&(Ne[Ue]==null||Ne[Ue]=="auto")&&(Ne[Ue]=Math.floor(Ge.scale.getTicks().length/8)),Ne},{});xe.off("update"),he.get("show")&&(this._faces.forEach(function(Ne){Ne.update(Be,he,ie,ue)},this),this._axes.forEach(function(Ne){Ne.update(he,Be,this._axisLabelSurface,ue)},this)),xe.on("update",this._onCameraChange.bind(this,he,ue),this),this._sceneHelper.setScene(ge.viewGL.scene),this._sceneHelper.updateLight(he),ge.viewGL.setPostEffect(he.getModel("postEffect"),ue),ge.viewGL.setTemporalSuperSampling(he.getModel("temporalSuperSampling")),this._initMouseHandler(he)},afterRender:function(he,ie,ue,ge){var xe=ge.renderer;this._sceneHelper.updateAmbientCubemap(xe,he,ue),this._sceneHelper.updateSkybox(xe,he,ue)},showAxisPointer:function(he,ie,ue,ge){this._doShowAxisPointer(),this._updateAxisPointer(ge.value)},hideAxisPointer:function(he,ie,ue,ge){this._doHideAxisPointer()},_initMouseHandler:function(he){var ie=he.coordinateSystem,ue=ie.viewGL;he.get("show")&&he.get("axisPointer.show")?ue.on("mousemove",this._updateAxisPointerOnMousePosition,this):ue.off("mousemove",this._updateAxisPointerOnMousePosition)},_updateAxisPointerOnMousePosition:function(he){if(!he.target){for(var ie=this._model,ue=ie.coordinateSystem,ge=ue.viewGL,xe=ge.castRay(he.offsetX,he.offsetY,new ve.a.Ray),Me,Be=0;Be<this._faces.length;Be++){var Ne=this._faces[Be];if(!Ne.rootNode.invisible){Ne.plane.normal.dot(ge.camera.worldTransform.z)<0&&Ne.plane.normal.negate();var Ue=xe.intersectPlane(Ne.plane);if(Ue){var Ge=ue.getAxis(Ne.faceInfo[0]),Xe=ue.getAxis(Ne.faceInfo[1]),Ye=oe[Ne.faceInfo[0]],nt=oe[Ne.faceInfo[1]];Ge.contain(Ue.array[Ye])&&Xe.contain(Ue.array[nt])&&(Me=Ue)}}}if(Me){var $e=ue.pointToData(Me.array,[],!0);this._updateAxisPointer($e),this._doShowAxisPointer()}else this._doHideAxisPointer()}},_onCameraChange:function(he,ie){he.get("show")&&(this._updateFaceVisibility(),this._updateAxisLinePosition());var ue=this._control;ie.dispatchAction({type:"grid3DChangeCamera",alpha:ue.getAlpha(),beta:ue.getBeta(),distance:ue.getDistance(),center:ue.getCenter(),from:this.uid,grid3DId:he.id})},_updateFaceVisibility:function(){var he=this._control.getCamera(),ie=new ve.a.Vector3;he.update();for(var ue=0;ue<this._faces.length/2;ue++){for(var ge=[],xe=0;xe<2;xe++){var Me=this._faces[ue*2+xe];Me.rootNode.getWorldPosition(ie),ie.transformMat4(he.viewMatrix),ge[xe]=ie.z}var Be=ge[0]>ge[1]?0:1,Ne=this._faces[ue*2+Be],Ue=this._faces[ue*2+1-Be];Ne.rootNode.invisible=!0,Ue.rootNode.invisible=!1}},_updateAxisLinePosition:function(){var he=this._model.coordinateSystem,ie=he.getAxis("x"),ue=he.getAxis("y"),ge=he.getAxis("z"),xe=ge.getExtentMax(),Me=ge.getExtentMin(),Be=ie.getExtentMin(),Ne=ie.getExtentMax(),Ue=ue.getExtentMax(),Ge=ue.getExtentMin(),Xe=this._axes[0].rootNode,Ye=this._axes[1].rootNode,nt=this._axes[2].rootNode,$e=this._faces,qe=$e[4].rootNode.invisible?Ge:Ue,st=$e[2].rootNode.invisible?xe:Me,rt=$e[0].rootNode.invisible?Be:Ne,ct=$e[2].rootNode.invisible?xe:Me,tt=$e[0].rootNode.invisible?Ne:Be,dt=$e[4].rootNode.invisible?Ge:Ue;Xe.rotation.identity(),Ye.rotation.identity(),nt.rotation.identity(),$e[4].rootNode.invisible&&(this._axes[0].flipped=!0,Xe.rotation.rotateX(Math.PI)),$e[0].rootNode.invisible&&(this._axes[1].flipped=!0,Ye.rotation.rotateZ(Math.PI)),$e[4].rootNode.invisible&&(this._axes[2].flipped=!0,nt.rotation.rotateY(Math.PI)),Xe.position.set(0,st,qe),Ye.position.set(rt,ct,0),nt.position.set(tt,0,dt),Xe.update(),Ye.update(),nt.update(),this._updateAxisLabelAlign()},_updateAxisLabelAlign:function(){var he=this._control.getCamera(),ie=[new ve.a.Vector4,new ve.a.Vector4],ue=new ve.a.Vector4;this.groupGL.getWorldPosition(ue),ue.w=1,ue.transformMat4(he.viewMatrix).transformMat4(he.projectionMatrix),ue.x/=ue.w,ue.y/=ue.w,this._axes.forEach(function(ge){for(var xe=ge.axisLineCoords,Me=ge.labelsMesh.geometry,Be=0;Be<ie.length;Be++)ie[Be].setArray(xe[Be]),ie[Be].w=1,ie[Be].transformMat4(ge.rootNode.worldTransform).transformMat4(he.viewMatrix).transformMat4(he.projectionMatrix),ie[Be].x/=ie[Be].w,ie[Be].y/=ie[Be].w;var Ne=ie[1].x-ie[0].x,Ue=ie[1].y-ie[0].y,Ge=(ie[1].x+ie[0].x)/2,Xe=(ie[1].y+ie[0].y)/2,Ye,nt;Math.abs(Ue/Ne)<.5?(Ye="center",nt=Xe>ue.y?"bottom":"top"):(nt="middle",Ye=Ge>ue.x?"left":"right"),ge.setSpriteAlign(Ye,nt,this._api)},this)},_doShowAxisPointer:function(){this._axisPointerLineMesh.invisible&&(this._axisPointerLineMesh.invisible=!1,this._axisPointerLabelsMesh.invisible=!1,this._api.getZr().refresh())},_doHideAxisPointer:function(){this._axisPointerLineMesh.invisible||(this._axisPointerLineMesh.invisible=!0,this._axisPointerLabelsMesh.invisible=!0,this._api.getZr().refresh())},_updateAxisPointer:function(he){var ie=this._model.coordinateSystem,ue=ie.dataToPoint(he),ge=this._axisPointerLineMesh,xe=ge.geometry,Me=this._model.getModel("axisPointer"),Be=this._api.getDevicePixelRatio();xe.convertToDynamicArray(!0);function Ne(Wt){return De.a.firstNotNull(Wt.model.get("axisPointer.show"),Me.get("show"))}function Ue(Wt){var Jt=Wt.model.getModel("axisPointer",Me),en=Jt.getModel("lineStyle"),mn=ve.a.parseColor(en.get("color")),Ot=le(en.get("width"),1),an=le(en.get("opacity"),1);return mn[3]*=an,{color:mn,lineWidth:Ot}}for(var Ge=0;Ge<this._faces.length;Ge++){var Xe=this._faces[Ge];if(!Xe.rootNode.invisible){for(var Ye=Xe.faceInfo,nt=Ye[3]<0?ie.getAxis(Ye[2]).getExtentMin():ie.getAxis(Ye[2]).getExtentMax(),$e=oe[Ye[2]],qe=0;qe<2;qe++){var st=Ye[qe],rt=Ye[1-qe],ct=ie.getAxis(st),tt=ie.getAxis(rt);if(Ne(ct)){var dt=[0,0,0],At=[0,0,0],mt=oe[st],ht=oe[rt];dt[mt]=At[mt]=ue[mt],dt[$e]=At[$e]=nt,dt[ht]=tt.getExtentMin(),At[ht]=tt.getExtentMax();var vt=Ue(ct);xe.addLine(dt,At,vt.color,vt.lineWidth*Be)}}if(Ne(ie.getAxis(Ye[2]))){var dt=ue.slice(),At=ue.slice();At[$e]=nt;var vt=Ue(ie.getAxis(Ye[2]));xe.addLine(dt,At,vt.color,vt.lineWidth*Be)}}}xe.convertToTypedArray(),this._updateAxisPointerLabelsMesh(he),this._api.getZr().refresh()},_updateAxisPointerLabelsMesh:function(he){var ie=this._model,ue=this._axisPointerLabelsMesh,ge=this._axisPointerLabelsSurface,xe=ie.coordinateSystem,Me=ie.getModel("axisPointer");ue.geometry.convertToDynamicArray(!0),ge.clear();var Be={x:"y",y:"x",z:"y"};this._axes.forEach(function(Ne,Ue){var Ge=xe.getAxis(Ne.dim),Xe=Ge.model,Ye=Xe.getModel("axisPointer",Me),nt=Ye.getModel("label"),$e=Ye.get("lineStyle.color");if(!(!nt.get("show")||!Ye.get("show"))){var qe=he[Ue],st=nt.get("formatter"),rt=Ge.scale.getLabel(qe);if(st!=null)rt=st(rt,he);else if(Ge.scale.type==="interval"||Ge.scale.type==="log"){var ct=Ce.a.number.getPrecisionSafe(Ge.scale.getTicks()[0]);rt=qe.toFixed(ct+2)}var tt=nt.getModel("textStyle"),dt=tt.get("color"),At=new Ce.a.graphic.Text;Ce.a.graphic.setTextStyle(At.style,tt,{text:rt,textFill:dt||$e,textAlign:"left",textVerticalAlign:"top"});var mt=ge.add(At),ht=At.getBoundingRect(),vt=this._api.getDevicePixelRatio(),Wt=Ne.rootNode.position.toArray(),Jt=oe[Be[Ne.dim]];Wt[Jt]+=(Ne.flipped?-1:1)*nt.get("margin"),Wt[oe[Ne.dim]]=Ge.dataToCoord(he[Ue]),ue.geometry.addSprite(Wt,[ht.width*vt,ht.height*vt],mt,Ne.textAlign,Ne.textVerticalAlign)}},this),ge.getZr().refreshImmediately(),ue.material.set("uvScale",ge.getCoordsScale()),ue.geometry.convertToTypedArray()},dispose:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(3),we=be(22),De=be(141),pe=be(74),Ee=ye.a.firstNotNull,Pe={x:0,y:2,z:1};function de(ne,le,oe,ce){var he=[0,0,0],ie=ce<0?oe.getExtentMin():oe.getExtentMax();he[Pe[oe.dim]]=ie,ne.position.setArray(he),ne.rotation.identity(),le.distance=-Math.abs(ie),le.normal.set(0,0,0),oe.dim==="x"?(ne.rotation.rotateY(ce*Math.PI/2),le.normal.x=-ce):oe.dim==="z"?(ne.rotation.rotateX(-ce*Math.PI/2),le.normal.y=-ce):(ce>0&&ne.rotation.rotateY(Math.PI),le.normal.z=-ce)}function ee(ne,le,oe){this.rootNode=new ve.a.Node;var ce=new ve.a.Mesh({geometry:new we.a({useNativeLine:!1}),material:le,castShadow:!1,ignorePicking:!0,renderOrder:1}),he=new ve.a.Mesh({geometry:new De.a,material:oe,castShadow:!1,culling:!1,ignorePicking:!0,renderOrder:0});this.rootNode.add(he),this.rootNode.add(ce),this.faceInfo=ne,this.plane=new ve.a.Plane,this.linesMesh=ce,this.quadsMesh=he}ee.prototype.update=function(ne,le,oe,ce){var he=le.coordinateSystem,ie=[he.getAxis(this.faceInfo[0]),he.getAxis(this.faceInfo[1])],ue=this.linesMesh.geometry,ge=this.quadsMesh.geometry;ue.convertToDynamicArray(!0),ge.convertToDynamicArray(!0),this._updateSplitLines(ue,ie,le,ne,ce),this._udpateSplitAreas(ge,ie,le,ne,ce),ue.convertToTypedArray(),ge.convertToTypedArray();var xe=he.getAxis(this.faceInfo[2]);de(this.rootNode,this.plane,xe,this.faceInfo[3])},ee.prototype._updateSplitLines=function(ne,le,oe,ce,he){var ie=he.getDevicePixelRatio();le.forEach(function(ue,ge){var xe=ue.model,Me=le[1-ge].getExtent();if(!ue.scale.isBlank()){var Be=xe.getModel("splitLine",oe.getModel("splitLine"));if(Be.get("show")){var Ne=Be.getModel("lineStyle"),Ue=Ne.get("color"),Ge=Ee(Ne.get("opacity"),1),Xe=Ee(Ne.get("width"),1),Ye=Be.get("interval");(Ye==null||Ye==="auto")&&(Ye=ce[ue.dim]),Ue=Ce.a.util.isArray(Ue)?Ue:[Ue];for(var nt=ue.getTicksCoords(),$e=0,qe=0;qe<nt.length;qe++)if(!Object(pe.a)(ue,qe,Ye)){var st=nt[qe],rt=ve.a.parseColor(Ue[$e%Ue.length]);rt[3]*=Ge;var ct=[0,0,0],tt=[0,0,0];ct[ge]=tt[ge]=st,ct[1-ge]=Me[0],tt[1-ge]=Me[1],ne.addLine(ct,tt,rt,Xe*ie),$e++}}}})},ee.prototype._udpateSplitAreas=function(ne,le,oe,ce,he){le.forEach(function(ie,ue){var ge=ie.model,xe=le[1-ue].getExtent();if(!ie.scale.isBlank()){var Me=ge.getModel("splitArea",oe.getModel("splitArea"));if(Me.get("show")){var Be=Me.getModel("areaStyle"),Ne=Be.get("color"),Ue=Ee(Be.get("opacity"),1),Ge=Me.get("interval");(Ge==null||Ge==="auto")&&(Ge=ce[ie.dim]),Ne=Ce.a.util.isArray(Ne)?Ne:[Ne];for(var Xe=ie.getTicksCoords(),Ye=0,nt=[0,0,0],$e=[0,0,0],qe=0;qe<Xe.length;qe++){var st=Xe[qe],rt=[0,0,0],ct=[0,0,0];if(rt[ue]=ct[ue]=st,rt[1-ue]=xe[0],ct[1-ue]=xe[1],qe===0){nt=rt,$e=ct;continue}if(!Object(pe.a)(ie,qe,Ge)){var tt=ve.a.parseColor(Ne[Ye%Ne.length]);tt[3]*=Ue,ne.addQuad([nt,rt,ct,$e],tt),nt=rt,$e=ct,Ye++}}}}})},Re.a=ee},function(Ve,Re,be){"use strict";var Fe=be(13),Ce=be(0),ve=be.n(Ce),ye=be(33),we=be(1),De=be.n(we),pe=De.a.vec3,Ee=Fe.a.extend(function(){return{segmentScale:1,useNativeLine:!0,attributes:{position:new Fe.a.Attribute("position","float",3,"POSITION"),normal:new Fe.a.Attribute("normal","float",3,"NORMAL"),color:new Fe.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setQuadCount:function(Pe){var de=this.attributes,ee=this.getQuadVertexCount()*Pe,ne=this.getQuadTriangleCount()*Pe;this.vertexCount!==ee&&(de.position.init(ee),de.normal.init(ee),de.color.init(ee)),this.triangleCount!==ne&&(this.indices=ee>65535?new Uint32Array(ne*3):new Uint16Array(ne*3))},getQuadVertexCount:function(){return 4},getQuadTriangleCount:function(){return 2},addQuad:function(){var Pe=pe.create(),de=pe.create(),ee=pe.create(),ne=[0,3,1,3,2,1];return function(le,oe){var ce=this.attributes.position,he=this.attributes.normal,ie=this.attributes.color;pe.sub(Pe,le[1],le[0]),pe.sub(de,le[2],le[1]),pe.cross(ee,Pe,de),pe.normalize(ee,ee);for(var ue=0;ue<4;ue++)ce.set(this._vertexOffset+ue,le[ue]),ie.set(this._vertexOffset+ue,oe),he.set(this._vertexOffset+ue,ee);for(var ge=this._faceOffset*3,ue=0;ue<6;ue++)this.indices[ge+ue]=ne[ue]+this._vertexOffset;this._vertexOffset+=4,this._faceOffset+=2}}()});ve.a.util.defaults(Ee.prototype,ye.a),Re.a=Ee},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(22),we=be(3),De=be(58),pe=be(74),Ee=we.a.firstNotNull,Pe={x:0,y:2,z:1};function de(ne,le){var oe=new ve.a.Mesh({geometry:new ye.a({useNativeLine:!1}),material:le,castShadow:!1,ignorePicking:!0,renderOrder:2}),ce=new De.a;ce.material.depthMask=!1;var he=new ve.a.Node;he.add(oe),he.add(ce),this.rootNode=he,this.dim=ne,this.linesMesh=oe,this.labelsMesh=ce,this.axisLineCoords=null,this.labelElements=[]}var ee={x:"y",y:"x",z:"y"};de.prototype.update=function(ne,le,oe,ce){var he=ne.coordinateSystem,ie=he.getAxis(this.dim),ue=le[this.dim],ge=this.linesMesh.geometry,xe=this.labelsMesh.geometry;ge.convertToDynamicArray(!0),xe.convertToDynamicArray(!0);var Me=ie.model,Be=ie.getExtent(),en=ce.getDevicePixelRatio(),Ne=Me.getModel("axisLine",ne.getModel("axisLine")),Ue=Me.getModel("axisTick",ne.getModel("axisTick")),Ge=Me.getModel("axisLabel",ne.getModel("axisLabel")),Xe=Ne.get("lineStyle.color");if(Ne.get("show")){var Ye=Ne.getModel("lineStyle"),nt=[0,0,0],$e=[0,0,0],qe=Pe[ie.dim];nt[qe]=Be[0],$e[qe]=Be[1],this.axisLineCoords=[nt,$e];var st=ve.a.parseColor(Xe),rt=Ee(Ye.get("width"),1),ct=Ee(Ye.get("opacity"),1);st[3]*=ct,ge.addLine(nt,$e,st,rt*en)}if(Ue.get("show")){var tt=Ue.getModel("lineStyle"),dt=ve.a.parseColor(Ee(tt.get("color"),Xe)),rt=Ee(tt.get("width"),1);dt[3]*=Ee(tt.get("opacity"),1);var At=ie.getTicksCoords(),mt=Ue.get("interval");(mt==null||mt==="auto")&&(mt=ue);for(var ht=Ue.get("length"),vt=0;vt<At.length;vt++)if(!Object(pe.a)(ie,vt,mt)){var Wt=At[vt],nt=[0,0,0],$e=[0,0,0],qe=Pe[ie.dim],Jt=Pe[ee[ie.dim]];nt[qe]=$e[qe]=Wt,$e[Jt]=ht,ge.addLine(nt,$e,dt,rt*en)}}this.labelElements=[];var en=ce.getDevicePixelRatio();if(Ge.get("show")){for(var mn=ie.getLabelsCoords(),Ot=Me.get("data"),mt=ue,an=Ge.get("margin"),tn=Me.getFormattedLabels(),Dn=ie.scale.getTicks(),vt=0;vt<mn.length;vt++)if(!Object(pe.a)(ie,vt,mt)){var Wt=mn[vt],Tn=[0,0,0],qe=Pe[ie.dim],Jt=Pe[ee[ie.dim]];Tn[qe]=Tn[qe]=Wt,Tn[Jt]=an;var sn=Ge;Ot&&Ot[Dn[vt]]&&Ot[Dn[vt]].textStyle&&(sn=new Ce.a.Model(Ot[Dn[vt]].textStyle,Ge,Me.ecModel));var dn=Ee(sn.get("color"),Xe),Kt=new Ce.a.graphic.Text;Ce.a.graphic.setTextStyle(Kt.style,sn,{text:tn[vt],textFill:typeof dn=="function"?dn(ie.type==="category"?tn[vt]:ie.type==="value"?Dn[vt]+"":Dn[vt],vt):dn,textVerticalAlign:"top",textAlign:"left"});var Tt=oe.add(Kt),yt=Kt.getBoundingRect();xe.addSprite(Tn,[yt.width*en,yt.height*en],Tt),this.labelElements.push(Kt)}}if(Me.get("name")){var Gt=Me.getModel("nameTextStyle"),Tn=[0,0,0],qe=Pe[ie.dim],Jt=Pe[ee[ie.dim]],gt=Ee(Gt.get("color"),Xe),St=Gt.get("borderColor"),rt=Gt.get("borderWidth");Tn[qe]=Tn[qe]=(Be[0]+Be[1])/2,Tn[Jt]=Me.get("nameGap");var Kt=new Ce.a.graphic.Text;Ce.a.graphic.setTextStyle(Kt.style,Gt,{text:Me.get("name"),textFill:gt,textStroke:St,lineWidth:rt});var Tt=oe.add(Kt),yt=Kt.getBoundingRect();xe.addSprite(Tn,[yt.width*en,yt.height*en],Tt),Kt.__idx=this.labelElements.length,this.nameLabelElement=Kt}this.labelsMesh.material.set("textureAtlas",oe.getTexture()),this.labelsMesh.material.set("uvScale",oe.getCoordsScale()),ge.convertToTypedArray(),xe.convertToTypedArray()},de.prototype.setSpriteAlign=function(ne,le,oe){for(var ce=oe.getDevicePixelRatio(),he=this.labelsMesh.geometry,ie=0;ie<this.labelElements.length;ie++){var ue=this.labelElements[ie],ge=ue.getBoundingRect();he.setSpriteAlign(ie,[ge.width*ce,ge.height*ce],ne,le)}var xe=this.nameLabelElement;if(xe){var ge=xe.getBoundingRect();he.setSpriteAlign(xe.__idx,[ge.width*ce,ge.height*ce],ne,le),he.dirty()}this.textAlign=ne,this.textVerticalAlign=le},Re.a=de},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(13),ye=be(33),we=[0,1,2,0,2,3],De=ve.a.extend(function(){return{attributes:{position:new ve.a.Attribute("position","float",3,"POSITION"),texcoord:new ve.a.Attribute("texcoord","float",2,"TEXCOORD_0"),offset:new ve.a.Attribute("offset","float",2),color:new ve.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setSpriteCount:function(pe){this._spriteCount=pe;var Ee=pe*4,Pe=pe*2;this.vertexCount!==Ee&&(this.attributes.position.init(Ee),this.attributes.offset.init(Ee),this.attributes.color.init(Ee)),this.triangleCount!==Pe&&(this.indices=Ee>65535?new Uint32Array(Pe*3):new Uint16Array(Pe*3))},setSpriteAlign:function(pe,Ee,Pe,de,ee){Pe==null&&(Pe="left"),de==null&&(de="top");var ne,le,oe,ce;switch(ee=ee||0,Pe){case"left":ne=ee,oe=Ee[0]+ee;break;case"center":case"middle":ne=-Ee[0]/2,oe=Ee[0]/2;break;case"right":ne=-Ee[0]-ee,oe=-ee;break}switch(de){case"bottom":le=ee,ce=Ee[1]+ee;break;case"middle":le=-Ee[1]/2,ce=Ee[1]/2;break;case"top":le=-Ee[1]-ee,ce=-ee;break}var he=pe*4,ie=this.attributes.offset;ie.set(he,[ne,ce]),ie.set(he+1,[oe,ce]),ie.set(he+2,[oe,le]),ie.set(he+3,[ne,le])},addSprite:function(pe,Ee,Pe,de,ee,ne){var le=this._vertexOffset;this.setSprite(this._vertexOffset/4,pe,Ee,Pe,de,ee,ne);for(var oe=0;oe<we.length;oe++)this.indices[this._faceOffset*3+oe]=we[oe]+le;return this._faceOffset+=2,this._vertexOffset+=4,le/4},setSprite:function(pe,Ee,Pe,de,ee,ne,le){for(var oe=pe*4,ce=this.attributes,he=0;he<4;he++)ce.position.set(oe+he,Ee);var ie=ce.texcoord;ie.set(oe,[de[0][0],de[0][1]]),ie.set(oe+1,[de[1][0],de[0][1]]),ie.set(oe+2,[de[1][0],de[1][1]]),ie.set(oe+3,[de[0][0],de[1][1]]),this.setSpriteAlign(pe,Pe,ee,ne,le)}});Ce.a.util.defaults(De.prototype,ye.a),Re.a=De},function(Ve,Re,be){"use strict";Re.a=`@export ecgl.labels.vertex
|
|
|
|
|
|
attribute vec3 position: POSITION;
|
|
|
attribute vec2 texcoord: TEXCOORD_0;
|
|
|
attribute vec2 offset;
|
|
|
#ifdef VERTEX_COLOR
|
|
|
attribute vec4 a_Color : COLOR;
|
|
|
varying vec4 v_Color;
|
|
|
#endif
|
|
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
uniform vec4 viewport : VIEWPORT;
|
|
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
vec4 proj = worldViewProjection * vec4(position, 1.0);
|
|
|
|
|
|
vec2 screen = (proj.xy / abs(proj.w) + 1.0) * 0.5 * viewport.zw;
|
|
|
|
|
|
screen += offset;
|
|
|
|
|
|
proj.xy = (screen / viewport.zw - 0.5) * 2.0 * abs(proj.w);
|
|
|
gl_Position = proj;
|
|
|
#ifdef VERTEX_COLOR
|
|
|
v_Color = a_Color;
|
|
|
#endif
|
|
|
v_Texcoord = texcoord;
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.labels.fragment
|
|
|
|
|
|
uniform vec3 color : [1.0, 1.0, 1.0];
|
|
|
uniform float alpha : 1.0;
|
|
|
uniform sampler2D textureAtlas;
|
|
|
uniform vec2 uvScale: [1.0, 1.0];
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
varying vec4 v_Color;
|
|
|
#endif
|
|
|
varying float v_Miter;
|
|
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
gl_FragColor = vec4(color, alpha) * texture2D(textureAtlas, v_Texcoord * uvScale);
|
|
|
#ifdef VERTEX_COLOR
|
|
|
gl_FragColor *= v_Color;
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
@end`},function(Ve,Re,be){"use strict";var Fe=be(146),Ce=be(148),ve=be(0),ye=be.n(ve),we=be(41),De=be.n(we),pe=be(20),Ee=be(3);function Pe(le,oe){var ce=le.getBoxLayoutParams(),he=De.a.getLayoutRect(ce,{width:oe.getWidth(),height:oe.getHeight()});he.y=oe.getHeight()-he.y-he.height,this.viewGL.setViewport(he.x,he.y,he.width,he.height,oe.getDevicePixelRatio());var ie=le.get("boxWidth"),ue=le.get("boxHeight"),ge=le.get("boxDepth");["x","y","z"].forEach(function(xe){if(!this.getAxis(xe))throw new Error("Grid"+le.id+" don't have "+xe+"Axis")},this),this.getAxis("x").setExtent(-ie/2,ie/2),this.getAxis("y").setExtent(ge/2,-ge/2),this.getAxis("z").setExtent(-ue/2,ue/2),this.size=[ie,ue,ge]}function de(le,oe){var ce={};function he(ie,ue){ce[ie]=ce[ie]||[1/0,-1/0],ce[ie][0]=Math.min(ue[0],ce[ie][0]),ce[ie][1]=Math.max(ue[1],ce[ie][1])}le.eachSeries(function(ie){if(ie.coordinateSystem===this){var ue=ie.getData();["x","y","z"].forEach(function(ge){he(ge,ue.getDataExtent(ie.coordDimToDataDim(ge)[0],!0))})}},this),["xAxis3D","yAxis3D","zAxis3D"].forEach(function(ie){le.eachComponent(ie,function(ue){var ge=ie.charAt(0),xe=ue.getReferringComponents("grid3D")[0],Me=xe.coordinateSystem;if(Me===this){var Be=Me.getAxis(ge);if(Be){console.warn("Can't have two %s in one grid3D",ie);return}var Ne=ye.a.helper.createScale(ce[ge]||[1/0,-1/0],ue);Be=new Ce.a(ge,Ne),Be.type=ue.get("type");var Ue=Be.type==="category";Be.onBand=Ue&&ue.get("boundaryGap"),Be.inverse=ue.get("inverse"),ue.axis=Be,Be.model=ue,Me.addAxis(Be)}},this)},this),this.resize(this.model,oe)}var ee={dimensions:Fe.a.prototype.dimensions,create:function(le,oe){var ce=[];le.eachComponent("grid3D",function(ue){ue.__viewGL=ue.__viewGL||new pe.a;var ge=new Fe.a;ge.model=ue,ge.viewGL=ue.__viewGL,ue.coordinateSystem=ge,ce.push(ge),ge.resize=Pe,ge.update=de});var he=["xAxis3D","yAxis3D","zAxis3D"];function ie(ue,ge){return he.map(function(xe){var Me=ue.getReferringComponents(xe)[0];if(Me==null&&(Me=ge.getComponent(xe)),!Me)throw new Error(xe+' "'+Ee.a.firstNotNull(ue.get(xe+"Index"),ue.get(xe+"Id"),0)+'" not found');return Me})}return le.eachSeries(function(ue){if(ue.get("coordinateSystem")==="cartesian3D"){var ge=ue.getReferringComponents("grid3D")[0];if(ge==null){var xe=ie(ue,le),ge=xe[0].getCoordSysModel();xe.forEach(function(Ne){var Ue=Ne.getCoordSysModel();if(!Ue)throw new Error('grid3D "'+Ee.a.firstNotNull(Ne.get("gridIndex"),Ne.get("gridId"),0)+'" not found');if(Ue!==ge)throw new Error("xAxis3D, yAxis3D, zAxis3D must use the same grid")})}var Me=ge.coordinateSystem;ue.coordinateSystem=Me}}),ce}};ye.a.registerCoordinateSystem("grid3D",ee);var ne=ee},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(147),ye=be.n(ve);function we(De){ye.a.call(this,De),this.size=[0,0,0]}we.prototype={constructor:we,type:"cartesian3D",dimensions:["x","y","z"],model:null,containPoint:function(De){return this.getAxis("x").contain(De[0])&&this.getAxis("y").contain(De[2])&&this.getAxis("z").contain(De[1])},containData:function(De){return this.getAxis("x").containData(De[0])&&this.getAxis("y").containData(De[1])&&this.getAxis("z").containData(De[2])},dataToPoint:function(De,pe,Ee){return pe=pe||[],pe[0]=this.getAxis("x").dataToCoord(De[0],Ee),pe[2]=this.getAxis("y").dataToCoord(De[1],Ee),pe[1]=this.getAxis("z").dataToCoord(De[2],Ee),pe},pointToData:function(De,pe,Ee){return pe=pe||[],pe[0]=this.getAxis("x").coordToData(De[0],Ee),pe[1]=this.getAxis("y").coordToData(De[2],Ee),pe[2]=this.getAxis("z").coordToData(De[1],Ee),pe}},Ce.a.util.inherits(we,ye.a),Re.a=we},function(Ve,Re,be){var Fe=be(12);function Ce(we){return this._axes[we]}var ve=function(we){this._axes={},this._dimList=[],this.name=we||""};ve.prototype={constructor:ve,type:"cartesian",getAxis:function(we){return this._axes[we]},getAxes:function(){return Fe.map(this._dimList,Ce,this)},getAxesByScale:function(we){return we=we.toLowerCase(),Fe.filter(this.getAxes(),function(De){return De.scale.type===we})},addAxis:function(we){var De=we.dim;this._axes[De]=we,this._dimList.push(De)},dataToCoord:function(we){return this._dataCoordConvert(we,"dataToCoord")},coordToData:function(we){return this._dataCoordConvert(we,"coordToData")},_dataCoordConvert:function(we,De){for(var pe=this._dimList,Ee=we instanceof Array?[]:{},Pe=0;Pe<pe.length;Pe++){var de=pe[Pe],ee=this._axes[de];Ee[de]=ee[De](we[de])}return Ee}};var ye=ve;Ve.exports=ye},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe);function ve(ye,we,De){Ce.a.Axis.call(this,ye,we,De)}ve.prototype={constructor:ve,getExtentMin:function(){var ye=this._extent;return Math.min(ye[0],ye[1])},getExtentMax:function(){var ye=this._extent;return Math.max(ye[0],ye[1])}},Ce.a.util.inherits(ve,Ce.a.Axis),Re.a=ve},function(Ve,Re,be){var Fe=be(12),Ce=be(150),ve=be(78);function ye(ue){return isNaN(ue)?"-":(ue=(ue+"").split("."),ue[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(ue.length>1?"."+ue[1]:""))}function we(ue,ge){return ue=(ue||"").toLowerCase().replace(/-(.)/g,function(xe,Me){return Me.toUpperCase()}),ge&&ue&&(ue=ue.charAt(0).toUpperCase()+ue.slice(1)),ue}var De=Fe.normalizeCssArray;function pe(ue){return String(ue).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var Ee=["a","b","c","d","e","f","g"],Pe=function(ue,ge){return"{"+ue+(ge==null?"":ge)+"}"};function de(ue,ge,xe){Fe.isArray(ge)||(ge=[ge]);var Me=ge.length;if(!Me)return"";for(var Be=ge[0].$vars||[],Ne=0;Ne<Be.length;Ne++){var Ue=Ee[Ne];ue=ue.replace(Pe(Ue),Pe(Ue,0))}for(var Ge=0;Ge<Me;Ge++)for(var Xe=0;Xe<Be.length;Xe++){var Ye=ge[Ge][Be[Xe]];ue=ue.replace(Pe(Ee[Xe],Ge),xe?pe(Ye):Ye)}return ue}function ee(ue,ge,xe){return Fe.each(ge,function(Me,Be){ue=ue.replace("{"+Be+"}",xe?pe(Me):Me)}),ue}function ne(ue,Be){ue=Fe.isString(ue)?{color:ue,extraCssText:Be}:ue||{};var xe=ue.color,Me=ue.type,Be=ue.extraCssText;return xe?Me==="subItem"?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+pe(xe)+";"+(Be||"")+'"></span>':'<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:'+pe(xe)+";"+(Be||"")+'"></span>':""}var le=function(ue){return ue<10?"0"+ue:ue};function oe(ue,ge,xe){(ue==="week"||ue==="month"||ue==="quarter"||ue==="half-year"||ue==="year")&&(ue=`MM-dd
|
|
|
yyyy`);var Me=ve.parseDate(ge),Be=xe?"UTC":"",Ne=Me["get"+Be+"FullYear"](),Ue=Me["get"+Be+"Month"]()+1,Ge=Me["get"+Be+"Date"](),Xe=Me["get"+Be+"Hours"](),Ye=Me["get"+Be+"Minutes"](),nt=Me["get"+Be+"Seconds"]();return ue=ue.replace("MM",le(Ue)).replace("M",Ue).replace("yyyy",Ne).replace("yy",Ne%100).replace("dd",le(Ge)).replace("d",Ge).replace("hh",le(Xe)).replace("h",Xe).replace("mm",le(Ye)).replace("m",Ye).replace("ss",le(nt)).replace("s",nt),ue}function ce(ue){return ue&&ue.charAt(0).toUpperCase()+ue.substr(1)}var he=Ce.truncateText,ie=Ce.getBoundingRect;Re.addCommas=ye,Re.toCamelCase=we,Re.normalizeCssArray=De,Re.encodeHTML=pe,Re.formatTpl=de,Re.formatTplSimple=ee,Re.getTooltipMarker=ne,Re.formatTime=oe,Re.capitalFirst=ce,Re.truncateText=he,Re.getTextRect=ie},function(Ve,Re,be){var Fe=be(75),Ce=be(151),ve=be(12),ye=ve.getContext,we=ve.extend,De=ve.retrieve2,pe=ve.retrieve3,Ee={},Pe=0,de=5e3,ee=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,ne="12px sans-serif",le={};function oe(rt,ct){le[rt]=ct}function ce(rt,ct){ct=ct||ne;var tt=rt+":"+ct;if(Ee[tt])return Ee[tt];for(var dt=(rt+"").split(`
|
|
|
`),At=0,mt=0,ht=dt.length;mt<ht;mt++)At=Math.max(Ye(dt[mt],ct).width,At);return Pe>de&&(Pe=0,Ee={}),Pe++,Ee[tt]=At,At}function he(rt,ct,tt,dt,At,mt,ht){return mt?ue(rt,ct,tt,dt,At,mt,ht):ie(rt,ct,tt,dt,At,ht)}function ie(rt,ct,tt,dt,At,mt){var ht=nt(rt,ct,At,mt),vt=ce(rt,ct);At&&(vt+=At[1]+At[3]);var Wt=ht.outerHeight,Jt=ge(0,vt,tt),en=xe(0,Wt,dt),mn=new Fe(Jt,en,vt,Wt);return mn.lineHeight=ht.lineHeight,mn}function ue(rt,ct,tt,dt,At,mt,ht){var vt=$e(rt,{rich:mt,truncate:ht,font:ct,textAlign:tt,textPadding:At}),Wt=vt.outerWidth,Jt=vt.outerHeight,en=ge(0,Wt,tt),mn=xe(0,Jt,dt);return new Fe(en,mn,Wt,Jt)}function ge(rt,ct,tt){return tt==="right"?rt-=ct:tt==="center"&&(rt-=ct/2),rt}function xe(rt,ct,tt){return tt==="middle"?rt-=ct/2:tt==="bottom"&&(rt-=ct),rt}function Me(rt,ct,tt){var dt=ct.x,At=ct.y,mt=ct.height,ht=ct.width,vt=mt/2,Wt="left",Jt="top";switch(rt){case"left":dt-=tt,At+=vt,Wt="right",Jt="middle";break;case"right":dt+=tt+ht,At+=vt,Jt="middle";break;case"top":dt+=ht/2,At-=tt,Wt="center",Jt="bottom";break;case"bottom":dt+=ht/2,At+=mt+tt,Wt="center";break;case"inside":dt+=ht/2,At+=vt,Wt="center",Jt="middle";break;case"insideLeft":dt+=tt,At+=vt,Jt="middle";break;case"insideRight":dt+=ht-tt,At+=vt,Wt="right",Jt="middle";break;case"insideTop":dt+=ht/2,At+=tt,Wt="center";break;case"insideBottom":dt+=ht/2,At+=mt-tt,Wt="center",Jt="bottom";break;case"insideTopLeft":dt+=tt,At+=tt;break;case"insideTopRight":dt+=ht-tt,At+=tt,Wt="right";break;case"insideBottomLeft":dt+=tt,At+=mt-tt,Jt="bottom";break;case"insideBottomRight":dt+=ht-tt,At+=mt-tt,Wt="right",Jt="bottom";break}return{x:dt,y:At,textAlign:Wt,textVerticalAlign:Jt}}function Be(rt,ct,tt,dt,At){if(!ct)return"";var mt=(rt+"").split(`
|
|
|
`);At=Ne(ct,tt,dt,At);for(var ht=0,vt=mt.length;ht<vt;ht++)mt[ht]=Ue(mt[ht],At);return mt.join(`
|
|
|
`)}function Ne(rt,ct,At,dt){dt=we({},dt),dt.font=ct;var At=De(At,"...");dt.maxIterations=De(dt.maxIterations,2);var mt=dt.minChar=De(dt.minChar,0);dt.cnCharWidth=ce("\u56FD",ct);var ht=dt.ascCharWidth=ce("a",ct);dt.placeholder=De(dt.placeholder,"");for(var vt=rt=Math.max(0,rt-1),Wt=0;Wt<mt&&vt>=ht;Wt++)vt-=ht;var Jt=ce(At);return Jt>vt&&(At="",Jt=0),vt=rt-Jt,dt.ellipsis=At,dt.ellipsisWidth=Jt,dt.contentWidth=vt,dt.containerWidth=rt,dt}function Ue(rt,ct){var tt=ct.containerWidth,dt=ct.font,At=ct.contentWidth;if(!tt)return"";var mt=ce(rt,dt);if(mt<=tt)return rt;for(var ht=0;;ht++){if(mt<=At||ht>=ct.maxIterations){rt+=ct.ellipsis;break}var vt=ht===0?Ge(rt,At,ct.ascCharWidth,ct.cnCharWidth):mt>0?Math.floor(rt.length*At/mt):0;rt=rt.substr(0,vt),mt=ce(rt,dt)}return rt===""&&(rt=ct.placeholder),rt}function Ge(rt,ct,tt,dt){for(var At=0,mt=0,ht=rt.length;mt<ht&&At<ct;mt++){var vt=rt.charCodeAt(mt);At+=0<=vt&&vt<=127?tt:dt}return mt}function Xe(rt){return ce("\u56FD",rt)}function Ye(rt,ct){return le.measureText(rt,ct)}le.measureText=function(rt,ct){var tt=ye();return tt.font=ct||ne,tt.measureText(rt)};function nt(rt,ct,tt,dt){rt!=null&&(rt+="");var At=Xe(ct),mt=rt?rt.split(`
|
|
|
`):[],ht=mt.length*At,vt=ht;if(tt&&(vt+=tt[0]+tt[2]),rt&&dt){var Wt=dt.outerHeight,Jt=dt.outerWidth;if(Wt!=null&&vt>Wt)rt="",mt=[];else if(Jt!=null)for(var en=Ne(Jt-(tt?tt[1]+tt[3]:0),ct,dt.ellipsis,{minChar:dt.minChar,placeholder:dt.placeholder}),mn=0,Ot=mt.length;mn<Ot;mn++)mt[mn]=Ue(mt[mn],en)}return{lines:mt,height:ht,outerHeight:vt,lineHeight:At}}function $e(rt,ct){var tt={lines:[],width:0,height:0};if(rt!=null&&(rt+=""),!rt)return tt;for(var dt=ee.lastIndex=0,At;(At=ee.exec(rt))!=null;){var mt=At.index;mt>dt&&qe(tt,rt.substring(dt,mt)),qe(tt,At[2],At[1]),dt=ee.lastIndex}dt<rt.length&&qe(tt,rt.substring(dt,rt.length));var ht=tt.lines,vt=0,Wt=0,Jt=[],en=ct.textPadding,mn=ct.truncate,Ot=mn&&mn.outerWidth,an=mn&&mn.outerHeight;en&&(Ot!=null&&(Ot-=en[1]+en[3]),an!=null&&(an-=en[0]+en[2]));for(var tn=0;tn<ht.length;tn++){for(var Dn=ht[tn],Tn=0,sn=0,dn=0;dn<Dn.tokens.length;dn++){var Kt=Dn.tokens[dn],Tt=Kt.styleName&&ct.rich[Kt.styleName]||{},yt=Kt.textPadding=Tt.textPadding,Gt=Kt.font=Tt.font||ct.font,gt=Kt.textHeight=De(Tt.textHeight,Xe(Gt));if(yt&&(gt+=yt[0]+yt[2]),Kt.height=gt,Kt.lineHeight=pe(Tt.textLineHeight,ct.textLineHeight,gt),Kt.textAlign=Tt&&Tt.textAlign||ct.textAlign,Kt.textVerticalAlign=Tt&&Tt.textVerticalAlign||"middle",an!=null&&vt+Kt.lineHeight>an)return{lines:[],width:0,height:0};Kt.textWidth=ce(Kt.text,Gt);var St=Tt.textWidth,Qt=St==null||St==="auto";if(typeof St=="string"&&St.charAt(St.length-1)==="%")Kt.percentWidth=St,Jt.push(Kt),St=0;else{if(Qt){St=Kt.textWidth;var Nt=Tt.textBackgroundColor,wt=Nt&&Nt.image;wt&&(wt=Ce.findExistImage(wt),Ce.isImageReady(wt)&&(St=Math.max(St,wt.width*gt/wt.height)))}var rn=yt?yt[1]+yt[3]:0;St+=rn;var On=Ot!=null?Ot-sn:null;On!=null&&On<St&&(!Qt||On<rn?(Kt.text="",Kt.textWidth=St=0):(Kt.text=Be(Kt.text,On-rn,Gt,mn.ellipsis,{minChar:mn.minChar}),Kt.textWidth=ce(Kt.text,Gt),St=Kt.textWidth+rn))}sn+=Kt.width=St,Tt&&(Tn=Math.max(Tn,Kt.lineHeight))}Dn.width=sn,Dn.lineHeight=Tn,vt+=Tn,Wt=Math.max(Wt,sn)}tt.outerWidth=tt.width=De(ct.textWidth,Wt),tt.outerHeight=tt.height=De(ct.textHeight,vt),en&&(tt.outerWidth+=en[1]+en[3],tt.outerHeight+=en[0]+en[2]);for(var tn=0;tn<Jt.length;tn++){var Kt=Jt[tn],zn=Kt.percentWidth;Kt.width=parseInt(zn,10)/100*Wt}return tt}function qe(rt,ct,tt){for(var dt=ct==="",At=ct.split(`
|
|
|
`),mt=rt.lines,ht=0;ht<At.length;ht++){var vt=At[ht],Wt={styleName:tt,text:vt,isLineHolder:!vt&&!dt};if(ht)mt.push({tokens:[Wt]});else{var Jt=(mt[mt.length-1]||(mt[0]={tokens:[]})).tokens,en=Jt.length;en===1&&Jt[0].isLineHolder?Jt[0]=Wt:(vt||!en||dt)&&Jt.push(Wt)}}}function st(rt){return(rt.fontSize||rt.fontFamily)&&[rt.fontStyle,rt.fontWeight,(rt.fontSize||12)+"px",rt.fontFamily||"sans-serif"].join(" ")||rt.textFont||rt.font}Re.DEFAULT_FONT=ne,Re.$override=oe,Re.getWidth=ce,Re.getBoundingRect=he,Re.adjustTextX=ge,Re.adjustTextY=xe,Re.adjustTextPositionOnRect=Me,Re.truncateText=Be,Re.getLineHeight=Xe,Re.measureText=Ye,Re.parsePlainText=nt,Re.parseRichText=$e,Re.makeFont=st},function(Ve,Re,be){var Fe=be(53),Ce=new Fe(50);function ve(pe){if(typeof pe=="string"){var Ee=Ce.get(pe);return Ee&&Ee.image}else return pe}function ye(pe,Ee,Pe,de,ee){if(pe)if(typeof pe=="string"){if(Ee&&Ee.__zrImageSrc===pe||!Pe)return Ee;var ne=Ce.get(pe),le={hostEl:Pe,cb:de,cbPayload:ee};return ne?(Ee=ne.image,!De(Ee)&&ne.pending.push(le)):(!Ee&&(Ee=new Image),Ee.onload=we,Ce.put(pe,Ee.__cachedImgObj={image:Ee,pending:[le]}),Ee.src=Ee.__zrImageSrc=pe),Ee}else return pe;else return Ee}function we(){var pe=this.__cachedImgObj;this.onload=this.__cachedImgObj=null;for(var Ee=0;Ee<pe.pending.length;Ee++){var Pe=pe.pending[Ee],de=Pe.cb;de&&de(this,Pe.cbPayload),Pe.hostEl.dirty()}pe.pending.length=0}function De(pe){return pe&&pe.width&&pe.height}Re.findExistImage=ve,Re.createOrUpdateImage=ye,Re.isImageReady=De},function(Ve,Re,be){"use strict";var Fe=be(8),Ce=be(11),ve=be(4),ye=be(15),we=be(52),De=be(9),pe=be(46),Ee=be(7),Pe=be(19),de=be(24),ee=be(72),ne=be(70),le=be(71),oe=be(153),ce=be(17),he=be(10),ie=be(6),ue=be(5),ge=be(25),xe=be(36),Me=be(30),Be=be(14),Ne=be(79),Ue=be(1),Ge=be.n(Ue),Xe=be(154),Ye=Ge.a.mat4,nt=Ge.a.vec3,$e=["px","nx","py","ny","pz","nz"];Ee.a.import(Xe.a);var qe=Fe.a.extend(function(){return{softShadow:qe.PCF,shadowBlur:1,lightFrustumBias:"auto",kernelPCF:new Float32Array([1,0,1,1,-1,1,0,1,-1,0,-1,-1,1,-1,0,-1]),precision:"mediump",_lastRenderNotCastShadow:!1,_frameBuffer:new he.a,_textures:{},_shadowMapNumber:{POINT_LIGHT:0,DIRECTIONAL_LIGHT:0,SPOT_LIGHT:0},_depthMaterials:{},_distanceMaterials:{},_opaqueCasters:[],_receivers:[],_lightsCastShadow:[],_lightCameras:{},_lightMaterials:{},_texturePool:new Ne.a}},function(){this._gaussianPassH=new Be.a({fragment:Ee.a.source("clay.compositor.gaussian_blur")}),this._gaussianPassV=new Be.a({fragment:Ee.a.source("clay.compositor.gaussian_blur")}),this._gaussianPassH.setUniform("blurSize",this.shadowBlur),this._gaussianPassH.setUniform("blurDir",0),this._gaussianPassV.setUniform("blurSize",this.shadowBlur),this._gaussianPassV.setUniform("blurDir",1),this._outputDepthPass=new Be.a({fragment:Ee.a.source("clay.sm.debug_depth")})},{render:function(st,rt,ct,tt){ct||(ct=rt.getMainCamera()),this.trigger("beforerender",this,st,rt,ct),this._renderShadowPass(st,rt,ct,tt),this.trigger("afterrender",this,st,rt,ct)},renderDebug:function(st,rt){st.saveClear();var ct=st.viewport,tt=0,dt=0,At=rt||ct.width/4,mt=At;this.softShadow===qe.VSM?this._outputDepthPass.material.define("fragment","USE_VSM"):this._outputDepthPass.material.undefine("fragment","USE_VSM");for(var ht in this._textures){var vt=this._textures[ht];st.setViewport(tt,dt,At*vt.width/vt.height,mt),this._outputDepthPass.setUniform("depthMap",vt),this._outputDepthPass.render(st),tt+=At*vt.width/vt.height}st.setViewport(ct),st.restoreClear()},_updateCasterAndReceiver:function(st,rt){if(rt.castShadow&&this._opaqueCasters.push(rt),rt.receiveShadow?(this._receivers.push(rt),rt.material.set("shadowEnabled",1),rt.material.set("pcfKernel",this.kernelPCF)):rt.material.set("shadowEnabled",0),!rt.material.shader&&rt.material.updateShader&&rt.material.updateShader(st),this.softShadow===qe.VSM)rt.material.define("fragment","USE_VSM"),rt.material.undefine("fragment","PCF_KERNEL_SIZE");else{rt.material.undefine("fragment","USE_VSM");var ct=this.kernelPCF;ct&&ct.length?rt.material.define("fragment","PCF_KERNEL_SIZE",ct.length/2):rt.material.undefine("fragment","PCF_KERNEL_SIZE")}},_update:function(st,rt){for(var ct=0;ct<rt.opaqueList.length;ct++)this._updateCasterAndReceiver(st,rt.opaqueList[ct]);for(var ct=0;ct<rt.transparentList.length;ct++)this._updateCasterAndReceiver(st,rt.transparentList[ct]);for(var ct=0;ct<rt.lights.length;ct++){var tt=rt.lights[ct];tt.castShadow&&this._lightsCastShadow.push(tt)}},_renderShadowPass:function(st,rt,ct,tt){for(var dt in this._shadowMapNumber)this._shadowMapNumber[dt]=0;this._lightsCastShadow.length=0,this._opaqueCasters.length=0,this._receivers.length=0;var At=st.gl;if(tt||rt.update(),ct&&ct.update(),this._update(st,rt),!this._lightsCastShadow.length&&this._lastRenderNotCastShadow)return;this._lastRenderNotCastShadow=this._lightsCastShadow===0,At.enable(At.DEPTH_TEST),At.depthMask(!0),At.disable(At.BLEND),At.clearColor(1,1,1,1);for(var mt=[],ht=[],vt=[],Wt=[],Jt=[],en=[],mn,Ot=0;Ot<this._lightsCastShadow.length;Ot++){var an=this._lightsCastShadow[Ot];if(an instanceof ne.a){if(mn){console.warn("Only one direectional light supported with shadow cascade");continue}if(an.shadowCascade>4){console.warn("Support at most 4 cascade");continue}an.shadowCascade>1&&(mn=an.shadowCascade),this.renderDirectionalLightShadow(st,rt,ct,an,this._opaqueCasters,Jt,Wt,vt)}else an instanceof ee.a?this.renderSpotLightShadow(st,rt,an,this._opaqueCasters,ht,mt):an instanceof le.a&&this.renderPointLightShadow(st,rt,an,this._opaqueCasters,en);this._shadowMapNumber[an.type]++}for(var tn in this._shadowMapNumber)for(var Dn=this._shadowMapNumber[tn],Tn=tn+"_SHADOWMAP_COUNT",Ot=0;Ot<this._receivers.length;Ot++){var sn=this._receivers[Ot],dn=sn.material;dn.fragmentDefines[Tn]!==Dn&&(Dn>0?dn.define("fragment",Tn,Dn):dn.isDefined("fragment",Tn)&&dn.undefine("fragment",Tn))}for(var Ot=0;Ot<this._receivers.length;Ot++){var sn=this._receivers[Ot],dn=sn.material;mn?dn.define("fragment","SHADOW_CASCADE",mn.shadowCascade):dn.undefine("fragment","SHADOW_CASCADE")}var Kt=rt.shadowUniforms;function Tt(Qt){return Qt.height}if(vt.length>0){var yt=vt.map(Tt);if(Kt.directionalLightShadowMaps={value:vt,type:"tv"},Kt.directionalLightMatrices={value:Wt,type:"m4v"},Kt.directionalLightShadowMapSizes={value:yt,type:"1fv"},mn){var Gt=Jt.slice(),gt=Jt.slice();Gt.pop(),gt.shift(),Gt.reverse(),gt.reverse(),Wt.reverse(),Kt.shadowCascadeClipsNear={value:Gt,type:"1fv"},Kt.shadowCascadeClipsFar={value:gt,type:"1fv"}}}if(mt.length>0){var St=mt.map(Tt),Kt=rt.shadowUniforms;Kt.spotLightShadowMaps={value:mt,type:"tv"},Kt.spotLightMatrices={value:ht,type:"m4v"},Kt.spotLightShadowMapSizes={value:St,type:"1fv"}}en.length>0&&(Kt.pointLightShadowMaps={value:en,type:"tv"})},renderDirectionalLightShadow:function(){var st=new we.a,rt=new De.a,ct=new ye.a,tt=new De.a,dt=new De.a,At=new De.a,mt=new De.a;return function(ht,vt,Wt,Jt,en,mn,Ot,an){var tn=this._getDepthMaterial(Jt),Dn={getMaterial:function(Sr){return Sr.shadowDepthMaterial||tn},sortCompare:pe.a.opaqueSortCompare};if(!vt.viewBoundingBoxLastFrame.isFinite()){var Tn=vt.getBoundingBox();vt.viewBoundingBoxLastFrame.copy(Tn).applyTransform(Wt.viewMatrix)}var sn=Math.min(-vt.viewBoundingBoxLastFrame.min.z,Wt.far),dn=Math.max(-vt.viewBoundingBoxLastFrame.max.z,Wt.near),Kt=this._getDirectionalLightCamera(Jt,vt,Wt),Tt=At.array;mt.copy(Kt.projectionMatrix),Ye.invert(dt.array,Kt.worldTransform.array),Ye.multiply(dt.array,dt.array,Wt.worldTransform.array),Ye.multiply(Tt,mt.array,dt.array);for(var yt=[],Gt=Wt instanceof xe.a,gt=(Wt.near+Wt.far)/(Wt.near-Wt.far),St=2*Wt.near*Wt.far/(Wt.near-Wt.far),Qt=0;Qt<=Jt.shadowCascade;Qt++){var Nt=dn*Math.pow(sn/dn,Qt/Jt.shadowCascade),wt=dn+(sn-dn)*Qt/Jt.shadowCascade,rn=Nt*Jt.cascadeSplitLogFactor+wt*(1-Jt.cascadeSplitLogFactor);yt.push(rn),mn.push(-(-rn*gt+St)/-rn)}var On=this._getTexture(Jt,Jt.shadowCascade);an.push(On);var zn=ht.viewport,Gn=ht.gl;this._frameBuffer.attach(On),this._frameBuffer.bind(ht),Gn.clear(Gn.COLOR_BUFFER_BIT|Gn.DEPTH_BUFFER_BIT);for(var Qt=0;Qt<Jt.shadowCascade;Qt++){var nr=yt[Qt],Xn=yt[Qt+1];Gt?Ye.perspective(rt.array,Wt.fov/180*Math.PI,Wt.aspect,nr,Xn):Ye.ortho(rt.array,Wt.left,Wt.right,Wt.bottom,Wt.top,nr,Xn),st.setFromProjection(rt),st.getTransformedBoundingBox(ct,dt),ct.applyProjection(mt);var $t=ct.min.array,gn=ct.max.array;$t[0]=Math.max($t[0],-1),$t[1]=Math.max($t[1],-1),gn[0]=Math.min(gn[0],1),gn[1]=Math.min(gn[1],1),tt.ortho($t[0],gn[0],$t[1],gn[1],1,-1),Kt.projectionMatrix.multiplyLeft(tt);var jn=Jt.shadowResolution||512;ht.setViewport((Jt.shadowCascade-Qt-1)*jn,0,jn,jn,1),ht.renderPass(en,Kt,Dn),this.softShadow===qe.VSM&&this._gaussianFilter(ht,On,On.width);var Ln=new De.a;Ln.copy(Kt.viewMatrix).multiplyLeft(Kt.projectionMatrix),Ot.push(Ln.array),Kt.projectionMatrix.copy(mt)}this._frameBuffer.unbind(ht),ht.setViewport(zn)}}(),renderSpotLightShadow:function(st,rt,ct,tt,dt,At){var mt=this._getTexture(ct),ht=this._getSpotLightCamera(ct),vt=st.gl;this._frameBuffer.attach(mt),this._frameBuffer.bind(st),vt.clear(vt.COLOR_BUFFER_BIT|vt.DEPTH_BUFFER_BIT);var Wt=this._getDepthMaterial(ct),Jt={getMaterial:function(mn){return mn.shadowDepthMaterial||Wt},sortCompare:pe.a.opaqueSortCompare};st.renderPass(st.cullRenderList(tt,null,ht),ht,Jt),this._frameBuffer.unbind(st),this.softShadow===qe.VSM&&this._gaussianFilter(st,mt,mt.width);var en=new De.a;en.copy(ht.worldTransform).invert().multiplyLeft(ht.projectionMatrix),At.push(mt),dt.push(en.array)},renderPointLightShadow:function(st,rt,ct,tt,dt){var At=this._getTexture(ct),mt=st.gl;dt.push(At);for(var ht=this._getDepthMaterial(ct),vt={getMaterial:function(mn){return mn.shadowDepthMaterial||ht},sortCompare:pe.a.opaqueSortCompare},Wt=0;Wt<6;Wt++){var Jt=$e[Wt],en=this._getPointLightCamera(ct,Jt);this._frameBuffer.attach(At,mt.COLOR_ATTACHMENT0,mt.TEXTURE_CUBE_MAP_POSITIVE_X+Wt),this._frameBuffer.bind(st),mt.clear(mt.COLOR_BUFFER_BIT|mt.DEPTH_BUFFER_BIT),st.renderPass(st.cullRenderList(tt,null,en),en,vt)}this._frameBuffer.unbind(st)},_getDepthMaterial:function(st){var rt=this._lightMaterials[st.__uid__],ct=st instanceof le.a;if(!rt){var tt=ct?"clay.sm.distance.":"clay.sm.depth.";rt=new ce.a({precision:this.precision,shader:new Ee.a(Ee.a.source(tt+"vertex"),Ee.a.source(tt+"fragment"))}),this._lightMaterials[st.__uid__]=rt}return st.shadowSlopeScale!=null&&rt.setUniform("slopeScale",st.shadowSlopeScale),st.shadowBias!=null&&rt.setUniform("shadowBias",st.shadowBias),this.softShadow===qe.VSM?rt.define("fragment","USE_VSM"):rt.undefine("fragment","USE_VSM"),ct&&(rt.set("lightPosition",st.getWorldPosition().array),rt.set("range",st.range)),rt},_gaussianFilter:function(st,rt,ct){var tt={width:ct,height:ct,type:ie.a.FLOAT},dt=this._texturePool.get(tt);this._frameBuffer.attach(dt),this._frameBuffer.bind(st),this._gaussianPassH.setUniform("texture",rt),this._gaussianPassH.setUniform("textureWidth",ct),this._gaussianPassH.render(st),this._frameBuffer.attach(rt),this._gaussianPassV.setUniform("texture",dt),this._gaussianPassV.setUniform("textureHeight",ct),this._gaussianPassV.render(st),this._frameBuffer.unbind(st),this._texturePool.put(dt)},_getTexture:function(st,rt){var ct=st.__uid__,tt=this._textures[ct],dt=st.shadowResolution||512;return rt=rt||1,tt||(st instanceof le.a?tt=new ge.a:tt=new ue.a,tt.width=dt*rt,tt.height=dt,this.softShadow===qe.VSM?(tt.type=ie.a.FLOAT,tt.anisotropic=4):(tt.minFilter=Ce.a.NEAREST,tt.magFilter=Ce.a.NEAREST,tt.useMipmap=!1),this._textures[ct]=tt),tt},_getPointLightCamera:function(st,rt){this._lightCameras.point||(this._lightCameras.point={px:new xe.a,nx:new xe.a,py:new xe.a,ny:new xe.a,pz:new xe.a,nz:new xe.a});var ct=this._lightCameras.point[rt];switch(ct.far=st.range,ct.fov=90,ct.position.set(0,0,0),rt){case"px":ct.lookAt(ve.a.POSITIVE_X,ve.a.NEGATIVE_Y);break;case"nx":ct.lookAt(ve.a.NEGATIVE_X,ve.a.NEGATIVE_Y);break;case"py":ct.lookAt(ve.a.POSITIVE_Y,ve.a.POSITIVE_Z);break;case"ny":ct.lookAt(ve.a.NEGATIVE_Y,ve.a.NEGATIVE_Z);break;case"pz":ct.lookAt(ve.a.POSITIVE_Z,ve.a.NEGATIVE_Y);break;case"nz":ct.lookAt(ve.a.NEGATIVE_Z,ve.a.NEGATIVE_Y);break}return st.getWorldPosition(ct.position),ct.update(),ct},_getDirectionalLightCamera:function(){var st=new De.a,rt=new ye.a,ct=new ye.a;return function(tt,dt,At){this._lightCameras.directional||(this._lightCameras.directional=new Me.a);var mt=this._lightCameras.directional;rt.copy(dt.viewBoundingBoxLastFrame),rt.intersection(At.frustum.boundingBox),mt.position.copy(rt.min).add(rt.max).scale(.5).transformMat4(At.worldTransform),mt.rotation.copy(tt.rotation),mt.scale.copy(tt.scale),mt.updateWorldTransform(),De.a.invert(st,mt.worldTransform),De.a.multiply(st,st,At.worldTransform),ct.copy(rt).applyTransform(st);var ht=ct.min.array,vt=ct.max.array;return mt.position.set((ht[0]+vt[0])/2,(ht[1]+vt[1])/2,vt[2]).transformMat4(mt.worldTransform),mt.near=0,mt.far=-ht[2]+vt[2],isNaN(this.lightFrustumBias)?mt.far*=4:mt.far+=this.lightFrustumBias,mt.left=ht[0],mt.right=vt[0],mt.top=vt[1],mt.bottom=ht[1],mt.update(!0),mt}}(),_getSpotLightCamera:function(st){this._lightCameras.spot||(this._lightCameras.spot=new xe.a);var rt=this._lightCameras.spot;return rt.fov=st.penumbraAngle*2,rt.far=st.range,rt.worldTransform.copy(st.worldTransform),rt.updateProjectionMatrix(),Ye.invert(rt.viewMatrix.array,rt.worldTransform.array),rt},dispose:function(st){var rt=st.gl||st;this._frameBuffer&&this._frameBuffer.dispose(rt);for(var ct in this._textures)this._textures[ct].dispose(rt);this._texturePool.clear(st.gl),this._depthMaterials={},this._distanceMaterials={},this._textures={},this._lightCameras={},this._shadowMapNumber={POINT_LIGHT:0,DIRECTIONAL_LIGHT:0,SPOT_LIGHT:0},this._meshMaterials={};for(var tt=0;tt<this._receivers.length;tt++){var dt=this._receivers[tt];if(dt.material&&dt.material.shader){var At=dt.material,mt=At.shader;mt.undefine("fragment","POINT_LIGHT_SHADOW_COUNT"),mt.undefine("fragment","DIRECTIONAL_LIGHT_SHADOW_COUNT"),mt.undefine("fragment","AMBIENT_LIGHT_SHADOW_COUNT"),At.set("shadowEnabled",0)}}this._opaqueCasters=[],this._receivers=[],this._lightsCastShadow=[]}});qe.VSM=1,qe.PCF=2,Re.a=qe},function(Ve,Re,be){"use strict";var Fe=be(7),Ce={};function ve(){this._pool={}}ve.prototype.get=function(pe){var Ee=pe;if(this._pool[Ee])return this._pool[Ee];var Pe=Ce[pe];if(!Pe){console.error('Shader "'+pe+'" is not in the library');return}var de=new Fe.a(Pe.vertex,Pe.fragment);return this._pool[Ee]=de,de},ve.prototype.clear=function(){this._pool={}};function ye(pe,Ee,Pe){Ce[pe]={vertex:Ee,fragment:Pe}}var we=new ve,De={createLibrary:function(){return new ve},get:function(){return we.get.apply(we,arguments)},template:ye,clear:function(){return we.clear()}}},function(Ve,Re,be){"use strict";Re.a=`@export clay.sm.depth.vertex
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
attribute vec3 position : POSITION;
|
|
|
#ifdef SHADOW_TRANSPARENT
|
|
|
attribute vec2 texcoord : TEXCOORD_0;
|
|
|
#endif
|
|
|
@import clay.chunk.skinning_header
|
|
|
varying vec4 v_ViewPosition;
|
|
|
#ifdef SHADOW_TRANSPARENT
|
|
|
varying vec2 v_Texcoord;
|
|
|
#endif
|
|
|
void main(){
|
|
|
vec3 skinnedPosition = position;
|
|
|
#ifdef SKINNING
|
|
|
@import clay.chunk.skin_matrix
|
|
|
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
|
|
|
#endif
|
|
|
v_ViewPosition = worldViewProjection * vec4(skinnedPosition, 1.0);
|
|
|
gl_Position = v_ViewPosition;
|
|
|
#ifdef SHADOW_TRANSPARENT
|
|
|
v_Texcoord = texcoord;
|
|
|
#endif
|
|
|
}
|
|
|
@end
|
|
|
@export clay.sm.depth.fragment
|
|
|
varying vec4 v_ViewPosition;
|
|
|
#ifdef SHADOW_TRANSPARENT
|
|
|
varying vec2 v_Texcoord;
|
|
|
#endif
|
|
|
uniform float bias : 0.001;
|
|
|
uniform float slopeScale : 1.0;
|
|
|
#ifdef SHADOW_TRANSPARENT
|
|
|
uniform sampler2D transparentMap;
|
|
|
#endif
|
|
|
@import clay.util.encode_float
|
|
|
void main(){
|
|
|
float depth = v_ViewPosition.z / v_ViewPosition.w;
|
|
|
#ifdef USE_VSM
|
|
|
depth = depth * 0.5 + 0.5;
|
|
|
float moment1 = depth;
|
|
|
float moment2 = depth * depth;
|
|
|
float dx = dFdx(depth);
|
|
|
float dy = dFdy(depth);
|
|
|
moment2 += 0.25*(dx*dx+dy*dy);
|
|
|
gl_FragColor = vec4(moment1, moment2, 0.0, 1.0);
|
|
|
#else
|
|
|
float dx = dFdx(depth);
|
|
|
float dy = dFdy(depth);
|
|
|
depth += sqrt(dx*dx + dy*dy) * slopeScale + bias;
|
|
|
#ifdef SHADOW_TRANSPARENT
|
|
|
if (texture2D(transparentMap, v_Texcoord).a <= 0.1) {
|
|
|
gl_FragColor = encodeFloat(0.9999);
|
|
|
return;
|
|
|
}
|
|
|
#endif
|
|
|
gl_FragColor = encodeFloat(depth * 0.5 + 0.5);
|
|
|
#endif
|
|
|
}
|
|
|
@end
|
|
|
@export clay.sm.debug_depth
|
|
|
uniform sampler2D depthMap;
|
|
|
varying vec2 v_Texcoord;
|
|
|
@import clay.util.decode_float
|
|
|
void main() {
|
|
|
vec4 tex = texture2D(depthMap, v_Texcoord);
|
|
|
#ifdef USE_VSM
|
|
|
gl_FragColor = vec4(tex.rgb, 1.0);
|
|
|
#else
|
|
|
float depth = decodeFloat(tex);
|
|
|
gl_FragColor = vec4(depth, depth, depth, 1.0);
|
|
|
#endif
|
|
|
}
|
|
|
@end
|
|
|
@export clay.sm.distance.vertex
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
uniform mat4 world : WORLD;
|
|
|
attribute vec3 position : POSITION;
|
|
|
@import clay.chunk.skinning_header
|
|
|
varying vec3 v_WorldPosition;
|
|
|
void main (){
|
|
|
vec3 skinnedPosition = position;
|
|
|
#ifdef SKINNING
|
|
|
@import clay.chunk.skin_matrix
|
|
|
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
|
|
|
#endif
|
|
|
gl_Position = worldViewProjection * vec4(skinnedPosition , 1.0);
|
|
|
v_WorldPosition = (world * vec4(skinnedPosition, 1.0)).xyz;
|
|
|
}
|
|
|
@end
|
|
|
@export clay.sm.distance.fragment
|
|
|
uniform vec3 lightPosition;
|
|
|
uniform float range : 100;
|
|
|
varying vec3 v_WorldPosition;
|
|
|
@import clay.util.encode_float
|
|
|
void main(){
|
|
|
float dist = distance(lightPosition, v_WorldPosition);
|
|
|
#ifdef USE_VSM
|
|
|
gl_FragColor = vec4(dist, dist * dist, 0.0, 0.0);
|
|
|
#else
|
|
|
dist = dist / range;
|
|
|
gl_FragColor = encodeFloat(dist);
|
|
|
#endif
|
|
|
}
|
|
|
@end
|
|
|
@export clay.plugin.shadow_map_common
|
|
|
@import clay.util.decode_float
|
|
|
float tapShadowMap(sampler2D map, vec2 uv, float z){
|
|
|
vec4 tex = texture2D(map, uv);
|
|
|
return step(z, decodeFloat(tex) * 2.0 - 1.0);
|
|
|
}
|
|
|
float pcf(sampler2D map, vec2 uv, float z, float textureSize, vec2 scale) {
|
|
|
float shadowContrib = tapShadowMap(map, uv, z);
|
|
|
vec2 offset = vec2(1.0 / textureSize) * scale;
|
|
|
#ifdef PCF_KERNEL_SIZE
|
|
|
for (int _idx_ = 0; _idx_ < PCF_KERNEL_SIZE; _idx_++) {{
|
|
|
shadowContrib += tapShadowMap(map, uv + offset * pcfKernel[_idx_], z);
|
|
|
}}
|
|
|
return shadowContrib / float(PCF_KERNEL_SIZE + 1);
|
|
|
#else
|
|
|
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, 0.0), z);
|
|
|
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, offset.y), z);
|
|
|
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, offset.y), z);
|
|
|
shadowContrib += tapShadowMap(map, uv+vec2(0.0, offset.y), z);
|
|
|
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, 0.0), z);
|
|
|
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, -offset.y), z);
|
|
|
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, -offset.y), z);
|
|
|
shadowContrib += tapShadowMap(map, uv+vec2(0.0, -offset.y), z);
|
|
|
return shadowContrib / 9.0;
|
|
|
#endif
|
|
|
}
|
|
|
float pcf(sampler2D map, vec2 uv, float z, float textureSize) {
|
|
|
return pcf(map, uv, z, textureSize, vec2(1.0));
|
|
|
}
|
|
|
float chebyshevUpperBound(vec2 moments, float z){
|
|
|
float p = 0.0;
|
|
|
z = z * 0.5 + 0.5;
|
|
|
if (z <= moments.x) {
|
|
|
p = 1.0;
|
|
|
}
|
|
|
float variance = moments.y - moments.x * moments.x;
|
|
|
variance = max(variance, 0.0000001);
|
|
|
float mD = moments.x - z;
|
|
|
float pMax = variance / (variance + mD * mD);
|
|
|
pMax = clamp((pMax-0.4)/(1.0-0.4), 0.0, 1.0);
|
|
|
return max(p, pMax);
|
|
|
}
|
|
|
float computeShadowContrib(
|
|
|
sampler2D map, mat4 lightVPM, vec3 position, float textureSize, vec2 scale, vec2 offset
|
|
|
) {
|
|
|
vec4 posInLightSpace = lightVPM * vec4(position, 1.0);
|
|
|
posInLightSpace.xyz /= posInLightSpace.w;
|
|
|
float z = posInLightSpace.z;
|
|
|
if(all(greaterThan(posInLightSpace.xyz, vec3(-0.99, -0.99, -1.0))) &&
|
|
|
all(lessThan(posInLightSpace.xyz, vec3(0.99, 0.99, 1.0)))){
|
|
|
vec2 uv = (posInLightSpace.xy+1.0) / 2.0;
|
|
|
#ifdef USE_VSM
|
|
|
vec2 moments = texture2D(map, uv * scale + offset).xy;
|
|
|
return chebyshevUpperBound(moments, z);
|
|
|
#else
|
|
|
return pcf(map, uv * scale + offset, z, textureSize, scale);
|
|
|
#endif
|
|
|
}
|
|
|
return 1.0;
|
|
|
}
|
|
|
float computeShadowContrib(sampler2D map, mat4 lightVPM, vec3 position, float textureSize) {
|
|
|
return computeShadowContrib(map, lightVPM, position, textureSize, vec2(1.0), vec2(0.0));
|
|
|
}
|
|
|
float computeShadowContribOmni(samplerCube map, vec3 direction, float range)
|
|
|
{
|
|
|
float dist = length(direction);
|
|
|
vec4 shadowTex = textureCube(map, direction);
|
|
|
#ifdef USE_VSM
|
|
|
vec2 moments = shadowTex.xy;
|
|
|
float variance = moments.y - moments.x * moments.x;
|
|
|
float mD = moments.x - dist;
|
|
|
float p = variance / (variance + mD * mD);
|
|
|
if(moments.x + 0.001 < dist){
|
|
|
return clamp(p, 0.0, 1.0);
|
|
|
}else{
|
|
|
return 1.0;
|
|
|
}
|
|
|
#else
|
|
|
return step(dist, (decodeFloat(shadowTex) + 0.0002) * range);
|
|
|
#endif
|
|
|
}
|
|
|
@end
|
|
|
@export clay.plugin.compute_shadow_map
|
|
|
#if defined(SPOT_LIGHT_SHADOWMAP_COUNT) || defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT) || defined(POINT_LIGHT_SHADOWMAP_COUNT)
|
|
|
#ifdef SPOT_LIGHT_SHADOWMAP_COUNT
|
|
|
uniform sampler2D spotLightShadowMaps[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
|
|
|
uniform mat4 spotLightMatrices[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
|
|
|
uniform float spotLightShadowMapSizes[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
|
|
|
#endif
|
|
|
#ifdef DIRECTIONAL_LIGHT_SHADOWMAP_COUNT
|
|
|
#if defined(SHADOW_CASCADE)
|
|
|
uniform sampler2D directionalLightShadowMaps[1]:unconfigurable;
|
|
|
uniform mat4 directionalLightMatrices[SHADOW_CASCADE]:unconfigurable;
|
|
|
uniform float directionalLightShadowMapSizes[1]:unconfigurable;
|
|
|
uniform float shadowCascadeClipsNear[SHADOW_CASCADE]:unconfigurable;
|
|
|
uniform float shadowCascadeClipsFar[SHADOW_CASCADE]:unconfigurable;
|
|
|
#else
|
|
|
uniform sampler2D directionalLightShadowMaps[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
|
|
|
uniform mat4 directionalLightMatrices[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
|
|
|
uniform float directionalLightShadowMapSizes[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
|
|
|
#endif
|
|
|
#endif
|
|
|
#ifdef POINT_LIGHT_SHADOWMAP_COUNT
|
|
|
uniform samplerCube pointLightShadowMaps[POINT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
|
|
|
#endif
|
|
|
uniform bool shadowEnabled : true;
|
|
|
#ifdef PCF_KERNEL_SIZE
|
|
|
uniform vec2 pcfKernel[PCF_KERNEL_SIZE];
|
|
|
#endif
|
|
|
@import clay.plugin.shadow_map_common
|
|
|
#if defined(SPOT_LIGHT_SHADOWMAP_COUNT)
|
|
|
void computeShadowOfSpotLights(vec3 position, inout float shadowContribs[SPOT_LIGHT_COUNT] ) {
|
|
|
float shadowContrib;
|
|
|
for(int _idx_ = 0; _idx_ < SPOT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
|
|
|
shadowContrib = computeShadowContrib(
|
|
|
spotLightShadowMaps[_idx_], spotLightMatrices[_idx_], position,
|
|
|
spotLightShadowMapSizes[_idx_]
|
|
|
);
|
|
|
shadowContribs[_idx_] = shadowContrib;
|
|
|
}}
|
|
|
for(int _idx_ = SPOT_LIGHT_SHADOWMAP_COUNT; _idx_ < SPOT_LIGHT_COUNT; _idx_++){{
|
|
|
shadowContribs[_idx_] = 1.0;
|
|
|
}}
|
|
|
}
|
|
|
#endif
|
|
|
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
|
|
|
#ifdef SHADOW_CASCADE
|
|
|
void computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){
|
|
|
float depth = (2.0 * gl_FragCoord.z - gl_DepthRange.near - gl_DepthRange.far)
|
|
|
/ (gl_DepthRange.far - gl_DepthRange.near);
|
|
|
float shadowContrib;
|
|
|
shadowContribs[0] = 1.0;
|
|
|
for (int _idx_ = 0; _idx_ < SHADOW_CASCADE; _idx_++) {{
|
|
|
if (
|
|
|
depth >= shadowCascadeClipsNear[_idx_] &&
|
|
|
depth <= shadowCascadeClipsFar[_idx_]
|
|
|
) {
|
|
|
shadowContrib = computeShadowContrib(
|
|
|
directionalLightShadowMaps[0], directionalLightMatrices[_idx_], position,
|
|
|
directionalLightShadowMapSizes[0],
|
|
|
vec2(1.0 / float(SHADOW_CASCADE), 1.0),
|
|
|
vec2(float(_idx_) / float(SHADOW_CASCADE), 0.0)
|
|
|
);
|
|
|
shadowContribs[0] = shadowContrib;
|
|
|
}
|
|
|
}}
|
|
|
for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{
|
|
|
shadowContribs[_idx_] = 1.0;
|
|
|
}}
|
|
|
}
|
|
|
#else
|
|
|
void computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){
|
|
|
float shadowContrib;
|
|
|
for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
|
|
|
shadowContrib = computeShadowContrib(
|
|
|
directionalLightShadowMaps[_idx_], directionalLightMatrices[_idx_], position,
|
|
|
directionalLightShadowMapSizes[_idx_]
|
|
|
);
|
|
|
shadowContribs[_idx_] = shadowContrib;
|
|
|
}}
|
|
|
for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{
|
|
|
shadowContribs[_idx_] = 1.0;
|
|
|
}}
|
|
|
}
|
|
|
#endif
|
|
|
#endif
|
|
|
#if defined(POINT_LIGHT_SHADOWMAP_COUNT)
|
|
|
void computeShadowOfPointLights(vec3 position, inout float shadowContribs[POINT_LIGHT_COUNT] ){
|
|
|
vec3 lightPosition;
|
|
|
vec3 direction;
|
|
|
for(int _idx_ = 0; _idx_ < POINT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
|
|
|
lightPosition = pointLightPosition[_idx_];
|
|
|
direction = position - lightPosition;
|
|
|
shadowContribs[_idx_] = computeShadowContribOmni(pointLightShadowMaps[_idx_], direction, pointLightRange[_idx_]);
|
|
|
}}
|
|
|
for(int _idx_ = POINT_LIGHT_SHADOWMAP_COUNT; _idx_ < POINT_LIGHT_COUNT; _idx_++) {{
|
|
|
shadowContribs[_idx_] = 1.0;
|
|
|
}}
|
|
|
}
|
|
|
#endif
|
|
|
#endif
|
|
|
@end`},function(Ve,Re,be){"use strict";var Fe=be(7),Ce=be(5),ve=be(6),ye=be(10),we=be(156),De=be(162),pe=be(164),Ee=be(166),Pe=be(2),de=be(167),ee=be(169),ne=be(9),le=be(170),oe=be(171),ce=be(172),he=be(173),ie=be(174),ue=be(175),ge=be(176),xe=be(177),Me=be(178),Be=be(179),Ne=be(180),Ue=be(181);Fe.a.import(oe.a),Fe.a.import(ce.a),Fe.a.import(he.a),Fe.a.import(ie.a),Fe.a.import(ue.a),Fe.a.import(ge.a),Fe.a.import(xe.a),Fe.a.import(Me.a),Fe.a.import(Be.a),Fe.a.import(Ne.a),Fe.a.import(Ue.a);var Ge={color:{parameters:{width:function(nt){return nt.getWidth()},height:function(nt){return nt.getHeight()}}}},Xe=["composite","FXAA"];function Ye(){this._sourceTexture=new Ce.a({type:ve.a.HALF_FLOAT}),this._depthTexture=new Ce.a({format:ve.a.DEPTH_COMPONENT,type:ve.a.UNSIGNED_INT}),this._framebuffer=new ye.a,this._framebuffer.attach(this._sourceTexture),this._framebuffer.attach(this._depthTexture,ye.a.DEPTH_ATTACHMENT),this._normalPass=new de.a,this._compositor=Object(we.a)(le.a);var nt=this._compositor.getNodeByName("source");nt.texture=this._sourceTexture;var $e=this._compositor.getNodeByName("coc");this._sourceNode=nt,this._cocNode=$e,this._compositeNode=this._compositor.getNodeByName("composite"),this._fxaaNode=this._compositor.getNodeByName("FXAA"),this._dofBlurNodes=["dof_far_blur","dof_near_blur","dof_coc_blur"].map(function(st){return this._compositor.getNodeByName(st)},this),this._dofBlurKernel=0,this._dofBlurKernelSize=new Float32Array(0),this._finalNodesChain=Xe.map(function(st){return this._compositor.getNodeByName(st)},this);var qe={normalTexture:this._normalPass.getNormalTexture(),depthTexture:this._normalPass.getDepthTexture()};this._ssaoPass=new De.a(qe),this._ssrPass=new pe.a(qe),this._edgePass=new ee.a(qe)}Ye.prototype.resize=function(st,rt,qe){qe=qe||1;var st=st*qe,rt=rt*qe,ct=this._sourceTexture,tt=this._depthTexture;ct.width=st,ct.height=rt,tt.width=st,tt.height=rt},Ye.prototype._ifRenderNormalPass=function(){return this._enableSSAO||this._enableEdge||this._enableSSR},Ye.prototype._getPrevNode=function(nt){for(var $e=Xe.indexOf(nt.name)-1,qe=this._finalNodesChain[$e];qe&&!this._compositor.getNodeByName(qe.name);)$e-=1,qe=this._finalNodesChain[$e];return qe},Ye.prototype._getNextNode=function(nt){for(var $e=Xe.indexOf(nt.name)+1,qe=this._finalNodesChain[$e];qe&&!this._compositor.getNodeByName(qe.name);)$e+=1,qe=this._finalNodesChain[$e];return qe},Ye.prototype._addChainNode=function(nt){var $e=this._getPrevNode(nt),qe=this._getNextNode(nt);$e&&($e.outputs=Ge,nt.inputs.texture=$e.name,qe?(nt.outputs=Ge,qe.inputs.texture=nt.name):nt.outputs=null,this._compositor.addNode(nt))},Ye.prototype._removeChainNode=function(nt){var $e=this._getPrevNode(nt),qe=this._getNextNode(nt);$e&&(qe?($e.outputs=Ge,qe.inputs.texture=$e.name):$e.outputs=null,this._compositor.removeNode(nt))},Ye.prototype.updateNormal=function(nt,$e,qe,st){this._ifRenderNormalPass()&&this._normalPass.update(nt,$e,qe)},Ye.prototype.updateSSAO=function(nt,$e,qe,st){this._ssaoPass.update(nt,qe,st)},Ye.prototype.enableSSAO=function(){this._enableSSAO=!0},Ye.prototype.disableSSAO=function(){this._enableSSAO=!1},Ye.prototype.enableSSR=function(){this._enableSSR=!0},Ye.prototype.disableSSR=function(){this._enableSSR=!1},Ye.prototype.getSSAOTexture=function(nt,$e,qe,st){return this._ssaoPass.getTargetTexture()},Ye.prototype.getSourceFrameBuffer=function(){return this._framebuffer},Ye.prototype.getSourceTexture=function(){return this._sourceTexture},Ye.prototype.disableFXAA=function(){this._removeChainNode(this._fxaaNode)},Ye.prototype.enableFXAA=function(){this._addChainNode(this._fxaaNode)},Ye.prototype.enableBloom=function(){this._compositeNode.inputs.bloom="bloom_composite",this._compositor.dirty()},Ye.prototype.disableBloom=function(){this._compositeNode.inputs.bloom=null,this._compositor.dirty()},Ye.prototype.enableDOF=function(){this._compositeNode.inputs.texture="dof_composite",this._compositor.dirty()},Ye.prototype.disableDOF=function(){this._compositeNode.inputs.texture="source",this._compositor.dirty()},Ye.prototype.enableColorCorrection=function(){this._compositeNode.define("COLOR_CORRECTION"),this._enableColorCorrection=!0},Ye.prototype.disableColorCorrection=function(){this._compositeNode.undefine("COLOR_CORRECTION"),this._enableColorCorrection=!1},Ye.prototype.enableEdge=function(){this._enableEdge=!0},Ye.prototype.disableEdge=function(){this._enableEdge=!1},Ye.prototype.setBloomIntensity=function(nt){this._compositeNode.setParameter("bloomIntensity",nt)},Ye.prototype.setSSAOParameter=function(nt,$e){switch(nt){case"quality":var qe={low:6,medium:12,high:32,ultra:62}[$e]||12;this._ssaoPass.setParameter("kernelSize",qe);break;case"radius":this._ssaoPass.setParameter(nt,$e),this._ssaoPass.setParameter("bias",$e/200);break;case"intensity":this._ssaoPass.setParameter(nt,$e);break;default:console.warn("Unkown SSAO parameter "+nt)}},Ye.prototype.setDOFParameter=function(nt,$e){switch(nt){case"focalDistance":case"focalRange":case"fstop":this._cocNode.setParameter(nt,$e);break;case"blurRadius":for(var qe=0;qe<this._dofBlurNodes.length;qe++)this._dofBlurNodes[qe].setParameter("blurRadius",$e);break;case"quality":var st={low:4,medium:8,high:16,ultra:32}[$e]||8;this._dofBlurKernelSize=st;for(var qe=0;qe<this._dofBlurNodes.length;qe++)this._dofBlurNodes[qe].pass.material.define("POISSON_KERNEL_SIZE",st);this._dofBlurKernel=new Float32Array(st*2);break;default:console.warn("Unkown DOF parameter "+nt)}},Ye.prototype.setSSRParameter=function(nt,$e){switch(nt){case"quality":var qe={low:10,medium:20,high:40,ultra:80}[$e]||20,st={low:32,medium:16,high:8,ultra:4}[$e]||16;this._ssrPass.setParameter("maxIteration",qe),this._ssrPass.setParameter("pixelStride",st);break;case"maxRoughness":this._ssrPass.setParameter("minGlossiness",Math.max(Math.min(1-$e,1),0));break;default:console.warn("Unkown SSR parameter "+nt)}},Ye.prototype.setEdgeColor=function(nt){var $e=Pe.a.parseColor(nt);this._edgePass.setParameter("edgeColor",$e)},Ye.prototype.setExposure=function(nt){this._compositeNode.setParameter("exposure",Math.pow(2,nt))},Ye.prototype.setColorLookupTexture=function(nt,$e){this._compositeNode.pass.material.setTextureImage("lut",this._enableColorCorrection?nt:"none",$e,{minFilter:Pe.a.Texture.NEAREST,magFilter:Pe.a.Texture.NEAREST,flipY:!1})},Ye.prototype.setColorCorrection=function(nt,$e){this._compositeNode.setParameter(nt,$e)},Ye.prototype.composite=function(nt,$e,qe,st){var rt=this._sourceTexture,ct=rt;this._enableEdge&&(this._edgePass.update(nt,$e,rt,st),rt=ct=this._edgePass.getTargetTexture()),this._enableSSR&&(this._ssrPass.update(nt,$e,rt,st),ct=this._ssrPass.getTargetTexture(),this._ssrPass.setSSAOTexture(this._enableSSAO?this._ssaoPass.getTargetTexture():null)),this._sourceNode.texture=ct,this._cocNode.setParameter("depth",this._depthTexture);for(var tt=this._dofBlurKernel,dt=this._dofBlurKernelSize,At=Math.floor(Ee.a.length/2/dt),mt=st%At,ht=0;ht<dt*2;ht++)tt[ht]=Ee.a[ht+mt*dt*2];for(var ht=0;ht<this._dofBlurNodes.length;ht++)this._dofBlurNodes[ht].setParameter("percent",st/30),this._dofBlurNodes[ht].setParameter("poissonKernel",tt);this._cocNode.setParameter("zNear",$e.near),this._cocNode.setParameter("zFar",$e.far),this._compositor.render(nt,qe)},Ye.prototype.dispose=function(nt){this._sourceTexture.dispose(nt),this._depthTexture.dispose(nt),this._framebuffer.dispose(nt),this._compositor.dispose(nt),this._normalPass.dispose(nt),this._ssaoPass.dispose(nt)},Re.a=Ye},function(Ve,Re,be){"use strict";var Fe=be(21),Ce=be(157),ve=be(159),ye=be(160),we=be(161),De=be(7),pe=be(6),Ee=be(5),Pe=be(25),de=/^#source\((.*?)\)/;function ee(ue,ge){var xe=new Ce.a;ge=ge||{};var Me={textures:{},parameters:{}},Be=function(Ge,Xe){for(var Ye=0;Ye<ue.nodes.length;Ye++){var nt=ue.nodes[Ye],$e=ne(nt,Me,ge);$e&&xe.addNode($e)}};for(var Ne in ue.parameters){var Ue=ue.parameters[Ne];Me.parameters[Ne]=le(Ue)}return oe(ue,Me,ge,function(Ge){Me.textures=Ge,Be()}),xe}function ne(ue,ge,xe){var Me=ue.type||"filter",Be,Ne,Ue;if(Me==="filter"){var Ge=ue.shader.trim(),Xe=de.exec(Ge);if(Xe?Be=De.a.source(Xe[1].trim()):Ge.charAt(0)==="#"&&(Be=ge.shaders[Ge.substr(1)]),Be||(Be=Ge),!Be)return}if(ue.inputs){Ne={};for(var Ye in ue.inputs)typeof ue.inputs[Ye]=="string"?Ne[Ye]=ue.inputs[Ye]:Ne[Ye]={node:ue.inputs[Ye].node,pin:ue.inputs[Ye].pin}}if(ue.outputs){Ue={};for(var Ye in ue.outputs){var nt=ue.outputs[Ye];Ue[Ye]={},nt.attachment!=null&&(Ue[Ye].attachment=nt.attachment),nt.keepLastFrame!=null&&(Ue[Ye].keepLastFrame=nt.keepLastFrame),nt.outputLastFrame!=null&&(Ue[Ye].outputLastFrame=nt.outputLastFrame),nt.parameters&&(Ue[Ye].parameters=le(nt.parameters))}}var $e;if(Me==="scene"?$e=new ve.a({name:ue.name,scene:xe.scene,camera:xe.camera,outputs:Ue}):Me==="texture"?$e=new ye.a({name:ue.name,outputs:Ue}):$e=new we.a({name:ue.name,shader:Be,inputs:Ne,outputs:Ue}),$e){if(ue.parameters)for(var Ye in ue.parameters){var qe=ue.parameters[Ye];typeof qe=="string"&&(qe=qe.trim(),qe.charAt(0)==="#"?qe=ge.textures[qe.substr(1)]:$e.on("beforerender",ce(Ye,ie(qe)))),$e.setParameter(Ye,qe)}if(ue.defines&&$e.pass)for(var Ye in ue.defines){var qe=ue.defines[Ye];$e.pass.material.define("fragment",Ye,qe)}}return $e}function le(ue){var ge={};return ue&&(["type","minFilter","magFilter","wrapS","wrapT","flipY","useMipmap"].forEach(function(xe){var Me=ue[xe];Me!=null&&(typeof Me=="string"&&(Me=pe.a[Me]),ge[xe]=Me)}),["width","height"].forEach(function(xe){if(ue[xe]!=null){var Me=ue[xe];typeof Me=="string"?(Me=Me.trim(),ge[xe]=he(xe,ie(Me))):ge[xe]=Me}}),ue.useMipmap!=null&&(ge.useMipmap=ue.useMipmap)),ge}function oe(ue,ge,xe,Me){if(!ue.textures){Me({});return}var Be={},Ne=0,Ue=!1,Ge=xe.textureRootPath;Fe.a.each(ue.textures,function(Xe,Ye){var nt,$e=Xe.path,qe=le(Xe.parameters);if(Array.isArray($e)&&$e.length===6)Ge&&($e=$e.map(function(st){return Fe.a.relative2absolute(st,Ge)})),nt=new Pe.a(qe);else if(typeof $e=="string")Ge&&($e=Fe.a.relative2absolute($e,Ge)),nt=new Ee.a(qe);else return;nt.load($e),Ne++,nt.once("success",function(){Be[Ye]=nt,Ne--,Ne===0&&(Me(Be),Ue=!0)})}),Ne===0&&!Ue&&Me(Be)}function ce(ue,ge){return function(xe){var Me=xe.getDevicePixelRatio(),Be=xe.getWidth(),Ne=xe.getHeight(),Ue=ge(Be,Ne,Me);this.setParameter(ue,Ue)}}function he(ue,ge){return function(xe){var Me=xe.getDevicePixelRatio(),Be=xe.getWidth(),Ne=xe.getHeight();return ge(Be,Ne,Me)}}function ie(ue){var ge=/^expr\((.*)\)$/.exec(ue);if(ge)try{var xe=new Function("width","height","dpr","return "+ge[1]);return xe(1,1),xe}catch(Me){throw new Error("Invalid expression.")}}Re.a=ee},function(Ve,Re,be){"use strict";var Fe=be(158),Ce=be(79),ve=be(10),ye=Fe.a.extend(function(){return{_outputs:[],_texturePool:new Ce.a,_frameBuffer:new ve.a({depthBuffer:!1})}},{addNode:function(we){Fe.a.prototype.addNode.call(this,we),we._compositor=this},render:function(we,De){if(this._dirty){this.update(),this._dirty=!1,this._outputs.length=0;for(var pe=0;pe<this.nodes.length;pe++)this.nodes[pe].outputs||this._outputs.push(this.nodes[pe])}for(var pe=0;pe<this.nodes.length;pe++)this.nodes[pe].beforeFrame();for(var pe=0;pe<this._outputs.length;pe++)this._outputs[pe].updateReference();for(var pe=0;pe<this._outputs.length;pe++)this._outputs[pe].render(we,De);for(var pe=0;pe<this.nodes.length;pe++)this.nodes[pe].afterFrame()},allocateTexture:function(we){return this._texturePool.get(we)},releaseTexture:function(we){this._texturePool.put(we)},getFrameBuffer:function(){return this._frameBuffer},dispose:function(we){this._texturePool.clear(we)}});Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(8),Ce=be(42),ve=Fe.a.extend(function(){return{nodes:[]}},{dirty:function(){this._dirty=!0},addNode:function(ye){this.nodes.indexOf(ye)>=0||(this.nodes.push(ye),this._dirty=!0)},removeNode:function(ye){typeof ye=="string"&&(ye=this.getNodeByName(ye));var we=this.nodes.indexOf(ye);we>=0&&(this.nodes.splice(we,1),this._dirty=!0)},getNodeByName:function(ye){for(var we=0;we<this.nodes.length;we++)if(this.nodes[we].name===ye)return this.nodes[we]},update:function(){for(var ye=0;ye<this.nodes.length;ye++)this.nodes[ye].clear();for(var ye=0;ye<this.nodes.length;ye++){var we=this.nodes[ye];if(we.inputs){for(var De in we.inputs)if(we.inputs[De]){if(we.pass&&!we.pass.material.isUniformEnabled(De)){console.warn("Pin "+we.name+"."+De+" not used.");continue}var pe=we.inputs[De],Ee=this.findPin(pe);Ee?we.link(De,Ee.node,Ee.pin):console.warn(typeof pe=="string"?"Node "+pe+" not exist":"Pin of "+pe.node+"."+pe.pin+" not exist")}}}},findPin:function(ye){var we;if((typeof ye=="string"||ye instanceof Ce.a)&&(ye={node:ye}),typeof ye.node=="string")for(var De=0;De<this.nodes.length;De++){var pe=this.nodes[De];pe.name===ye.node&&(we=pe)}else we=ye.node;if(we){var Ee=ye.pin;if(Ee||we.outputs&&(Ee=Object.keys(we.outputs)[0]),we.outputs[Ee])return{node:we,pin:Ee}}}});Re.a=ve},function(Ve,Re,be){"use strict";var Fe=be(42),Ce=be(11),ve=be(10),ye=Fe.a.extend({name:"scene",scene:null,camera:null,autoUpdateScene:!0,preZ:!1},function(){this.frameBuffer=new ve.a},{render:function(we){this._rendering=!0;var De=we.gl;this.trigger("beforerender");var pe;if(!this.outputs)pe=we.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ);else{var Ee=this.frameBuffer;for(var Pe in this.outputs){var de=this.updateParameter(Pe,we),ee=this.outputs[Pe],ne=this._compositor.allocateTexture(de);this._outputTextures[Pe]=ne;var le=ee.attachment||De.COLOR_ATTACHMENT0;typeof le=="string"&&(le=De[le]),Ee.attach(ne,le)}Ee.bind(we);var oe=we.getGLExtension("EXT_draw_buffers");if(oe){var ce=[];for(var le in this.outputs)le=parseInt(le),le>=De.COLOR_ATTACHMENT0&&le<=De.COLOR_ATTACHMENT0+8&&ce.push(le);oe.drawBuffersEXT(ce)}we.saveClear(),we.clearBit=Ce.a.DEPTH_BUFFER_BIT|Ce.a.COLOR_BUFFER_BIT,pe=we.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ),we.restoreClear(),Ee.unbind(we)}this.trigger("afterrender",pe),this._rendering=!1,this._rendered=!0}});Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(42),Ce=Fe.a.extend(function(){return{texture:null,outputs:{color:{}}}},function(){},{getOutput:function(ve,ye){return this.texture},beforeFrame:function(){},afterFrame:function(){}});Re.a=Ce},function(Ve,Re,be){"use strict";var Fe=be(14),Ce=be(42),ve=Ce.a.extend(function(){return{name:"",inputs:{},outputs:null,shader:"",inputLinks:{},outputLinks:{},pass:null,_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},function(){var ye=new Fe.a({fragment:this.shader});this.pass=ye},{render:function(ye,we){this.trigger("beforerender",ye),this._rendering=!0;var De=ye.gl;for(var pe in this.inputLinks){var Ee=this.inputLinks[pe],Pe=Ee.node.getOutput(ye,Ee.pin);this.pass.setUniform(pe,Pe)}if(!this.outputs)this.pass.outputs=null,this._compositor.getFrameBuffer().unbind(ye),this.pass.render(ye,we);else{this.pass.outputs={};var de={};for(var ee in this.outputs){var ne=this.updateParameter(ee,ye);isNaN(ne.width)&&this.updateParameter(ee,ye);var le=this.outputs[ee],oe=this._compositor.allocateTexture(ne);this._outputTextures[ee]=oe;var ce=le.attachment||De.COLOR_ATTACHMENT0;typeof ce=="string"&&(ce=De[ce]),de[ce]=oe}this._compositor.getFrameBuffer().bind(ye);for(var ce in de)this._compositor.getFrameBuffer().attach(de[ce],ce);this.pass.render(ye),this._compositor.getFrameBuffer().updateMipmap(ye.gl)}for(var pe in this.inputLinks){var Ee=this.inputLinks[pe];Ee.node.removeReference(Ee.pin)}this._rendering=!1,this._rendered=!0,this.trigger("afterrender",ye)},updateParameter:function(ye,we){var De=this.outputs[ye],pe=De.parameters,Ee=De._parametersCopy;if(Ee||(Ee=De._parametersCopy={}),pe)for(var Pe in pe)Pe!=="width"&&Pe!=="height"&&(Ee[Pe]=pe[Pe]);var de,ee;return pe.width instanceof Function?de=pe.width.call(this,we):de=pe.width,pe.height instanceof Function?ee=pe.height.call(this,we):ee=pe.height,(Ee.width!==de||Ee.height!==ee)&&this._outputTextures[ye]&&this._outputTextures[ye].dispose(we),Ee.width=de,Ee.height=ee,Ee},setParameter:function(ye,we){this.pass.setUniform(ye,we)},getParameter:function(ye){return this.pass.getUniform(ye)},setParameters:function(ye){for(var we in ye)this.setParameter(we,ye[we])},define:function(ye,we){this.pass.material.define("fragment",ye,we)},undefine:function(ye){this.pass.material.undefine("fragment",ye)},removeReference:function(ye){if(this._outputReferences[ye]--,this._outputReferences[ye]===0){var we=this.outputs[ye];we.keepLastFrame?(this._prevOutputTextures[ye]&&this._compositor.releaseTexture(this._prevOutputTextures[ye]),this._prevOutputTextures[ye]=this._outputTextures[ye]):this._compositor.releaseTexture(this._outputTextures[ye])}},clear:function(){Ce.a.prototype.clear.call(this),this.pass.material.disableTexturesAll()}});Re.a=ve},function(Ve,Re,be){"use strict";var Fe=be(9),Ce=be(4),ve=be(5),ye=be(6),we=be(14),De=be(7),pe=be(10),Ee=be(43),Pe=be(163);De.a.import(Pe.a);function de(oe){for(var ce=new Uint8Array(oe*oe*4),he=0,ie=new Ce.a,ue=0;ue<oe;ue++)for(var ge=0;ge<oe;ge++)ie.set(Math.random()*2-1,Math.random()*2-1,0).normalize(),ce[he++]=(ie.x*.5+.5)*255,ce[he++]=(ie.y*.5+.5)*255,ce[he++]=0,ce[he++]=255;return ce}function ee(oe){return new ve.a({pixels:de(oe),wrapS:ye.a.REPEAT,wrapT:ye.a.REPEAT,width:oe,height:oe})}function ne(oe,ce,he){var ie=new Float32Array(oe*3);ce=ce||0;for(var ue=0;ue<oe;ue++){var ge=Object(Ee.a)(ue+ce,2)*(he?1:2)*Math.PI,xe=Object(Ee.a)(ue+ce,3)*Math.PI,Me=Math.random(),Be=Math.cos(ge)*Math.sin(xe)*Me,Ne=Math.cos(xe)*Me,Ue=Math.sin(ge)*Math.sin(xe)*Me;ie[ue*3]=Be,ie[ue*3+1]=Ne,ie[ue*3+2]=Ue}return ie}function le(oe){oe=oe||{},this._ssaoPass=new we.a({fragment:De.a.source("ecgl.ssao.estimate")}),this._blurPass=new we.a({fragment:De.a.source("ecgl.ssao.blur")}),this._framebuffer=new pe.a({depthBuffer:!1}),this._ssaoTexture=new ve.a,this._blurTexture=new ve.a,this._blurTexture2=new ve.a,this._depthTex=oe.depthTexture,this._normalTex=oe.normalTexture,this.setNoiseSize(4),this.setKernelSize(oe.kernelSize||12),oe.radius!=null&&this.setParameter("radius",oe.radius),oe.power!=null&&this.setParameter("power",oe.power),this._normalTex||(this._ssaoPass.material.disableTexture("normalTex"),this._blurPass.material.disableTexture("normalTex")),this._depthTex||this._blurPass.material.disableTexture("depthTex"),this._blurPass.material.setUniform("normalTex",this._normalTex),this._blurPass.material.setUniform("depthTex",this._depthTex)}le.prototype.setDepthTexture=function(oe){this._depthTex=oe},le.prototype.setNormalTexture=function(oe){this._normalTex=oe,this._ssaoPass.material[oe?"enableTexture":"disableTexture"]("normalTex"),this.setKernelSize(this._kernelSize)},le.prototype.update=function(oe,ce,he){var ie=oe.getWidth(),ue=oe.getHeight(),ge=this._ssaoPass,xe=this._blurPass;ge.setUniform("kernel",this._kernels[he%this._kernels.length]),ge.setUniform("depthTex",this._depthTex),this._normalTex!=null&&ge.setUniform("normalTex",this._normalTex),ge.setUniform("depthTexSize",[this._depthTex.width,this._depthTex.height]);var Me=new Fe.a;Fe.a.transpose(Me,ce.worldTransform),ge.setUniform("projection",ce.projectionMatrix.array),ge.setUniform("projectionInv",ce.invProjectionMatrix.array),ge.setUniform("viewInverseTranspose",Me.array);var Be=this._ssaoTexture,Ne=this._blurTexture,Ue=this._blurTexture2;Be.width=ie/2,Be.height=ue/2,Ne.width=ie,Ne.height=ue,Ue.width=ie,Ue.height=ue,this._framebuffer.attach(Be),this._framebuffer.bind(oe),oe.gl.clearColor(1,1,1,1),oe.gl.clear(oe.gl.COLOR_BUFFER_BIT),ge.render(oe),xe.setUniform("textureSize",[ie/2,ue/2]),xe.setUniform("projection",ce.projectionMatrix.array),this._framebuffer.attach(Ne),xe.setUniform("direction",0),xe.setUniform("ssaoTexture",Be),xe.render(oe),this._framebuffer.attach(Ue),xe.setUniform("textureSize",[ie,ue]),xe.setUniform("direction",1),xe.setUniform("ssaoTexture",Ne),xe.render(oe),this._framebuffer.unbind(oe);var Ge=oe.clearColor;oe.gl.clearColor(Ge[0],Ge[1],Ge[2],Ge[3])},le.prototype.getTargetTexture=function(){return this._blurTexture2},le.prototype.setParameter=function(oe,ce){oe==="noiseTexSize"?this.setNoiseSize(ce):oe==="kernelSize"?this.setKernelSize(ce):oe==="intensity"?this._ssaoPass.material.set("intensity",ce):this._ssaoPass.setUniform(oe,ce)},le.prototype.setKernelSize=function(oe){this._kernelSize=oe,this._ssaoPass.material.define("fragment","KERNEL_SIZE",oe),this._kernels=this._kernels||[];for(var ce=0;ce<30;ce++)this._kernels[ce]=ne(oe,ce*oe,!!this._normalTex)},le.prototype.setNoiseSize=function(oe){var ce=this._ssaoPass.getUniform("noiseTex");ce?(ce.data=de(oe),ce.width=ce.height=oe,ce.dirty()):(ce=ee(oe),this._ssaoPass.setUniform("noiseTex",ee(oe))),this._ssaoPass.setUniform("noiseTexSize",[oe,oe])},le.prototype.dispose=function(oe){this._blurTexture.dispose(oe),this._ssaoTexture.dispose(oe),this._blurTexture2.dispose(oe)},Re.a=le},function(Ve,Re,be){"use strict";Re.a=`@export ecgl.ssao.estimate
|
|
|
|
|
|
uniform sampler2D depthTex;
|
|
|
|
|
|
uniform sampler2D normalTex;
|
|
|
|
|
|
uniform sampler2D noiseTex;
|
|
|
|
|
|
uniform vec2 depthTexSize;
|
|
|
|
|
|
uniform vec2 noiseTexSize;
|
|
|
|
|
|
uniform mat4 projection;
|
|
|
|
|
|
uniform mat4 projectionInv;
|
|
|
|
|
|
uniform mat4 viewInverseTranspose;
|
|
|
|
|
|
uniform vec3 kernel[KERNEL_SIZE];
|
|
|
|
|
|
uniform float radius : 1;
|
|
|
|
|
|
uniform float power : 1;
|
|
|
|
|
|
uniform float bias: 1e-2;
|
|
|
|
|
|
uniform float intensity: 1.0;
|
|
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
|
|
float ssaoEstimator(in vec3 originPos, in mat3 kernelBasis) {
|
|
|
float occlusion = 0.0;
|
|
|
|
|
|
for (int i = 0; i < KERNEL_SIZE; i++) {
|
|
|
vec3 samplePos = kernel[i];
|
|
|
#ifdef NORMALTEX_ENABLED
|
|
|
samplePos = kernelBasis * samplePos;
|
|
|
#endif
|
|
|
samplePos = samplePos * radius + originPos;
|
|
|
|
|
|
vec4 texCoord = projection * vec4(samplePos, 1.0);
|
|
|
texCoord.xy /= texCoord.w;
|
|
|
|
|
|
vec4 depthTexel = texture2D(depthTex, texCoord.xy * 0.5 + 0.5);
|
|
|
|
|
|
float sampleDepth = depthTexel.r * 2.0 - 1.0;
|
|
|
if (projection[3][3] == 0.0) {
|
|
|
sampleDepth = projection[3][2] / (sampleDepth * projection[2][3] - projection[2][2]);
|
|
|
}
|
|
|
else {
|
|
|
sampleDepth = (sampleDepth - projection[3][2]) / projection[2][2];
|
|
|
}
|
|
|
|
|
|
float rangeCheck = smoothstep(0.0, 1.0, radius / abs(originPos.z - sampleDepth));
|
|
|
occlusion += rangeCheck * step(samplePos.z, sampleDepth - bias);
|
|
|
}
|
|
|
#ifdef NORMALTEX_ENABLED
|
|
|
occlusion = 1.0 - occlusion / float(KERNEL_SIZE);
|
|
|
#else
|
|
|
occlusion = 1.0 - clamp((occlusion / float(KERNEL_SIZE) - 0.6) * 2.5, 0.0, 1.0);
|
|
|
#endif
|
|
|
return pow(occlusion, power);
|
|
|
}
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
|
|
|
vec4 depthTexel = texture2D(depthTex, v_Texcoord);
|
|
|
|
|
|
#ifdef NORMALTEX_ENABLED
|
|
|
vec4 tex = texture2D(normalTex, v_Texcoord);
|
|
|
if (dot(tex.rgb, tex.rgb) == 0.0) {
|
|
|
gl_FragColor = vec4(1.0);
|
|
|
return;
|
|
|
}
|
|
|
vec3 N = tex.rgb * 2.0 - 1.0;
|
|
|
N = (viewInverseTranspose * vec4(N, 0.0)).xyz;
|
|
|
|
|
|
vec2 noiseTexCoord = depthTexSize / vec2(noiseTexSize) * v_Texcoord;
|
|
|
vec3 rvec = texture2D(noiseTex, noiseTexCoord).rgb * 2.0 - 1.0;
|
|
|
vec3 T = normalize(rvec - N * dot(rvec, N));
|
|
|
vec3 BT = normalize(cross(N, T));
|
|
|
mat3 kernelBasis = mat3(T, BT, N);
|
|
|
#else
|
|
|
if (depthTexel.r > 0.99999) {
|
|
|
gl_FragColor = vec4(1.0);
|
|
|
return;
|
|
|
}
|
|
|
mat3 kernelBasis;
|
|
|
#endif
|
|
|
|
|
|
float z = depthTexel.r * 2.0 - 1.0;
|
|
|
|
|
|
vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);
|
|
|
vec4 p4 = projectionInv * projectedPos;
|
|
|
|
|
|
vec3 position = p4.xyz / p4.w;
|
|
|
|
|
|
float ao = ssaoEstimator(position, kernelBasis);
|
|
|
ao = clamp(1.0 - (1.0 - ao) * intensity, 0.0, 1.0);
|
|
|
gl_FragColor = vec4(vec3(ao), 1.0);
|
|
|
}
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.ssao.blur
|
|
|
#define SHADER_NAME SSAO_BLUR
|
|
|
|
|
|
uniform sampler2D ssaoTexture;
|
|
|
|
|
|
#ifdef NORMALTEX_ENABLED
|
|
|
uniform sampler2D normalTex;
|
|
|
#endif
|
|
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
|
|
uniform vec2 textureSize;
|
|
|
uniform float blurSize : 1.0;
|
|
|
|
|
|
uniform int direction: 0.0;
|
|
|
|
|
|
#ifdef DEPTHTEX_ENABLED
|
|
|
uniform sampler2D depthTex;
|
|
|
uniform mat4 projection;
|
|
|
uniform float depthRange : 0.5;
|
|
|
|
|
|
float getLinearDepth(vec2 coord)
|
|
|
{
|
|
|
float depth = texture2D(depthTex, coord).r * 2.0 - 1.0;
|
|
|
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
float kernel[5];
|
|
|
kernel[0] = 0.122581;
|
|
|
kernel[1] = 0.233062;
|
|
|
kernel[2] = 0.288713;
|
|
|
kernel[3] = 0.233062;
|
|
|
kernel[4] = 0.122581;
|
|
|
|
|
|
vec2 off = vec2(0.0);
|
|
|
if (direction == 0) {
|
|
|
off[0] = blurSize / textureSize.x;
|
|
|
}
|
|
|
else {
|
|
|
off[1] = blurSize / textureSize.y;
|
|
|
}
|
|
|
|
|
|
vec2 coord = v_Texcoord;
|
|
|
|
|
|
float sum = 0.0;
|
|
|
float weightAll = 0.0;
|
|
|
|
|
|
#ifdef NORMALTEX_ENABLED
|
|
|
vec3 centerNormal = texture2D(normalTex, v_Texcoord).rgb * 2.0 - 1.0;
|
|
|
#endif
|
|
|
#if defined(DEPTHTEX_ENABLED)
|
|
|
float centerDepth = getLinearDepth(v_Texcoord);
|
|
|
#endif
|
|
|
|
|
|
for (int i = 0; i < 5; i++) {
|
|
|
vec2 coord = clamp(v_Texcoord + vec2(float(i) - 2.0) * off, vec2(0.0), vec2(1.0));
|
|
|
|
|
|
float w = kernel[i];
|
|
|
#ifdef NORMALTEX_ENABLED
|
|
|
vec3 normal = texture2D(normalTex, coord).rgb * 2.0 - 1.0;
|
|
|
w *= clamp(dot(normal, centerNormal), 0.0, 1.0);
|
|
|
#endif
|
|
|
#ifdef DEPTHTEX_ENABLED
|
|
|
float d = getLinearDepth(coord);
|
|
|
w *= (1.0 - smoothstep(abs(centerDepth - d) / depthRange, 0.0, 1.0));
|
|
|
#endif
|
|
|
|
|
|
weightAll += w;
|
|
|
sum += texture2D(ssaoTexture, coord).r * w;
|
|
|
}
|
|
|
|
|
|
gl_FragColor = vec4(vec3(sum / weightAll), 1.0);
|
|
|
}
|
|
|
|
|
|
@end
|
|
|
`},function(Ve,Re,be){"use strict";var Fe=be(9),Ce=be(4),ve=be(5),ye=be(6),we=be(14),De=be(7),pe=be(10),Ee=be(43),Pe=be(165);De.a.import(Pe.a);function de(ee){ee=ee||{},this._ssrPass=new we.a({fragment:De.a.source("ecgl.ssr.main"),clearColor:[0,0,0,0]}),this._blurPass1=new we.a({fragment:De.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._blurPass2=new we.a({fragment:De.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._ssrPass.setUniform("gBufferTexture1",ee.normalTexture),this._ssrPass.setUniform("gBufferTexture2",ee.depthTexture),this._blurPass1.setUniform("gBufferTexture1",ee.normalTexture),this._blurPass1.setUniform("gBufferTexture2",ee.depthTexture),this._blurPass2.setUniform("gBufferTexture1",ee.normalTexture),this._blurPass2.setUniform("gBufferTexture2",ee.depthTexture),this._blurPass2.material.define("fragment","VERTICAL"),this._blurPass2.material.define("fragment","BLEND"),this._texture1=new ve.a({type:ye.a.HALF_FLOAT}),this._texture2=new ve.a({type:ye.a.HALF_FLOAT}),this._texture3=new ve.a({type:ye.a.HALF_FLOAT}),this._frameBuffer=new pe.a({depthBuffer:!1})}de.prototype.update=function(ee,ne,le,oe){var ce=ee.getWidth(),he=ee.getHeight(),ie=ee.getDevicePixelRatio(),ue=this._texture1,ge=this._texture2,xe=this._texture3;ge.width=ce/2,ge.height=he/2,ue.width=ce,ue.height=he,xe.width=ce*ie,xe.height=he*ie;var Me=this._frameBuffer,Be=this._ssrPass,Ne=this._blurPass1,Ue=this._blurPass2,Ge=new Fe.a;Fe.a.transpose(Ge,ne.worldTransform),Be.setUniform("sourceTexture",le),Be.setUniform("projection",ne.projectionMatrix.array),Be.setUniform("projectionInv",ne.invProjectionMatrix.array),Be.setUniform("viewInverseTranspose",Ge.array),Be.setUniform("nearZ",ne.near),Be.setUniform("jitterOffset",oe/30),Ne.setUniform("textureSize",[ce/2,he/2]),Ue.setUniform("textureSize",[ce,he]),Ue.setUniform("sourceTexture",le),Ne.setUniform("projection",ne.projectionMatrix.array),Ue.setUniform("projection",ne.projectionMatrix.array),Me.attach(ue),Me.bind(ee),Be.render(ee),Me.attach(ge),Ne.setUniform("texture",ue),Ne.render(ee),Me.attach(xe),Ue.setUniform("texture",ge),Ue.render(ee),Me.unbind(ee)},de.prototype.getTargetTexture=function(){return this._texture3},de.prototype.setParameter=function(ee,ne){ee==="maxIteration"?this._ssrPass.material.define("fragment","MAX_ITERATION",ne):this._ssrPass.setUniform(ee,ne)},de.prototype.setSSAOTexture=function(ee){var ne=this._blurPass2;ee?(ne.material.enableTexture("ssaoTex"),ne.material.set("ssaoTex",ee)):ne.material.disableTexture("ssaoTex")},de.prototype.dispose=function(ee){this._texture1.dispose(ee),this._texture2.dispose(ee),this._texture3.dispose(ee),this._frameBuffer.dispose(ee)},Re.a=de},function(Ve,Re,be){"use strict";Re.a=`@export ecgl.ssr.main
|
|
|
|
|
|
#define MAX_ITERATION 20;
|
|
|
|
|
|
uniform sampler2D sourceTexture;
|
|
|
uniform sampler2D gBufferTexture1;
|
|
|
uniform sampler2D gBufferTexture2;
|
|
|
|
|
|
uniform mat4 projection;
|
|
|
uniform mat4 projectionInv;
|
|
|
uniform mat4 viewInverseTranspose;
|
|
|
|
|
|
uniform float maxRayDistance: 50;
|
|
|
|
|
|
uniform float pixelStride: 16;
|
|
|
uniform float pixelStrideZCutoff: 50;
|
|
|
uniform float screenEdgeFadeStart: 0.9;
|
|
|
uniform float eyeFadeStart : 0.2; uniform float eyeFadeEnd: 0.8;
|
|
|
uniform float minGlossiness: 0.2; uniform float zThicknessThreshold: 10;
|
|
|
|
|
|
uniform float nearZ;
|
|
|
uniform vec2 viewportSize : VIEWPORT_SIZE;
|
|
|
|
|
|
uniform float jitterOffset: 0;
|
|
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
|
|
#ifdef DEPTH_DECODE
|
|
|
@import clay.util.decode_float
|
|
|
#endif
|
|
|
|
|
|
float fetchDepth(sampler2D depthTexture, vec2 uv)
|
|
|
{
|
|
|
vec4 depthTexel = texture2D(depthTexture, uv);
|
|
|
return depthTexel.r * 2.0 - 1.0;
|
|
|
}
|
|
|
|
|
|
float linearDepth(float depth)
|
|
|
{
|
|
|
if (projection[3][3] == 0.0) {
|
|
|
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
|
|
|
}
|
|
|
else {
|
|
|
return (depth - projection[3][2]) / projection[2][2];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
bool rayIntersectDepth(float rayZNear, float rayZFar, vec2 hitPixel)
|
|
|
{
|
|
|
if (rayZFar > rayZNear)
|
|
|
{
|
|
|
float t = rayZFar; rayZFar = rayZNear; rayZNear = t;
|
|
|
}
|
|
|
float cameraZ = linearDepth(fetchDepth(gBufferTexture2, hitPixel));
|
|
|
return rayZFar <= cameraZ && rayZNear >= cameraZ - zThicknessThreshold;
|
|
|
}
|
|
|
|
|
|
|
|
|
bool traceScreenSpaceRay(
|
|
|
vec3 rayOrigin, vec3 rayDir, float jitter,
|
|
|
out vec2 hitPixel, out vec3 hitPoint, out float iterationCount
|
|
|
)
|
|
|
{
|
|
|
float rayLength = ((rayOrigin.z + rayDir.z * maxRayDistance) > -nearZ)
|
|
|
? (-nearZ - rayOrigin.z) / rayDir.z : maxRayDistance;
|
|
|
|
|
|
vec3 rayEnd = rayOrigin + rayDir * rayLength;
|
|
|
|
|
|
vec4 H0 = projection * vec4(rayOrigin, 1.0);
|
|
|
vec4 H1 = projection * vec4(rayEnd, 1.0);
|
|
|
|
|
|
float k0 = 1.0 / H0.w, k1 = 1.0 / H1.w;
|
|
|
|
|
|
vec3 Q0 = rayOrigin * k0, Q1 = rayEnd * k1;
|
|
|
|
|
|
vec2 P0 = (H0.xy * k0 * 0.5 + 0.5) * viewportSize;
|
|
|
vec2 P1 = (H1.xy * k1 * 0.5 + 0.5) * viewportSize;
|
|
|
|
|
|
P1 += dot(P1 - P0, P1 - P0) < 0.0001 ? 0.01 : 0.0;
|
|
|
vec2 delta = P1 - P0;
|
|
|
|
|
|
bool permute = false;
|
|
|
if (abs(delta.x) < abs(delta.y)) {
|
|
|
permute = true;
|
|
|
delta = delta.yx;
|
|
|
P0 = P0.yx;
|
|
|
P1 = P1.yx;
|
|
|
}
|
|
|
float stepDir = sign(delta.x);
|
|
|
float invdx = stepDir / delta.x;
|
|
|
|
|
|
vec3 dQ = (Q1 - Q0) * invdx;
|
|
|
float dk = (k1 - k0) * invdx;
|
|
|
|
|
|
vec2 dP = vec2(stepDir, delta.y * invdx);
|
|
|
|
|
|
float strideScaler = 1.0 - min(1.0, -rayOrigin.z / pixelStrideZCutoff);
|
|
|
float pixStride = 1.0 + strideScaler * pixelStride;
|
|
|
|
|
|
dP *= pixStride; dQ *= pixStride; dk *= pixStride;
|
|
|
|
|
|
vec4 pqk = vec4(P0, Q0.z, k0);
|
|
|
vec4 dPQK = vec4(dP, dQ.z, dk);
|
|
|
|
|
|
pqk += dPQK * jitter;
|
|
|
float rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);
|
|
|
float rayZNear;
|
|
|
|
|
|
bool intersect = false;
|
|
|
|
|
|
vec2 texelSize = 1.0 / viewportSize;
|
|
|
|
|
|
iterationCount = 0.0;
|
|
|
|
|
|
for (int i = 0; i < MAX_ITERATION; i++)
|
|
|
{
|
|
|
pqk += dPQK;
|
|
|
|
|
|
rayZNear = rayZFar;
|
|
|
rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);
|
|
|
|
|
|
hitPixel = permute ? pqk.yx : pqk.xy;
|
|
|
hitPixel *= texelSize;
|
|
|
|
|
|
intersect = rayIntersectDepth(rayZNear, rayZFar, hitPixel);
|
|
|
|
|
|
iterationCount += 1.0;
|
|
|
|
|
|
if (intersect) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
Q0.xy += dQ.xy * iterationCount;
|
|
|
Q0.z = pqk.z;
|
|
|
hitPoint = Q0 / pqk.w;
|
|
|
|
|
|
return intersect;
|
|
|
}
|
|
|
|
|
|
float calculateAlpha(
|
|
|
float iterationCount, float reflectivity,
|
|
|
vec2 hitPixel, vec3 hitPoint, float dist, vec3 rayDir
|
|
|
)
|
|
|
{
|
|
|
float alpha = clamp(reflectivity, 0.0, 1.0);
|
|
|
alpha *= 1.0 - (iterationCount / float(MAX_ITERATION));
|
|
|
vec2 hitPixelNDC = hitPixel * 2.0 - 1.0;
|
|
|
float maxDimension = min(1.0, max(abs(hitPixelNDC.x), abs(hitPixelNDC.y)));
|
|
|
alpha *= 1.0 - max(0.0, maxDimension - screenEdgeFadeStart) / (1.0 - screenEdgeFadeStart);
|
|
|
|
|
|
float _eyeFadeStart = eyeFadeStart;
|
|
|
float _eyeFadeEnd = eyeFadeEnd;
|
|
|
if (_eyeFadeStart > _eyeFadeEnd) {
|
|
|
float tmp = _eyeFadeEnd;
|
|
|
_eyeFadeEnd = _eyeFadeStart;
|
|
|
_eyeFadeStart = tmp;
|
|
|
}
|
|
|
|
|
|
float eyeDir = clamp(rayDir.z, _eyeFadeStart, _eyeFadeEnd);
|
|
|
alpha *= 1.0 - (eyeDir - _eyeFadeStart) / (_eyeFadeEnd - _eyeFadeStart);
|
|
|
|
|
|
alpha *= 1.0 - clamp(dist / maxRayDistance, 0.0, 1.0);
|
|
|
|
|
|
return alpha;
|
|
|
}
|
|
|
|
|
|
@import clay.util.rand
|
|
|
|
|
|
@import clay.util.rgbm
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
vec4 normalAndGloss = texture2D(gBufferTexture1, v_Texcoord);
|
|
|
|
|
|
if (dot(normalAndGloss.rgb, vec3(1.0)) == 0.0) {
|
|
|
discard;
|
|
|
}
|
|
|
|
|
|
float g = normalAndGloss.a;
|
|
|
if (g <= minGlossiness) {
|
|
|
discard;
|
|
|
}
|
|
|
|
|
|
float reflectivity = (g - minGlossiness) / (1.0 - minGlossiness);
|
|
|
|
|
|
vec3 N = normalAndGloss.rgb * 2.0 - 1.0;
|
|
|
N = normalize((viewInverseTranspose * vec4(N, 0.0)).xyz);
|
|
|
|
|
|
vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, fetchDepth(gBufferTexture2, v_Texcoord), 1.0);
|
|
|
vec4 pos = projectionInv * projectedPos;
|
|
|
vec3 rayOrigin = pos.xyz / pos.w;
|
|
|
|
|
|
vec3 rayDir = normalize(reflect(normalize(rayOrigin), N));
|
|
|
vec2 hitPixel;
|
|
|
vec3 hitPoint;
|
|
|
float iterationCount;
|
|
|
|
|
|
vec2 uv2 = v_Texcoord * viewportSize;
|
|
|
float jitter = rand(fract(v_Texcoord + jitterOffset));
|
|
|
|
|
|
bool intersect = traceScreenSpaceRay(rayOrigin, rayDir, jitter, hitPixel, hitPoint, iterationCount);
|
|
|
|
|
|
float dist = distance(rayOrigin, hitPoint);
|
|
|
|
|
|
float alpha = calculateAlpha(iterationCount, reflectivity, hitPixel, hitPoint, dist, rayDir) * float(intersect);
|
|
|
|
|
|
vec3 hitNormal = texture2D(gBufferTexture1, hitPixel).rgb * 2.0 - 1.0;
|
|
|
hitNormal = normalize((viewInverseTranspose * vec4(hitNormal, 0.0)).xyz);
|
|
|
|
|
|
if (dot(hitNormal, rayDir) >= 0.0) {
|
|
|
discard;
|
|
|
}
|
|
|
|
|
|
|
|
|
if (!intersect) {
|
|
|
discard;
|
|
|
}
|
|
|
vec4 color = decodeHDR(texture2D(sourceTexture, hitPixel));
|
|
|
gl_FragColor = encodeHDR(vec4(color.rgb * alpha, color.a));
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
@export ecgl.ssr.blur
|
|
|
|
|
|
uniform sampler2D texture;
|
|
|
uniform sampler2D gBufferTexture1;
|
|
|
uniform sampler2D gBufferTexture2;
|
|
|
uniform mat4 projection;
|
|
|
uniform float depthRange : 0.05;
|
|
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
|
|
uniform vec2 textureSize;
|
|
|
uniform float blurSize : 4.0;
|
|
|
|
|
|
#ifdef BLEND
|
|
|
#ifdef SSAOTEX_ENABLED
|
|
|
uniform sampler2D ssaoTex;
|
|
|
#endif
|
|
|
uniform sampler2D sourceTexture;
|
|
|
#endif
|
|
|
|
|
|
float getLinearDepth(vec2 coord)
|
|
|
{
|
|
|
float depth = texture2D(gBufferTexture2, coord).r * 2.0 - 1.0;
|
|
|
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
|
|
|
}
|
|
|
|
|
|
@import clay.util.rgbm
|
|
|
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
@import clay.compositor.kernel.gaussian_9
|
|
|
|
|
|
vec4 centerNTexel = texture2D(gBufferTexture1, v_Texcoord);
|
|
|
float g = centerNTexel.a;
|
|
|
float maxBlurSize = clamp(1.0 - g + 0.1, 0.0, 1.0) * blurSize;
|
|
|
#ifdef VERTICAL
|
|
|
vec2 off = vec2(0.0, maxBlurSize / textureSize.y);
|
|
|
#else
|
|
|
vec2 off = vec2(maxBlurSize / textureSize.x, 0.0);
|
|
|
#endif
|
|
|
|
|
|
vec2 coord = v_Texcoord;
|
|
|
|
|
|
vec4 sum = vec4(0.0);
|
|
|
float weightAll = 0.0;
|
|
|
|
|
|
vec3 cN = centerNTexel.rgb * 2.0 - 1.0;
|
|
|
float cD = getLinearDepth(v_Texcoord);
|
|
|
for (int i = 0; i < 9; i++) {
|
|
|
vec2 coord = clamp((float(i) - 4.0) * off + v_Texcoord, vec2(0.0), vec2(1.0));
|
|
|
float w = gaussianKernel[i]
|
|
|
* clamp(dot(cN, texture2D(gBufferTexture1, coord).rgb * 2.0 - 1.0), 0.0, 1.0);
|
|
|
float d = getLinearDepth(coord);
|
|
|
w *= (1.0 - smoothstep(abs(cD - d) / depthRange, 0.0, 1.0));
|
|
|
|
|
|
weightAll += w;
|
|
|
sum += decodeHDR(texture2D(texture, coord)) * w;
|
|
|
}
|
|
|
|
|
|
#ifdef BLEND
|
|
|
float aoFactor = 1.0;
|
|
|
#ifdef SSAOTEX_ENABLED
|
|
|
aoFactor = texture2D(ssaoTex, v_Texcoord).r;
|
|
|
#endif
|
|
|
gl_FragColor = encodeHDR(
|
|
|
sum / weightAll * aoFactor + decodeHDR(texture2D(sourceTexture, v_Texcoord))
|
|
|
);
|
|
|
#else
|
|
|
gl_FragColor = encodeHDR(sum / weightAll);
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
@end`},function(Ve,Re,be){"use strict";Re.a=[0,0,-.321585265978,-.154972575841,.458126042375,.188473391593,.842080129861,.527766490688,.147304551086,-.659453822776,-.331943915203,-.940619700594,.0479226680259,.54812163202,.701581552186,-.709825561388,-.295436780218,.940589268233,-.901489676764,.237713156085,.973570876096,-.109899459384,-.866792314779,-.451805525005,.330975007087,.800048655954,-.344275183665,.381779221166,-.386139432542,-.437418421534,-.576478634965,-.0148463392551,.385798197415,-.262426961053,-.666302061145,.682427250835,-.628010632582,-.732836215494,.10163141741,-.987658134403,.711995289051,-.320024291314,.0296005138058,.950296523438,.0130612307608,-.351024443122,-.879596633704,-.10478487883,.435712737232,.504254490347,.779203817497,.206477676721,.388264289969,-.896736162545,-.153106280781,-.629203242522,-.245517550697,.657969239148,.126830499058,.26862328493,-.634888119007,-.302301223431,.617074219636,.779817204925]},function(Ve,Re,be){"use strict";var Fe=be(5),Ce=be(6),ve=be(7),ye=be(10),we=be(17),De=be(14),pe=be(54),Ee=be(168);ve.a.import(Ee.a);function Pe(ne,le,oe,ce,he){var ie=ne.gl;le.setUniform(ie,"1i",oe,he),ie.activeTexture(ie.TEXTURE0+he),ce.isRenderable()?ce.bind(ne):ce.unbind(ne)}function de(ne,le,oe,ce,he){var ie,ue,ge,xe,Me=ne.gl;return function(Be,Ne,Ue){if(!(xe&&xe.material===Be.material)){var Ge=Be.material,Xe=Be.__program,Ye=Ge.get("roughness");Ye==null&&(Ye=1);var nt=Ge.get("normalMap")||le,$e=Ge.get("roughnessMap"),qe=Ge.get("bumpMap"),st=Ge.get("uvRepeat"),rt=Ge.get("uvOffset"),ct=Ge.get("detailUvRepeat"),tt=Ge.get("detailUvOffset"),dt=!!qe&&Ge.isTextureEnabled("bumpMap"),At=!!$e&&Ge.isTextureEnabled("roughnessMap"),mt=Ge.isDefined("fragment","DOUBLE_SIDED");qe=qe||oe,$e=$e||ce,Ue!==Ne?(Ne.set("normalMap",nt),Ne.set("bumpMap",qe),Ne.set("roughnessMap",$e),Ne.set("useBumpMap",dt),Ne.set("useRoughnessMap",At),Ne.set("doubleSide",mt),st!=null&&Ne.set("uvRepeat",st),rt!=null&&Ne.set("uvOffset",rt),ct!=null&&Ne.set("detailUvRepeat",ct),tt!=null&&Ne.set("detailUvOffset",tt),Ne.set("roughness",Ye)):(Xe.setUniform(Me,"1f","roughness",Ye),ie!==nt&&Pe(ne,Xe,"normalMap",nt,0),ue!==qe&&qe&&Pe(ne,Xe,"bumpMap",qe,1),ge!==$e&&$e&&Pe(ne,Xe,"roughnessMap",$e,2),st!=null&&Xe.setUniform(Me,"2f","uvRepeat",st),rt!=null&&Xe.setUniform(Me,"2f","uvOffset",rt),ct!=null&&Xe.setUniform(Me,"2f","detailUvRepeat",ct),tt!=null&&Xe.setUniform(Me,"2f","detailUvOffset",tt),Xe.setUniform(Me,"1i","useBumpMap",+dt),Xe.setUniform(Me,"1i","useRoughnessMap",+At),Xe.setUniform(Me,"1i","doubleSide",+mt)),ie=nt,ue=qe,ge=$e,xe=Be}}}function ee(ne){ne=ne||{},this._depthTex=new Fe.a({format:Ce.a.DEPTH_COMPONENT,type:Ce.a.UNSIGNED_INT}),this._normalTex=new Fe.a({type:Ce.a.HALF_FLOAT}),this._framebuffer=new ye.a,this._framebuffer.attach(this._normalTex),this._framebuffer.attach(this._depthTex,ye.a.DEPTH_ATTACHMENT),this._normalMaterial=new we.a({shader:new ve.a(ve.a.source("ecgl.normal.vertex"),ve.a.source("ecgl.normal.fragment"))}),this._normalMaterial.enableTexture(["normalMap","bumpMap","roughnessMap"]),this._defaultNormalMap=pe.a.createBlank("#000"),this._defaultBumpMap=pe.a.createBlank("#000"),this._defaultRoughessMap=pe.a.createBlank("#000"),this._debugPass=new De.a({fragment:ve.a.source("clay.compositor.output")}),this._debugPass.setUniform("texture",this._normalTex),this._debugPass.material.undefine("fragment","OUTPUT_ALPHA")}ee.prototype.getDepthTexture=function(){return this._depthTex},ee.prototype.getNormalTexture=function(){return this._normalTex},ee.prototype.update=function(ne,le,oe){var ce=ne.getWidth(),he=ne.getHeight(),ie=this._depthTex,ue=this._normalTex,ge=this._normalMaterial;ie.width=ce,ie.height=he,ue.width=ce,ue.height=he;var xe=le.opaqueList;this._framebuffer.bind(ne),ne.gl.clearColor(0,0,0,0),ne.gl.clear(ne.gl.COLOR_BUFFER_BIT|ne.gl.DEPTH_BUFFER_BIT),ne.gl.disable(ne.gl.BLEND),ne.renderPass(xe,oe,{getMaterial:function(){return ge},ifRender:function(Me){return Me.renderNormal},beforeRender:de(ne,this._defaultNormalMap,this._defaultBumpMap,this._defaultRoughessMap,this._normalMaterial),sort:ne.opaqueSortCompare}),this._framebuffer.unbind(ne)},ee.prototype.renderDebug=function(ne){this._debugPass.render(ne)},ee.prototype.dispose=function(ne){this._depthTex.dispose(ne),this._normalTex.dispose(ne)},Re.a=ee},function(Ve,Re,be){"use strict";Re.a=`@export ecgl.normal.vertex
|
|
|
|
|
|
@import ecgl.common.transformUniforms
|
|
|
|
|
|
@import ecgl.common.uv.header
|
|
|
|
|
|
@import ecgl.common.attributes
|
|
|
|
|
|
varying vec3 v_Normal;
|
|
|
varying vec3 v_WorldPosition;
|
|
|
|
|
|
@import ecgl.common.normalMap.vertexHeader
|
|
|
|
|
|
@import ecgl.common.vertexAnimation.header
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
|
|
|
@import ecgl.common.vertexAnimation.main
|
|
|
|
|
|
@import ecgl.common.uv.main
|
|
|
|
|
|
v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);
|
|
|
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
|
|
|
|
|
|
@import ecgl.common.normalMap.vertexMain
|
|
|
|
|
|
gl_Position = worldViewProjection * vec4(pos, 1.0);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.normal.fragment
|
|
|
|
|
|
#define ROUGHNESS_CHANEL 0
|
|
|
|
|
|
uniform bool useBumpMap;
|
|
|
uniform bool useRoughnessMap;
|
|
|
uniform bool doubleSide;
|
|
|
uniform float roughness;
|
|
|
|
|
|
@import ecgl.common.uv.fragmentHeader
|
|
|
|
|
|
varying vec3 v_Normal;
|
|
|
varying vec3 v_WorldPosition;
|
|
|
|
|
|
uniform mat4 viewInverse : VIEWINVERSE;
|
|
|
|
|
|
@import ecgl.common.normalMap.fragmentHeader
|
|
|
@import ecgl.common.bumpMap.header
|
|
|
|
|
|
uniform sampler2D roughnessMap;
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
vec3 N = v_Normal;
|
|
|
|
|
|
bool flipNormal = false;
|
|
|
if (doubleSide) {
|
|
|
vec3 eyePos = viewInverse[3].xyz;
|
|
|
vec3 V = normalize(eyePos - v_WorldPosition);
|
|
|
|
|
|
if (dot(N, V) < 0.0) {
|
|
|
flipNormal = true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@import ecgl.common.normalMap.fragmentMain
|
|
|
|
|
|
if (useBumpMap) {
|
|
|
N = bumpNormal(v_WorldPosition, v_Normal, N);
|
|
|
}
|
|
|
|
|
|
float g = 1.0 - roughness;
|
|
|
|
|
|
if (useRoughnessMap) {
|
|
|
float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];
|
|
|
g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);
|
|
|
}
|
|
|
|
|
|
if (flipNormal) {
|
|
|
N = -N;
|
|
|
}
|
|
|
|
|
|
gl_FragColor.rgb = (N.xyz + 1.0) * 0.5;
|
|
|
gl_FragColor.a = g;
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";var Fe=be(9),Ce=be(4),ve=be(5),ye=be(6),we=be(14),De=be(7),pe=be(10);function Ee(Pe){Pe=Pe||{},this._edgePass=new we.a({fragment:De.a.source("ecgl.edge")}),this._edgePass.setUniform("normalTexture",Pe.normalTexture),this._edgePass.setUniform("depthTexture",Pe.depthTexture),this._targetTexture=new ve.a({type:ye.a.HALF_FLOAT}),this._frameBuffer=new pe.a,this._frameBuffer.attach(this._targetTexture)}Ee.prototype.update=function(Pe,de,ee,ne){var le=Pe.getWidth(),oe=Pe.getHeight(),ce=this._targetTexture;ce.width=le,ce.height=oe;var he=this._frameBuffer;he.bind(Pe),this._edgePass.setUniform("projectionInv",de.invProjectionMatrix.array),this._edgePass.setUniform("textureSize",[le,oe]),this._edgePass.setUniform("texture",ee),this._edgePass.render(Pe),he.unbind(Pe)},Ee.prototype.getTargetTexture=function(){return this._targetTexture},Ee.prototype.setParameter=function(Pe,de){this._edgePass.setUniform(Pe,de)},Ee.prototype.dispose=function(Pe){this._targetTexture.dispose(Pe),this._frameBuffer.dispose(Pe)},Re.a=Ee},function(Ve,Re,be){"use strict";Re.a={type:"compositor",nodes:[{name:"source",type:"texture",outputs:{color:{}}},{name:"source_half",shader:"#source(clay.compositor.downsample)",inputs:{texture:"source"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bright",shader:"#source(clay.compositor.bright)",inputs:{texture:"source_half"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{threshold:2,scale:4,textureSize:"expr([width * 1.0 / 2, height / 2])"}},{name:"bright_downsample_4",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 2, height / 2] )"}},{name:"bright_downsample_8",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 4, height / 4] )"}},{name:"bright_downsample_16",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 8, height / 8] )"}},{name:"bright_downsample_32",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 32)",height:"expr(height * 1.0 / 32)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 16, height / 16] )"}},{name:"bright_upsample_16_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_32"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 32, height / 32] )"}},{name:"bright_upsample_16_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_16_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_8_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_8_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_8_blur_v",texture2:"bright_upsample_16_blur_v"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_4_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_4_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_4_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_4_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_4_blur_v",texture2:"bright_upsample_8_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_2_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_2_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_2_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_2_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_2_blur_v",texture2:"bright_upsample_4_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_full_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_full_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_full_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bloom_composite",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_full_blur_v",texture2:"bright_upsample_2_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"coc",shader:"#source(ecgl.dof.coc)",outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{focalDist:50,focalRange:30}},{name:"dof_far_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"dof_near_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_NEARFIELD:null}},{name:"dof_coc_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"coc"},outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_COC:null}},{name:"dof_composite",shader:"#source(ecgl.dof.composite)",inputs:{original:"source",blurred:"dof_far_blur",nearfield:"dof_near_blur",coc:"coc",nearcoc:"dof_coc_blur"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}}},{name:"composite",shader:"#source(clay.compositor.hdr.composite)",inputs:{texture:"source",bloom:"bloom_composite"},defines:{}},{name:"FXAA",shader:"#source(clay.compositor.fxaa)",inputs:{texture:"composite"}}]}},function(Ve,Re,be){"use strict";Re.a=`@export clay.compositor.kernel.gaussian_9
|
|
|
float gaussianKernel[9];
|
|
|
gaussianKernel[0] = 0.07;
|
|
|
gaussianKernel[1] = 0.09;
|
|
|
gaussianKernel[2] = 0.12;
|
|
|
gaussianKernel[3] = 0.14;
|
|
|
gaussianKernel[4] = 0.16;
|
|
|
gaussianKernel[5] = 0.14;
|
|
|
gaussianKernel[6] = 0.12;
|
|
|
gaussianKernel[7] = 0.09;
|
|
|
gaussianKernel[8] = 0.07;
|
|
|
@end
|
|
|
@export clay.compositor.kernel.gaussian_13
|
|
|
float gaussianKernel[13];
|
|
|
gaussianKernel[0] = 0.02;
|
|
|
gaussianKernel[1] = 0.03;
|
|
|
gaussianKernel[2] = 0.06;
|
|
|
gaussianKernel[3] = 0.08;
|
|
|
gaussianKernel[4] = 0.11;
|
|
|
gaussianKernel[5] = 0.13;
|
|
|
gaussianKernel[6] = 0.14;
|
|
|
gaussianKernel[7] = 0.13;
|
|
|
gaussianKernel[8] = 0.11;
|
|
|
gaussianKernel[9] = 0.08;
|
|
|
gaussianKernel[10] = 0.06;
|
|
|
gaussianKernel[11] = 0.03;
|
|
|
gaussianKernel[12] = 0.02;
|
|
|
@end
|
|
|
@export clay.compositor.gaussian_blur
|
|
|
#define SHADER_NAME gaussian_blur
|
|
|
uniform sampler2D texture;varying vec2 v_Texcoord;
|
|
|
uniform float blurSize : 2.0;
|
|
|
uniform vec2 textureSize : [512.0, 512.0];
|
|
|
uniform float blurDir : 0.0;
|
|
|
@import clay.util.rgbm
|
|
|
@import clay.util.clamp_sample
|
|
|
void main (void)
|
|
|
{
|
|
|
@import clay.compositor.kernel.gaussian_9
|
|
|
vec2 off = blurSize / textureSize;
|
|
|
off *= vec2(1.0 - blurDir, blurDir);
|
|
|
vec4 sum = vec4(0.0);
|
|
|
float weightAll = 0.0;
|
|
|
for (int i = 0; i < 9; i++) {
|
|
|
float w = gaussianKernel[i];
|
|
|
vec4 texel = decodeHDR(clampSample(texture, v_Texcoord + float(i - 4) * off));
|
|
|
sum += texel * w;
|
|
|
weightAll += w;
|
|
|
}
|
|
|
gl_FragColor = encodeHDR(sum / max(weightAll, 0.01));
|
|
|
}
|
|
|
@end
|
|
|
`},function(Ve,Re,be){"use strict";Re.a=`
|
|
|
@export clay.compositor.lut
|
|
|
varying vec2 v_Texcoord;
|
|
|
uniform sampler2D texture;
|
|
|
uniform sampler2D lookup;
|
|
|
void main()
|
|
|
{
|
|
|
vec4 tex = texture2D(texture, v_Texcoord);
|
|
|
float blueColor = tex.b * 63.0;
|
|
|
vec2 quad1;
|
|
|
quad1.y = floor(floor(blueColor) / 8.0);
|
|
|
quad1.x = floor(blueColor) - (quad1.y * 8.0);
|
|
|
vec2 quad2;
|
|
|
quad2.y = floor(ceil(blueColor) / 8.0);
|
|
|
quad2.x = ceil(blueColor) - (quad2.y * 8.0);
|
|
|
vec2 texPos1;
|
|
|
texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r);
|
|
|
texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g);
|
|
|
vec2 texPos2;
|
|
|
texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r);
|
|
|
texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g);
|
|
|
vec4 newColor1 = texture2D(lookup, texPos1);
|
|
|
vec4 newColor2 = texture2D(lookup, texPos2);
|
|
|
vec4 newColor = mix(newColor1, newColor2, fract(blueColor));
|
|
|
gl_FragColor = vec4(newColor.rgb, tex.w);
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";Re.a=`@export clay.compositor.output
|
|
|
#define OUTPUT_ALPHA
|
|
|
varying vec2 v_Texcoord;
|
|
|
uniform sampler2D texture;
|
|
|
@import clay.util.rgbm
|
|
|
void main()
|
|
|
{
|
|
|
vec4 tex = decodeHDR(texture2D(texture, v_Texcoord));
|
|
|
gl_FragColor.rgb = tex.rgb;
|
|
|
#ifdef OUTPUT_ALPHA
|
|
|
gl_FragColor.a = tex.a;
|
|
|
#else
|
|
|
gl_FragColor.a = 1.0;
|
|
|
#endif
|
|
|
gl_FragColor = encodeHDR(gl_FragColor);
|
|
|
#ifdef PREMULTIPLY_ALPHA
|
|
|
gl_FragColor.rgb *= gl_FragColor.a;
|
|
|
#endif
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";Re.a=`@export clay.compositor.bright
|
|
|
uniform sampler2D texture;
|
|
|
uniform float threshold : 1;
|
|
|
uniform float scale : 1.0;
|
|
|
uniform vec2 textureSize: [512, 512];
|
|
|
varying vec2 v_Texcoord;
|
|
|
const vec3 lumWeight = vec3(0.2125, 0.7154, 0.0721);
|
|
|
@import clay.util.rgbm
|
|
|
vec4 median(vec4 a, vec4 b, vec4 c)
|
|
|
{
|
|
|
return a + b + c - min(min(a, b), c) - max(max(a, b), c);
|
|
|
}
|
|
|
void main()
|
|
|
{
|
|
|
vec4 texel = decodeHDR(texture2D(texture, v_Texcoord));
|
|
|
#ifdef ANTI_FLICKER
|
|
|
vec3 d = 1.0 / textureSize.xyx * vec3(1.0, 1.0, 0.0);
|
|
|
vec4 s1 = decodeHDR(texture2D(texture, v_Texcoord - d.xz));
|
|
|
vec4 s2 = decodeHDR(texture2D(texture, v_Texcoord + d.xz));
|
|
|
vec4 s3 = decodeHDR(texture2D(texture, v_Texcoord - d.zy));
|
|
|
vec4 s4 = decodeHDR(texture2D(texture, v_Texcoord + d.zy));
|
|
|
texel = median(median(texel, s1, s2), s3, s4);
|
|
|
#endif
|
|
|
float lum = dot(texel.rgb , lumWeight);
|
|
|
vec4 color;
|
|
|
if (lum > threshold && texel.a > 0.0)
|
|
|
{
|
|
|
color = vec4(texel.rgb * scale, texel.a * scale);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
color = vec4(0.0);
|
|
|
}
|
|
|
gl_FragColor = encodeHDR(color);
|
|
|
}
|
|
|
@end
|
|
|
`},function(Ve,Re,be){"use strict";Re.a=`@export clay.compositor.downsample
|
|
|
uniform sampler2D texture;
|
|
|
uniform vec2 textureSize : [512, 512];
|
|
|
varying vec2 v_Texcoord;
|
|
|
@import clay.util.rgbm
|
|
|
float brightness(vec3 c)
|
|
|
{
|
|
|
return max(max(c.r, c.g), c.b);
|
|
|
}
|
|
|
@import clay.util.clamp_sample
|
|
|
void main()
|
|
|
{
|
|
|
vec4 d = vec4(-1.0, -1.0, 1.0, 1.0) / textureSize.xyxy;
|
|
|
#ifdef ANTI_FLICKER
|
|
|
vec3 s1 = decodeHDR(clampSample(texture, v_Texcoord + d.xy)).rgb;
|
|
|
vec3 s2 = decodeHDR(clampSample(texture, v_Texcoord + d.zy)).rgb;
|
|
|
vec3 s3 = decodeHDR(clampSample(texture, v_Texcoord + d.xw)).rgb;
|
|
|
vec3 s4 = decodeHDR(clampSample(texture, v_Texcoord + d.zw)).rgb;
|
|
|
float s1w = 1.0 / (brightness(s1) + 1.0);
|
|
|
float s2w = 1.0 / (brightness(s2) + 1.0);
|
|
|
float s3w = 1.0 / (brightness(s3) + 1.0);
|
|
|
float s4w = 1.0 / (brightness(s4) + 1.0);
|
|
|
float oneDivideSum = 1.0 / (s1w + s2w + s3w + s4w);
|
|
|
vec4 color = vec4(
|
|
|
(s1 * s1w + s2 * s2w + s3 * s3w + s4 * s4w) * oneDivideSum,
|
|
|
1.0
|
|
|
);
|
|
|
#else
|
|
|
vec4 color = decodeHDR(clampSample(texture, v_Texcoord + d.xy));
|
|
|
color += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
|
|
|
color += decodeHDR(clampSample(texture, v_Texcoord + d.xw));
|
|
|
color += decodeHDR(clampSample(texture, v_Texcoord + d.zw));
|
|
|
color *= 0.25;
|
|
|
#endif
|
|
|
gl_FragColor = encodeHDR(color);
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";Re.a=`
|
|
|
@export clay.compositor.upsample
|
|
|
#define HIGH_QUALITY
|
|
|
uniform sampler2D texture;
|
|
|
uniform vec2 textureSize : [512, 512];
|
|
|
uniform float sampleScale: 0.5;
|
|
|
varying vec2 v_Texcoord;
|
|
|
@import clay.util.rgbm
|
|
|
@import clay.util.clamp_sample
|
|
|
void main()
|
|
|
{
|
|
|
#ifdef HIGH_QUALITY
|
|
|
vec4 d = vec4(1.0, 1.0, -1.0, 0.0) / textureSize.xyxy * sampleScale;
|
|
|
vec4 s;
|
|
|
s = decodeHDR(clampSample(texture, v_Texcoord - d.xy));
|
|
|
s += decodeHDR(clampSample(texture, v_Texcoord - d.wy)) * 2.0;
|
|
|
s += decodeHDR(clampSample(texture, v_Texcoord - d.zy));
|
|
|
s += decodeHDR(clampSample(texture, v_Texcoord + d.zw)) * 2.0;
|
|
|
s += decodeHDR(clampSample(texture, v_Texcoord )) * 4.0;
|
|
|
s += decodeHDR(clampSample(texture, v_Texcoord + d.xw)) * 2.0;
|
|
|
s += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
|
|
|
s += decodeHDR(clampSample(texture, v_Texcoord + d.wy)) * 2.0;
|
|
|
s += decodeHDR(clampSample(texture, v_Texcoord + d.xy));
|
|
|
gl_FragColor = encodeHDR(s / 16.0);
|
|
|
#else
|
|
|
vec4 d = vec4(-1.0, -1.0, +1.0, +1.0) / textureSize.xyxy;
|
|
|
vec4 s;
|
|
|
s = decodeHDR(clampSample(texture, v_Texcoord + d.xy));
|
|
|
s += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
|
|
|
s += decodeHDR(clampSample(texture, v_Texcoord + d.xw));
|
|
|
s += decodeHDR(clampSample(texture, v_Texcoord + d.zw));
|
|
|
gl_FragColor = encodeHDR(s / 4.0);
|
|
|
#endif
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";Re.a=`@export clay.compositor.hdr.composite
|
|
|
uniform sampler2D texture;
|
|
|
#ifdef BLOOM_ENABLED
|
|
|
uniform sampler2D bloom;
|
|
|
#endif
|
|
|
#ifdef LENSFLARE_ENABLED
|
|
|
uniform sampler2D lensflare;
|
|
|
uniform sampler2D lensdirt;
|
|
|
#endif
|
|
|
#ifdef LUM_ENABLED
|
|
|
uniform sampler2D lum;
|
|
|
#endif
|
|
|
#ifdef LUT_ENABLED
|
|
|
uniform sampler2D lut;
|
|
|
#endif
|
|
|
#ifdef COLOR_CORRECTION
|
|
|
uniform float brightness : 0.0;
|
|
|
uniform float contrast : 1.0;
|
|
|
uniform float saturation : 1.0;
|
|
|
#endif
|
|
|
#ifdef VIGNETTE
|
|
|
uniform float vignetteDarkness: 1.0;
|
|
|
uniform float vignetteOffset: 1.0;
|
|
|
#endif
|
|
|
uniform float exposure : 1.0;
|
|
|
uniform float bloomIntensity : 0.25;
|
|
|
uniform float lensflareIntensity : 1;
|
|
|
varying vec2 v_Texcoord;
|
|
|
@import clay.util.srgb
|
|
|
vec3 ACESToneMapping(vec3 color)
|
|
|
{
|
|
|
const float A = 2.51;
|
|
|
const float B = 0.03;
|
|
|
const float C = 2.43;
|
|
|
const float D = 0.59;
|
|
|
const float E = 0.14;
|
|
|
return (color * (A * color + B)) / (color * (C * color + D) + E);
|
|
|
}
|
|
|
float eyeAdaption(float fLum)
|
|
|
{
|
|
|
return mix(0.2, fLum, 0.5);
|
|
|
}
|
|
|
#ifdef LUT_ENABLED
|
|
|
vec3 lutTransform(vec3 color) {
|
|
|
float blueColor = color.b * 63.0;
|
|
|
vec2 quad1;
|
|
|
quad1.y = floor(floor(blueColor) / 8.0);
|
|
|
quad1.x = floor(blueColor) - (quad1.y * 8.0);
|
|
|
vec2 quad2;
|
|
|
quad2.y = floor(ceil(blueColor) / 8.0);
|
|
|
quad2.x = ceil(blueColor) - (quad2.y * 8.0);
|
|
|
vec2 texPos1;
|
|
|
texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r);
|
|
|
texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g);
|
|
|
vec2 texPos2;
|
|
|
texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r);
|
|
|
texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g);
|
|
|
vec4 newColor1 = texture2D(lut, texPos1);
|
|
|
vec4 newColor2 = texture2D(lut, texPos2);
|
|
|
vec4 newColor = mix(newColor1, newColor2, fract(blueColor));
|
|
|
return newColor.rgb;
|
|
|
}
|
|
|
#endif
|
|
|
@import clay.util.rgbm
|
|
|
void main()
|
|
|
{
|
|
|
vec4 texel = vec4(0.0);
|
|
|
vec4 originalTexel = vec4(0.0);
|
|
|
#ifdef TEXTURE_ENABLED
|
|
|
texel = decodeHDR(texture2D(texture, v_Texcoord));
|
|
|
originalTexel = texel;
|
|
|
#endif
|
|
|
#ifdef BLOOM_ENABLED
|
|
|
vec4 bloomTexel = decodeHDR(texture2D(bloom, v_Texcoord));
|
|
|
texel.rgb += bloomTexel.rgb * bloomIntensity;
|
|
|
texel.a += bloomTexel.a * bloomIntensity;
|
|
|
#endif
|
|
|
#ifdef LENSFLARE_ENABLED
|
|
|
texel += decodeHDR(texture2D(lensflare, v_Texcoord)) * texture2D(lensdirt, v_Texcoord) * lensflareIntensity;
|
|
|
#endif
|
|
|
texel.a = min(texel.a, 1.0);
|
|
|
#ifdef LUM_ENABLED
|
|
|
float fLum = texture2D(lum, vec2(0.5, 0.5)).r;
|
|
|
float adaptedLumDest = 3.0 / (max(0.1, 1.0 + 10.0*eyeAdaption(fLum)));
|
|
|
float exposureBias = adaptedLumDest * exposure;
|
|
|
#else
|
|
|
float exposureBias = exposure;
|
|
|
#endif
|
|
|
texel.rgb *= exposureBias;
|
|
|
texel.rgb = ACESToneMapping(texel.rgb);
|
|
|
texel = linearTosRGB(texel);
|
|
|
#ifdef LUT_ENABLED
|
|
|
texel.rgb = lutTransform(clamp(texel.rgb,vec3(0.0),vec3(1.0)));
|
|
|
#endif
|
|
|
#ifdef COLOR_CORRECTION
|
|
|
texel.rgb = clamp(texel.rgb + vec3(brightness), 0.0, 1.0);
|
|
|
texel.rgb = clamp((texel.rgb - vec3(0.5))*contrast+vec3(0.5), 0.0, 1.0);
|
|
|
float lum = dot(texel.rgb, vec3(0.2125, 0.7154, 0.0721));
|
|
|
texel.rgb = mix(vec3(lum), texel.rgb, saturation);
|
|
|
#endif
|
|
|
#ifdef VIGNETTE
|
|
|
vec2 uv = (v_Texcoord - vec2(0.5)) * vec2(vignetteOffset);
|
|
|
texel.rgb = mix(texel.rgb, vec3(1.0 - vignetteDarkness), dot(uv, uv));
|
|
|
#endif
|
|
|
gl_FragColor = encodeHDR(texel);
|
|
|
#ifdef DEBUG
|
|
|
#if DEBUG == 1
|
|
|
gl_FragColor = encodeHDR(decodeHDR(texture2D(texture, v_Texcoord)));
|
|
|
#elif DEBUG == 2
|
|
|
gl_FragColor = encodeHDR(decodeHDR(texture2D(bloom, v_Texcoord)) * bloomIntensity);
|
|
|
#elif DEBUG == 3
|
|
|
gl_FragColor = encodeHDR(decodeHDR(texture2D(lensflare, v_Texcoord) * lensflareIntensity));
|
|
|
#endif
|
|
|
#endif
|
|
|
if (originalTexel.a <= 0.01 && gl_FragColor.a > 1e-5) {
|
|
|
gl_FragColor.a = dot(gl_FragColor.rgb, vec3(0.2125, 0.7154, 0.0721));
|
|
|
}
|
|
|
#ifdef PREMULTIPLY_ALPHA
|
|
|
gl_FragColor.rgb *= gl_FragColor.a;
|
|
|
#endif
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";Re.a=`@export clay.compositor.blend
|
|
|
#define SHADER_NAME blend
|
|
|
#ifdef TEXTURE1_ENABLED
|
|
|
uniform sampler2D texture1;
|
|
|
uniform float weight1 : 1.0;
|
|
|
#endif
|
|
|
#ifdef TEXTURE2_ENABLED
|
|
|
uniform sampler2D texture2;
|
|
|
uniform float weight2 : 1.0;
|
|
|
#endif
|
|
|
#ifdef TEXTURE3_ENABLED
|
|
|
uniform sampler2D texture3;
|
|
|
uniform float weight3 : 1.0;
|
|
|
#endif
|
|
|
#ifdef TEXTURE4_ENABLED
|
|
|
uniform sampler2D texture4;
|
|
|
uniform float weight4 : 1.0;
|
|
|
#endif
|
|
|
#ifdef TEXTURE5_ENABLED
|
|
|
uniform sampler2D texture5;
|
|
|
uniform float weight5 : 1.0;
|
|
|
#endif
|
|
|
#ifdef TEXTURE6_ENABLED
|
|
|
uniform sampler2D texture6;
|
|
|
uniform float weight6 : 1.0;
|
|
|
#endif
|
|
|
varying vec2 v_Texcoord;
|
|
|
@import clay.util.rgbm
|
|
|
void main()
|
|
|
{
|
|
|
vec4 tex = vec4(0.0);
|
|
|
#ifdef TEXTURE1_ENABLED
|
|
|
tex += decodeHDR(texture2D(texture1, v_Texcoord)) * weight1;
|
|
|
#endif
|
|
|
#ifdef TEXTURE2_ENABLED
|
|
|
tex += decodeHDR(texture2D(texture2, v_Texcoord)) * weight2;
|
|
|
#endif
|
|
|
#ifdef TEXTURE3_ENABLED
|
|
|
tex += decodeHDR(texture2D(texture3, v_Texcoord)) * weight3;
|
|
|
#endif
|
|
|
#ifdef TEXTURE4_ENABLED
|
|
|
tex += decodeHDR(texture2D(texture4, v_Texcoord)) * weight4;
|
|
|
#endif
|
|
|
#ifdef TEXTURE5_ENABLED
|
|
|
tex += decodeHDR(texture2D(texture5, v_Texcoord)) * weight5;
|
|
|
#endif
|
|
|
#ifdef TEXTURE6_ENABLED
|
|
|
tex += decodeHDR(texture2D(texture6, v_Texcoord)) * weight6;
|
|
|
#endif
|
|
|
gl_FragColor = encodeHDR(tex);
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";Re.a=`@export clay.compositor.fxaa
|
|
|
uniform sampler2D texture;
|
|
|
uniform vec4 viewport : VIEWPORT;
|
|
|
varying vec2 v_Texcoord;
|
|
|
#define FXAA_REDUCE_MIN (1.0/128.0)
|
|
|
#define FXAA_REDUCE_MUL (1.0/8.0)
|
|
|
#define FXAA_SPAN_MAX 8.0
|
|
|
@import clay.util.rgbm
|
|
|
void main()
|
|
|
{
|
|
|
vec2 resolution = 1.0 / viewport.zw;
|
|
|
vec3 rgbNW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, -1.0 ) ) * resolution ) ).xyz;
|
|
|
vec3 rgbNE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, -1.0 ) ) * resolution ) ).xyz;
|
|
|
vec3 rgbSW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, 1.0 ) ) * resolution ) ).xyz;
|
|
|
vec3 rgbSE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, 1.0 ) ) * resolution ) ).xyz;
|
|
|
vec4 rgbaM = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution ) );
|
|
|
vec3 rgbM = rgbaM.xyz;
|
|
|
float opacity = rgbaM.w;
|
|
|
vec3 luma = vec3( 0.299, 0.587, 0.114 );
|
|
|
float lumaNW = dot( rgbNW, luma );
|
|
|
float lumaNE = dot( rgbNE, luma );
|
|
|
float lumaSW = dot( rgbSW, luma );
|
|
|
float lumaSE = dot( rgbSE, luma );
|
|
|
float lumaM = dot( rgbM, luma );
|
|
|
float lumaMin = min( lumaM, min( min( lumaNW, lumaNE ), min( lumaSW, lumaSE ) ) );
|
|
|
float lumaMax = max( lumaM, max( max( lumaNW, lumaNE) , max( lumaSW, lumaSE ) ) );
|
|
|
vec2 dir;
|
|
|
dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));
|
|
|
dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));
|
|
|
float dirReduce = max( ( lumaNW + lumaNE + lumaSW + lumaSE ) * ( 0.25 * FXAA_REDUCE_MUL ), FXAA_REDUCE_MIN );
|
|
|
float rcpDirMin = 1.0 / ( min( abs( dir.x ), abs( dir.y ) ) + dirReduce );
|
|
|
dir = min( vec2( FXAA_SPAN_MAX, FXAA_SPAN_MAX),
|
|
|
max( vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),
|
|
|
dir * rcpDirMin)) * resolution;
|
|
|
vec3 rgbA = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 1.0 / 3.0 - 0.5 ) ) ).xyz;
|
|
|
rgbA += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 2.0 / 3.0 - 0.5 ) ) ).xyz;
|
|
|
rgbA *= 0.5;
|
|
|
vec3 rgbB = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * -0.5 ) ).xyz;
|
|
|
rgbB += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * 0.5 ) ).xyz;
|
|
|
rgbB *= 0.25;
|
|
|
rgbB += rgbA * 0.5;
|
|
|
float lumaB = dot( rgbB, luma );
|
|
|
if ( ( lumaB < lumaMin ) || ( lumaB > lumaMax ) )
|
|
|
{
|
|
|
gl_FragColor = vec4( rgbA, opacity );
|
|
|
}
|
|
|
else {
|
|
|
gl_FragColor = vec4( rgbB, opacity );
|
|
|
}
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";Re.a=`@export ecgl.dof.coc
|
|
|
|
|
|
uniform sampler2D depth;
|
|
|
|
|
|
uniform float zNear: 0.1;
|
|
|
uniform float zFar: 2000;
|
|
|
|
|
|
uniform float focalDistance: 3;
|
|
|
uniform float focalRange: 1;
|
|
|
uniform float focalLength: 30;
|
|
|
uniform float fstop: 2.8;
|
|
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
|
|
@import clay.util.encode_float
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
float z = texture2D(depth, v_Texcoord).r * 2.0 - 1.0;
|
|
|
|
|
|
float dist = 2.0 * zNear * zFar / (zFar + zNear - z * (zFar - zNear));
|
|
|
|
|
|
float aperture = focalLength / fstop;
|
|
|
|
|
|
float coc;
|
|
|
|
|
|
float uppper = focalDistance + focalRange;
|
|
|
float lower = focalDistance - focalRange;
|
|
|
if (dist <= uppper && dist >= lower) {
|
|
|
coc = 0.5;
|
|
|
}
|
|
|
else {
|
|
|
float focalAdjusted = dist > uppper ? uppper : lower;
|
|
|
|
|
|
coc = abs(aperture * (focalLength * (dist - focalAdjusted)) / (dist * (focalAdjusted - focalLength)));
|
|
|
coc = clamp(coc, 0.0, 2.0) / 2.00001;
|
|
|
|
|
|
if (dist < lower) {
|
|
|
coc = -coc;
|
|
|
}
|
|
|
coc = coc * 0.5 + 0.5;
|
|
|
}
|
|
|
|
|
|
gl_FragColor = encodeFloat(coc);
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.dof.composite
|
|
|
|
|
|
#define DEBUG 0
|
|
|
|
|
|
uniform sampler2D original;
|
|
|
uniform sampler2D blurred;
|
|
|
uniform sampler2D nearfield;
|
|
|
uniform sampler2D coc;
|
|
|
uniform sampler2D nearcoc;
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
|
|
@import clay.util.rgbm
|
|
|
@import clay.util.float
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
vec4 blurredColor = decodeHDR(texture2D(blurred, v_Texcoord));
|
|
|
vec4 originalColor = decodeHDR(texture2D(original, v_Texcoord));
|
|
|
|
|
|
float fCoc = decodeFloat(texture2D(coc, v_Texcoord));
|
|
|
|
|
|
fCoc = abs(fCoc * 2.0 - 1.0);
|
|
|
|
|
|
float weight = smoothstep(0.0, 1.0, fCoc);
|
|
|
|
|
|
#ifdef NEARFIELD_ENABLED
|
|
|
vec4 nearfieldColor = decodeHDR(texture2D(nearfield, v_Texcoord));
|
|
|
float fNearCoc = decodeFloat(texture2D(nearcoc, v_Texcoord));
|
|
|
fNearCoc = abs(fNearCoc * 2.0 - 1.0);
|
|
|
|
|
|
gl_FragColor = encodeHDR(
|
|
|
mix(
|
|
|
nearfieldColor, mix(originalColor, blurredColor, weight),
|
|
|
pow(1.0 - fNearCoc, 4.0)
|
|
|
)
|
|
|
);
|
|
|
#else
|
|
|
gl_FragColor = encodeHDR(mix(originalColor, blurredColor, weight));
|
|
|
#endif
|
|
|
|
|
|
}
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
|
|
@export ecgl.dof.diskBlur
|
|
|
|
|
|
#define POISSON_KERNEL_SIZE 16;
|
|
|
|
|
|
uniform sampler2D texture;
|
|
|
uniform sampler2D coc;
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
|
|
uniform float blurRadius : 10.0;
|
|
|
uniform vec2 textureSize : [512.0, 512.0];
|
|
|
|
|
|
uniform vec2 poissonKernel[POISSON_KERNEL_SIZE];
|
|
|
|
|
|
uniform float percent;
|
|
|
|
|
|
float nrand(const in vec2 n) {
|
|
|
return fract(sin(dot(n.xy ,vec2(12.9898,78.233))) * 43758.5453);
|
|
|
}
|
|
|
|
|
|
@import clay.util.rgbm
|
|
|
@import clay.util.float
|
|
|
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
vec2 offset = blurRadius / textureSize;
|
|
|
|
|
|
float rnd = 6.28318 * nrand(v_Texcoord + 0.07 * percent );
|
|
|
float cosa = cos(rnd);
|
|
|
float sina = sin(rnd);
|
|
|
vec4 basis = vec4(cosa, -sina, sina, cosa);
|
|
|
|
|
|
#if !defined(BLUR_NEARFIELD) && !defined(BLUR_COC)
|
|
|
offset *= abs(decodeFloat(texture2D(coc, v_Texcoord)) * 2.0 - 1.0);
|
|
|
#endif
|
|
|
|
|
|
#ifdef BLUR_COC
|
|
|
float cocSum = 0.0;
|
|
|
#else
|
|
|
vec4 color = vec4(0.0);
|
|
|
#endif
|
|
|
|
|
|
|
|
|
float weightSum = 0.0;
|
|
|
|
|
|
for (int i = 0; i < POISSON_KERNEL_SIZE; i++) {
|
|
|
vec2 ofs = poissonKernel[i];
|
|
|
|
|
|
ofs = vec2(dot(ofs, basis.xy), dot(ofs, basis.zw));
|
|
|
|
|
|
vec2 uv = v_Texcoord + ofs * offset;
|
|
|
vec4 texel = texture2D(texture, uv);
|
|
|
|
|
|
float w = 1.0;
|
|
|
#ifdef BLUR_COC
|
|
|
float fCoc = decodeFloat(texel) * 2.0 - 1.0;
|
|
|
cocSum += clamp(fCoc, -1.0, 0.0) * w;
|
|
|
#else
|
|
|
texel = decodeHDR(texel);
|
|
|
#if !defined(BLUR_NEARFIELD)
|
|
|
float fCoc = decodeFloat(texture2D(coc, uv)) * 2.0 - 1.0;
|
|
|
w *= abs(fCoc);
|
|
|
#endif
|
|
|
color += texel * w;
|
|
|
#endif
|
|
|
|
|
|
weightSum += w;
|
|
|
}
|
|
|
|
|
|
#ifdef BLUR_COC
|
|
|
gl_FragColor = encodeFloat(clamp(cocSum / weightSum, -1.0, 0.0) * 0.5 + 0.5);
|
|
|
#else
|
|
|
color /= weightSum;
|
|
|
gl_FragColor = encodeHDR(color);
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
@end`},function(Ve,Re,be){"use strict";Re.a=`@export ecgl.edge
|
|
|
|
|
|
uniform sampler2D texture;
|
|
|
|
|
|
uniform sampler2D normalTexture;
|
|
|
uniform sampler2D depthTexture;
|
|
|
|
|
|
uniform mat4 projectionInv;
|
|
|
|
|
|
uniform vec2 textureSize;
|
|
|
|
|
|
uniform vec4 edgeColor: [0,0,0,0.8];
|
|
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
|
|
vec3 packColor(vec2 coord) {
|
|
|
float z = texture2D(depthTexture, coord).r * 2.0 - 1.0;
|
|
|
vec4 p = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);
|
|
|
vec4 p4 = projectionInv * p;
|
|
|
|
|
|
return vec3(
|
|
|
texture2D(normalTexture, coord).rg,
|
|
|
-p4.z / p4.w / 5.0
|
|
|
);
|
|
|
}
|
|
|
|
|
|
void main() {
|
|
|
vec2 cc = v_Texcoord;
|
|
|
vec3 center = packColor(cc);
|
|
|
|
|
|
float size = clamp(1.0 - (center.z - 10.0) / 100.0, 0.0, 1.0) * 0.5;
|
|
|
float dx = size / textureSize.x;
|
|
|
float dy = size / textureSize.y;
|
|
|
|
|
|
vec2 coord;
|
|
|
vec3 topLeft = packColor(cc+vec2(-dx, -dy));
|
|
|
vec3 top = packColor(cc+vec2(0.0, -dy));
|
|
|
vec3 topRight = packColor(cc+vec2(dx, -dy));
|
|
|
vec3 left = packColor(cc+vec2(-dx, 0.0));
|
|
|
vec3 right = packColor(cc+vec2(dx, 0.0));
|
|
|
vec3 bottomLeft = packColor(cc+vec2(-dx, dy));
|
|
|
vec3 bottom = packColor(cc+vec2(0.0, dy));
|
|
|
vec3 bottomRight = packColor(cc+vec2(dx, dy));
|
|
|
|
|
|
vec3 v = -topLeft-2.0*top-topRight+bottomLeft+2.0*bottom+bottomRight;
|
|
|
vec3 h = -bottomLeft-2.0*left-topLeft+bottomRight+2.0*right+topRight;
|
|
|
|
|
|
float edge = sqrt(dot(h, h) + dot(v, v));
|
|
|
|
|
|
edge = smoothstep(0.8, 1.0, edge);
|
|
|
|
|
|
gl_FragColor = mix(texture2D(texture, v_Texcoord), vec4(edgeColor.rgb, 1.0), edgeColor.a * edge);
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";var Fe=be(43),Ce=be(14),ve=be(10),ye=be(5),we=be(7),De=be(9);function pe(Ee){for(var Pe=[],de=0;de<30;de++)Pe.push([Object(Fe.a)(de,2),Object(Fe.a)(de,3)]);this._haltonSequence=Pe,this._frame=0,this._sourceTex=new ye.a,this._sourceFb=new ve.a,this._sourceFb.attach(this._sourceTex),this._prevFrameTex=new ye.a,this._outputTex=new ye.a;var ee=this._blendPass=new Ce.a({fragment:we.a.source("clay.compositor.blend")});ee.material.disableTexturesAll(),ee.material.enableTexture(["texture1","texture2"]),this._blendFb=new ve.a({depthBuffer:!1}),this._outputPass=new Ce.a({fragment:we.a.source("clay.compositor.output"),blendWithPrevious:!0}),this._outputPass.material.define("fragment","OUTPUT_ALPHA"),this._outputPass.material.blend=function(ne){ne.blendEquationSeparate(ne.FUNC_ADD,ne.FUNC_ADD),ne.blendFuncSeparate(ne.ONE,ne.ONE_MINUS_SRC_ALPHA,ne.ONE,ne.ONE_MINUS_SRC_ALPHA)}}pe.prototype={constructor:pe,jitterProjection:function(Ee,Pe){var de=Ee.viewport,ee=de.devicePixelRatio||Ee.getDevicePixelRatio(),ne=de.width*ee,le=de.height*ee,oe=this._haltonSequence[this._frame%this._haltonSequence.length],ce=new De.a;ce.array[12]=(oe[0]*2-1)/ne,ce.array[13]=(oe[1]*2-1)/le,De.a.mul(Pe.projectionMatrix,ce,Pe.projectionMatrix),De.a.invert(Pe.invProjectionMatrix,Pe.projectionMatrix)},resetFrame:function(){this._frame=0},getFrame:function(){return this._frame},getSourceFrameBuffer:function(){return this._sourceFb},getOutputTexture:function(){return this._outputTex},resize:function(Ee,Pe){this._prevFrameTex.width=Ee,this._prevFrameTex.height=Pe,this._outputTex.width=Ee,this._outputTex.height=Pe,this._sourceTex.width=Ee,this._sourceTex.height=Pe,this._prevFrameTex.dirty(),this._outputTex.dirty(),this._sourceTex.dirty()},isFinished:function(){return this._frame>=this._haltonSequence.length},render:function(Ee,Pe,de){var ee=this._blendPass;this._frame===0?(ee.setUniform("weight1",0),ee.setUniform("weight2",1)):(ee.setUniform("weight1",.9),ee.setUniform("weight2",.1)),ee.setUniform("texture1",this._prevFrameTex),ee.setUniform("texture2",Pe||this._sourceTex),this._blendFb.attach(this._outputTex),this._blendFb.bind(Ee),ee.render(Ee),this._blendFb.unbind(Ee),de||(this._outputPass.setUniform("texture",this._outputTex),this._outputPass.render(Ee));var ne=this._prevFrameTex;this._prevFrameTex=this._outputTex,this._outputTex=ne,this._frame++},dispose:function(Ee){this._sourceFb.dispose(Ee),this._blendFb.dispose(Ee),this._prevFrameTex.dispose(Ee),this._outputTex.dispose(Ee),this._sourceTex.dispose(Ee),this._outputPass.dispose(Ee),this._blendPass.dispose(Ee)}},Re.a=pe},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(184),ye=be(185),we=be(82);Ce.a.registerAction({type:"geo3DChangeCamera",event:"geo3dcamerachanged",update:"series:updateCamera"},function(De,pe){pe.eachComponent({mainType:"geo3D",query:De},function(Ee){Ee.setView(De)})})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(38),ye=be(31),we=be(32),De=be(26),pe=be(80),Ee=Ce.a.extendComponentModel({type:"geo3D",layoutMode:"box",coordinateSystem:null,optionUpdated:function(){var de=this.option;de.regions=this.getFilledRegions(de.regions,de.map);var ee=Ce.a.helper.completeDimensions(["value"],de.data,{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),ne=new Ce.a.List(ee,this);ne.initData(de.regions);var le={};ne.each(function(oe){var ce=ne.getName(oe),he=ne.getItemModel(oe);le[ce]=he}),this._regionModelMap=le,this._data=ne},getData:function(){return this._data},getRegionModel:function(de){var ee=this.getData().getName(de);return this._regionModelMap[ee]||new Ce.a.Model(null,this)},getRegionPolygonCoords:function(de){var ee=this.getData().getName(de),ne=this.coordinateSystem.getRegion(ee);return ne?ne.geometries:[]},getFormattedLabel:function(de,ee){var ne=this._data.getName(de),le=this.getRegionModel(ne),oe=le.get(ee==="normal"?["label","formatter"]:["emphasis","label","formatter"]);oe==null&&(oe=le.get(["label","formatter"]));var ce={name:ne};if(typeof oe=="function")return ce.status=ee,oe(ce);if(typeof oe=="string"){var he=ce.seriesName;return oe.replace("{a}",he!=null?he:"")}else return ne},defaultOption:{regions:[]}});Ce.a.util.merge(Ee.prototype,pe.a),Ce.a.util.merge(Ee.prototype,ve.a),Ce.a.util.merge(Ee.prototype,ye.a),Ce.a.util.merge(Ee.prototype,we.a),Ce.a.util.merge(Ee.prototype,De.a);var Pe=Ee},function(Ve,Re,be){"use strict";var Fe=be(59),Ce=be(0),ve=be.n(Ce),ye=be(2),we=be(39),De=be(34),pe=ve.a.extendComponentView({type:"geo3D",__ecgl__:!0,init:function(Ee,Pe){this._geo3DBuilder=new Fe.a(Pe),this.groupGL=new ye.a.Node,this._lightRoot=new ye.a.Node,this._sceneHelper=new De.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot),this._control=new we.a({zr:Pe.getZr()}),this._control.init()},render:function(Ee,Pe,de){this.groupGL.add(this._geo3DBuilder.rootNode);var ee=Ee.coordinateSystem;if(!(!ee||!ee.viewGL)){ee.viewGL.add(this._lightRoot),Ee.get("show")?ee.viewGL.add(this.groupGL):ee.viewGL.remove(this.groupGL);var ne=this._control;ne.setViewGL(ee.viewGL);var le=Ee.getModel("viewControl");ne.setFromViewControlModel(le,0),this._sceneHelper.setScene(ee.viewGL.scene),this._sceneHelper.updateLight(Ee),ee.viewGL.setPostEffect(Ee.getModel("postEffect"),de),ee.viewGL.setTemporalSuperSampling(Ee.getModel("temporalSuperSampling")),this._geo3DBuilder.update(Ee,Pe,de,0,Ee.getData().count());var oe=ee.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(ce){ce.material&&ce.material[oe]("fragment","SRGB_DECODE")}),ne.off("update"),ne.on("update",function(){de.dispatchAction({type:"geo3DChangeCamera",alpha:ne.getAlpha(),beta:ne.getBeta(),distance:ne.getDistance(),center:ne.getCenter(),from:this.uid,geo3DId:Ee.id})})}},afterRender:function(Ee,Pe,de,ee){var ne=ee.renderer;this._sceneHelper.updateAmbientCubemap(ne,Ee,de),this._sceneHelper.updateSkybox(ne,Ee,de)},dispose:function(){this._control.dispose()}})},function(Ve,Re,be){"use strict";Re.a=Fe;function Fe(qe,st,rt){rt=rt||2;var ct=st&&st.length,tt=ct?st[0]*rt:qe.length,dt=Ce(qe,0,tt,rt,!0),At=[];if(!dt)return At;var mt,ht,vt,Wt,Jt,en,mn;if(ct&&(dt=Pe(qe,st,dt,rt)),qe.length>80*rt){mt=vt=qe[0],ht=Wt=qe[1];for(var Ot=rt;Ot<tt;Ot+=rt)Jt=qe[Ot],en=qe[Ot+1],Jt<mt&&(mt=Jt),en<ht&&(ht=en),Jt>vt&&(vt=Jt),en>Wt&&(Wt=en);mn=Math.max(vt-mt,Wt-ht)}return ye(dt,At,rt,mt,ht,mn),At}function Ce(qe,st,rt,ct,tt){var dt,At;if(tt===$e(qe,st,rt,ct)>0)for(dt=st;dt<rt;dt+=ct)At=Xe(dt,qe[dt],qe[dt+1],At);else for(dt=rt-ct;dt>=st;dt-=ct)At=Xe(dt,qe[dt],qe[dt+1],At);return At&&xe(At,At.next)&&(Ye(At),At=At.next),At}function ve(qe,st){if(!qe)return qe;st||(st=qe);var rt=qe,ct;do if(ct=!1,!rt.steiner&&(xe(rt,rt.next)||ge(rt.prev,rt,rt.next)===0)){if(Ye(rt),rt=st=rt.prev,rt===rt.next)return null;ct=!0}else rt=rt.next;while(ct||rt!==st);return st}function ye(qe,st,rt,ct,tt,dt,At){if(qe){!At&&dt&&le(qe,ct,tt,dt);for(var mt=qe,ht,vt;qe.prev!==qe.next;){if(ht=qe.prev,vt=qe.next,dt?De(qe,ct,tt,dt):we(qe)){st.push(ht.i/rt),st.push(qe.i/rt),st.push(vt.i/rt),Ye(qe),qe=vt.next,mt=vt.next;continue}if(qe=vt,qe===mt){At?At===1?(qe=pe(qe,st,rt),ye(qe,st,rt,ct,tt,dt,2)):At===2&&Ee(qe,st,rt,ct,tt,dt):ye(ve(qe),st,rt,ct,tt,dt,1);break}}}}function we(qe){var st=qe.prev,rt=qe,ct=qe.next;if(ge(st,rt,ct)>=0)return!1;for(var tt=qe.next.next;tt!==qe.prev;){if(ie(st.x,st.y,rt.x,rt.y,ct.x,ct.y,tt.x,tt.y)&&ge(tt.prev,tt,tt.next)>=0)return!1;tt=tt.next}return!0}function De(qe,st,rt,ct){var tt=qe.prev,dt=qe,At=qe.next;if(ge(tt,dt,At)>=0)return!1;for(var mt=tt.x<dt.x?tt.x<At.x?tt.x:At.x:dt.x<At.x?dt.x:At.x,ht=tt.y<dt.y?tt.y<At.y?tt.y:At.y:dt.y<At.y?dt.y:At.y,vt=tt.x>dt.x?tt.x>At.x?tt.x:At.x:dt.x>At.x?dt.x:At.x,Wt=tt.y>dt.y?tt.y>At.y?tt.y:At.y:dt.y>At.y?dt.y:At.y,Jt=ce(mt,ht,st,rt,ct),en=ce(vt,Wt,st,rt,ct),mn=qe.nextZ;mn&&mn.z<=en;){if(mn!==qe.prev&&mn!==qe.next&&ie(tt.x,tt.y,dt.x,dt.y,At.x,At.y,mn.x,mn.y)&&ge(mn.prev,mn,mn.next)>=0)return!1;mn=mn.nextZ}for(mn=qe.prevZ;mn&&mn.z>=Jt;){if(mn!==qe.prev&&mn!==qe.next&&ie(tt.x,tt.y,dt.x,dt.y,At.x,At.y,mn.x,mn.y)&&ge(mn.prev,mn,mn.next)>=0)return!1;mn=mn.prevZ}return!0}function pe(qe,st,rt){var ct=qe;do{var tt=ct.prev,dt=ct.next.next;!xe(tt,dt)&&Me(tt,ct,ct.next,dt)&&Ne(tt,dt)&&Ne(dt,tt)&&(st.push(tt.i/rt),st.push(ct.i/rt),st.push(dt.i/rt),Ye(ct),Ye(ct.next),ct=qe=dt),ct=ct.next}while(ct!==qe);return ct}function Ee(qe,st,rt,ct,tt,dt){var At=qe;do{for(var mt=At.next.next;mt!==At.prev;){if(At.i!==mt.i&&ue(At,mt)){var ht=Ge(At,mt);At=ve(At,At.next),ht=ve(ht,ht.next),ye(At,st,rt,ct,tt,dt),ye(ht,st,rt,ct,tt,dt);return}mt=mt.next}At=At.next}while(At!==qe)}function Pe(qe,st,rt,ct){var tt=[],dt,At,mt,ht,vt;for(dt=0,At=st.length;dt<At;dt++)mt=st[dt]*ct,ht=dt<At-1?st[dt+1]*ct:qe.length,vt=Ce(qe,mt,ht,ct,!1),vt===vt.next&&(vt.steiner=!0),tt.push(he(vt));for(tt.sort(de),dt=0;dt<tt.length;dt++)ee(tt[dt],rt),rt=ve(rt,rt.next);return rt}function de(qe,st){return qe.x-st.x}function ee(qe,st){if(st=ne(qe,st),st){var rt=Ge(st,qe);ve(rt,rt.next)}}function ne(qe,st){var rt=st,ct=qe.x,tt=qe.y,dt=-1/0,At;do{if(tt<=rt.y&&tt>=rt.next.y&&rt.next.y!==rt.y){var mt=rt.x+(tt-rt.y)*(rt.next.x-rt.x)/(rt.next.y-rt.y);if(mt<=ct&&mt>dt){if(dt=mt,mt===ct){if(tt===rt.y)return rt;if(tt===rt.next.y)return rt.next}At=rt.x<rt.next.x?rt:rt.next}}rt=rt.next}while(rt!==st);if(!At)return null;if(ct===dt)return At.prev;var ht=At,vt=At.x,Wt=At.y,Jt=1/0,en;for(rt=At.next;rt!==ht;)ct>=rt.x&&rt.x>=vt&&ct!==rt.x&&ie(tt<Wt?ct:dt,tt,vt,Wt,tt<Wt?dt:ct,tt,rt.x,rt.y)&&(en=Math.abs(tt-rt.y)/(ct-rt.x),(en<Jt||en===Jt&&rt.x>At.x)&&Ne(rt,qe)&&(At=rt,Jt=en)),rt=rt.next;return At}function le(qe,st,rt,ct){var tt=qe;do tt.z===null&&(tt.z=ce(tt.x,tt.y,st,rt,ct)),tt.prevZ=tt.prev,tt.nextZ=tt.next,tt=tt.next;while(tt!==qe);tt.prevZ.nextZ=null,tt.prevZ=null,oe(tt)}function oe(qe){var st,rt,ct,tt,dt,At,mt,ht,vt=1;do{for(rt=qe,qe=null,dt=null,At=0;rt;){for(At++,ct=rt,mt=0,st=0;st<vt&&(mt++,ct=ct.nextZ,!!ct);st++);for(ht=vt;mt>0||ht>0&&ct;)mt!==0&&(ht===0||!ct||rt.z<=ct.z)?(tt=rt,rt=rt.nextZ,mt--):(tt=ct,ct=ct.nextZ,ht--),dt?dt.nextZ=tt:qe=tt,tt.prevZ=dt,dt=tt;rt=ct}dt.nextZ=null,vt*=2}while(At>1);return qe}function ce(qe,st,rt,ct,tt){return qe=32767*(qe-rt)/tt,st=32767*(st-ct)/tt,qe=(qe|qe<<8)&16711935,qe=(qe|qe<<4)&252645135,qe=(qe|qe<<2)&858993459,qe=(qe|qe<<1)&1431655765,st=(st|st<<8)&16711935,st=(st|st<<4)&252645135,st=(st|st<<2)&858993459,st=(st|st<<1)&1431655765,qe|st<<1}function he(qe){var st=qe,rt=qe;do st.x<rt.x&&(rt=st),st=st.next;while(st!==qe);return rt}function ie(qe,st,rt,ct,tt,dt,At,mt){return(tt-At)*(st-mt)-(qe-At)*(dt-mt)>=0&&(qe-At)*(ct-mt)-(rt-At)*(st-mt)>=0&&(rt-At)*(dt-mt)-(tt-At)*(ct-mt)>=0}function ue(qe,st){return qe.next.i!==st.i&&qe.prev.i!==st.i&&!Be(qe,st)&&Ne(qe,st)&&Ne(st,qe)&&Ue(qe,st)}function ge(qe,st,rt){return(st.y-qe.y)*(rt.x-st.x)-(st.x-qe.x)*(rt.y-st.y)}function xe(qe,st){return qe.x===st.x&&qe.y===st.y}function Me(qe,st,rt,ct){return xe(qe,st)&&xe(rt,ct)||xe(qe,ct)&&xe(rt,st)?!0:ge(qe,st,rt)>0!=ge(qe,st,ct)>0&&ge(rt,ct,qe)>0!=ge(rt,ct,st)>0}function Be(qe,st){var rt=qe;do{if(rt.i!==qe.i&&rt.next.i!==qe.i&&rt.i!==st.i&&rt.next.i!==st.i&&Me(rt,rt.next,qe,st))return!0;rt=rt.next}while(rt!==qe);return!1}function Ne(qe,st){return ge(qe.prev,qe,qe.next)<0?ge(qe,st,qe.next)>=0&&ge(qe,qe.prev,st)>=0:ge(qe,st,qe.prev)<0||ge(qe,qe.next,st)<0}function Ue(qe,st){var rt=qe,ct=!1,tt=(qe.x+st.x)/2,dt=(qe.y+st.y)/2;do rt.y>dt!=rt.next.y>dt&&rt.next.y!==rt.y&&tt<(rt.next.x-rt.x)*(dt-rt.y)/(rt.next.y-rt.y)+rt.x&&(ct=!ct),rt=rt.next;while(rt!==qe);return ct}function Ge(qe,st){var rt=new nt(qe.i,qe.x,qe.y),ct=new nt(st.i,st.x,st.y),tt=qe.next,dt=st.prev;return qe.next=st,st.prev=qe,rt.next=tt,tt.prev=rt,ct.next=rt,rt.prev=ct,dt.next=ct,ct.prev=dt,ct}function Xe(qe,st,rt,ct){var tt=new nt(qe,st,rt);return ct?(tt.next=ct.next,tt.prev=ct,ct.next.prev=tt,ct.next=tt):(tt.prev=tt,tt.next=tt),tt}function Ye(qe){qe.next.prev=qe.prev,qe.prev.next=qe.next,qe.prevZ&&(qe.prevZ.nextZ=qe.nextZ),qe.nextZ&&(qe.nextZ.prevZ=qe.prevZ)}function nt(qe,st,rt){this.i=qe,this.x=st,this.y=rt,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}Fe.deviation=function(qe,st,rt,ct){var tt=st&&st.length,dt=tt?st[0]*rt:qe.length,At=Math.abs($e(qe,0,dt,rt));if(tt)for(var mt=0,ht=st.length;mt<ht;mt++){var vt=st[mt]*rt,Wt=mt<ht-1?st[mt+1]*rt:qe.length;At-=Math.abs($e(qe,vt,Wt,rt))}var Jt=0;for(mt=0;mt<ct.length;mt+=3){var en=ct[mt]*rt,mn=ct[mt+1]*rt,Ot=ct[mt+2]*rt;Jt+=Math.abs((qe[en]-qe[Ot])*(qe[mn+1]-qe[en+1])-(qe[en]-qe[mn])*(qe[Ot+1]-qe[en+1]))}return At===0&&Jt===0?0:Math.abs((Jt-At)/At)};function $e(qe,st,rt,ct){for(var tt=0,dt=st,At=rt-ct;dt<rt;dt+=ct)tt+=(qe[At]-qe[dt])*(qe[dt+1]+qe[At+1]),At=dt;return tt}},function(Ve,Re,be){var Fe=be(12),Ce={\u5357\u6D77\u8BF8\u5C9B:[32,80],\u5E7F\u4E1C:[0,-10],\u9999\u6E2F:[10,5],\u6FB3\u95E8:[-10,10],\u5929\u6D25:[5,5]};function ve(ye){Fe.each(ye.regions,function(we){var De=Ce[we.name];if(De){var pe=we.center;pe[0]+=De[0]/10.5,pe[1]+=-De[1]/(10.5/.75)}})}Ve.exports=ve},function(Ve,Re,be){var Fe=be(12),Ce={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]};function ve(ye){Fe.each(ye.regions,function(we){var De=Ce[we.name];if(De){var pe=we.center;pe[0]=De[0],pe[1]=De[1]}})}Ve.exports=ve},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(190),ye=be(191),we=be(193);Ce.a.registerAction({type:"globeChangeCamera",event:"globecamerachanged",update:"series:updateCamera"},function(De,pe){pe.eachComponent({mainType:"globe",query:De},function(Ee){Ee.setView(De)})}),Ce.a.registerAction({type:"globeUpdateDisplacment",event:"globedisplacementupdated",update:"update"},function(De,pe){})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(38),ye=be(31),we=be(32),De=be(26);function pe(de,ee){de.id=de.id||de.name||ee+""}var Ee=Ce.a.extendComponentModel({type:"globe",layoutMode:"box",coordinateSystem:null,init:function(){Ee.superApply(this,"init",arguments),Ce.a.util.each(this.option.layers,function(de,ee){Ce.a.util.merge(de,this.defaultLayerOption),pe(de,ee)},this)},mergeOption:function(de){var ee=this.option.layers;this.option.layers=null,Ee.superApply(this,"mergeOption",arguments);function ne(he){return Ce.a.util.reduce(he,function(ie,ue,ge){return pe(ue,ge),ie[ue.id]=ue,ie},{})}if(ee&&ee.length){var le=ne(de.layers),oe=ne(ee);for(var ce in le)oe[ce]?Ce.a.util.merge(oe[ce],le[ce],!0):ee.push(de.layers[ce]);this.option.layers=ee}Ce.a.util.each(this.option.layers,function(he){Ce.a.util.merge(he,this.defaultLayerOption)},this)},optionUpdated:function(){this.updateDisplacementHash()},defaultLayerOption:{show:!0,type:"overlay"},defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",baseColor:"#fff",baseTexture:"",heightTexture:"",displacementTexture:"",displacementScale:0,displacementQuality:"medium",globeRadius:100,globeOuterRadius:150,shading:"lambert",light:{main:{time:""}},viewControl:{autoRotate:!0,panSensitivity:0,targetCoord:null},layers:[]},setDisplacementData:function(de,ee,ne){this.displacementData=de,this.displacementWidth=ee,this.displacementHeight=ne},getDisplacementTexture:function(){return this.get("displacementTexture")||this.get("heightTexture")},getDisplacemenScale:function(){var de=this.getDisplacementTexture(),ee=this.get("displacementScale");return(!de||de==="none")&&(ee=0),ee},hasDisplacement:function(){return this.getDisplacemenScale()>0},_displacementChanged:!0,_displacementScale:0,updateDisplacementHash:function(){var de=this.getDisplacementTexture(),ee=this.getDisplacemenScale();this._displacementChanged=this._displacementTexture!==de||this._displacementScale!==ee,this._displacementTexture=de,this._displacementScale=ee},isDisplacementChanged:function(){return this._displacementChanged}});Ce.a.util.merge(Ee.prototype,ve.a),Ce.a.util.merge(Ee.prototype,ye.a),Ce.a.util.merge(Ee.prototype,we.a),Ce.a.util.merge(Ee.prototype,De.a);var Pe=Ee},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(39),we=be(34),De=be(192),pe=be(3),Ee=Ce.a.extendComponentView({type:"globe",__ecgl__:!0,_displacementScale:0,init:function(Pe,de){this.groupGL=new ve.a.Node,this._sphereGeometry=new ve.a.SphereGeometry({widthSegments:200,heightSegments:100,dynamic:!0}),this._overlayGeometry=new ve.a.SphereGeometry({widthSegments:80,heightSegments:40}),this._planeGeometry=new ve.a.PlaneGeometry,this._earthMesh=new ve.a.Mesh({renderNormal:!0}),this._lightRoot=new ve.a.Node,this._sceneHelper=new we.a,this._sceneHelper.initLight(this._lightRoot),this.groupGL.add(this._earthMesh),this._control=new ye.a({zr:de.getZr()}),this._control.init(),this._layerMeshes={}},render:function(Pe,de,ee){var ne=Pe.coordinateSystem,le=Pe.get("shading");ne.viewGL.add(this._lightRoot),Pe.get("show")?ne.viewGL.add(this.groupGL):ne.viewGL.remove(this.groupGL),this._sceneHelper.setScene(ne.viewGL.scene),ne.viewGL.setPostEffect(Pe.getModel("postEffect"),ee),ne.viewGL.setTemporalSuperSampling(Pe.getModel("temporalSuperSampling"));var oe=this._earthMesh;oe.geometry=this._sphereGeometry;var ce="ecgl."+le;(!oe.material||oe.material.shader.name!==ce)&&(oe.material=ve.a.createMaterial(ce)),ve.a.setMaterialFromModel(le,oe.material,Pe,ee),["roughnessMap","metalnessMap","detailMap","normalMap"].forEach(function(ge){var xe=oe.material.get(ge);xe&&(xe.flipY=!1)}),oe.material.set("color",ve.a.parseColor(Pe.get("baseColor")));var he=ne.radius*.99;oe.scale.set(he,he,he);var ie=oe.material.setTextureImage("diffuseMap",Pe.get("baseTexture"),ee,{flipY:!1,anisotropic:8});ie&&ie.surface&&ie.surface.attachToMesh(oe);var ue=oe.material.setTextureImage("bumpMap",Pe.get("heightTexture"),ee,{flipY:!1,anisotropic:8});ue&&ue.surface&&ue.surface.attachToMesh(oe),oe.material[Pe.get("postEffect.enable")?"define":"undefine"]("fragment","SRGB_DECODE"),this._updateLight(Pe,ee),this._displaceVertices(Pe,ee),this._updateViewControl(Pe,ee),this._updateLayers(Pe,ee)},afterRender:function(Pe,de,ee,ne){var le=ne.renderer;this._sceneHelper.updateAmbientCubemap(le,Pe,ee),this._sceneHelper.updateSkybox(le,Pe,ee)},_updateLayers:function(Pe,de){var ee=Pe.coordinateSystem,ne=Pe.get("layers"),le=ee.radius,oe=[],ce=[],he=[],ie=[];Ce.a.util.each(ne,function(Be){var Ne=new Ce.a.Model(Be),Ue=Ne.get("type"),Ge=ve.a.loadTexture(Ne.get("texture"),de,{flipY:!1,anisotropic:8});if(Ge.surface&&Ge.surface.attachToMesh(this._earthMesh),Ue==="blend"){var Xe=Ne.get("blendTo"),Ye=pe.a.firstNotNull(Ne.get("intensity"),1);Xe==="emission"?(he.push(Ge),ie.push(Ye)):(oe.push(Ge),ce.push(Ye))}else{var nt=Ne.get("id"),$e=this._layerMeshes[nt];$e||($e=this._layerMeshes[nt]=new ve.a.Mesh({geometry:this._overlayGeometry,castShadow:!1,ignorePicking:!0}));var qe=Ne.get("shading");qe==="lambert"?($e.material=$e.__lambertMaterial||new ve.a.Material({autoUpdateTextureStatus:!1,shader:ve.a.createShader("ecgl.lambert"),transparent:!0,depthMask:!1}),$e.__lambertMaterial=$e.material):($e.material=$e.__colorMaterial||new ve.a.Material({autoUpdateTextureStatus:!1,shader:ve.a.createShader("ecgl.color"),transparent:!0,depthMask:!1}),$e.__colorMaterial=$e.material),$e.material.enableTexture("diffuseMap");var st=Ne.get("distance"),rt=le+(st==null?ee.radius/100:st);$e.scale.set(rt,rt,rt),le=rt;var ct=this._blankTexture||(this._blankTexture=ve.a.createBlankTexture("rgba(255, 255, 255, 0)"));$e.material.set("diffuseMap",ct),ve.a.loadTexture(Ne.get("texture"),de,{flipY:!1,anisotropic:8},function(tt){tt.surface&&tt.surface.attachToMesh($e),$e.material.set("diffuseMap",tt),de.getZr().refresh()}),Ne.get("show")?this.groupGL.add($e):this.groupGL.remove($e)}},this);var ue=this._earthMesh.material;ue.define("fragment","LAYER_DIFFUSEMAP_COUNT",oe.length),ue.define("fragment","LAYER_EMISSIVEMAP_COUNT",he.length),ue.set("layerDiffuseMap",oe),ue.set("layerDiffuseIntensity",ce),ue.set("layerEmissiveMap",he),ue.set("layerEmissionIntensity",ie);var ge=Pe.getModel("debug.wireframe");if(ge.get("show")){ue.define("both","WIREFRAME_TRIANGLE");var xe=ve.a.parseColor(ge.get("lineStyle.color")||"rgba(0,0,0,0.5)"),Me=pe.a.firstNotNull(ge.get("lineStyle.width"),1);ue.set("wireframeLineWidth",Me),ue.set("wireframeLineColor",xe)}else ue.undefine("both","WIREFRAME_TRIANGLE")},_updateViewControl:function(Pe,de){var ee=Pe.coordinateSystem,ne=Pe.getModel("viewControl"),le=ee.viewGL.camera,oe=this;function ce(){return{type:"globeChangeCamera",alpha:he.getAlpha(),beta:he.getBeta(),distance:he.getDistance()-ee.radius,center:he.getCenter(),from:oe.uid,globeId:Pe.id}}var he=this._control;he.setViewGL(ee.viewGL);var ie=ne.get("targetCoord"),ue,ge;ie!=null&&(ge=ie[0]+90,ue=ie[1]),he.setFromViewControlModel(ne,{baseDistance:ee.radius,alpha:ue,beta:ge}),he.off("update"),he.on("update",function(){de.dispatchAction(ce())})},_displaceVertices:function(Pe,de){var ee=Pe.get("displacementQuality"),ne=Pe.get("debug.wireframe.show"),le=Pe.coordinateSystem;if(!(!Pe.isDisplacementChanged()&&ee===this._displacementQuality&&ne===this._showDebugWireframe)){this._displacementQuality=ee,this._showDebugWireframe=ne;var oe=this._sphereGeometry,ce={low:100,medium:200,high:400,ultra:800}[ee]||200,he=ce/2;(oe.widthSegments!==ce||ne)&&(oe.widthSegments=ce,oe.heightSegments=he,oe.build()),this._doDisplaceVertices(oe,le),ne&&oe.generateBarycentric()}},_doDisplaceVertices:function(Pe,de){var ee=Pe.attributes.position.value,ne=Pe.attributes.texcoord0.value,le=Pe.__originalPosition;(!le||le.length!==ee.length)&&(le=new Float32Array(ee.length),le.set(ee),Pe.__originalPosition=le);for(var oe=de.displacementWidth,ce=de.displacementHeight,he=de.displacementData,ie=0;ie<Pe.vertexCount;ie++){var ue=ie*3,ge=ie*2,xe=le[ue+1],Me=le[ue+2],Be=le[ue+3],Ne=ne[ge++],Ue=ne[ge++],Ge=Math.round(Ne*(oe-1)),Xe=Math.round(Ue*(ce-1)),Ye=Xe*oe+Ge,nt=he?he[Ye]:0;ee[ue+1]=xe+xe*nt,ee[ue+2]=Me+Me*nt,ee[ue+3]=Be+Be*nt}Pe.generateVertexNormals(),Pe.dirty(),Pe.updateBoundingBox()},_updateLight:function(Pe,de){var ee=this._earthMesh;this._sceneHelper.updateLight(Pe);var ne=this._sceneHelper.mainLight,le=Pe.get("light.main.time")||new Date,oe=De.a.getPosition(Ce.a.number.parseDate(le),0,0),ce=Math.cos(oe.altitude);ne.position.y=-ce*Math.cos(oe.azimuth),ne.position.x=Math.sin(oe.altitude),ne.position.z=ce*Math.sin(oe.azimuth),ne.lookAt(ee.getWorldPosition())},dispose:function(Pe,de){this.groupGL.removeAll(),this._control.dispose()}})},function(Ve,Re,be){"use strict";var Fe=Math.PI,Ce=Math.sin,ve=Math.cos,ye=Math.tan,we=Math.asin,De=Math.atan2,pe=Fe/180,Ee=1e3*60*60*24,Pe=2440588,de=2451545;function ee(Ne){return Ne.valueOf()/Ee-.5+Pe}function ne(Ne){return ee(Ne)-de}var le=pe*23.4397;function oe(Ne,Ue){return De(Ce(Ne)*ve(le)-ye(Ue)*Ce(le),ve(Ne))}function ce(Ne,Ue){return we(Ce(Ue)*ve(le)+ve(Ue)*Ce(le)*Ce(Ne))}function he(Ne,Ue,Ge){return De(Ce(Ne),ve(Ne)*Ce(Ue)-ye(Ge)*ve(Ue))}function ie(Ne,Ue,Ge){return we(Ce(Ue)*Ce(Ge)+ve(Ue)*ve(Ge)*ve(Ne))}function ue(Ne,Ue){return pe*(280.16+360.9856235*Ne)-Ue}function ge(Ne){return pe*(357.5291+.98560028*Ne)}function xe(Ne){var Ue=pe*(1.9148*Ce(Ne)+.02*Ce(2*Ne)+3e-4*Ce(3*Ne)),Ge=pe*102.9372;return Ne+Ue+Ge+Fe}function Me(Ne){var Ue=ge(Ne),Ge=xe(Ue);return{dec:ce(Ge,0),ra:oe(Ge,0)}}var Be={};Be.getPosition=function(Ne,Ue,Ge){var Xe=pe*-Ge,Ye=pe*Ue,nt=ne(Ne),$e=Me(nt),qe=ue(nt,Xe)-$e.ra;return{azimuth:he(qe,Ye,$e.dec),altitude:ie(qe,Ye,$e.dec)}},Re.a=Be},function(Ve,Re,be){"use strict";var Fe=be(194),Ce=be(0),ve=be.n(Ce),ye=be(41),we=be.n(ye),De=be(20),pe=be(3),Ee=be(2);function Pe(oe,ce){var he=document.createElement("canvas"),ie=he.getContext("2d"),ue=oe.width,ge=oe.height;he.width=ue,he.height=ge,ie.drawImage(oe,0,0,ue,ge);for(var xe=ie.getImageData(0,0,ue,ge).data,Me=new Float32Array(xe.length/4),Be=0;Be<xe.length/4;Be++){var Ne=xe[Be*4];Me[Be]=Ne/255*ce}return{data:Me,width:ue,height:ge}}function de(oe,ce){var he=oe.getBoxLayoutParams(),ie=we.a.getLayoutRect(he,{width:ce.getWidth(),height:ce.getHeight()});ie.y=ce.getHeight()-ie.y-ie.height,this.viewGL.setViewport(ie.x,ie.y,ie.width,ie.height,ce.getDevicePixelRatio()),this.radius=oe.get("globeRadius");var ue=oe.get("globeOuterRadius");this.altitudeAxis&&this.altitudeAxis.setExtent(0,ue-this.radius)}function ee(oe,ce){var he=[1/0,-1/0];if(oe.eachSeries(function(ue){if(ue.coordinateSystem===this){var ge=ue.getData(),xe=ue.coordDimToDataDim("alt")[0];if(xe){var Me=ge.getDataExtent(xe,!0);he[0]=Math.min(he[0],Me[0]),he[1]=Math.max(he[1],Me[1])}}},this),he&&isFinite(he[1]-he[0])){var ie=ve.a.helper.createScale(he,{type:"value",min:"dataMin",max:"dataMax"});this.altitudeAxis=new ve.a.Axis("altitude",ie),this.resize(this.model,ce)}}var ne={dimensions:Fe.a.prototype.dimensions,create:function(oe,ce){var he=[];return oe.eachComponent("globe",function(ie){ie.__viewGL=ie.__viewGL||new De.a;var ue=new Fe.a;ue.viewGL=ie.__viewGL,ie.coordinateSystem=ue,ue.model=ie,he.push(ue),ue.resize=de,ue.resize(ie,ce),ue.update=ee}),oe.eachSeries(function(ie){if(ie.get("coordinateSystem")==="globe"){var ue=ie.getReferringComponents("globe")[0];if(ue||(ue=oe.getComponent("globe")),!ue)throw new Error('globe "'+pe.a.firstNotNull(ie.get("globe3DIndex"),ie.get("globe3DId"),0)+'" not found');var ge=ue.coordinateSystem;ie.coordinateSystem=ge}}),oe.eachComponent("globe",function(ie,ue){var ge=ie.coordinateSystem,xe=ie.getDisplacementTexture(),Me=ie.getDisplacemenScale();if(ie.isDisplacementChanged()){if(ie.hasDisplacement()){var Be=!0;Ee.a.loadTexture(xe,ce,function(Ne){var Ue=Ne.image,Ge=Pe(Ue,Me);ie.setDisplacementData(Ge.data,Ge.width,Ge.height),Be||ce.dispatchAction({type:"globeUpdateDisplacment"})}),Be=!1}else ge.setDisplacementData(null,0,0);ge.setDisplacementData(ie.displacementData,ie.displacementWidth,ie.displacementHeight)}}),he}};ve.a.registerCoordinateSystem("globe",ne);var le=ne},function(Ve,Re,be){"use strict";var Fe=be(1),Ce=be.n(Fe),ve=Ce.a.vec3;function ye(we){this.radius=we,this.viewGL=null,this.altitudeAxis,this.displacementData=null,this.displacementWidth,this.displacementHeight}ye.prototype={constructor:ye,dimensions:["lng","lat","alt"],type:"globe",containPoint:function(){},setDisplacementData:function(we,De,pe){this.displacementData=we,this.displacementWidth=De,this.displacementHeight=pe},_getDisplacementScale:function(we,De){var pe=(we+180)/360*(this.displacementWidth-1),Ee=(90-De)/180*(this.displacementHeight-1),Pe=Math.round(pe)+Math.round(Ee)*this.displacementWidth;return this.displacementData[Pe]},dataToPoint:function(we,De){var pe=we[0],Ee=we[1],Pe=we[2]||0,de=this.radius;this.displacementData&&(de*=1+this._getDisplacementScale(pe,Ee)),this.altitudeAxis&&(de+=this.altitudeAxis.dataToCoord(Pe)),pe=pe*Math.PI/180,Ee=Ee*Math.PI/180;var ee=Math.cos(Ee)*de;return De=De||[],De[0]=-ee*Math.cos(pe+Math.PI),De[1]=Math.sin(Ee)*de,De[2]=ee*Math.sin(pe+Math.PI),De},pointToData:function(we,De){var pe=we[0],Ee=we[1],Pe=we[2],de=ve.len(we);pe/=de,Ee/=de,Pe/=de;var ee=Math.asin(Ee),ne=Math.atan2(Pe,-pe);ne<0&&(ne=Math.PI*2+ne);var le=ee*180/Math.PI,oe=ne*180/Math.PI-180;return De=De||[],De[0]=oe,De[1]=le,De[2]=de-this.radius,this.altitudeAxis&&(De[2]=this.altitudeAxis.coordToData(De[2])),De}},Re.a=ye},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(196),ye=be(198),we=be(199);Ce.a.registerAction({type:"mapbox3DChangeCamera",event:"mapbox3dcamerachanged",update:"mapbox3D:updateCamera"},function(De,pe){pe.eachComponent({mainType:"mapbox3D",query:De},function(Ee){Ee.setMapboxCameraOption(De)})})},function(Ve,Re,be){"use strict";var Fe=be(197),Ce=be(0),ve=be.n(Ce),ye=be(3),we=be(2),De=be(20);function pe(ee,ne){var le=ne.getWidth(),oe=ne.getHeight(),ce=ne.getDevicePixelRatio();this.viewGL.setViewport(0,0,le,oe,ce),this.width=le,this.height=oe,this.altitudeScale=ee.get("altitudeScale"),this.boxHeight=ee.get("boxHeight")}function Ee(ee,ne){if(this.model.get("boxHeight")!=="auto"){var le=[1/0,-1/0];ee.eachSeries(function(oe){if(oe.coordinateSystem===this){var ce=oe.getData(),he=oe.coordDimToDataDim("alt")[0];if(he){var ie=ce.getDataExtent(he,!0);le[0]=Math.min(le[0],ie[0]),le[1]=Math.max(le[1],ie[1])}}},this),le&&isFinite(le[1]-le[0])&&(this.altitudeExtent=le)}}var Pe={dimensions:Fe.a.prototype.dimensions,create:function(ee,ne){var le=[];return ee.eachComponent("mapbox3D",function(oe){var ce=oe.__viewGL;ce||(ce=oe.__viewGL=new De.a,ce.setRootNode(new we.a.Node));var he=new Fe.a;he.viewGL=oe.__viewGL,he.resize=pe,he.resize(oe,ne),le.push(he),oe.coordinateSystem=he,he.model=oe,he.setCameraOption(oe.getMapboxCameraOption()),he.update=Ee}),ee.eachSeries(function(oe){if(oe.get("coordinateSystem")==="mapbox3D"){var ce=oe.getReferringComponents("mapbox3D")[0];if(ce||(ce=ee.getComponent("mapbox3D")),!ce)throw new Error('mapbox3D "'+ye.a.firstNotNull(oe.get("mapbox3DIndex"),oe.get("mapbox3DId"),0)+'" not found');oe.coordinateSystem=ce.coordinateSystem}}),le}};ve.a.registerCoordinateSystem("mapbox3D",Pe);var de=Pe},function(Ve,Re,be){"use strict";var Fe=be(1),Ce=be.n(Fe),ve=Ce.a.mat4,ye=512,we=.6435011087932844,De=Math.PI,pe=1/10;function Ee(){this.width=0,this.height=0,this.altitudeScale=1,this.boxHeight="auto",this.altitudeExtent,this.bearing=0,this.pitch=0,this.center=[0,0],this._origin,this.zoom=0,this._initialZoom}Ee.prototype={constructor:Ee,type:"mapbox3D",dimensions:["lng","lat","alt"],containPoint:function(){},setCameraOption:function(Pe){this.bearing=Pe.bearing,this.pitch=Pe.pitch,this.center=Pe.center,this.zoom=Pe.zoom,this._origin||(this._origin=this.projectOnTileWithScale(this.center,ye)),this._initialZoom==null&&(this._initialZoom=this.zoom),this.updateTransform()},updateTransform:function(){if(this.height){var Pe=.5/Math.tan(we/2)*this.height*pe,de=Math.max(Math.min(this.pitch,60),0)/180*Math.PI,ee=we/2,ne=Math.PI/2+de,le=Math.sin(ee)*Pe/Math.sin(Math.PI-ne-ee),oe=Math.cos(Math.PI/2-de)*le+Pe,ce=oe*1.1,he=new Float64Array(16);ve.perspective(he,we,this.width/this.height,1,ce),this.viewGL.camera.projectionMatrix.setArray(he),this.viewGL.camera.decomposeProjectionMatrix();var he=ve.identity(new Float64Array(16)),ie=this.dataToPoint(this.center);ve.scale(he,he,[1,-1,1]),ve.translate(he,he,[0,0,-Pe]),ve.rotateX(he,he,de),ve.rotateZ(he,he,-this.bearing/180*Math.PI),ve.translate(he,he,[-ie[0]*this.getScale()*pe,-ie[1]*this.getScale()*pe,0]),this.viewGL.camera.viewMatrix.array=he;var ue=new Float64Array(16);ve.invert(ue,he),this.viewGL.camera.worldTransform.array=ue,this.viewGL.camera.decomposeWorldTransform();var ge=ye*this.getScale(),xe;if(this.altitudeExtent&&!isNaN(this.boxHeight)){var Me=this.altitudeExtent[1]-this.altitudeExtent[0];xe=this.boxHeight/Me*this.getScale()/Math.pow(2,this._initialZoom)}else xe=ge/(2*Math.PI*6378e3*Math.abs(Math.cos(this.center[1]*(Math.PI/180))))*this.altitudeScale*pe;this.viewGL.rootNode.scale.set(this.getScale()*pe,this.getScale()*pe,xe)}},getScale:function(){return Math.pow(2,this.zoom)},projectOnTile:function(Pe,de){return this.projectOnTileWithScale(Pe,this.getScale()*ye,de)},projectOnTileWithScale:function(Pe,de,ee){var ne=Pe[0],le=Pe[1],oe=ne*De/180,ce=le*De/180,he=de*(oe+De)/(2*De),ie=de*(De-Math.log(Math.tan(De/4+ce*.5)))/(2*De);return ee=ee||[],ee[0]=he,ee[1]=ie,ee},unprojectFromTile:function(Pe,de){return this.unprojectOnTileWithScale(Pe,this.getScale()*ye,de)},unprojectOnTileWithScale:function(Pe,de,ee){var ne=Pe[0],le=Pe[1],oe=ne/de*(2*De)-De,ce=2*(Math.atan(Math.exp(De-le/de*(2*De)))-De/4);return ee=ee||[],ee[0]=oe*180/De,ee[1]=ce*180/De,ee},dataToPoint:function(Pe,de){return de=this.projectOnTileWithScale(Pe,ye,de),de[0]-=this._origin[0],de[1]-=this._origin[1],de[2]=isNaN(Pe[2])?0:Pe[2],isNaN(Pe[2])||(de[2]=Pe[2],this.altitudeExtent&&(de[2]-=this.altitudeExtent[0])),de}},Re.a=Ee},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(31),ye=be(32),we=["zoom","center","pitch","bearing"],De=Ce.a.extendComponentModel({type:"mapbox3D",layoutMode:"box",coordinateSystem:null,defaultOption:{zlevel:-10,style:"mapbox://styles/mapbox/light-v9",center:[0,0],zoom:0,pitch:0,bearing:0,light:{main:{alpha:20,beta:30}},altitudeScale:1,boxHeight:"auto"},getMapboxCameraOption:function(){var Ee=this;return we.reduce(function(Pe,de){return Pe[de]=Ee.get(de),Pe},{})},setMapboxCameraOption:function(Ee){Ee!=null&&we.forEach(function(Pe){Ee[Pe]!=null&&(this.option[Pe]=Ee[Pe])},this)},getMapbox:function(){return this._mapbox},setMapbox:function(Ee){this._mapbox=Ee}});Ce.a.util.merge(De.prototype,ve.a),Ce.a.util.merge(De.prototype,ye.a);var pe=De},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(200),ye=be(34),we=be(2),De=be(201);we.a.Shader.import(De.a);var pe=512,Ee=Ce.a.extendComponentView({type:"mapbox3D",__ecgl__:!0,init:function(Pe,de){var ee=de.getZr();this._zrLayer=new ve.a("mapbox3D",ee),ee.painter.insertLayer(-1e3,this._zrLayer),this._lightRoot=new we.a.Node,this._sceneHelper=new ye.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot);var ne=this._zrLayer.getMapbox(),le=this._dispatchInteractAction.bind(this,de,ne);["zoom","rotate","drag","pitch","rotate","move"].forEach(function(oe){ne.on(oe,le)}),this._groundMesh=new we.a.Mesh({geometry:new we.a.PlaneGeometry,material:new we.a.Material({shader:new we.a.Shader({vertex:we.a.Shader.source("ecgl.displayShadow.vertex"),fragment:we.a.Shader.source("ecgl.displayShadow.fragment")}),depthMask:!1}),renderOrder:-100,culling:!1,castShadow:!1,$ignorePicking:!0,renderNormal:!0})},render:function(Pe,de,ee){var ne=this._zrLayer.getMapbox(),le=Pe.get("style"),oe=JSON.stringify(le);oe!==this._oldStyleStr&&le&&ne.setStyle(le),this._oldStyleStr=oe,ne.setCenter(Pe.get("center")),ne.setZoom(Pe.get("zoom")),ne.setPitch(Pe.get("pitch")),ne.setBearing(Pe.get("bearing")),Pe.setMapbox(ne);var ce=Pe.coordinateSystem;ce.viewGL.scene.add(this._lightRoot),ce.viewGL.add(this._groundMesh),this._updateGroundMesh(),this._sceneHelper.setScene(ce.viewGL.scene),this._sceneHelper.updateLight(Pe),ce.viewGL.setPostEffect(Pe.getModel("postEffect"),ee),ce.viewGL.setTemporalSuperSampling(Pe.getModel("temporalSuperSampling")),this._mapbox3DModel=Pe},afterRender:function(Pe,de,ee,ne){var le=ne.renderer;this._sceneHelper.updateAmbientCubemap(le,Pe,ee),this._sceneHelper.updateSkybox(le,Pe,ee),Pe.coordinateSystem.viewGL.scene.traverse(function(oe){oe.material&&(oe.material.define("fragment","NORMAL_UP_AXIS",2),oe.material.define("fragment","NORMAL_FRONT_AXIS",1))})},updateCamera:function(Pe,de,ee,ne){Pe.coordinateSystem.setCameraOption(ne),this._updateGroundMesh(),ee.getZr().refresh()},_dispatchInteractAction:function(Pe,de,ee){Pe.dispatchAction({type:"mapbox3DChangeCamera",pitch:de.getPitch(),zoom:de.getZoom(),center:de.getCenter().toArray(),bearing:de.getBearing(),mapbox3DId:this._mapbox3DModel&&this._mapbox3DModel.id})},_updateGroundMesh:function(){if(this._mapbox3DModel){var Pe=this._mapbox3DModel.coordinateSystem,de=Pe.dataToPoint(Pe.center);this._groundMesh.position.set(de[0],de[1],-.001);var ee=new we.a.Plane(new we.a.Vector3(0,0,1),0),ne=Pe.viewGL.camera.castRay(new we.a.Vector2(-1,-1)),le=Pe.viewGL.camera.castRay(new we.a.Vector2(1,1)),oe=ne.intersectPlane(ee),ce=le.intersectPlane(ee),he=oe.dist(ce)/Pe.viewGL.rootNode.scale.x;this._groundMesh.scale.set(he,he,1)}},dispose:function(Pe,de){de.getZr().delLayer(-1e3)}})},function(Ve,Re,be){"use strict";function Fe(ve,ye){if(this.id=ve,this.zr=ye,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute;left:0;right:0;top:0;bottom:0;",!mapboxgl)throw new Error("Mapbox GL library must be included. See https://www.mapbox.com/mapbox-gl-js/api/");this._mapbox=new mapboxgl.Map({container:this.dom}),this._initEvents()}Fe.prototype.resize=function(){this._mapbox.resize()},Fe.prototype.getMapbox=function(){return this._mapbox},Fe.prototype.clear=function(){},Fe.prototype.refresh=function(){this._mapbox.resize()};var Ce=["mousedown","mouseup","click","dblclick","mousemove","mousewheel","wheel","touchstart","touchend","touchmove","touchcancel"];Fe.prototype._initEvents=function(){var ve=this._mapbox.getCanvasContainer();this._handlers=this._handlers||{contextmenu:function(ye){return ye.preventDefault(),!1}},Ce.forEach(function(ye){this._handlers[ye]=function(we){var De={};for(var pe in we)De[pe]=we[pe];De.bubbles=!1;var Ee=new we.constructor(we.type,De);ve.dispatchEvent(Ee)},this.zr.dom.addEventListener(ye,this._handlers[ye])},this),this.zr.dom.addEventListener("contextmenu",this._handlers.contextmenu)},Fe.prototype.dispose=function(){Ce.forEach(function(ve){this.zr.dom.removeEventListener(ve,this._handlers[ve])},this)},Re.a=Fe},function(Ve,Re,be){"use strict";Re.a=`
|
|
|
@export ecgl.displayShadow.vertex
|
|
|
|
|
|
@import ecgl.common.transformUniforms
|
|
|
|
|
|
@import ecgl.common.uv.header
|
|
|
|
|
|
@import ecgl.common.attributes
|
|
|
|
|
|
varying vec3 v_WorldPosition;
|
|
|
|
|
|
varying vec3 v_Normal;
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
@import ecgl.common.uv.main
|
|
|
v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);
|
|
|
|
|
|
v_WorldPosition = (world * vec4(position, 1.0)).xyz;
|
|
|
gl_Position = worldViewProjection * vec4(position, 1.0);
|
|
|
}
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.displayShadow.fragment
|
|
|
|
|
|
@import ecgl.common.uv.fragmentHeader
|
|
|
|
|
|
varying vec3 v_Normal;
|
|
|
varying vec3 v_WorldPosition;
|
|
|
|
|
|
uniform float roughness: 0.2;
|
|
|
|
|
|
#ifdef DIRECTIONAL_LIGHT_COUNT
|
|
|
@import clay.header.directional_light
|
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.ssaoMap.header
|
|
|
|
|
|
@import clay.plugin.compute_shadow_map
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
float shadow = 1.0;
|
|
|
|
|
|
@import ecgl.common.ssaoMap.main
|
|
|
|
|
|
#if defined(DIRECTIONAL_LIGHT_COUNT) && defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
|
|
|
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
|
|
|
if(shadowEnabled)
|
|
|
{
|
|
|
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
|
|
|
}
|
|
|
for (int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++) {
|
|
|
shadow = min(shadow, shadowContribsDir[i] * 0.5 + 0.5);
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
shadow *= 0.5 + ao * 0.5;
|
|
|
shadow = clamp(shadow, 0.0, 1.0);
|
|
|
|
|
|
gl_FragColor = vec4(vec3(0.0), 1.0 - shadow);
|
|
|
}
|
|
|
|
|
|
@end`},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(203),ye=be(206),we=be(208),De=be(16);Ce.a.registerVisual(Object(De.a)("bar3D")),Ce.a.registerProcessor(function(pe,Ee){pe.eachSeriesByType("bar3d",function(Pe){var de=Pe.getData();de.filterSelf(function(ee){return de.hasValue(ee)})})})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(4),ye=be(1),we=be.n(ye),De=be(204),pe=be(205),Ee=we.a.vec3;function Pe(ne,le){var oe=ne.getData(),ce=ne.get("minHeight")||0,he=ne.get("barSize"),ie=["lng","lat","alt"].map(function(xe){return ne.coordDimToDataDim(xe)[0]});if(he==null){var ue=le.radius*Math.PI,ge=Object(pe.a)(oe,ie[0],ie[1]);he=[ue/Math.sqrt(oe.count()/ge),ue/Math.sqrt(oe.count()/ge)]}else Ce.a.util.isArray(he)||(he=[he,he]);oe.each(ie,function(xe,Me,Be,Ne){var Ue=oe.get(ie[2],Ne,!0),Ge=oe.stackedOn?Ue-Be:le.altitudeAxis.scale.getExtent()[0],Xe=Math.max(le.altitudeAxis.dataToCoord(Be),ce),Ye=le.dataToPoint([xe,Me,Ge]),nt=le.dataToPoint([xe,Me,Ue]),$e=Ee.sub([],nt,Ye);Ee.normalize($e,$e);var qe=[he[0],Xe,he[1]];oe.setItemLayout(Ne,[Ye,$e,qe])}),oe.setLayout("orient",ve.a.UP.array)}function de(ne,le){var oe=ne.getData(),ce=ne.get("barSize"),he=ne.get("minHeight")||0,ie=["lng","lat","alt"].map(function(Me){return ne.coordDimToDataDim(Me)[0]});if(ce==null){var ue=Math.min(le.size[0],le.size[2]),ge=Object(pe.a)(oe,ie[0],ie[1]);ce=[ue/Math.sqrt(oe.count()/ge),ue/Math.sqrt(oe.count()/ge)]}else Ce.a.util.isArray(ce)||(ce=[ce,ce]);var xe=[0,1,0];oe.each(ie,function(Me,Be,Ne,Ue){var Ge=oe.get(ie[2],Ue,!0),Xe=oe.stackedOn?Ge-Ne:le.altitudeAxis.scale.getExtent()[0],Ye=Math.max(le.altitudeAxis.dataToCoord(Ne),he),nt=le.dataToPoint([Me,Be,Xe]),$e=[ce[0],Ye,ce[1]];oe.setItemLayout(Ue,[nt,xe,$e])}),oe.setLayout("orient",[1,0,0])}function ee(ne,le){var oe=ne.getData(),ce=ne.coordDimToDataDim("lng")[0],he=ne.coordDimToDataDim("lat")[0],ie=ne.coordDimToDataDim("alt")[0],ue=ne.get("barSize"),ge=ne.get("minHeight")||0;if(ue==null){var xe=oe.getDataExtent(ce),Me=oe.getDataExtent(he),Be=le.dataToPoint([xe[0],Me[0]]),Ne=le.dataToPoint([xe[1],Me[1]]),Ue=Math.min(Math.abs(Be[0]-Ne[0]),Math.abs(Be[1]-Ne[1]))||1,Ge=Object(pe.a)(oe,ce,he);ue=[Ue/Math.sqrt(oe.count()/Ge),Ue/Math.sqrt(oe.count()/Ge)]}else Ce.a.util.isArray(ue)||(ue=[ue,ue]),ue[0]/=le.getScale()/16,ue[1]/=le.getScale()/16;var Xe=[0,0,1];oe.each([ce,he,ie],function(Ye,nt,$e,qe){var st=oe.get(ie,qe,!0),rt=oe.stackedOn?st-$e:0,ct=le.dataToPoint([Ye,nt,rt]),tt=le.dataToPoint([Ye,nt,st]),dt=Math.max(tt[2]-ct[2],ge),At=[ue[0],dt,ue[1]];oe.setItemLayout(qe,[ct,Xe,At])}),oe.setLayout("orient",[1,0,0])}Ce.a.registerLayout(function(ne,le){ne.eachSeriesByType("bar3D",function(oe){var ce=oe.coordinateSystem,he=ce&&ce.type;if(he==="globe")Pe(oe,ce);else if(he==="cartesian3D")Object(De.a)(oe,ce);else if(he==="geo3D")de(oe,ce);else if(he==="mapbox3D")ee(oe,ce);else throw ce?new Error("bar3D doesn't support coordinate system "+ce.type):new Error("bar3D doesn't have coordinate system.")})})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(1),ye=be.n(ve),we=ye.a.vec3;function De(Ee){var Pe=Ee[0],de=Ee[1];return!(Pe>0&&de>0||Pe<0&&de<0)}function pe(Ee,Pe){var de=Ee.getData(),ee=Ee.get("barSize");if(ee==null){var ne=Pe.size,le,oe,ce=Pe.getAxis("x"),he=Pe.getAxis("y");ce.type==="category"?le=ce.getBandWidth()*.7:le=Math.round(ne[0]/Math.sqrt(de.count()))*.6,he.type==="category"?oe=he.getBandWidth()*.7:oe=Math.round(ne[1]/Math.sqrt(de.count()))*.6,ee=[le,oe]}else Ce.a.util.isArray(ee)||(ee=[ee,ee]);var ie=Pe.getAxis("z").scale.getExtent(),ue=De(ie),ge=["x","y","z"].map(function(xe){return Ee.coordDimToDataDim(xe)[0]});de.each(ge,function(xe,Me,Be,Ne){var Ue=de.get(ge[2],Ne,!0),Ge=de.stackedOn?Ue-Be:ue?0:ie[0],Xe=Pe.dataToPoint([xe,Me,Ge]),Ye=Pe.dataToPoint([xe,Me,Ue]),nt=we.dist(Xe,Ye),$e=[0,Ye[1]<Xe[1]?-1:1,0];Math.abs(nt)===0&&(nt=.1);var qe=[ee[0],nt,ee[1]];de.setItemLayout(Ne,[Xe,$e,qe])}),de.setLayout("orient",[1,0,0])}Re.a=pe},function(Ve,Re,be){"use strict";Re.a=function(Fe,Ce,ve){for(var ye=Fe.getDataExtent(Ce),we=Fe.getDataExtent(ve),De=ye[1]-ye[0]||ye[0],pe=we[1]-we[0]||we[0],Ee=50,Pe=new Uint8Array(Ee*Ee),de=0;de<Fe.count();de++){var ee=Fe.get(Ce,de),ne=Fe.get(ve,de),le=Math.floor((ee-ye[0])/De*(Ee-1)),oe=Math.floor((ne-we[0])/pe*(Ee-1)),ce=oe*Ee+le;Pe[ce]=Pe[ce]||1}for(var he=0,de=0;de<Pe.length;de++)Pe[de]&&he++;return he/Pe.length}},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(3),we=be(27),De=be(207),pe=be(61),Ee=be(1),Pe=be.n(Ee),de=Pe.a.vec3,ee=Ce.a.extendChartView({type:"bar3D",__ecgl__:!0,init:function(ne,le){this.groupGL=new ve.a.Node,this._api=le,this._labelsBuilder=new pe.a(256,256,le);var oe=this;this._labelsBuilder.getLabelPosition=function(ce,he,ie){if(oe._data){var ue=oe._data.getItemLayout(ce),ge=ue[0],xe=ue[1],Me=ue[2][1];return de.scaleAndAdd([],ge,xe,ie+Me)}else return[0,0]},this._labelsBuilder.getMesh().renderOrder=100},render:function(ne,le,oe){var ce=this._prevBarMesh;this._prevBarMesh=this._barMesh,this._barMesh=ce,this._barMesh||(this._barMesh=new ve.a.Mesh({geometry:new De.a,shadowDepthMaterial:new ve.a.Material({shader:new ve.a.Shader(ve.a.Shader.source("ecgl.sm.depth.vertex"),ve.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:ne.coordinateSystem.type==="cartesian3D",renderOrder:10,renderNormal:!0})),this.groupGL.remove(this._prevBarMesh),this.groupGL.add(this._barMesh),this.groupGL.add(this._labelsBuilder.getMesh());var he=ne.coordinateSystem;if(this._doRender(ne,oe),he&&he.viewGL){he.viewGL.add(this.groupGL);var ie=he.viewGL.isLinearSpace()?"define":"undefine";this._barMesh.material[ie]("fragment","SRGB_DECODE")}this._data=ne.getData(),this._labelsBuilder.updateData(this._data),this._labelsBuilder.updateLabels(),this._updateAnimation(ne)},_updateAnimation:function(ne){ve.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevBarMesh,this._barMesh,ne)},_doRender:function(ne,le){var oe=ne.getData(),ce=ne.get("shading"),he=ce!=="color",ie=this,ue=this._barMesh,ge="ecgl."+ce;(!ue.material||ue.material.shader.name!==ge)&&(ue.material=ve.a.createMaterial(ge,["VERTEX_COLOR"])),ve.a.setMaterialFromModel(ce,ue.material,ne,le),ue.geometry.enableNormal=he,ue.geometry.resetOffset();var xe=ne.get("bevelSize"),Me=ne.get("bevelSmoothness");ue.geometry.bevelSegments=Me,ue.geometry.bevelSize=xe;var Be=[],Ne=new Float32Array(oe.count()*4),Ue=0,nt=0,Ge=!1;oe.each(function(qe){if(oe.hasValue(qe)){var st=oe.getItemVisual(qe,"color"),rt=oe.getItemVisual(qe,"opacity");rt==null&&(rt=1),ve.a.parseColor(st,Be),Be[3]*=rt,Ne[Ue++]=Be[0],Ne[Ue++]=Be[1],Ne[Ue++]=Be[2],Ne[Ue++]=Be[3],Be[3]>0&&(nt++,Be[3]<.99&&(Ge=!0))}}),ue.geometry.setBarCount(nt);var Xe=oe.getLayout("orient"),Ye=this._barIndexOfData=new Int32Array(oe.count()),nt=0;oe.each(function(qe){if(!oe.hasValue(qe)){Ye[qe]=-1;return}var st=oe.getItemLayout(qe),rt=st[0],ct=st[1],tt=st[2],dt=qe*4;Be[0]=Ne[dt++],Be[1]=Ne[dt++],Be[2]=Ne[dt++],Be[3]=Ne[dt++],Be[3]>0&&(ie._barMesh.geometry.addBar(rt,ct,Xe,tt,Be,qe),Ye[qe]=nt++)}),ue.geometry.dirty(),ue.geometry.updateBoundingBox();var $e=ue.material;$e.transparent=Ge,$e.depthMask=!Ge,ue.geometry.sortTriangles=Ge,this._initHandler(ne,le)},_initHandler:function(ne,le){var oe=ne.getData(),ce=this._barMesh,he=ne.coordinateSystem.type==="cartesian3D";ce.seriesIndex=ne.seriesIndex;var ie=-1;ce.off("mousemove"),ce.off("mouseout"),ce.on("mousemove",function(ue){var ge=ce.geometry.getDataIndexOfVertex(ue.triangle[0]);ge!==ie&&(this._downplay(ie),this._highlight(ge),this._labelsBuilder.updateLabels([ge]),he&&le.dispatchAction({type:"grid3DShowAxisPointer",value:[oe.get("x",ge),oe.get("y",ge),oe.get("z",ge,!0)]})),ie=ge,ce.dataIndex=ge},this),ce.on("mouseout",function(ue){this._downplay(ie),this._labelsBuilder.updateLabels(),ie=-1,ce.dataIndex=-1,he&&le.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_highlight:function(ne){var le=this._data;if(le){var oe=this._barIndexOfData[ne];if(!(oe<0)){var ce=le.getItemModel(ne),he=ce.getModel("emphasis.itemStyle"),ie=he.get("color"),ue=he.get("opacity");if(ie==null){var ge=le.getItemVisual(ne,"color");ie=Ce.a.color.lift(ge,-.4)}ue==null&&(ue=le.getItemVisual(ne,"opacity"));var xe=ve.a.parseColor(ie);xe[3]*=ue,this._barMesh.geometry.setColor(oe,xe),this._api.getZr().refresh()}}},_downplay:function(ne){var le=this._data;if(le){var oe=this._barIndexOfData[ne];if(!(oe<0)){var ce=le.getItemVisual(ne,"color"),he=le.getItemVisual(ne,"opacity"),ie=ve.a.parseColor(ce);ie[3]*=he,this._barMesh.geometry.setColor(oe,ie),this._api.getZr().refresh()}}},highlight:function(ne,le,oe,ce){this._toggleStatus("highlight",ne,le,oe,ce)},downplay:function(ne,le,oe,ce){this._toggleStatus("downplay",ne,le,oe,ce)},_toggleStatus:function(ne,le,oe,ce,he){var ie=le.getData(),ue=ye.a.queryDataIndex(ie,he),ge=this;ue!=null?Ce.a.util.each(we.a.normalizeToArray(ue),function(xe){ne==="highlight"?this._highlight(xe):this._downplay(xe)},this):ie.each(function(xe){ne==="highlight"?ge._highlight(xe):ge._downplay(xe)})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(33),ye=be(60),we=be(13),De=be(1),pe=be.n(De),Ee=pe.a.vec3,Pe=pe.a.mat3,de=we.a.extend(function(){return{attributes:{position:new we.a.Attribute("position","float",3,"POSITION"),normal:new we.a.Attribute("normal","float",3,"NORMAL"),color:new we.a.Attribute("color","float",4,"COLOR"),prevPosition:new we.a.Attribute("prevPosition","float",3),prevNormal:new we.a.Attribute("prevNormal","float",3)},dynamic:!0,enableNormal:!1,bevelSize:1,bevelSegments:0,_dataIndices:null,_vertexOffset:0,_triangleOffset:0}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0},setBarCount:function(ee){var ne=this.enableNormal,le=this.getBarVertexCount()*ee,oe=this.getBarTriangleCount()*ee;this.vertexCount!==le&&(this.attributes.position.init(le),ne?this.attributes.normal.init(le):this.attributes.normal.value=null,this.attributes.color.init(le)),this.triangleCount!==oe&&(this.indices=le>65535?new Uint32Array(oe*3):new Uint16Array(oe*3),this._dataIndices=new Uint32Array(le))},getBarVertexCount:function(){var ee=this.bevelSize>0?this.bevelSegments:0;return ee>0?this._getBevelBarVertexCount(ee):this.enableNormal?24:8},getBarTriangleCount:function(){var ee=this.bevelSize>0?this.bevelSegments:0;return ee>0?this._getBevelBarTriangleCount(ee):12},_getBevelBarVertexCount:function(ee){return(ee+1)*4*(ee+1)*2},_getBevelBarTriangleCount:function(ee){var ne=ee*4+3,le=ee*2+1;return(ne+1)*le*2+4},setColor:function(ee,ne){for(var le=this.getBarVertexCount(),oe=le*ee,ce=le*(ee+1),he=oe;he<ce;he++)this.attributes.color.set(he,ne);this.dirtyAttribute("color")},getDataIndexOfVertex:function(ee){return this._dataIndices?this._dataIndices[ee]:null},addBar:function(){for(var ee=Ee.create,ne=Ee.scaleAndAdd,le=ee(),oe=ee(),ce=ee(),he=ee(),ie=ee(),ue=ee(),ge=ee(),xe=[],Me=[],Be=0;Be<8;Be++)xe[Be]=ee();for(var Ne=[[0,1,5,4],[2,3,7,6],[4,5,6,7],[3,2,1,0],[0,4,7,3],[1,2,6,5]],Ue=[0,1,2,0,2,3],Ge=[],Be=0;Be<Ne.length;Be++)for(var Xe=Ne[Be],Ye=0;Ye<2;Ye++){for(var nt=[],$e=0;$e<3;$e++)nt.push(Xe[Ue[Ye*3+$e]]);Ge.push(nt)}return function(qe,st,rt,ct,tt,dt){var At=this._vertexOffset;if(this.bevelSize>0&&this.bevelSegments>0)this._addBevelBar(qe,st,rt,ct,this.bevelSize,this.bevelSegments,tt);else{Ee.copy(ce,st),Ee.normalize(ce,ce),Ee.cross(he,rt,ce),Ee.normalize(he,he),Ee.cross(oe,ce,he),Ee.normalize(he,he),Ee.negate(ie,oe),Ee.negate(ue,ce),Ee.negate(ge,he),ne(xe[0],qe,oe,ct[0]/2),ne(xe[0],xe[0],he,ct[2]/2),ne(xe[1],qe,oe,ct[0]/2),ne(xe[1],xe[1],ge,ct[2]/2),ne(xe[2],qe,ie,ct[0]/2),ne(xe[2],xe[2],ge,ct[2]/2),ne(xe[3],qe,ie,ct[0]/2),ne(xe[3],xe[3],he,ct[2]/2),ne(le,qe,ce,ct[1]),ne(xe[4],le,oe,ct[0]/2),ne(xe[4],xe[4],he,ct[2]/2),ne(xe[5],le,oe,ct[0]/2),ne(xe[5],xe[5],ge,ct[2]/2),ne(xe[6],le,ie,ct[0]/2),ne(xe[6],xe[6],ge,ct[2]/2),ne(xe[7],le,ie,ct[0]/2),ne(xe[7],xe[7],he,ct[2]/2);var mt=this.attributes;if(this.enableNormal){Me[0]=oe,Me[1]=ie,Me[2]=ce,Me[3]=ue,Me[4]=he,Me[5]=ge;for(var ht=this._vertexOffset,vt=0;vt<Ne.length;vt++){for(var Wt=this._triangleOffset*3,Jt=0;Jt<6;Jt++)this.indices[Wt++]=ht+Ue[Jt];ht+=4,this._triangleOffset+=2}for(var vt=0;vt<Ne.length;vt++)for(var en=Me[vt],Jt=0;Jt<4;Jt++){var mn=Ne[vt][Jt];mt.position.set(this._vertexOffset,xe[mn]),mt.normal.set(this._vertexOffset,en),mt.color.set(this._vertexOffset++,tt)}}else{for(var vt=0;vt<Ge.length;vt++){for(var Wt=this._triangleOffset*3,Jt=0;Jt<3;Jt++)this.indices[Wt+Jt]=Ge[vt][Jt]+this._vertexOffset;this._triangleOffset++}for(var vt=0;vt<xe.length;vt++)mt.position.set(this._vertexOffset,xe[vt]),mt.color.set(this._vertexOffset++,tt)}}for(var Ot=this._vertexOffset,vt=At;vt<Ot;vt++)this._dataIndices[vt]=dt}}(),_addBevelBar:function(){var ee=Ee.create(),ne=Ee.create(),le=Ee.create(),oe=Pe.create(),ce=[],he=[1,-1,-1,1],ie=[1,1,-1,-1],ue=[2,0];return function(ge,xe,Me,Be,Ne,Ue,Ge){Ee.copy(ne,xe),Ee.normalize(ne,ne),Ee.cross(le,Me,ne),Ee.normalize(le,le),Ee.cross(ee,ne,le),Ee.normalize(le,le),oe[0]=ee[0],oe[1]=ee[1],oe[2]=ee[2],oe[3]=ne[0],oe[4]=ne[1],oe[5]=ne[2],oe[6]=le[0],oe[7]=le[1],oe[8]=le[2],Ne=Math.min(Be[0],Be[2])/2*Ne;for(var Xe=0;Xe<3;Xe++)ce[Xe]=Math.max(Be[Xe]-Ne*2,0);for(var Ye=(Be[0]-ce[0])/2,nt=(Be[1]-ce[1])/2,$e=(Be[2]-ce[2])/2,qe=[],st=[],rt=this._vertexOffset,ct=[],Xe=0;Xe<2;Xe++){ct[Xe]=ct[Xe]=[];for(var tt=0;tt<=Ue;tt++)for(var dt=0;dt<4;dt++){(tt===0&&Xe===0||Xe===1&&tt===Ue)&&ct[Xe].push(rt);for(var At=0;At<=Ue;At++){var mt=At/Ue*Math.PI/2+Math.PI/2*dt,ht=tt/Ue*Math.PI/2+Math.PI/2*Xe;st[0]=Ye*Math.cos(mt)*Math.sin(ht),st[1]=nt*Math.cos(ht),st[2]=$e*Math.sin(mt)*Math.sin(ht),qe[0]=st[0]+he[dt]*ce[0]/2,qe[1]=st[1]+nt+ue[Xe]*ce[1]/2,qe[2]=st[2]+ie[dt]*ce[2]/2,Math.abs(Ye-nt)<1e-6&&Math.abs(nt-$e)<1e-6||(st[0]/=Ye*Ye,st[1]/=nt*nt,st[2]/=$e*$e),Ee.normalize(st,st),Ee.transformMat3(qe,qe,oe),Ee.transformMat3(st,st,oe),Ee.add(qe,qe,ge),this.attributes.position.set(rt,qe),this.enableNormal&&this.attributes.normal.set(rt,st),this.attributes.color.set(rt,Ge),rt++}}}for(var vt=Ue*4+3,Wt=Ue*2+1,Jt=vt+1,dt=0;dt<Wt;dt++)for(var Xe=0;Xe<=vt;Xe++){var en=dt*Jt+Xe+this._vertexOffset,mn=dt*Jt+(Xe+1)%Jt+this._vertexOffset,Ot=(dt+1)*Jt+(Xe+1)%Jt+this._vertexOffset,an=(dt+1)*Jt+Xe+this._vertexOffset;this.setTriangleIndices(this._triangleOffset++,[Ot,en,mn]),this.setTriangleIndices(this._triangleOffset++,[Ot,an,en])}this.setTriangleIndices(this._triangleOffset++,[ct[0][0],ct[0][2],ct[0][1]]),this.setTriangleIndices(this._triangleOffset++,[ct[0][0],ct[0][3],ct[0][2]]),this.setTriangleIndices(this._triangleOffset++,[ct[1][0],ct[1][1],ct[1][2]]),this.setTriangleIndices(this._triangleOffset++,[ct[1][0],ct[1][2],ct[1][3]]),this._vertexOffset=rt}}()});Ce.a.util.defaults(de.prototype,ve.a),Ce.a.util.defaults(de.prototype,ye.a),Re.a=de},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(26),ye=be(27),we=be(35),De=be(44),pe=Ce.a.extendSeriesModel({type:"series.bar3D",dependencies:["globe"],visualColorAccessPath:"itemStyle.color",getInitialData:function(Pe,de){return Object(De.a)(this)},getFormattedLabel:function(Pe,de,ee,ne){var le=ye.a.getFormattedLabel(this,Pe,de,ee,ne);return le==null&&(le=this.getData().get("z",Pe)),le},formatTooltip:function(Pe){return Object(we.a)(this,Pe)},defaultOption:{coordinateSystem:"cartesian3D",globeIndex:0,grid3DIndex:0,zlevel:-10,bevelSize:0,bevelSmoothness:2,onGridPlane:"xy",shading:"color",minHeight:0,itemStyle:{opacity:1},label:{show:!1,distance:2,textStyle:{fontSize:14,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:3}},emphasis:{label:{show:!0}},animationDurationUpdate:500}});Ce.a.util.merge(pe.prototype,ve.a);var Ee=pe},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(210),ye=be(211),we=be(45),De=be.n(we),pe=be(16);Ce.a.registerVisual(De()("line3D","circle",null)),Ce.a.registerVisual(Object(pe.a)("line3D")),Ce.a.registerLayout(function(Ee,Pe){Ee.eachSeriesByType("line3D",function(de){var ee=de.getData(),ne=de.coordinateSystem;if(ne){if(ne.type!=="cartesian3D"){console.error("line3D needs cartesian3D coordinateSystem");return}var le=new Float32Array(ee.count()*3),oe=[],ce=[],he=ne.dimensions,ie=he.map(function(ue){return de.coordDimToDataDim(ue)[0]});ne&&ee.each(ie,function(ue,ge,xe,Me){oe[0]=ue,oe[1]=ge,oe[2]=xe,ne.dataToPoint(oe,ce),le[Me*3]=ce[0],le[Me*3+1]=ce[1],le[Me*3+2]=ce[2]}),ee.setLayout("points",le)}})})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(35),ye=be(44),we=Ce.a.extendSeriesModel({type:"series.line3D",dependencies:["grid3D"],visualColorAccessPath:"lineStyle.color",getInitialData:function(pe,Ee){return Object(ye.a)(this)},formatTooltip:function(pe){return Object(ve.a)(this,pe)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,grid3DIndex:0,lineStyle:{width:2},animationDurationUpdate:500}}),De=we},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(3),we=be(22),De=be(9),pe=be(4),Ee=be(212),Pe=be.n(Ee),de=be(1),ee=be.n(de),ne=be(40),le=ee.a.vec3;ve.a.Shader.import(ne.a);var oe=Ce.a.extendChartView({type:"line3D",__ecgl__:!0,init:function(ce,he){this.groupGL=new ve.a.Node,this._api=he},render:function(ce,he,ie){var ue=this._prevLine3DMesh;this._prevLine3DMesh=this._line3DMesh,this._line3DMesh=ue,this._line3DMesh||(this._line3DMesh=new ve.a.Mesh({geometry:new we.a({useNativeLine:!1,sortTriangles:!0}),material:new ve.a.Material({shader:ve.a.createShader("ecgl.meshLines3D")}),renderOrder:10}),this._line3DMesh.geometry.pick=this._pick.bind(this)),this.groupGL.remove(this._prevLine3DMesh),this.groupGL.add(this._line3DMesh);var ge=ce.coordinateSystem;if(ge&&ge.viewGL){ge.viewGL.add(this.groupGL);var xe=ge.viewGL.isLinearSpace()?"define":"undefine";this._line3DMesh.material[xe]("fragment","SRGB_DECODE")}this._doRender(ce,ie),this._data=ce.getData(),this._camera=ge.viewGL.camera,this.updateCamera(),this._updateAnimation(ce)},updateCamera:function(){this._updateNDCPosition()},_doRender:function(ce,he){var ie=ce.getData(),ue=this._line3DMesh;ue.geometry.resetOffset();var ge=ie.getLayout("points"),xe=[],Me=new Float32Array(ge.length/3*4),Be=0,Ne=!1;ie.each(function(Xe){var Ye=ie.getItemVisual(Xe,"color"),nt=ie.getItemVisual(Xe,"opacity");nt==null&&(nt=1),ve.a.parseColor(Ye,xe),xe[3]*=nt,Me[Be++]=xe[0],Me[Be++]=xe[1],Me[Be++]=xe[2],Me[Be++]=xe[3],xe[3]<.99&&(Ne=!0)}),ue.geometry.setVertexCount(ue.geometry.getPolylineVertexCount(ge)),ue.geometry.setTriangleCount(ue.geometry.getPolylineTriangleCount(ge)),ue.geometry.addPolyline(ge,Me,ye.a.firstNotNull(ce.get("lineStyle.width"),1)),ue.geometry.dirty(),ue.geometry.updateBoundingBox();var Ue=ue.material;Ue.transparent=Ne,Ue.depthMask=!Ne;var Ge=ce.getModel("debug.wireframe");Ge.get("show")?(ue.geometry.createAttribute("barycentric","float",3),ue.geometry.generateBarycentric(),ue.material.set("both","WIREFRAME_TRIANGLE"),ue.material.set("wireframeLineColor",ve.a.parseColor(Ge.get("lineStyle.color")||"rgba(0,0,0,0.5)")),ue.material.set("wireframeLineWidth",ye.a.firstNotNull(Ge.get("lineStyle.width"),1))):ue.material.set("both","WIREFRAME_TRIANGLE"),this._points=ge,this._initHandler(ce,he)},_updateAnimation:function(ce){ve.a.updateVertexAnimation([["prevPosition","position"],["prevPositionPrev","positionPrev"],["prevPositionNext","positionNext"]],this._prevLine3DMesh,this._line3DMesh,ce)},_initHandler:function(ce,he){var ie=ce.getData(),ue=ce.coordinateSystem,ge=this._line3DMesh,xe=-1;ge.seriesIndex=ce.seriesIndex,ge.off("mousemove"),ge.off("mouseout"),ge.on("mousemove",function(Me){var Be=ue.pointToData(Me.point.array),Ne=ie.indicesOfNearest("x",Be[0])[0];Ne!==xe&&(he.dispatchAction({type:"grid3DShowAxisPointer",value:[ie.get("x",Ne),ie.get("y",Ne),ie.get("z",Ne)]}),ge.dataIndex=Ne),xe=Ne},this),ge.on("mouseout",function(Me){xe=-1,ge.dataIndex=-1,he.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_updateNDCPosition:function(){var ce=new De.a,he=this._camera;De.a.multiply(ce,he.projectionMatrix,he.viewMatrix);var ie=this._positionNDC,ue=this._points,ge=ue.length/3;(!ie||ie.length/2!==ge)&&(ie=this._positionNDC=new Float32Array(ge*2));for(var xe=[],Me=0;Me<ge;Me++){var Be=Me*3,Ne=Me*2;xe[0]=ue[Be],xe[1]=ue[Be+1],xe[2]=ue[Be+2],xe[3]=1,le.transformMat4(xe,xe,ce.array),ie[Ne]=xe[0]/xe[3],ie[Ne+1]=xe[1]/xe[3]}},_pick:function(ce,he,ie,ue,ge,xe){var Me=this._positionNDC,Be=this._data.hostModel,Ne=Be.get("lineStyle.width"),Ue=-1,Ge=ie.viewport.width,Xe=ie.viewport.height,Ye=Ge*.5,nt=Xe*.5;ce=(ce+1)*Ye,he=(he+1)*nt;for(var $e=1;$e<Me.length/2;$e++){var qe=(Me[($e-1)*2]+1)*Ye,st=(Me[($e-1)*2+1]+1)*nt,rt=(Me[$e*2]+1)*Ye,ct=(Me[$e*2+1]+1)*nt;if(Pe.a.containStroke(qe,st,rt,ct,Ne,ce,he)){var tt=(qe-ce)*(qe-ce)+(st-he)*(st-he),dt=(rt-ce)*(rt-ce)+(ct-he)*(ct-he);Ue=tt<dt?$e-1:$e}}if(Ue>=0){var At=Ue*3,mt=new pe.a(this._points[At],this._points[At+1],this._points[At+2]);xe.push({dataIndex:Ue,point:mt,pointWorld:mt.clone(),target:this._line3DMesh,distance:this._camera.getWorldPosition().dist(mt)})}},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(Ve,Re){function be(Fe,Ce,ve,ye,we,De,pe){if(we===0)return!1;var Ee=we,Pe=0,de=Fe;if(pe>Ce+Ee&&pe>ye+Ee||pe<Ce-Ee&&pe<ye-Ee||De>Fe+Ee&&De>ve+Ee||De<Fe-Ee&&De<ve-Ee)return!1;if(Fe!==ve)Pe=(Ce-ye)/(Fe-ve),de=(Fe*ye-ve*Ce)/(Fe-ve);else return Math.abs(De-Fe)<=Ee/2;var ee=Pe*De-pe+de,ne=ee*ee/(Pe*Pe+1);return ne<=Ee/2*Ee/2}Re.containStroke=be},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(214),ye=be(215),we=be(45),De=be.n(we),pe=be(16);Ce.a.registerVisual(De()("scatter3D","circle",null)),Ce.a.registerVisual(Object(pe.a)("scatter3D")),Ce.a.registerLayout({seriesType:"scatter3D",reset:function(Ee){var Pe=Ee.coordinateSystem;if(Pe){var de=Pe.dimensions;if(de.length<3){console.error("scatter3D needs 3D coordinateSystem");return}var ee=de.map(function(oe){return Ee.coordDimToDataDim(oe)[0]}),ne=[],le=[];return{progress:function(oe,ce){for(var he=new Float32Array((oe.end-oe.start)*3),ie=oe.start;ie<oe.end;ie++){var ue=(ie-oe.start)*3;ne[0]=ce.get(ee[0],ie),ne[1]=ce.get(ee[1],ie),ne[2]=ce.get(ee[2],ie),Pe.dataToPoint(ne,le),he[ue]=le[0],he[ue+1]=le[1],he[ue+2]=le[2]}ce.setLayout("points",he)}}}}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(27),ye=be(35),we=be(44);Ce.a.extendSeriesModel({type:"series.scatter3D",dependencies:["globe","grid3D","geo3D"],visualColorAccessPath:"itemStyle.color",getInitialData:function(De,pe){return Object(we.a)(this)},getFormattedLabel:function(De,pe,Ee,Pe){var de=ve.a.getFormattedLabel(this,De,pe,Ee,Pe);if(de==null){var ee=this.getData(),ne=ee.dimensions[ee.dimensions.length-1];de=ee.get(ne,De)}return de},formatTooltip:function(De){return Object(ye.a)(this,De)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,progressive:1e5,progressiveThreshold:1e5,grid3DIndex:0,globeIndex:0,symbol:"circle",symbolSize:10,blendMode:"source-over",label:{show:!1,position:"right",distance:5,textStyle:{fontSize:14,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:3}},itemStyle:{opacity:.8},emphasis:{label:{show:!0}},animationDurationUpdate:500}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(3),we=be(27),De=be(62);Ce.a.extendChartView({type:"scatter3D",__ecgl__:!0,init:function(pe,Ee){this.groupGL=new ve.a.Node,this._pointsBuilderList=[],this._currentStep=0},render:function(pe,Ee,Pe){if(this.groupGL.removeAll(),!!pe.getData().count()){var de=pe.coordinateSystem;if(de&&de.viewGL){de.viewGL.add(this.groupGL),this._camera=de.viewGL.camera;var ee=this._pointsBuilderList[0];ee||(ee=this._pointsBuilderList[0]=new De.a(!1,Pe)),this._pointsBuilderList.length=1,this.groupGL.add(ee.rootNode),ee.update(pe,Ee,Pe),ee.updateView(de.viewGL.camera)}else throw new Error("Invalid coordinate system")}},incrementalPrepareRender:function(pe,Ee,Pe){var de=pe.coordinateSystem;if(de&&de.viewGL)de.viewGL.add(this.groupGL),this._camera=de.viewGL.camera;else throw new Error("Invalid coordinate system");this.groupGL.removeAll(),this._currentStep=0},incrementalRender:function(pe,Ee,Pe,de){if(!(pe.end<=pe.start)){var ee=this._pointsBuilderList[this._currentStep];ee||(ee=new De.a(!1,de),this._pointsBuilderList[this._currentStep]=ee),this.groupGL.add(ee.rootNode),ee.update(Ee,Pe,de,pe.start,pe.end),ee.updateView(Ee.coordinateSystem.viewGL.camera),this._currentStep++}},updateCamera:function(){this._pointsBuilderList.forEach(function(pe){pe.updateView(this._camera)},this)},highlight:function(pe,Ee,Pe,de){this._toggleStatus("highlight",pe,Ee,Pe,de)},downplay:function(pe,Ee,Pe,de){this._toggleStatus("downplay",pe,Ee,Pe,de)},_toggleStatus:function(pe,Ee,Pe,de,ee){var ne=Ee.getData(),le=ye.a.queryDataIndex(ne,ee),oe=pe==="highlight";le!=null?Ce.a.util.each(we.a.normalizeToArray(le),function(ce){for(var he=0;he<this._pointsBuilderList.length;he++){var ie=this._pointsBuilderList[he];oe?ie.highlight(ne,ce):ie.downplay(ne,ce)}},this):ne.each(function(ce){for(var he=0;he<this._pointsBuilderList.length;he++){var ie=this._pointsBuilderList[he];oe?ie.highlight(ne,ce):ie.downplay(ne,ce)}})},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe);function ve(pe,de,Pe){var de=de||document.createElement("canvas");de.width=pe,de.height=pe;var ee=de.getContext("2d");return Pe&&Pe(ee),de}function ye(pe,Ee,Pe,de){Ce.a.util.isArray(Ee)||(Ee=[Ee,Ee]);var ee=De.getMarginByStyle(Pe,de),ne=Ee[0]+ee.left+ee.right,le=Ee[1]+ee.top+ee.bottom,oe=Ce.a.helper.createSymbol(pe,0,0,Ee[0],Ee[1]),ce=Math.max(ne,le);oe.position=[ee.left,ee.top],ne>le?oe.position[1]+=(ce-le)/2:oe.position[0]+=(ce-ne)/2;var he=oe.getBoundingRect();return oe.position[0]-=he.x,oe.position[1]-=he.y,oe.setStyle(Pe),oe.update(),oe.__size=ce,oe}function we(pe,Ee,Pe){var de=Ee.width,ee=Ee.height,ne=pe.canvas.width,le=pe.canvas.height,oe=de/ne,ce=ee/le;function he(Ue){return Ue<128?1:-1}function ie(Ue,Ge){var Xe=1/0;Ue=Math.floor(Ue*oe),Ge=Math.floor(Ge*ce);for(var Ye=Ge*de+Ue,nt=Ee.data[Ye*4],$e=he(nt),qe=Math.max(Ge-Pe,0);qe<Math.min(Ge+Pe,ee);qe++)for(var st=Math.max(Ue-Pe,0);st<Math.min(Ue+Pe,de);st++){var Ye=qe*de+st,rt=Ee.data[Ye*4],ct=he(rt),tt=st-Ue,dt=qe-Ge;if($e!==ct){var At=tt*tt+dt*dt;At<Xe&&(Xe=At)}}return $e*Math.sqrt(Xe)}for(var ue=pe.createImageData(ne,le),ge=0;ge<le;ge++)for(var xe=0;xe<ne;xe++){var Me=ie(xe,ge),Be=Me/Pe*.5+.5,Ne=(ge*ne+xe)*4;ue.data[Ne++]=(1-Be)*255,ue.data[Ne++]=(1-Be)*255,ue.data[Ne++]=(1-Be)*255,ue.data[Ne++]=255}return ue}var De={getMarginByStyle:function(pe){var Ee=pe.minMargin||0,Pe=0;pe.stroke&&pe.stroke!=="none"&&(Pe=pe.lineWidth==null?1:pe.lineWidth);var de=pe.shadowBlur||0,ee=pe.shadowOffsetX||0,ne=pe.shadowOffsetY||0,le={};return le.left=Math.max(Pe/2,-ee+de,Ee),le.right=Math.max(Pe/2,ee+de,Ee),le.top=Math.max(Pe/2,-ne+de,Ee),le.bottom=Math.max(Pe/2,ne+de,Ee),le},createSymbolSprite:function(pe,Ee,Pe,de){var ee=ye(pe,Ee,Pe),ne=De.getMarginByStyle(Pe);return{image:ve(ee.__size,de,function(le){ee.brush(le)}),margin:ne}},createSDFFromCanvas:function(pe,Ee,Pe,de){return ve(Ee,de,function(ee){var ne=pe.getContext("2d"),le=ne.getImageData(0,0,pe.width,pe.height);ee.putImageData(we(ee,le,Pe),0,0)})},createSimpleSprite:function(pe,Ee){return ve(pe,Ee,function(Pe){var de=pe/2;Pe.beginPath(),Pe.arc(de,de,60,0,Math.PI*2,!1),Pe.closePath();var ee=Pe.createRadialGradient(de,de,0,de,de,de);ee.addColorStop(0,"rgba(255, 255, 255, 1)"),ee.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),ee.addColorStop(1,"rgba(255, 255, 255, 0)"),Pe.fillStyle=ee,Pe.fill()})}};Re.a=De},function(Ve,Re,be){"use strict";var Fe=be(2),Ce=be(218),ve=be(0),ye=be.n(ve),we=be(1),De=be.n(we),pe=be(219),Ee=De.a.vec4;Fe.a.Shader.import(pe.a);var Pe=Fe.a.Mesh.extend(function(){var de=new Fe.a.Geometry({dynamic:!0,attributes:{color:new Fe.a.Geometry.Attribute("color","float",4,"COLOR"),position:new Fe.a.Geometry.Attribute("position","float",3,"POSITION"),size:new Fe.a.Geometry.Attribute("size","float",1),prevPosition:new Fe.a.Geometry.Attribute("prevPosition","float",3),prevSize:new Fe.a.Geometry.Attribute("prevSize","float",1)}});ye.a.util.extend(de,Ce.a);var ee=new Fe.a.Material({shader:Fe.a.createShader("ecgl.sdfSprite"),transparent:!0,depthMask:!1});ee.enableTexture("sprite"),ee.define("both","VERTEX_COLOR"),ee.define("both","VERTEX_SIZE");var ne=new Fe.a.Texture2D({image:document.createElement("canvas"),flipY:!1});return ee.set("sprite",ne),de.pick=this._pick.bind(this),{geometry:de,material:ee,mode:Fe.a.Mesh.POINTS,sizeScale:1}},{_pick:function(de,ee,ne,le,oe,ce){var he=this._positionNDC;if(he)for(var ie=ne.viewport,ue=2/ie.width,ge=2/ie.height,xe=this.geometry.vertexCount-1;xe>=0;xe--){var Me;this.geometry.indices?Me=this.geometry.indices[xe]:Me=xe;var Be=he[Me*2],Ne=he[Me*2+1],Ue=this.geometry.attributes.size.get(Me)/this.sizeScale,Ge=Ue/2;if(de>Be-Ge*ue&&de<Be+Ge*ue&&ee>Ne-Ge*ge&&ee<Ne+Ge*ge){var Xe=new Fe.a.Vector3,Ye=new Fe.a.Vector3;this.geometry.attributes.position.get(Me,Xe.array),Fe.a.Vector3.transformMat4(Ye,Xe,this.worldTransform),ce.push({vertexIndex:Me,point:Xe,pointWorld:Ye,target:this,distance:Ye.distance(le.getWorldPosition())})}}},updateNDCPosition:function(de,ee,ne){var le=this._positionNDC,oe=this.geometry;(!le||le.length/2!==oe.vertexCount)&&(le=this._positionNDC=new Float32Array(oe.vertexCount*2));for(var ce=Ee.create(),he=0;he<oe.vertexCount;he++)oe.attributes.position.get(he,ce),ce[3]=1,Ee.transformMat4(ce,ce,de.array),Ee.scale(ce,ce,1/ce[3]),le[he*2]=ce[0],le[he*2+1]=ce[1]}});Re.a=Pe},function(Ve,Re,be){"use strict";var Fe=be(81),Ce=be(1),ve=be.n(Ce),ye=ve.a.vec3;Re.a={needsSortVertices:function(){return this.sortVertices},needsSortVerticesProgressively:function(){return this.needsSortVertices()&&this.vertexCount>=2e4},doSortVertices:function(we,De){var pe=this.indices,Ee=ye.create();if(!pe){pe=this.indices=this.vertexCount>65535?new Uint32Array(this.vertexCount):new Uint16Array(this.vertexCount);for(var Pe=0;Pe<pe.length;Pe++)pe[Pe]=Pe}if(De===0){var de=this.attributes.position,we=we.array,ee=0;(!this._zList||this._zList.length!==this.vertexCount)&&(this._zList=new Float32Array(this.vertexCount));for(var ne,Pe=0;Pe<this.vertexCount;Pe++){de.get(Pe,Ee);var le=ye.sqrDist(Ee,we);isNaN(le)&&(le=1e7,ee++),Pe===0?(ne=le,le=0):le=le-ne,this._zList[Pe]=le}this._noneCount=ee}if(this.vertexCount<2e4)De===0&&this._simpleSort(this._noneCount/this.vertexCount>.05);else for(var Pe=0;Pe<3;Pe++)this._progressiveQuickSort(De*3+Pe);this.dirtyIndices()},_simpleSort:function(we){var De=this._zList,pe=this.indices;function Ee(Pe,de){return De[de]-De[Pe]}we?Array.prototype.sort.call(pe,Ee):Fe.a.sort(pe,Ee,0,pe.length-1)},_progressiveQuickSort:function(we){var De=this._zList,pe=this.indices;this._quickSort=this._quickSort||new Fe.a,this._quickSort.step(pe,function(Ee,Pe){return De[Pe]-De[Ee]},we)}}},function(Ve,Re,be){"use strict";Re.a=`@export ecgl.sdfSprite.vertex
|
|
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
uniform float elapsedTime : 0;
|
|
|
|
|
|
attribute vec3 position : POSITION;
|
|
|
|
|
|
#ifdef VERTEX_SIZE
|
|
|
attribute float size;
|
|
|
#else
|
|
|
uniform float u_Size;
|
|
|
#endif
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
attribute vec4 a_FillColor: COLOR;
|
|
|
varying vec4 v_Color;
|
|
|
#endif
|
|
|
|
|
|
#ifdef VERTEX_ANIMATION
|
|
|
attribute vec3 prevPosition;
|
|
|
attribute float prevSize;
|
|
|
uniform float percent : 1.0;
|
|
|
#endif
|
|
|
|
|
|
|
|
|
#ifdef POSITIONTEXTURE_ENABLED
|
|
|
uniform sampler2D positionTexture;
|
|
|
#endif
|
|
|
|
|
|
varying float v_Size;
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
|
|
|
#ifdef POSITIONTEXTURE_ENABLED
|
|
|
gl_Position = worldViewProjection * vec4(texture2D(positionTexture, position.xy).xy, -10.0, 1.0);
|
|
|
#else
|
|
|
|
|
|
#ifdef VERTEX_ANIMATION
|
|
|
vec3 pos = mix(prevPosition, position, percent);
|
|
|
#else
|
|
|
vec3 pos = position;
|
|
|
#endif
|
|
|
gl_Position = worldViewProjection * vec4(pos, 1.0);
|
|
|
#endif
|
|
|
|
|
|
#ifdef VERTEX_SIZE
|
|
|
#ifdef VERTEX_ANIMATION
|
|
|
v_Size = mix(prevSize, size, percent);
|
|
|
#else
|
|
|
v_Size = size;
|
|
|
#endif
|
|
|
#else
|
|
|
v_Size = u_Size;
|
|
|
#endif
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
v_Color = a_FillColor;
|
|
|
#endif
|
|
|
|
|
|
gl_PointSize = v_Size;
|
|
|
}
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.sdfSprite.fragment
|
|
|
|
|
|
uniform vec4 color: [1, 1, 1, 1];
|
|
|
uniform vec4 strokeColor: [1, 1, 1, 1];
|
|
|
uniform float smoothing: 0.07;
|
|
|
|
|
|
uniform float lineWidth: 0.0;
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
varying vec4 v_Color;
|
|
|
#endif
|
|
|
|
|
|
varying float v_Size;
|
|
|
|
|
|
uniform sampler2D sprite;
|
|
|
|
|
|
@import clay.util.srgb
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
gl_FragColor = color;
|
|
|
|
|
|
vec4 _strokeColor = strokeColor;
|
|
|
|
|
|
#ifdef VERTEX_COLOR
|
|
|
gl_FragColor *= v_Color;
|
|
|
#endif
|
|
|
|
|
|
#ifdef SPRITE_ENABLED
|
|
|
float d = texture2D(sprite, gl_PointCoord).r;
|
|
|
gl_FragColor.a *= smoothstep(0.5 - smoothing, 0.5 + smoothing, d);
|
|
|
|
|
|
if (lineWidth > 0.0) {
|
|
|
float sLineWidth = lineWidth / 2.0;
|
|
|
|
|
|
float outlineMaxValue0 = 0.5 + sLineWidth;
|
|
|
float outlineMaxValue1 = 0.5 + sLineWidth + smoothing;
|
|
|
float outlineMinValue0 = 0.5 - sLineWidth - smoothing;
|
|
|
float outlineMinValue1 = 0.5 - sLineWidth;
|
|
|
|
|
|
if (d <= outlineMaxValue1 && d >= outlineMinValue0) {
|
|
|
float a = _strokeColor.a;
|
|
|
if (d <= outlineMinValue1) {
|
|
|
a = a * smoothstep(outlineMinValue0, outlineMinValue1, d);
|
|
|
}
|
|
|
else {
|
|
|
a = a * smoothstep(outlineMaxValue1, outlineMaxValue0, d);
|
|
|
}
|
|
|
gl_FragColor.rgb = mix(gl_FragColor.rgb * gl_FragColor.a, _strokeColor.rgb, a);
|
|
|
gl_FragColor.a = gl_FragColor.a * (1.0 - a) + a;
|
|
|
}
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
#ifdef SRGB_DECODE
|
|
|
gl_FragColor = sRGBToLinear(gl_FragColor);
|
|
|
#endif
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(221),ye=be(222),we=be(225),De=be(16);Ce.a.registerVisual(Object(De.a)("lines3D")),Ce.a.registerAction({type:"lines3DPauseEffect",event:"lines3deffectpaused",update:"series.lines3D:pauseEffect"},function(){}),Ce.a.registerAction({type:"lines3DResumeEffect",event:"lines3deffectresumed",update:"series.lines3D:resumeEffect"},function(){}),Ce.a.registerAction({type:"lines3DToggleEffect",event:"lines3deffectchanged",update:"series.lines3D:toggleEffect"},function(){})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(1),ye=be.n(ve),we=ye.a.vec3,De=ye.a.vec2,pe=we.normalize,Ee=we.cross,Pe=we.sub,de=we.add,ee=we.create,ne=ee(),le=ee(),oe=ee(),ce=ee(),he=[],ie=[];function ue(Ue,Ge){De.copy(he,Ue[0]),De.copy(ie,Ue[1]);var Xe=[],Ye=Xe[0]=ee(),nt=Xe[1]=ee(),$e=Xe[2]=ee(),qe=Xe[3]=ee();Ge.dataToPoint(he,Ye),Ge.dataToPoint(ie,qe),pe(ne,Ye),Pe(le,qe,Ye),pe(le,le),Ee(oe,le,ne),pe(oe,oe),Ee(le,ne,oe),de(nt,ne,le),pe(nt,nt),pe(ne,qe),Pe(le,Ye,qe),pe(le,le),Ee(oe,le,ne),pe(oe,oe),Ee(le,ne,oe),de($e,ne,le),pe($e,$e),de(ce,Ye,qe),pe(ce,ce);var st=we.dot(Ye,ce),rt=we.dot(ce,nt),ct=(Math.max(we.len(Ye),we.len(qe))-st)/rt*2;return we.scaleAndAdd(nt,Ye,nt,ct),we.scaleAndAdd($e,qe,$e,ct),Xe}function ge(Ue,Ge,Xe){var Ye=[],nt=Ye[0]=we.create(),$e=Ye[1]=we.create(),qe=Ye[2]=we.create(),st=Ye[3]=we.create();Ge.dataToPoint(Ue[0],nt),Ge.dataToPoint(Ue[1],st);var rt=we.dist(nt,st);return we.lerp($e,nt,st,.3),we.lerp(qe,nt,st,.3),we.scaleAndAdd($e,$e,Xe,Math.min(rt*.1,10)),we.scaleAndAdd(qe,qe,Xe,Math.min(rt*.1,10)),Ye}function xe(Ue,Ge){for(var Xe=new Float32Array(Ue.length*3),Ye=0,nt=[],$e=0;$e<Ue.length;$e++)Ge.dataToPoint(Ue[$e],nt),Xe[Ye++]=nt[0],Xe[Ye++]=nt[1],Xe[Ye++]=nt[2];return Xe}function Me(Ue){var Ge=[];return Ue.each(function(Xe){var Ye=Ue.getItemModel(Xe),nt=Ye.option instanceof Array?Ye.option:Ye.getShallow("coords",!0);if(!(nt instanceof Array&&nt.length>0&&nt[0]instanceof Array))throw new Error("Invalid coords "+JSON.stringify(nt)+". Lines must have 2d coords array in data item.");Ge.push(nt)}),{coordsList:Ge}}function Be(Ue,Ge){var Xe=Ue.getData(),Ye=Ue.get("polyline");Xe.setLayout("lineType",Ye?"polyline":"cubicBezier");var nt=Me(Xe);Xe.each(function($e){var qe=nt.coordsList[$e],st=Ye?xe:ue;Xe.setItemLayout($e,st(qe,Ge))})}function Ne(Ue,Ge,Xe){var Ye=Ue.getData(),nt=Ue.get("polyline"),$e=Me(Ye);Ye.setLayout("lineType",nt?"polyline":"cubicBezier"),Ye.each(function(qe){var st=$e.coordsList[qe],rt=nt?xe(st,Ge):ge(st,Ge,Xe);Ye.setItemLayout(qe,rt)})}Ce.a.registerLayout(function(Ue,Ge){Ue.eachSeriesByType("lines3D",function(Xe){var Ye=Xe.coordinateSystem;Ye.type==="globe"?Be(Xe,Ye):Ye.type==="geo3D"?Ne(Xe,Ye,[0,1,0]):Ye.type==="mapbox3D"&&Ne(Xe,Ye,[0,0,1])})})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(22),we=be(223),De=be(40);ve.a.Shader.import(De.a);function pe(Pe){return Pe.radius!=null?Pe.radius:Pe.size!=null?Math.max(Pe.size[0],Pe.size[1],Pe.size[2]):100}var Ee=Ce.a.extendChartView({type:"lines3D",__ecgl__:!0,init:function(Pe,de){this.groupGL=new ve.a.Node,this._meshLinesMaterial=new ve.a.Material({shader:ve.a.createShader("ecgl.meshLines3D"),transparent:!0,depthMask:!1}),this._linesMesh=new ve.a.Mesh({geometry:new ye.a,material:this._meshLinesMaterial,$ignorePicking:!0}),this._trailMesh=new we.a},render:function(Pe,de,ee){this.groupGL.add(this._linesMesh);var ne=Pe.coordinateSystem,le=Pe.getData();if(ne&&ne.viewGL){var oe=ne.viewGL;oe.add(this.groupGL),this._updateLines(Pe,de,ee);var ce=ne.viewGL.isLinearSpace()?"define":"undefine";this._linesMesh.material[ce]("fragment","SRGB_DECODE"),this._trailMesh.material[ce]("fragment","SRGB_DECODE")}var he=this._trailMesh;if(he.stopAnimation(),Pe.get("effect.show")){this.groupGL.add(he),he.updateData(le,ee,this._linesMesh.geometry),he.__time=he.__time||0;var ie=3600*1e3;this._curveEffectsAnimator=he.animate("",{loop:!0}).when(ie,{__time:ie}).during(function(){he.setAnimationTime(he.__time)}).start()}else this.groupGL.remove(he),this._curveEffectsAnimator=null;this._linesMesh.material.blend=this._trailMesh.material.blend=Pe.get("blendMode")==="lighter"?ve.a.additiveBlend:null},pauseEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.pause()},resumeEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.resume()},toggleEffect:function(){var Pe=this._curveEffectsAnimator;Pe&&(Pe.isPaused()?Pe.resume():Pe.pause())},_updateLines:function(Pe,de,ee){var ne=Pe.getData(),le=Pe.coordinateSystem,oe=this._linesMesh.geometry,ce=Pe.get("polyline");oe.expandLine=!0;var he=pe(le);oe.segmentScale=he/20;var ie="lineStyle.width".split("."),ue=ee.getDevicePixelRatio(),ge=0;ne.each(function(Ne){var Ue=ne.getItemModel(Ne),Ge=Ue.get(ie);Ge==null&&(Ge=1),ne.setItemVisual(Ne,"lineWidth",Ge),ge=Math.max(Ge,ge)}),oe.useNativeLine=!1;var xe=0,Me=0;ne.each(function(Ne){var Ue=ne.getItemLayout(Ne);ce?(xe+=oe.getPolylineVertexCount(Ue),Me+=oe.getPolylineTriangleCount(Ue)):(xe+=oe.getCubicCurveVertexCount(Ue[0],Ue[1],Ue[2],Ue[3]),Me+=oe.getCubicCurveTriangleCount(Ue[0],Ue[1],Ue[2],Ue[3]))}),oe.setVertexCount(xe),oe.setTriangleCount(Me),oe.resetOffset();var Be=[];ne.each(function(Ne){var Ue=ne.getItemLayout(Ne),Ge=ne.getItemVisual(Ne,"color"),Xe=ne.getItemVisual(Ne,"opacity"),Ye=ne.getItemVisual(Ne,"lineWidth")*ue;Xe==null&&(Xe=1),Be=ve.a.parseColor(Ge,Be),Be[3]*=Xe,ce?oe.addPolyline(Ue,Be,Ye):oe.addCubicCurve(Ue[0],Ue[1],Ue[2],Ue[3],Be,Ye)}),oe.dirty()},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(1),we=be.n(ye),De=be(22),pe=be(224),Ee=we.a.vec3;function Pe(de){return de>0?1:-1}ve.a.Shader.import(pe.a),Re.a=ve.a.Mesh.extend(function(){var de=new ve.a.Material({shader:new ve.a.Shader(ve.a.Shader.source("ecgl.trail2.vertex"),ve.a.Shader.source("ecgl.trail2.fragment")),transparent:!0,depthMask:!1}),ee=new De.a({dynamic:!0});return ee.createAttribute("dist","float",1),ee.createAttribute("distAll","float",1),ee.createAttribute("start","float",1),{geometry:ee,material:de,culling:!1,$ignorePicking:!0}},{updateData:function(de,ee,ne){var le=de.hostModel,oe=this.geometry,ce=le.getModel("effect"),he=ce.get("trailWidth")*ee.getDevicePixelRatio(),ie=ce.get("trailLength"),ue=le.get("effect.constantSpeed"),ge=le.get("effect.period")*1e3,xe=ue!=null;this.getScene()||console.error("TrailMesh must been add to scene before updateData"),xe?this.material.set("speed",ue/1e3):this.material.set("period",ge),this.material[xe?"define":"undefine"]("vertex","CONSTANT_SPEED");var Me=le.get("polyline");oe.trailLength=ie,this.material.set("trailLength",ie),oe.resetOffset(),["position","positionPrev","positionNext"].forEach(function(ct){oe.attributes[ct].value=ne.attributes[ct].value});var Be=["dist","distAll","start","offset","color"];Be.forEach(function(ct){oe.attributes[ct].init(oe.vertexCount)}),oe.indices=ne.indices;var Ne=[],Ue=ce.get("trailColor"),Ge=ce.get("trailOpacity"),Xe=Ue!=null,Ye=Ge!=null;this.updateWorldTransform();var nt=this.worldTransform.x.len(),$e=this.worldTransform.y.len(),qe=this.worldTransform.z.len(),st=0,rt=0;de.each(function(ct){var tt=de.getItemLayout(ct),dt=Ye?Ge:de.getItemVisual(ct,"opacity"),At=de.getItemVisual(ct,"color");dt==null&&(dt=1),Ne=ve.a.parseColor(Xe?Ue:At,Ne),Ne[3]*=dt;for(var mt=Me?ne.getPolylineVertexCount(tt):ne.getCubicCurveVertexCount(tt[0],tt[1],tt[2],tt[3]),ht=0,vt=[],Wt=[],Jt=st;Jt<st+mt;Jt++)oe.attributes.position.get(Jt,vt),vt[0]*=nt,vt[1]*=$e,vt[2]*=qe,Jt>st&&(ht+=Ee.dist(vt,Wt)),oe.attributes.dist.set(Jt,ht),Ee.copy(Wt,vt);rt=Math.max(rt,ht);for(var en=Math.random()*(xe?ht:ge),Jt=st;Jt<st+mt;Jt++)oe.attributes.distAll.set(Jt,ht),oe.attributes.start.set(Jt,en),oe.attributes.offset.set(Jt,Pe(ne.attributes.offset.get(Jt))*he/2),oe.attributes.color.set(Jt,Ne);st+=mt}),this.material.set("spotSize",rt*.1*ie),this.material.set("spotIntensity",ce.get("spotIntensity")),oe.dirty()},setAnimationTime:function(de){this.material.set("time",de)}})},function(Ve,Re,be){"use strict";Re.a=`@export ecgl.trail2.vertex
|
|
|
attribute vec3 position: POSITION;
|
|
|
attribute vec3 positionPrev;
|
|
|
attribute vec3 positionNext;
|
|
|
attribute float offset;
|
|
|
attribute float dist;
|
|
|
attribute float distAll;
|
|
|
attribute float start;
|
|
|
|
|
|
attribute vec4 a_Color : COLOR;
|
|
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
uniform vec4 viewport : VIEWPORT;
|
|
|
uniform float near : NEAR;
|
|
|
|
|
|
uniform float speed : 0;
|
|
|
uniform float trailLength: 0.3;
|
|
|
uniform float time;
|
|
|
uniform float period: 1000;
|
|
|
|
|
|
uniform float spotSize: 1;
|
|
|
|
|
|
varying vec4 v_Color;
|
|
|
varying float v_Percent;
|
|
|
varying float v_SpotPercent;
|
|
|
|
|
|
@import ecgl.common.wireframe.vertexHeader
|
|
|
|
|
|
@import ecgl.lines3D.clipNear
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
@import ecgl.lines3D.expandLine
|
|
|
|
|
|
gl_Position = currProj;
|
|
|
|
|
|
v_Color = a_Color;
|
|
|
|
|
|
@import ecgl.common.wireframe.vertexMain
|
|
|
|
|
|
#ifdef CONSTANT_SPEED
|
|
|
float t = mod((speed * time + start) / distAll, 1. + trailLength) - trailLength;
|
|
|
#else
|
|
|
float t = mod((time + start) / period, 1. + trailLength) - trailLength;
|
|
|
#endif
|
|
|
|
|
|
float trailLen = distAll * trailLength;
|
|
|
|
|
|
v_Percent = (dist - t * distAll) / trailLen;
|
|
|
|
|
|
v_SpotPercent = spotSize / distAll;
|
|
|
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.trail2.fragment
|
|
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
uniform float spotIntensity: 5;
|
|
|
|
|
|
varying vec4 v_Color;
|
|
|
varying float v_Percent;
|
|
|
varying float v_SpotPercent;
|
|
|
|
|
|
@import ecgl.common.wireframe.fragmentHeader
|
|
|
|
|
|
@import clay.util.srgb
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
if (v_Percent > 1.0 || v_Percent < 0.0) {
|
|
|
discard;
|
|
|
}
|
|
|
|
|
|
float fade = v_Percent;
|
|
|
|
|
|
#ifdef SRGB_DECODE
|
|
|
gl_FragColor = sRGBToLinear(color * v_Color);
|
|
|
#else
|
|
|
gl_FragColor = color * v_Color;
|
|
|
#endif
|
|
|
|
|
|
@import ecgl.common.wireframe.fragmentMain
|
|
|
|
|
|
if (v_Percent > (1.0 - v_SpotPercent)) {
|
|
|
gl_FragColor.rgb *= spotIntensity;
|
|
|
}
|
|
|
|
|
|
gl_FragColor.a *= fade;
|
|
|
}
|
|
|
|
|
|
@end`},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe);Ce.a.extendSeriesModel({type:"series.lines3D",dependencies:["globe"],visualColorAccessPath:"lineStyle.color",getInitialData:function(ve,ye){var we=new Ce.a.List(["value"],this);return we.hasItemOption=!1,we.initData(ve.data,[],function(De,pe,Ee,Pe){if(De instanceof Array)return NaN;we.hasItemOption=!0;var de=De.value;if(de!=null)return de instanceof Array?de[Pe]:de}),we},defaultOption:{coordinateSystem:"globe",globeIndex:0,geo3DIndex:0,zlevel:-10,polyline:!1,effect:{show:!1,period:4,trailWidth:4,trailLength:.2,spotIntensity:6},silent:!0,blendMode:"source-over",lineStyle:{width:1,opacity:.5}}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(227),ye=be(228),we=be(16);Ce.a.registerVisual(Object(we.a)("polygons3D"))},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(26);function ye(pe,Ee){for(var Pe=[],de=0;de<Ee.length;de++)Pe.push(pe.dataToPoint(Ee[de]));return Pe}var we=Ce.a.extendSeriesModel({type:"series.polygons3D",getRegionModel:function(pe){return this.getData().getItemModel(pe)},getRegionPolygonCoords:function(pe){var Ee=this.coordinateSystem,Pe=this.getData().getItemModel(pe),de=Pe.option instanceof Array?Pe.option:Pe.getShallow("coords");Pe.get("multiPolygon")||(de=[de]);for(var ee=[],ne=0;ne<de.length;ne++){for(var le=[],oe=1;oe<de[ne].length;oe++)le.push(ye(Ee,de[ne][oe]));ee.push({exterior:ye(Ee,de[ne][0]),interiors:le})}return ee},getInitialData:function(pe){var Ee=new Ce.a.List(["value"],this);return Ee.hasItemOption=!1,Ee.initData(pe.data,[],function(Pe,de,ee,ne){if(Pe instanceof Array)return NaN;Ee.hasItemOption=!0;var le=Pe.value;if(le!=null)return le instanceof Array?le[ne]:le}),Ee},defaultOption:{show:!0,data:null,multiPolygon:!1,progressiveThreshold:1e3,progressive:1e3,zlevel:-10,label:{show:!1,distance:2,textStyle:{fontSize:20,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:4}},itemStyle:{color:"#fff",borderWidth:0,borderColor:"#333"},emphasis:{itemStyle:{color:"#639fc0"},label:{show:!0}}}});Ce.a.util.merge(we.prototype,ve.a);var De=we},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(59),ye=be(2);Ce.a.extendChartView({type:"polygons3D",__ecgl__:!0,init:function(we,De){this.groupGL=new ye.a.Node,this._geo3DBuilderList=[],this._currentStep=0},render:function(we,De,pe){this.groupGL.removeAll();var Ee=we.coordinateSystem;Ee&&Ee.viewGL&&Ee.viewGL.add(this.groupGL);var Pe=this._geo3DBuilderList[0];Pe||(Pe=new ve.a(pe),Pe.extrudeY=Ee.type!=="mapbox3D",this._geo3DBuilderList[0]=Pe),this._updateShaderDefines(Ee,Pe),Pe.update(we,De,pe),this._geo3DBuilderList.length=1,this.groupGL.add(Pe.rootNode)},incrementalPrepareRender:function(we,De,pe){this.groupGL.removeAll();var Ee=we.coordinateSystem;Ee&&Ee.viewGL&&Ee.viewGL.add(this.groupGL),this._currentStep=0},incrementalRender:function(we,De,pe,Ee){var Pe=this._geo3DBuilderList[this._currentStep],de=De.coordinateSystem;Pe||(Pe=new ve.a(Ee),Pe.extrudeY=de.type!=="mapbox3D",this._geo3DBuilderList[this._currentStep]=Pe),Pe.update(De,pe,Ee,we.start,we.end),this.groupGL.add(Pe.rootNode),this._updateShaderDefines(de,Pe),this._currentStep++},_updateShaderDefines:function(we,De){var pe=we.viewGL.isLinearSpace()?"define":"undefine";De.rootNode.traverse(function(Ee){Ee.material&&(Ee.material[pe]("fragment","SRGB_DECODE"),we.type==="mapbox3D"&&(Ee.material.define("fragment","NORMAL_UP_AXIS",2),Ee.material.define("fragment","NORMAL_FRONT_AXIS",1)))})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(230),ye=be(231),we=be(232),De=be(16);Ce.a.registerVisual(Object(De.a)("surface"))},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(26),ye=be(35),we=be(44),De=Ce.a.extendSeriesModel({type:"series.surface",dependencies:["globe","grid3D","geo3D"],visualColorAccessPath:"itemStyle.color",formatTooltip:function(Ee){return Object(ye.a)(this,Ee)},getInitialData:function(Ee,Pe){var de=Ee.data;function ee(tt){return!(isNaN(tt.min)||isNaN(tt.max)||isNaN(tt.step))}function ne(tt){var dt=Ce.a.number.getPrecisionSafe;return Math.max(dt(tt.min),dt(tt.max),dt(tt.step))+1}if(!de)if(de=[],Ee.parametric){var Ne=Ee.parametricEquation||{},Ue=Ne.u||{},Ge=Ne.v||{};["u","v"].forEach(function(tt){if(!ee(Ne[tt])){console.error("Invalid parametricEquation.%s",tt);return}}),["x","y","z"].forEach(function(tt){if(typeof Ne[tt]!="function"){console.error("parametricEquation.%s needs to be function",tt);return}});for(var Xe=ne(Ue),Ye=ne(Ge),nt=Ge.min;nt<Ge.max+Ge.step*.999;nt+=Ge.step)for(var $e=Ue.min;$e<Ue.max+Ue.step*.999;$e+=Ue.step){var qe=Ce.a.number.round(Math.min($e,Ue.max),Xe),st=Ce.a.number.round(Math.min(nt,Ge.max),Ye),ge=Ne.x(qe,st),ue=Ne.y(qe,st),Be=Ne.z(qe,st);de.push([ge,ue,Be,qe,st])}}else{var le=Ee.equation||{},oe=le.x||{},ce=le.y||{};if(["x","y"].forEach(function(tt){if(!ee(le[tt])){console.error("Invalid equation.%s",tt);return}}),typeof le.z!="function"){console.error("equation.z needs to be function");return}for(var he=ne(oe),ie=ne(ce),ue=ce.min;ue<ce.max+ce.step*.999;ue+=ce.step)for(var ge=oe.min;ge<oe.max+oe.step*.999;ge+=oe.step){var xe=Ce.a.number.round(Math.min(ge,oe.max),he),Me=Ce.a.number.round(Math.min(ue,ce.max),ie),Be=le.z(xe,Me);de.push([xe,Me,Be])}}var rt=["x","y","z"];Ee.parametric&&rt.push("u","v");var ct=Object(we.a)(this,rt,Ee.data||de);return ct},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,grid3DIndex:0,shading:"lambert",parametric:!1,wireframe:{show:!0,lineStyle:{color:"rgba(0,0,0,0.5)",width:1}},equation:{x:{min:-1,max:1,step:.1},y:{min:-1,max:1,step:.1},z:null},parametricEquation:{u:{min:-1,max:1,step:.1},v:{min:-1,max:1,step:.1},x:null,y:null,z:null},itemStyle:{},animationDurationUpdate:500}});Ce.a.util.merge(De.prototype,ve.a);var pe=De},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(3),we=be(1),De=be.n(we),pe=be(60),Ee=De.a.vec3;function Pe(de){return isNaN(de[0])||isNaN(de[1])||isNaN(de[2])}Ce.a.extendChartView({type:"surface",__ecgl__:!0,init:function(de,ee){this.groupGL=new ve.a.Node},render:function(de,ee,ne){var le=this._prevSurfaceMesh;this._prevSurfaceMesh=this._surfaceMesh,this._surfaceMesh=le,this._surfaceMesh||(this._surfaceMesh=this._createSurfaceMesh()),this.groupGL.remove(this._prevSurfaceMesh),this.groupGL.add(this._surfaceMesh);var oe=de.coordinateSystem,ce=de.get("shading"),he=de.getData(),ie="ecgl."+ce;if((!this._surfaceMesh.material||this._surfaceMesh.material.shader.name!==ie)&&(this._surfaceMesh.material=ve.a.createMaterial(ie,["VERTEX_COLOR","DOUBLE_SIDED"])),ve.a.setMaterialFromModel(ce,this._surfaceMesh.material,de,ne),oe&&oe.viewGL){oe.viewGL.add(this.groupGL);var ue=oe.viewGL.isLinearSpace()?"define":"undefine";this._surfaceMesh.material[ue]("fragment","SRGB_DECODE")}var ge=de.get("parametric"),xe=this._getDataShape(he,ge),Me=de.getModel("wireframe"),Be=Me.get("lineStyle.width"),Ne=Me.get("show")&&Be>0;this._updateSurfaceMesh(this._surfaceMesh,de,xe,Ne);var Ue=this._surfaceMesh.material;Ne?(Ue.define("WIREFRAME_QUAD"),Ue.set("wireframeLineWidth",Be),Ue.set("wireframeLineColor",ve.a.parseColor(Me.get("lineStyle.color")))):Ue.undefine("WIREFRAME_QUAD"),this._initHandler(de,ne),this._updateAnimation(de)},_updateAnimation:function(de){ve.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevSurfaceMesh,this._surfaceMesh,de)},_createSurfaceMesh:function(){var de=new ve.a.Mesh({geometry:new ve.a.Geometry({dynamic:!0,sortTriangles:!0}),shadowDepthMaterial:new ve.a.Material({shader:new ve.a.Shader(ve.a.Shader.source("ecgl.sm.depth.vertex"),ve.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:!1,renderOrder:10,renderNormal:!0});return de.geometry.createAttribute("barycentric","float",4),de.geometry.createAttribute("prevPosition","float",3),de.geometry.createAttribute("prevNormal","float",3),Ce.a.util.extend(de.geometry,pe.a),de},_initHandler:function(de,ee){var ne=de.getData(),le=this._surfaceMesh,oe=de.coordinateSystem;function ce(ie,ue){for(var ge=1/0,xe=-1,Me=[],Be=0;Be<ie.length;Be++){le.geometry.attributes.position.get(ie[Be],Me);var Ne=Ee.dist(ue.array,Me);Ne<ge&&(ge=Ne,xe=ie[Be])}return xe}le.seriesIndex=de.seriesIndex;var he=-1;le.off("mousemove"),le.off("mouseout"),le.on("mousemove",function(ie){var ue=ce(ie.triangle,ie.point);if(ue>=0){var ge=[];le.geometry.attributes.position.get(ue,ge);for(var xe=oe.pointToData(ge),Me=1/0,Be=-1,Ne=[],Ue=0;Ue<ne.count();Ue++){Ne[0]=ne.get("x",Ue),Ne[1]=ne.get("y",Ue),Ne[2]=ne.get("z",Ue);var Ge=Ee.squaredDistance(Ne,xe);Ge<Me&&(Be=Ue,Me=Ge)}Be!==he&&ee.dispatchAction({type:"grid3DShowAxisPointer",value:xe}),he=Be,le.dataIndex=Be}else le.dataIndex=-1},this),le.on("mouseout",function(ie){he=-1,le.dataIndex=-1,ee.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_updateSurfaceMesh:function(de,ee,ne,le){var oe=de.geometry,ce=ee.getData(),he=ce.getLayout("points"),ie=0;ce.each(function(wt){ce.hasValue(wt)||ie++});var ue=ie||le,ge=oe.attributes.position,xe=oe.attributes.normal,Me=oe.attributes.texcoord0,Be=oe.attributes.barycentric,Ne=oe.attributes.color,Ue=ne.row,Ge=ne.column,Xe=ee.get("shading"),Ye=Xe!=="color";if(ue){var nt=(Ue-1)*(Ge-1)*4;ge.init(nt),le&&Be.init(nt)}else ge.value=new Float32Array(he);Ne.init(oe.vertexCount),Me.init(oe.vertexCount);var $e=[0,3,1,1,3,2],qe=[[1,1,0,0],[0,1,0,1],[1,0,0,1],[1,0,1,0]],st=oe.indices=new(oe.vertexCount>65535?Uint32Array:Uint16Array)((Ue-1)*(Ge-1)*6),rt=function(wt,rn,On){On[1]=wt*Ge+rn,On[0]=wt*Ge+rn+1,On[3]=(wt+1)*Ge+rn+1,On[2]=(wt+1)*Ge+rn},ct=!1;if(ue){var tt=[],dt=[],At=0;Ye?xe.init(oe.vertexCount):xe.value=null;for(var mt=[[],[],[]],ht=[],vt=[],Wt=Ee.create(),Jt=function(wt,rn,On){var zn=rn*3;return On[0]=wt[zn],On[1]=wt[zn+1],On[2]=wt[zn+2],On},en=new Float32Array(he.length),mn=new Float32Array(he.length/3*4),Ot=0;Ot<ce.count();Ot++)if(ce.hasValue(Ot)){var St=ve.a.parseColor(ce.getItemVisual(Ot,"color")),an=ce.getItemVisual(Ot,"opacity");St[3]*=an,St[3]<.99&&(ct=!0);for(var tn=0;tn<4;tn++)mn[Ot*4+tn]=St[tn]}for(var Dn=[1e7,1e7,1e7],Ot=0;Ot<Ue-1;Ot++)for(var Tn=0;Tn<Ge-1;Tn++){var sn=Ot*(Ge-1)+Tn,dn=sn*4;rt(Ot,Tn,tt);for(var Kt=!1,tn=0;tn<4;tn++)Jt(he,tt[tn],dt),Pe(dt)&&(Kt=!0);for(var tn=0;tn<4;tn++)Kt?ge.set(dn+tn,Dn):(Jt(he,tt[tn],dt),ge.set(dn+tn,dt)),le&&Be.set(dn+tn,qe[tn]);for(var tn=0;tn<6;tn++)st[At++]=$e[tn]+dn;if(Ye&&!Kt)for(var tn=0;tn<2;tn++){for(var Tt=tn*3,yt=0;yt<3;yt++){var Gt=tt[$e[Tt]+yt];Jt(he,Gt,mt[yt])}Ee.sub(ht,mt[0],mt[1]),Ee.sub(vt,mt[1],mt[2]),Ee.cross(Wt,ht,vt);for(var yt=0;yt<3;yt++){var gt=tt[$e[Tt]+yt]*3;en[gt]=en[gt]+Wt[0],en[gt+1]=en[gt+1]+Wt[1],en[gt+2]=en[gt+2]+Wt[2]}}}if(Ye)for(var Ot=0;Ot<en.length/3;Ot++)Jt(en,Ot,Wt),Ee.normalize(Wt,Wt),en[Ot*3]=Wt[0],en[Ot*3+1]=Wt[1],en[Ot*3+2]=Wt[2];for(var St=[],Qt=[],Ot=0;Ot<Ue-1;Ot++)for(var Tn=0;Tn<Ge-1;Tn++){var sn=Ot*(Ge-1)+Tn,dn=sn*4;rt(Ot,Tn,tt);for(var tn=0;tn<4;tn++){for(var yt=0;yt<4;yt++)St[yt]=mn[tt[tn]*4+yt];Ne.set(dn+tn,St),Ye&&(Jt(en,tt[tn],Wt),xe.set(dn+tn,Wt));var Gt=tt[tn];Qt[0]=Gt%Ge/(Ge-1),Qt[1]=Math.floor(Gt/Ge)/(Ue-1),Me.set(dn+tn,Qt)}sn++}}else{for(var Qt=[],Ot=0;Ot<ce.count();Ot++){Qt[0]=Ot%Ge/(Ge-1),Qt[1]=Math.floor(Ot/Ge)/(Ue-1);var St=ve.a.parseColor(ce.getItemVisual(Ot,"color")),an=ce.getItemVisual(Ot,"opacity");St[3]*=an,St[3]<.99&&(ct=!0),Ne.set(Ot,St),Me.set(Ot,Qt)}for(var tt=[],Nt=0,Ot=0;Ot<Ue-1;Ot++)for(var Tn=0;Tn<Ge-1;Tn++){rt(Ot,Tn,tt);for(var tn=0;tn<6;tn++)st[Nt++]=tt[$e[tn]]}Ye?oe.generateVertexNormals():xe.value=null}de.material.get("normalMap")&&oe.generateTangents(),oe.updateBoundingBox(),oe.dirty(),de.material.transparent=ct,de.material.depthMask=!ct},_getDataShape:function(de,ee){for(var ne=-1/0,le=0,oe=0,ce=0,he=ee?"u":"x",ie=0;ie<de.count();ie++){var ue=de.get(he,ie);if(ue<ne){if(ce&&ce!==oe)throw new Error("Invalid data. data should be a row major 2d array.");ce=oe,oe=0,le++}ne=ue,oe++}return{row:le+1,column:oe}},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe);Ce.a.registerLayout(function(ve,ye){ve.eachSeriesByType("surface",function(we){var De=we.coordinateSystem;(!De||De.type!=="cartesian3D")&&console.error("Surface chart only support cartesian3D coordinateSystem");var pe=we.getData(),Ee=new Float32Array(3*pe.count()),Pe=[NaN,NaN,NaN];if(De&&De.type==="cartesian3D"){var de=De.dimensions,ee=de.map(function(ne){return we.coordDimToDataDim(ne)[0]});pe.each(ee,function(ne,le,oe,ce){var he;pe.hasValue(ce)?he=De.dataToPoint([ne,le,oe]):he=Pe,Ee[ce*3]=he[0],Ee[ce*3+1]=he[1],Ee[ce*3+2]=he[2]})}pe.setLayout("points",Ee)})})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(83),ye=be(234),we=be(235),De=be(16);Ce.a.registerVisual(Object(De.a)("map3D")),Ce.a.registerAction({type:"map3DChangeCamera",event:"map3dcamerachanged",update:"series:updateCamera"},function(pe,Ee){Ee.eachComponent({mainType:"series",subType:"map3D",query:pe},function(Pe){Pe.setView(pe)})})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(38),ye=be(31),we=be(32),De=be(26),pe=be(80),Ee=be(27),Pe=be(35),de=be(82);function ee(oe,ce){for(var he=[],ie=0;ie<ce.length;ie++)he.push(oe.dataToPoint(ce[ie]));return he}var ne=Ce.a.extendSeriesModel({type:"series.map3D",layoutMode:"box",coordinateSystem:null,visualColorAccessPath:"itemStyle.color",optionUpdated:function(oe){oe=oe||{};var ce=this.get("coordinateSystem");if(!(ce==null||ce==="geo3D")){var he=["left","top","width","height","boxWidth","boxDepth","boxHeight","light","viewControl","postEffect","temporalSuperSampling","environment","groundPlane"],ie=[];he.forEach(function(ue){oe[ue]!=null&&ie.push(ue)}),ie.length&&console.warn("Property %s in map3D series will be ignored if coordinate system is %s",ie.join(", "),ce),this.get("groundPlane.show")&&(this.option.groundPlane.show=!1),this._geo=null}},getInitialData:function(oe){oe.data=this.getFilledRegions(oe.data,oe.map);var ce=Ce.a.helper.completeDimensions(["value"],oe.data),he=new Ce.a.List(ce,this);he.initData(oe.data);var ie={};return he.each(function(ue){var ge=he.getName(ue),xe=he.getItemModel(ue);ie[ge]=xe}),this._regionModelMap=ie,he},formatTooltip:function(oe){return Object(Pe.a)(this,oe)},getRegionModel:function(oe){var ce=this.getData().getName(oe);return this._regionModelMap[ce]||new Ce.a.Model(null,this)},getRegionPolygonCoords:function(oe){var ce=this.coordinateSystem,he=this.getData().getName(oe);if(ce.transform){var ie=ce.getRegion(he);return ie?ie.geometries:[]}else{this._geo||(this._geo=de.a.createGeo3D(this));for(var ie=this._geo.getRegion(he),ue=[],ge=0;ge<ie.geometries.length;ge++){var xe=ie.geometries[ge],Me=[],Be=ee(ce,xe.exterior);if(Me&&Me.length)for(var Ne=0;Ne<xe.interiors.length;Ne++)Me.push(ee(ce,Me[Ne]));ue.push({interiors:Me,exterior:Be})}return ue}},getFormattedLabel:function(oe,ce){var he=Ee.a.getFormattedLabel(this,oe,ce);return he==null&&(he=this.getData().getName(oe)),he},defaultOption:{coordinateSystem:"geo3D",data:null}});Ce.a.util.merge(ne.prototype,pe.a),Ce.a.util.merge(ne.prototype,ve.a),Ce.a.util.merge(ne.prototype,ye.a),Ce.a.util.merge(ne.prototype,we.a),Ce.a.util.merge(ne.prototype,De.a);var le=ne},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(39),we=be(34),De=be(59),pe=Ce.a.extendChartView({type:"map3D",__ecgl__:!0,init:function(Ee,Pe){this._geo3DBuilder=new De.a(Pe),this.groupGL=new ve.a.Node},render:function(Ee,Pe,de){var ee=Ee.coordinateSystem;if(!(!ee||!ee.viewGL)){this.groupGL.add(this._geo3DBuilder.rootNode),ee.viewGL.add(this.groupGL);var ne;if(ee.type==="geo3D"){ne=ee,this._sceneHelper||(this._sceneHelper=new we.a,this._sceneHelper.initLight(this.groupGL)),this._sceneHelper.setScene(ee.viewGL.scene),this._sceneHelper.updateLight(Ee),ee.viewGL.setPostEffect(Ee.getModel("postEffect"),de),ee.viewGL.setTemporalSuperSampling(Ee.getModel("temporalSuperSampling"));var le=this._control;le||(le=this._control=new ye.a({zr:de.getZr()}),this._control.init());var oe=Ee.getModel("viewControl");le.setViewGL(ee.viewGL),le.setFromViewControlModel(oe,0),le.off("update"),le.on("update",function(){de.dispatchAction({type:"map3DChangeCamera",alpha:le.getAlpha(),beta:le.getBeta(),distance:le.getDistance(),from:this.uid,map3DId:Ee.id})}),this._geo3DBuilder.extrudeY=!0}else this._control&&(this._control.dispose(),this._control=null),this._sceneHelper&&(this._sceneHelper.dispose(),this._sceneHelper=null),ne=Ee.getData().getLayout("geo3D"),this._geo3DBuilder.extrudeY=!1;this._geo3DBuilder.update(Ee,Pe,de,0,Ee.getData().count());var ce=ee.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(he){he.material&&he.material[ce]("fragment","SRGB_DECODE")})}},afterRender:function(Ee,Pe,de,ee){var ne=ee.renderer,le=Ee.coordinateSystem;le&&le.type==="geo3D"&&(this._sceneHelper.updateAmbientCubemap(ne,Ee,de),this._sceneHelper.updateSkybox(ne,Ee,de))},dispose:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(237),ye=be(238),we=be(45),De=be.n(we),pe=be(16);Ce.a.registerVisual(De()("scatterGL","circle",null)),Ce.a.registerVisual(Object(pe.a)("scatterGL")),Ce.a.registerLayout({seriesType:"scatterGL",reset:function(Ee){var Pe=Ee.coordinateSystem,de;if(Pe){var ee=Pe.dimensions,ne=[];ee.length===1?de=function(le,oe){for(var ce=new Float32Array((le.end-le.start)*2),he=le.start;he<le.end;he++){var ie=(he-le.start)*2,ue=oe.get(ee[0],he),ge=Pe.dataToPoint(ue);ce[ie]=ge[0],ce[ie+1]=ge[1]}oe.setLayout("points",ce)}:ee.length===2&&(de=function(le,oe){for(var ce=new Float32Array((le.end-le.start)*2),he=le.start;he<le.end;he++){var ie=(he-le.start)*2,ue=oe.get(ee[0],he),ge=oe.get(ee[1],he);ne[0]=ue,ne[1]=ge,ne=Pe.dataToPoint(ne),ce[ie]=ne[0],ce[ie+1]=ne[1]}oe.setLayout("points",ce)})}return{progress:de}}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe);Ce.a.extendSeriesModel({type:"series.scatterGL",dependencies:["grid","polar","geo","singleAxis"],visualColorAccessPath:"itemStyle.color",getInitialData:function(){return Ce.a.helper.createList(this)},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,progressive:1e5,progressiveThreshold:1e5,large:!1,symbol:"circle",symbolSize:10,zoomScale:0,blendMode:"source-over",itemStyle:{opacity:.8},postEffect:{enable:!1,colorCorrection:{exposure:0,brightness:0,contrast:1,saturation:1,enable:!0}}}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(20),we=be(62),De=be(84),pe=be(3);Ce.a.extendChartView({type:"scatterGL",__ecgl__:!0,init:function(Ee,Pe){this.groupGL=new ve.a.Node,this.viewGL=new ye.a("orthographic"),this.viewGL.add(this.groupGL),this._pointsBuilderList=[],this._currentStep=0,this._sizeScale=1,this._glViewHelper=new De.a(this.viewGL)},render:function(Ee,Pe,de){if(this.groupGL.removeAll(),this._glViewHelper.reset(Ee,de),!!Ee.getData().count()){var ee=this._pointsBuilderList[0];ee||(ee=this._pointsBuilderList[0]=new we.a(!0,de)),this._pointsBuilderList.length=1,this.groupGL.add(ee.rootNode),this._removeTransformInPoints(Ee.getData().getLayout("points")),ee.update(Ee,Pe,de),this.viewGL.setPostEffect(Ee.getModel("postEffect"),de)}},incrementalPrepareRender:function(Ee,Pe,de){this.groupGL.removeAll(),this._glViewHelper.reset(Ee,de),this._currentStep=0,this.viewGL.setPostEffect(Ee.getModel("postEffect"),de)},incrementalRender:function(Ee,Pe,de,ee){if(!(Ee.end<=Ee.start)){var ne=this._pointsBuilderList[this._currentStep];ne||(ne=new we.a(!0,ee),this._pointsBuilderList[this._currentStep]=ne),this.groupGL.add(ne.rootNode),this._removeTransformInPoints(Pe.getData().getLayout("points")),ne.setSizeScale(this._sizeScale),ne.update(Pe,de,ee,Ee.start,Ee.end),ee.getZr().refresh(),this._currentStep++}},updateTransform:function(Ee,Pe,de){if(Ee.coordinateSystem.getRoamTransform){this._glViewHelper.updateTransform(Ee,de);var ee=this._glViewHelper.getZoom(),ne=Math.max((Ee.get("zoomScale")||0)*(ee-1)+1,0);this._sizeScale=ne,this._pointsBuilderList.forEach(function(le){le.setSizeScale(ne)})}},_removeTransformInPoints:function(Ee){if(Ee)for(var Pe=[],de=0;de<Ee.length;de+=2)Pe[0]=Ee[de],Pe[1]=Ee[de+1],this._glViewHelper.removeTransformInPoint(Pe),Ee[de]=Pe[0],Ee[de+1]=Pe[1]},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(240),ye=be(246),we=be(45),De=be.n(we),pe=be(16);Ce.a.registerVisual(De()("graphGL","circle",null)),Ce.a.registerVisual(Object(pe.a)("graphGL")),Ce.a.registerVisual(function(Pe){var de={};Pe.eachSeriesByType("graphGL",function(ee){var ne=ee.getCategoriesData(),le=ee.getData(),oe={};ne.each(function(ce){var he=ne.getName(ce);oe[he]=ce;var ie=ne.getItemModel(ce),ue=ie.get("itemStyle.color")||ee.getColorFromPalette(he,de);ne.setItemVisual(ce,"color",ue)}),ne.count()&&le.each(function(ce){var he=le.getItemModel(ce),ie=he.getShallow("category");ie!=null&&(typeof ie=="string"&&(ie=oe[ie]),le.getItemVisual(ce,"color",!0)||le.setItemVisual(ce,"color",ne.getItemVisual(ie,"color")))})})}),Ce.a.registerVisual(function(Pe){Pe.eachSeriesByType("graphGL",function(de){var ee=de.getGraph(),ne=de.getEdgeData(),le="lineStyle.color".split("."),oe="lineStyle.opacity".split(".");ne.setVisual("color",de.get(le)),ne.setVisual("opacity",de.get(oe)),ne.each(function(ce){var he=ne.getItemModel(ce),ie=ee.getEdgeByIndex(ce),ue=he.get(le),ge=he.get(oe);switch(ue){case"source":ue=ie.node1.getVisual("color");break;case"target":ue=ie.node2.getVisual("color");break}ie.setVisual("color",ue),ie.setVisual("opacity",ge)})})}),Ce.a.registerAction({type:"graphGLRoam",event:"graphglroam",update:"series.graphGL:roam"},function(Pe,de){de.eachComponent({mainType:"series",query:Pe},function(ee){ee.setView(Pe)})});function Ee(){}Ce.a.registerAction({type:"graphGLStartLayout",event:"graphgllayoutstarted",update:"series.graphGL:startLayout"},Ee),Ce.a.registerAction({type:"graphGLStopLayout",event:"graphgllayoutstopped",update:"series.graphGL:stopLayout"},Ee),Ce.a.registerAction({type:"graphGLFocusNodeAdjacency",event:"graphGLFocusNodeAdjacency",update:"series.graphGL:focusNodeAdjacency"},Ee),Ce.a.registerAction({type:"graphGLUnfocusNodeAdjacency",event:"graphGLUnfocusNodeAdjacency",update:"series.graphGL:unfocusNodeAdjacency"},Ee)},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(241),ye=be(27),we=Ce.a.extendSeriesModel({type:"series.graphGL",visualColorAccessPath:"itemStyle.color",init:function(pe){we.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this._updateCategoriesData()},mergeOption:function(pe){we.superApply(this,"mergeOption",arguments),this._updateCategoriesData()},getFormattedLabel:function(pe,Ee,Pe,de){var ee=ye.a.getFormattedLabel(this,pe,Ee,Pe,de);if(ee==null){var ne=this.getData(),le=ne.dimensions[ne.dimensions.length-1];ee=ne.get(le,pe)}return ee},getInitialData:function(pe,Ee){var Pe=pe.edges||pe.links||[],de=pe.data||pe.nodes||[],ee=this;if(de&&Pe)return Object(ve.a)(de,Pe,this,!0,ne).data;function ne(le,oe){le.wrapMethod("getItemModel",function(ue){var ge=ee._categoriesModels,xe=ue.getShallow("category"),Me=ge[xe];return Me&&(Me.parentModel=ue.parentModel,ue.parentModel=Me),ue});var ce=ee.getModel("edgeLabel"),he=new Ce.a.Model({label:ce.option},ce.parentModel,Ee);oe.wrapMethod("getItemModel",function(ue){return ue.customizeGetParent(ie),ue});function ie(ue){return ue=this.parsePath(ue),ue&&ue[0]==="label"?he:this.parentModel}}},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(pe,Ee,Pe){if(Pe==="edge"){var de=this.getData(),ee=this.getDataParams(pe,Pe),ne=de.graph.getEdgeByIndex(pe),le=de.getName(ne.node1.dataIndex),oe=de.getName(ne.node2.dataIndex),ce=[];return le!=null&&ce.push(le),oe!=null&&ce.push(oe),ce=Ce.a.format.encodeHTML(ce.join(" > ")),ee.value&&(ce+=" : "+Ce.a.format.encodeHTML(ee.value)),ce}else return we.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var pe=(this.option.categories||[]).map(function(Pe){return Pe.value!=null?Pe:Ce.a.util.extend({value:0},Pe)}),Ee=new Ce.a.List(["value"],this);Ee.initData(pe),this._categoriesData=Ee,this._categoriesModels=Ee.mapArray(function(Pe){return Ee.getItemModel(Pe,!0)})},setView:function(pe){pe.zoom!=null&&(this.option.zoom=pe.zoom),pe.offset!=null&&(this.option.offset=pe.offset)},setNodePosition:function(pe){for(var Ee=0;Ee<pe.length/2;Ee++){var Pe=pe[Ee*2],de=pe[Ee*2+1],ee=this.getData().getRawDataItem(Ee);ee.x=Pe,ee.y=de}},isAnimationEnabled:function(){return we.superCall(this,"isAnimationEnabled")&&!(this.get("layout")==="force"&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:10,z:2,legendHoverLink:!0,layout:"forceAtlas2",forceAtlas2:{initLayout:null,GPU:!0,steps:1,maxSteps:1e3,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,edgeWeightInfluence:1,edgeWeight:[1,4],nodeWeight:[1,4],preventOverlap:!1,gravityCenter:null},focusNodeAdjacency:!0,focusNodeAdjacencyOn:"mouseover",left:"center",top:"center",symbol:"circle",symbolSize:5,roam:!1,center:null,zoom:1,label:{show:!1,formatter:"{b}",position:"right",distance:5,textStyle:{fontSize:14}},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{label:{show:!0}},animation:!1}}),De=we},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(242),ye=be.n(ve),we=be(245),De=be.n(we),pe=be(3);Re.a=function(Ee,Pe,de,ee,ne){for(var le=new ye.a(ee),oe=0;oe<Ee.length;oe++)le.addNode(pe.a.firstNotNull(Ee[oe].id,Ee[oe].name,oe),oe);for(var ce=[],he=[],ie=0,oe=0;oe<Pe.length;oe++){var ue=Pe[oe],ge=ue.source,xe=ue.target;le.addEdge(ge,xe,ie)&&(he.push(ue),ce.push(pe.a.firstNotNull(ue.id,ge+" > "+xe)),ie++)}var Me,Be=Ce.a.helper.completeDimensions(["value"],Ee);Me=new Ce.a.List(Be,de),Me.initData(Ee);var Ne=new Ce.a.List(["value"],de);return Ne.initData(he,ce),ne&&ne(Me,Ne),De()({mainData:Me,struct:le,structAttr:"graph",datas:{node:Me,edge:Ne},datasAttr:{node:"data",edge:"edgeData"}}),le.update(),le}},function(Ve,Re,be){var Fe=be(85),Ce=Fe.__DEV__,ve=be(12),ye=be(244),we=ye.enableClassCheck;function De(le){return"_EC_"+le}var pe=function(le){this._directed=le||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},Ee=pe.prototype;Ee.type="graph",Ee.isDirected=function(){return this._directed},Ee.addNode=function(le,oe){le=le||""+oe;var ce=this._nodesMap;if(!ce[De(le)]){var he=new Pe(le,oe);return he.hostGraph=this,this.nodes.push(he),ce[De(le)]=he,he}},Ee.getNodeByIndex=function(le){var oe=this.data.getRawIndex(le);return this.nodes[oe]},Ee.getNodeById=function(le){return this._nodesMap[De(le)]},Ee.addEdge=function(le,oe,ce){var he=this._nodesMap,ie=this._edgesMap;if(typeof le=="number"&&(le=this.nodes[le]),typeof oe=="number"&&(oe=this.nodes[oe]),Pe.isInstance(le)||(le=he[De(le)]),Pe.isInstance(oe)||(oe=he[De(oe)]),!(!le||!oe)){var ue=le.id+"-"+oe.id;if(!ie[ue]){var ge=new de(le,oe,ce);return ge.hostGraph=this,this._directed&&(le.outEdges.push(ge),oe.inEdges.push(ge)),le.edges.push(ge),le!==oe&&oe.edges.push(ge),this.edges.push(ge),ie[ue]=ge,ge}}},Ee.getEdgeByIndex=function(le){var oe=this.edgeData.getRawIndex(le);return this.edges[oe]},Ee.getEdge=function(le,oe){Pe.isInstance(le)&&(le=le.id),Pe.isInstance(oe)&&(oe=oe.id);var ce=this._edgesMap;return this._directed?ce[le+"-"+oe]:ce[le+"-"+oe]||ce[oe+"-"+le]},Ee.eachNode=function(le,oe){for(var ce=this.nodes,he=ce.length,ie=0;ie<he;ie++)ce[ie].dataIndex>=0&&le.call(oe,ce[ie],ie)},Ee.eachEdge=function(le,oe){for(var ce=this.edges,he=ce.length,ie=0;ie<he;ie++)ce[ie].dataIndex>=0&&ce[ie].node1.dataIndex>=0&&ce[ie].node2.dataIndex>=0&&le.call(oe,ce[ie],ie)},Ee.breadthFirstTraverse=function(le,oe,ce,he){if(Pe.isInstance(oe)||(oe=this._nodesMap[De(oe)]),!!oe){for(var ie=ce==="out"?"outEdges":ce==="in"?"inEdges":"edges",ue=0;ue<this.nodes.length;ue++)this.nodes[ue].__visited=!1;if(!le.call(he,oe,null))for(var ge=[oe];ge.length;)for(var xe=ge.shift(),Me=xe[ie],ue=0;ue<Me.length;ue++){var Be=Me[ue],Ne=Be.node1===xe?Be.node2:Be.node1;if(!Ne.__visited){if(le.call(he,Ne,xe))return;ge.push(Ne),Ne.__visited=!0}}}},Ee.update=function(){for(var le=this.data,oe=this.edgeData,ce=this.nodes,he=this.edges,ie=0,ue=ce.length;ie<ue;ie++)ce[ie].dataIndex=-1;for(var ie=0,ue=le.count();ie<ue;ie++)ce[le.getRawIndex(ie)].dataIndex=ie;oe.filterSelf(function(ge){var xe=he[oe.getRawIndex(ge)];return xe.node1.dataIndex>=0&&xe.node2.dataIndex>=0});for(var ie=0,ue=he.length;ie<ue;ie++)he[ie].dataIndex=-1;for(var ie=0,ue=oe.count();ie<ue;ie++)he[oe.getRawIndex(ie)].dataIndex=ie},Ee.clone=function(){for(var le=new pe(this._directed),oe=this.nodes,ce=this.edges,he=0;he<oe.length;he++)le.addNode(oe[he].id,oe[he].dataIndex);for(var he=0;he<ce.length;he++){var ie=ce[he];le.addEdge(ie.node1.id,ie.node2.id,ie.dataIndex)}return le};function Pe(le,oe){this.id=le==null?"":le,this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=oe==null?-1:oe}Pe.prototype={constructor:Pe,degree:function(){return this.edges.length},inDegree:function(){return this.inEdges.length},outDegree:function(){return this.outEdges.length},getModel:function(le){if(!(this.dataIndex<0)){var oe=this.hostGraph,ce=oe.data.getItemModel(this.dataIndex);return ce.getModel(le)}}};function de(le,oe,ce){this.node1=le,this.node2=oe,this.dataIndex=ce==null?-1:ce}de.prototype.getModel=function(le){if(!(this.dataIndex<0)){var oe=this.hostGraph,ce=oe.edgeData.getItemModel(this.dataIndex);return ce.getModel(le)}};var ee=function(le,oe){return{getValue:function(ce){var he=this[le][oe];return he.get(he.getDimension(ce||"value"),this.dataIndex)},setVisual:function(ce,he){this.dataIndex>=0&&this[le][oe].setItemVisual(this.dataIndex,ce,he)},getVisual:function(ce,he){return this[le][oe].getItemVisual(this.dataIndex,ce,he)},setLayout:function(ce,he){this.dataIndex>=0&&this[le][oe].setItemLayout(this.dataIndex,ce,he)},getLayout:function(){return this[le][oe].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[le][oe].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[le][oe].getRawIndex(this.dataIndex)}}};ve.mixin(Pe,ee("hostGraph","data")),ve.mixin(de,ee("hostGraph","edgeData")),pe.Node=Pe,pe.Edge=de,we(Pe),we(de);var ne=pe;Ve.exports=ne},function(Ve,Re){var be;be=function(){return this}();try{be=be||Function("return this")()||(0,eval)("this")}catch(Fe){typeof window=="object"&&(be=window)}Ve.exports=be},function(Ve,Re,be){var Fe=be(85),Ce=Fe.__DEV__,ve=be(12),ye=".",we="___EC__COMPONENT__CONTAINER___";function De(ce){var he={main:"",sub:""};return ce&&(ce=ce.split(ye),he.main=ce[0]||"",he.sub=ce[1]||""),he}function pe(ce){ve.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(ce),'componentType "'+ce+'" illegal')}function Ee(ce,he){ce.$constructor=ce,ce.extend=function(ie){var ue=this,ge=function(){ie.$constructor?ie.$constructor.apply(this,arguments):ue.apply(this,arguments)};return ve.extend(ge.prototype,ie),ge.extend=this.extend,ge.superCall=ee,ge.superApply=ne,ve.inherits(ge,this),ge.superClass=ue,ge}}var Pe=0;function de(ce){var he=["__\0is_clz",Pe++,Math.random().toFixed(3)].join("_");ce.prototype[he]=!0,ce.isInstance=function(ie){return!!(ie&&ie[he])}}function ee(ce,he){var ie=ve.slice(arguments,2);return this.superClass.prototype[he].apply(ce,ie)}function ne(ce,he,ie){return this.superClass.prototype[he].apply(ce,ie)}function le(ce,he){he=he||{};var ie={};ce.registerClass=function(xe,Me){if(Me){if(pe(Me),Me=De(Me),!Me.sub)ie[Me.main]=xe;else if(Me.sub!==we){var Be=ue(Me);Be[Me.sub]=xe}}return xe},ce.getClass=function(xe,Me,Be){var Ne=ie[xe];if(Ne&&Ne[we]&&(Ne=Me?Ne[Me]:null),Be&&!Ne)throw new Error(Me?"Component "+xe+"."+(Me||"")+" not exists. Load it first.":xe+".type should be specified.");return Ne},ce.getClassesByMainType=function(xe){xe=De(xe);var Me=[],Be=ie[xe.main];return Be&&Be[we]?ve.each(Be,function(Ne,Ue){Ue!==we&&Me.push(Ne)}):Me.push(Be),Me},ce.hasClass=function(xe){return xe=De(xe),!!ie[xe.main]},ce.getAllClassMainTypes=function(){var xe=[];return ve.each(ie,function(Me,Be){xe.push(Be)}),xe},ce.hasSubTypes=function(xe){xe=De(xe);var Me=ie[xe.main];return Me&&Me[we]},ce.parseClassType=De;function ue(xe){var Me=ie[xe.main];return(!Me||!Me[we])&&(Me=ie[xe.main]={},Me[we]=!0),Me}if(he.registerWhenExtend){var ge=ce.extend;ge&&(ce.extend=function(xe){var Me=ge.call(this,xe);return ce.registerClass(Me,xe.type)})}return ce}function oe(ce,he){}Re.parseClassType=De,Re.enableClassExtend=Ee,Re.enableClassCheck=de,Re.enableClassManagement=le,Re.setReadOnly=oe},function(Ve,Re,be){var Fe=be(12),Ce=Fe.each,ve="\0__link_datas",ye="\0__link_mainData";function we(oe){var ce=oe.mainData,he=oe.datas;he||(he={main:ce},oe.datasAttr={main:"data"}),oe.datas=oe.mainData=null,ee(ce,he,oe),Ce(he,function(ie){Ce(ce.TRANSFERABLE_METHODS,function(ue){ie.wrapMethod(ue,Fe.curry(De,oe))})}),ce.wrapMethod("cloneShallow",Fe.curry(Ee,oe)),Ce(ce.CHANGABLE_METHODS,function(ie){ce.wrapMethod(ie,Fe.curry(pe,oe))}),Fe.assert(he[ce.dataType]===ce)}function De(oe,ce){if(de(this)){var he=Fe.extend({},this[ve]);he[this.dataType]=ce,ee(ce,he,oe)}else ne(ce,this.dataType,this[ye],oe);return ce}function pe(oe,ce){return oe.struct&&oe.struct.update(this),ce}function Ee(oe,ce){return Ce(ce[ve],function(he,ie){he!==ce&&ne(he.cloneShallow(),ie,ce,oe)}),ce}function Pe(oe){var ce=this[ye];return oe==null||ce==null?ce:ce[ve][oe]}function de(oe){return oe[ye]===oe}function ee(oe,ce,he){oe[ve]={},Ce(ce,function(ie,ue){ne(ie,ue,oe,he)})}function ne(oe,ce,he,ie){he[ve][ce]=oe,oe[ye]=he,oe.dataType=ce,ie.struct&&(oe[ie.structAttr]=ie.struct,ie.struct[ie.datasAttr[ce]]=oe),oe.getLinkedData=Pe}var le=we;Ve.exports=le},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(41),ye=be.n(ve),we=be(2),De=be(20),pe=be(86),Ee=be(3),Pe=be(247),de=be(249),ee=be(65),ne=be.n(ee),le=be(1),oe=be.n(le),ce=be(251),he=be(62),ie=be(252),ue=oe.a.vec2;we.a.Shader.import(ie.a);var ge=1;Ce.a.extendChartView({type:"graphGL",__ecgl__:!0,init:function(xe,Me){this.groupGL=new we.a.Node,this.viewGL=new De.a("orthographic"),this.viewGL.camera.left=this.viewGL.camera.right=0,this.viewGL.add(this.groupGL),this._pointsBuilder=new he.a(!0,Me),this._forceEdgesMesh=new we.a.Mesh({material:new we.a.Material({shader:we.a.createShader("ecgl.forceAtlas2.edges"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new we.a.Geometry({attributes:{node:new we.a.Geometry.Attribute("node","float",2),color:new we.a.Geometry.Attribute("color","float",4,"COLOR")},dynamic:!0,mainAttribute:"node"}),renderOrder:-1,mode:we.a.Mesh.LINES}),this._edgesMesh=new we.a.Mesh({material:new we.a.Material({shader:we.a.createShader("ecgl.meshLines2D"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new pe.a({useNativeLine:!1,dynamic:!0}),renderOrder:-1,culling:!1}),this._layoutId=0,this._control=new ce.a({zr:Me.getZr(),viewGL:this.viewGL}),this._control.setTarget(this.groupGL),this._control.init(),this._clickHandler=this._clickHandler.bind(this)},render:function(xe,Me,Be){this.groupGL.add(this._pointsBuilder.rootNode),this._model=xe,this._api=Be,this._initLayout(xe,Me,Be),this._pointsBuilder.update(xe,Me,Be),this._forceLayoutInstance instanceof Pe.a||this.groupGL.remove(this._forceEdgesMesh),this._updateCamera(xe,Be),this._control.off("update"),this._control.on("update",function(){Be.dispatchAction({type:"graphGLRoam",seriesId:xe.id,zoom:this._control.getZoom(),offset:this._control.getOffset()}),this._pointsBuilder.updateView(this.viewGL.camera)},this),this._control.setZoom(Ee.a.firstNotNull(xe.get("zoom"),1)),this._control.setOffset(xe.get("offset")||[0,0]);var Ne=this._pointsBuilder.getPointsMesh();if(Ne.off("mousemove",this._mousemoveHandler),Ne.off("mouseout",this._mouseOutHandler,this),Be.getZr().off("click",this._clickHandler),this._pointsBuilder.highlightOnMouseover=!0,xe.get("focusNodeAdjacency")){var Ue=xe.get("focusNodeAdjacencyOn");Ue==="click"?Be.getZr().on("click",this._clickHandler):Ue==="mouseover"?(Ne.on("mousemove",this._mousemoveHandler,this),Ne.on("mouseout",this._mouseOutHandler,this),this._pointsBuilder.highlightOnMouseover=!1):console.warn("Unkown focusNodeAdjacencyOn value s"+Ue)}this._lastMouseOverDataIndex=-1},_clickHandler:function(xe){if(!this._layouting){var Me=this._pointsBuilder.getPointsMesh().dataIndex;Me>=0?this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:Me}):this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id})}},_mousemoveHandler:function(xe){if(!this._layouting){var Me=this._pointsBuilder.getPointsMesh().dataIndex;Me>=0?Me!==this._lastMouseOverDataIndex&&this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:Me}):this._mouseOutHandler(xe),this._lastMouseOverDataIndex=Me}},_mouseOutHandler:function(xe){this._layouting||(this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id}),this._lastMouseOverDataIndex=-1)},_updateForceEdgesGeometry:function(xe,Me){var Be=this._forceEdgesMesh.geometry,Ne=Me.getEdgeData(),Ue=0,Ge=this._forceLayoutInstance,Xe=Ne.count()*2;Be.attributes.node.init(Xe),Be.attributes.color.init(Xe),Ne.each(function(Ye){var nt=xe[Ye];Be.attributes.node.set(Ue,Ge.getNodeUV(nt.node1)),Be.attributes.node.set(Ue+1,Ge.getNodeUV(nt.node2));var $e=Ne.getItemVisual(nt.dataIndex,"color"),qe=we.a.parseColor($e);qe[3]*=Ee.a.firstNotNull(Ne.getItemVisual(nt.dataIndex,"opacity"),1),Be.attributes.color.set(Ue,qe),Be.attributes.color.set(Ue+1,qe),Ue+=2}),Be.dirty()},_updateMeshLinesGeometry:function(){var Me=this._model.getEdgeData(),xe=this._edgesMesh.geometry,Me=this._model.getEdgeData(),Be=this._model.getData().getLayout("points");xe.resetOffset(),xe.setVertexCount(Me.count()*xe.getLineVertexCount()),xe.setTriangleCount(Me.count()*xe.getLineTriangleCount());var Ne=[],Ue=[],Ge=["lineStyle","width"];this._originalEdgeColors=new Float32Array(Me.count()*4),this._edgeIndicesMap=new Float32Array(Me.count()),Me.each(function(Xe){var Ye=Me.graph.getEdgeByIndex(Xe),nt=Ye.node1.dataIndex*2,$e=Ye.node2.dataIndex*2;Ne[0]=Be[nt],Ne[1]=Be[nt+1],Ue[0]=Be[$e],Ue[1]=Be[$e+1];var qe=Me.getItemVisual(Ye.dataIndex,"color"),st=we.a.parseColor(qe);st[3]*=Ee.a.firstNotNull(Me.getItemVisual(Ye.dataIndex,"opacity"),1);var rt=Me.getItemModel(Ye.dataIndex),ct=Ee.a.firstNotNull(rt.get(Ge),1)*this._api.getDevicePixelRatio();xe.addLine(Ne,Ue,st,ct);for(var tt=0;tt<4;tt++)this._originalEdgeColors[Ye.dataIndex*4+tt]=st[tt];this._edgeIndicesMap[Ye.dataIndex]=Xe},!1,this),xe.dirty()},_updateForceNodesGeometry:function(xe){for(var Me=this._pointsBuilder.getPointsMesh(),Be=[],Ne=0;Ne<xe.count();Ne++)this._forceLayoutInstance.getNodeUV(Ne,Be),Me.geometry.attributes.position.set(Ne,Be);Me.geometry.dirty("position")},_initLayout:function(xe,Me,Be){var Ne=xe.get("layout"),Ue=xe.getGraph(),Ge=xe.getBoxLayoutParams(),Xe=ye.a.getLayoutRect(Ge,{width:Be.getWidth(),height:Be.getHeight()});Ne==="force"&&(console.warn("Currently only forceAtlas2 layout supported."),Ne="forceAtlas2"),this.stopLayout(xe,Me,Be,{beforeLayout:!0});var Ye=xe.getData(),nt=xe.getData();if(Ne==="forceAtlas2"){var $e=xe.getModel("forceAtlas2"),qe=this._forceLayoutInstance,st=[],rt=[],ct=Ye.getDataExtent("value"),tt=nt.getDataExtent("value"),dt=Ee.a.firstNotNull($e.get("edgeWeight"),1),At=Ee.a.firstNotNull($e.get("nodeWeight"),1);typeof dt=="number"&&(dt=[dt,dt]),typeof At=="number"&&(At=[At,At]);var mt=0,ht={},vt=new Float32Array(Ye.count()*2);if(Ue.eachNode(function(Jt){var en=Jt.dataIndex,mn=Ye.get("value",en),Ot,an;if(Ye.hasItemOption){var tn=Ye.getItemModel(en);Ot=tn.get("x"),an=tn.get("y")}Ot==null&&(Ot=Xe.x+Math.random()*Xe.width,an=Xe.y+Math.random()*Xe.height),vt[mt*2]=Ot,vt[mt*2+1]=an,ht[Jt.id]=mt++;var Dn=Ce.a.number.linearMap(mn,ct,At);isNaN(Dn)&&(isNaN(At[0])?Dn=1:Dn=At[0]),st.push({x:Ot,y:an,mass:Dn,size:Ye.getItemVisual(en,"symbolSize")})}),Ye.setLayout("points",vt),Ue.eachEdge(function(Jt){var en=Jt.dataIndex,mn=Ye.get("value",en),Ot=Ce.a.number.linearMap(mn,tt,dt);isNaN(Ot)&&(isNaN(dt[0])?Ot=1:Ot=dt[0]),rt.push({node1:ht[Jt.node1.id],node2:ht[Jt.node2.id],weight:Ot,dataIndex:en})}),!qe){var Wt=$e.get("GPU");this._forceLayoutInstance&&(Wt&&!(this._forceLayoutInstance instanceof Pe.a)||!Wt&&!(this._forceLayoutInstance instanceof de.a))&&(this._forceLayoutInstanceToDispose=this._forceLayoutInstance),qe=this._forceLayoutInstance=Wt?new Pe.a:new de.a}qe.initData(st,rt),qe.updateOption($e.option),this._updateForceEdgesGeometry(qe.getEdges(),xe),this._updatePositionTexture(),Be.dispatchAction({type:"graphGLStartLayout",from:this.uid})}else{var vt=new Float32Array(Ye.count()*2),mt=0;Ue.eachNode(function(mn){var Ot=mn.dataIndex,an,tn;if(Ye.hasItemOption){var Dn=Ye.getItemModel(Ot);an=Dn.get("x"),tn=Dn.get("y")}vt[mt++]=an,vt[mt++]=tn}),Ye.setLayout("points",vt),this._updateAfterLayout(xe,Me,Be)}},_updatePositionTexture:function(){var xe=this._forceLayoutInstance.getNodePositionTexture();this._pointsBuilder.setPositionTexture(xe),this._forceEdgesMesh.material.set("positionTex",xe)},startLayout:function(xe,Me,Ge,Ne){if(!(Ne&&Ne.from!=null&&Ne.from!==this.uid)){var Ue=this.viewGL,Ge=this._api,Xe=this._forceLayoutInstance,Ye=this._model.getData(),nt=this._model.getModel("forceAtlas2");if(!Xe){console.error("None layout don't have startLayout action");return}if(this.groupGL.remove(this._edgesMesh),this.groupGL.add(this._forceEdgesMesh),!!this._forceLayoutInstance){this._updateForceNodesGeometry(xe.getData()),this._pointsBuilder.hideLabels();var $e=this,qe=this._layoutId=ge++,st=nt.getShallow("maxSteps"),rt=nt.getShallow("steps"),ct=0,tt=Math.max(rt*2,20),dt=function(At){if(At===$e._layoutId){if(Xe.isFinished(st)){Ge.dispatchAction({type:"graphGLStopLayout",from:$e.uid}),Ge.dispatchAction({type:"graphGLFinishLayout",points:Ye.getLayout("points"),from:$e.uid});return}Xe.update(Ue.layer.renderer,rt,function(){$e._updatePositionTexture(),ct+=rt,ct>=tt&&($e._syncNodePosition(xe),ct=0),Ge.getZr().refresh(),ne()(function(){dt(At)})})}};ne()(function(){$e._forceLayoutInstanceToDispose&&($e._forceLayoutInstanceToDispose.dispose(Ue.layer.renderer),$e._forceLayoutInstanceToDispose=null),dt(qe)}),this._layouting=!0}}},stopLayout:function(xe,Me,Be,Ne){Ne&&Ne.from!=null&&Ne.from!==this.uid||(this._layoutId=0,this.groupGL.remove(this._forceEdgesMesh),this.groupGL.add(this._edgesMesh),this._forceLayoutInstance&&this.viewGL.layer&&(Ne&&Ne.beforeLayout||(this._syncNodePosition(xe),this._updateAfterLayout(xe,Me,Be)),this._api.getZr().refresh(),this._layouting=!1))},_syncNodePosition:function(xe){var Me=this._forceLayoutInstance.getNodePosition(this.viewGL.layer.renderer);xe.getData().setLayout("points",Me),xe.setNodePosition(Me)},_updateAfterLayout:function(xe,Me,Be){this._updateMeshLinesGeometry(),this._pointsBuilder.removePositionTexture(),this._pointsBuilder.updateLayout(xe,Me,Be),this._pointsBuilder.updateView(this.viewGL.camera),this._pointsBuilder.updateLabels(),this._pointsBuilder.showLabels()},focusNodeAdjacency:function(xe,Me,Be,Ne){var Ue=this._model.getData();this._downplayAll();var Ge=Ne.dataIndex,Xe=Ue.graph,Ye=[],nt=Xe.getNodeByIndex(Ge);Ye.push(nt),nt.edges.forEach(function(qe){qe.dataIndex<0||(qe.node1!==nt&&Ye.push(qe.node1),qe.node2!==nt&&Ye.push(qe.node2))},this),this._pointsBuilder.fadeOutAll(.05),this._fadeOutEdgesAll(.05),Ye.forEach(function(qe){this._pointsBuilder.highlight(Ue,qe.dataIndex)},this),this._pointsBuilder.updateLabels(Ye.map(function(qe){return qe.dataIndex}));var $e=[];nt.edges.forEach(function(qe){qe.dataIndex>=0&&(this._highlightEdge(qe.dataIndex),$e.push(qe))},this),this._focusNodes=Ye,this._focusEdges=$e},unfocusNodeAdjacency:function(xe,Me,Be,Ne){this._downplayAll(),this._pointsBuilder.fadeInAll(),this._fadeInEdgesAll(),this._pointsBuilder.updateLabels()},_highlightEdge:function(xe){var Me=this._model.getEdgeData().getItemModel(xe),Be=we.a.parseColor(Me.get("emphasis.lineStyle.color")||Me.get("lineStyle.color")),Ne=Ee.a.firstNotNull(Me.get("emphasis.lineStyle.opacity"),Me.get("lineStyle.opacity"),1);Be[3]*=Ne,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[xe],Be)},_downplayAll:function(){this._focusNodes&&this._focusNodes.forEach(function(xe){this._pointsBuilder.downplay(this._model.getData(),xe.dataIndex)},this),this._focusEdges&&this._focusEdges.forEach(function(xe){this._downplayEdge(xe.dataIndex)},this)},_downplayEdge:function(xe){var Me=this._getColor(xe,[]);this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[xe],Me)},_setEdgeFade:function(){var xe=[];return function(Me,Be){this._getColor(Me,xe),xe[3]*=Be,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[Me],xe)}}(),_getColor:function(xe,Me){for(var Be=0;Be<4;Be++)Me[Be]=this._originalEdgeColors[xe*4+Be];return Me},_fadeOutEdgesAll:function(xe){var Me=this._model.getData().graph;Me.eachEdge(function(Be){this._setEdgeFade(Be.dataIndex,xe)},this)},_fadeInEdgesAll:function(){this._fadeOutEdgesAll(1)},_updateCamera:function(xe,Me){this.viewGL.setViewport(0,0,Me.getWidth(),Me.getHeight(),Me.getDevicePixelRatio());for(var Be=this.viewGL.camera,Ne=xe.getData(),Ue=Ne.getLayout("points"),Ge=ue.create(1/0,1/0),Xe=ue.create(-1/0,-1/0),Ye=[],nt=0;nt<Ue.length;)Ye[0]=Ue[nt++],Ye[1]=Ue[nt++],ue.min(Ge,Ge,Ye),ue.max(Xe,Xe,Ye);var $e=(Xe[1]+Ge[1])/2,qe=(Xe[0]+Ge[0])/2;if(!(qe>Be.left&&qe<Be.right&&$e<Be.bottom&&$e>Be.top)){var st=Math.max(Xe[0]-Ge[0],10),rt=st/Me.getWidth()*Me.getHeight();st*=1.4,rt*=1.4,Ge[0]-=st*.2,Be.left=Ge[0],Be.top=$e-rt/2,Be.bottom=$e+rt/2,Be.right=st+Ge[0],Be.near=0,Be.far=100}},dispose:function(){var xe=this.viewGL.layer.renderer;this._forceLayoutInstance&&this._forceLayoutInstance.dispose(xe),this.groupGL.removeAll(),this._layoutId=-1},remove:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(14),we=be(10),De=be(248);ve.a.Shader.import(De.a);var pe={repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null};function Ee(Pe){var de={type:ve.a.Texture.FLOAT,minFilter:ve.a.Texture.NEAREST,magFilter:ve.a.Texture.NEAREST};this._positionSourceTex=new ve.a.Texture2D(de),this._positionSourceTex.flipY=!1,this._positionTex=new ve.a.Texture2D(de),this._positionPrevTex=new ve.a.Texture2D(de),this._forceTex=new ve.a.Texture2D(de),this._forcePrevTex=new ve.a.Texture2D(de),this._weightedSumTex=new ve.a.Texture2D(de),this._weightedSumTex.width=this._weightedSumTex.height=1,this._globalSpeedTex=new ve.a.Texture2D(de),this._globalSpeedPrevTex=new ve.a.Texture2D(de),this._globalSpeedTex.width=this._globalSpeedTex.height=1,this._globalSpeedPrevTex.width=this._globalSpeedPrevTex.height=1,this._nodeRepulsionPass=new ye.a({fragment:ve.a.Shader.source("ecgl.forceAtlas2.updateNodeRepulsion")}),this._positionPass=new ye.a({fragment:ve.a.Shader.source("ecgl.forceAtlas2.updatePosition")}),this._globalSpeedPass=new ye.a({fragment:ve.a.Shader.source("ecgl.forceAtlas2.calcGlobalSpeed")}),this._copyPass=new ye.a({fragment:ve.a.Shader.source("clay.compositor.output")});var ee=function(ne){ne.blendEquation(ne.FUNC_ADD),ne.blendFunc(ne.ONE,ne.ONE)};this._edgeForceMesh=new ve.a.Mesh({geometry:new ve.a.Geometry({attributes:{node1:new ve.a.Geometry.Attribute("node1","float",2),node2:new ve.a.Geometry.Attribute("node2","float",2),weight:new ve.a.Geometry.Attribute("weight","float",1)},dynamic:!0,mainAttribute:"node1"}),material:new ve.a.Material({transparent:!0,shader:ve.a.createShader("ecgl.forceAtlas2.updateEdgeAttraction"),blend:ee,depthMask:!1,depthText:!1}),mode:ve.a.Mesh.POINTS}),this._weightedSumMesh=new ve.a.Mesh({geometry:new ve.a.Geometry({attributes:{node:new ve.a.Geometry.Attribute("node","float",2)},dynamic:!0,mainAttribute:"node"}),material:new ve.a.Material({transparent:!0,shader:ve.a.createShader("ecgl.forceAtlas2.calcWeightedSum"),blend:ee,depthMask:!1,depthText:!1}),mode:ve.a.Mesh.POINTS}),this._framebuffer=new we.a({depthBuffer:!1}),this._dummyCamera=new ve.a.OrthographicCamera({left:-1,right:1,top:1,bottom:-1,near:0,far:100}),this._globalSpeed=0}Ee.prototype.updateOption=function(Pe){for(var de in pe)this[de]=pe[de];var ee=this._nodes.length;if(ee>5e4?this.jitterTolerence=10:ee>5e3?this.jitterTolerence=1:this.jitterTolerence=.1,ee>100?this.scaling=2:this.scaling=10,Pe)for(var de in pe)Pe[de]!=null&&(this[de]=Pe[de]);if(this.repulsionByDegree)for(var ne=this._positionSourceTex.pixels,le=0;le<this._nodes.length;le++)ne[le*4+2]=(this._nodes[le].degree||0)+1},Ee.prototype._updateGravityCenter=function(Pe){var de=this._nodes,ee=this._edges;if(this.gravityCenter)this._gravityCenter=this.gravityCenter;else{for(var ne=[1/0,1/0],le=[-1/0,-1/0],oe=0;oe<de.length;oe++)ne[0]=Math.min(de[oe].x,ne[0]),ne[1]=Math.min(de[oe].y,ne[1]),le[0]=Math.max(de[oe].x,le[0]),le[1]=Math.max(de[oe].y,le[1]);this._gravityCenter=[(ne[0]+le[0])*.5,(ne[1]+le[1])*.5]}for(var oe=0;oe<ee.length;oe++){var ce=ee[oe].node1,he=ee[oe].node2;de[ce].degree=(de[ce].degree||0)+1,de[he].degree=(de[he].degree||0)+1}},Ee.prototype.initData=function(Pe,de){this._nodes=Pe,this._edges=de,this._updateGravityCenter();var ee=Math.ceil(Math.sqrt(Pe.length)),ne=ee,le=new Float32Array(ee*ne*4);this._resize(ee,ne);for(var oe=0,ce=0;ce<Pe.length;ce++){var he=Pe[ce];le[oe++]=he.x||0,le[oe++]=he.y||0,le[oe++]=he.mass||1,le[oe++]=he.size||1}this._positionSourceTex.pixels=le;var ie=this._edgeForceMesh.geometry,ue=de.length;ie.attributes.node1.init(ue*2),ie.attributes.node2.init(ue*2),ie.attributes.weight.init(ue*2);for(var ge=[],ce=0;ce<de.length;ce++){var xe=ie.attributes,Me=de[ce].weight;Me==null&&(Me=1),xe.node1.set(ce,this.getNodeUV(de[ce].node1,ge)),xe.node2.set(ce,this.getNodeUV(de[ce].node2,ge)),xe.weight.set(ce,Me),xe.node1.set(ce+ue,this.getNodeUV(de[ce].node2,ge)),xe.node2.set(ce+ue,this.getNodeUV(de[ce].node1,ge)),xe.weight.set(ce+ue,Me)}var Be=this._weightedSumMesh.geometry;Be.attributes.node.init(Pe.length);for(var ce=0;ce<Pe.length;ce++)Be.attributes.node.set(ce,this.getNodeUV(ce,ge));ie.dirty(),Be.dirty(),this._nodeRepulsionPass.material.define("fragment","NODE_COUNT",Pe.length),this._nodeRepulsionPass.material.setUniform("textureSize",[ee,ne]),this._inited=!1,this._frame=0},Ee.prototype.getNodes=function(){return this._nodes},Ee.prototype.getEdges=function(){return this._edges},Ee.prototype.step=function(Pe){this._inited||(this._initFromSource(Pe),this._inited=!0),this._frame++,this._framebuffer.attach(this._forceTex),this._framebuffer.bind(Pe);var de=this._nodeRepulsionPass;de.setUniform("strongGravityMode",this.strongGravityMode),de.setUniform("gravity",this.gravity),de.setUniform("gravityCenter",this._gravityCenter),de.setUniform("scaling",this.scaling),de.setUniform("preventOverlap",this.preventOverlap),de.setUniform("positionTex",this._positionPrevTex),de.render(Pe);var ee=this._edgeForceMesh;ee.material.set("linLogMode",this.linLogMode),ee.material.set("edgeWeightInfluence",this.edgeWeightInfluence),ee.material.set("preventOverlap",this.preventOverlap),ee.material.set("positionTex",this._positionPrevTex),Pe.gl.enable(Pe.gl.BLEND),Pe.renderPass([ee],this._dummyCamera),this._framebuffer.attach(this._weightedSumTex),Pe.gl.clearColor(0,0,0,0),Pe.gl.clear(Pe.gl.COLOR_BUFFER_BIT),Pe.gl.enable(Pe.gl.BLEND);var ne=this._weightedSumMesh;ne.material.set("positionTex",this._positionPrevTex),ne.material.set("forceTex",this._forceTex),ne.material.set("forcePrevTex",this._forcePrevTex),Pe.renderPass([ne],this._dummyCamera),this._framebuffer.attach(this._globalSpeedTex);var le=this._globalSpeedPass;le.setUniform("globalSpeedPrevTex",this._globalSpeedPrevTex),le.setUniform("weightedSumTex",this._weightedSumTex),le.setUniform("jitterTolerence",this.jitterTolerence),Pe.gl.disable(Pe.gl.BLEND),le.render(Pe);var oe=this._positionPass;this._framebuffer.attach(this._positionTex),oe.setUniform("globalSpeedTex",this._globalSpeedTex),oe.setUniform("positionTex",this._positionPrevTex),oe.setUniform("forceTex",this._forceTex),oe.setUniform("forcePrevTex",this._forcePrevTex),oe.render(Pe),this._framebuffer.unbind(Pe),this._swapTexture()},Ee.prototype.update=function(Pe,de,ee){de==null&&(de=1),de=Math.max(de,1);for(var ne=0;ne<de;ne++)this.step(Pe);ee&&ee()},Ee.prototype.getNodePositionTexture=function(){return this._inited?this._positionPrevTex:this._positionSourceTex},Ee.prototype.getNodeUV=function(Pe,de){de=de||[];var ee=this._positionTex.width,ne=this._positionTex.height;return de[0]=Pe%ee/(ee-1),de[1]=Math.floor(Pe/ee)/(ne-1)||0,de},Ee.prototype.getNodePosition=function(Pe,de){var ee=this._positionArr,ne=this._positionTex.width,le=this._positionTex.height,oe=ne*le;(!ee||ee.length!==oe*4)&&(ee=this._positionArr=new Float32Array(oe*4)),this._framebuffer.bind(Pe),this._framebuffer.attach(this._positionPrevTex),Pe.gl.readPixels(0,0,ne,le,Pe.gl.RGBA,Pe.gl.FLOAT,ee),this._framebuffer.unbind(Pe),de||(de=new Float32Array(this._nodes.length*2));for(var ce=0;ce<this._nodes.length;ce++)de[ce*2]=ee[ce*4],de[ce*2+1]=ee[ce*4+1];return de},Ee.prototype.getTextureData=function(Pe,de){var ee=this["_"+de+"Tex"],ne=ee.width,le=ee.height;this._framebuffer.bind(Pe),this._framebuffer.attach(ee);var oe=new Float32Array(ne*le*4);return Pe.gl.readPixels(0,0,ne,le,Pe.gl.RGBA,Pe.gl.FLOAT,oe),this._framebuffer.unbind(Pe),oe},Ee.prototype.getTextureSize=function(){return{width:this._positionTex.width,height:this._positionTex.height}},Ee.prototype.isFinished=function(Pe){return this._frame>Pe},Ee.prototype._swapTexture=function(){var Pe=this._positionPrevTex;this._positionPrevTex=this._positionTex,this._positionTex=Pe;var Pe=this._forcePrevTex;this._forcePrevTex=this._forceTex,this._forceTex=Pe;var Pe=this._globalSpeedPrevTex;this._globalSpeedPrevTex=this._globalSpeedTex,this._globalSpeedTex=Pe},Ee.prototype._initFromSource=function(Pe){this._framebuffer.attach(this._positionPrevTex),this._framebuffer.bind(Pe),this._copyPass.setUniform("texture",this._positionSourceTex),this._copyPass.render(Pe),Pe.gl.clearColor(0,0,0,0),this._framebuffer.attach(this._forcePrevTex),Pe.gl.clear(Pe.gl.COLOR_BUFFER_BIT),this._framebuffer.attach(this._globalSpeedPrevTex),Pe.gl.clear(Pe.gl.COLOR_BUFFER_BIT),this._framebuffer.unbind(Pe)},Ee.prototype._resize=function(Pe,de){["_positionSourceTex","_positionTex","_positionPrevTex","_forceTex","_forcePrevTex"].forEach(function(ee){this[ee].width=Pe,this[ee].height=de,this[ee].dirty()},this)},Ee.prototype.dispose=function(Pe){this._framebuffer.dispose(Pe),this._copyPass.dispose(Pe),this._nodeRepulsionPass.dispose(Pe),this._positionPass.dispose(Pe),this._globalSpeedPass.dispose(Pe),this._edgeForceMesh.geometry.dispose(Pe),this._weightedSumMesh.geometry.dispose(Pe),this._positionSourceTex.dispose(Pe),this._positionTex.dispose(Pe),this._positionPrevTex.dispose(Pe),this._forceTex.dispose(Pe),this._forcePrevTex.dispose(Pe),this._weightedSumTex.dispose(Pe),this._globalSpeedTex.dispose(Pe),this._globalSpeedPrevTex.dispose(Pe)},Ce.a.ForceAtlas2GPU=Ee,Re.a=Ee},function(Ve,Re,be){"use strict";Re.a=`@export ecgl.forceAtlas2.updateNodeRepulsion
|
|
|
|
|
|
#define NODE_COUNT 0
|
|
|
|
|
|
uniform sampler2D positionTex;
|
|
|
|
|
|
uniform vec2 textureSize;
|
|
|
uniform float gravity;
|
|
|
uniform float scaling;
|
|
|
uniform vec2 gravityCenter;
|
|
|
|
|
|
uniform bool strongGravityMode;
|
|
|
uniform bool preventOverlap;
|
|
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
|
|
void main() {
|
|
|
|
|
|
vec4 n0 = texture2D(positionTex, v_Texcoord);
|
|
|
|
|
|
vec2 force = vec2(0.0);
|
|
|
for (int i = 0; i < NODE_COUNT; i++) {
|
|
|
vec2 uv = vec2(
|
|
|
mod(float(i), textureSize.x) / (textureSize.x - 1.0),
|
|
|
floor(float(i) / textureSize.x) / (textureSize.y - 1.0)
|
|
|
);
|
|
|
vec4 n1 = texture2D(positionTex, uv);
|
|
|
|
|
|
vec2 dir = n0.xy - n1.xy;
|
|
|
float d2 = dot(dir, dir);
|
|
|
|
|
|
if (d2 > 0.0) {
|
|
|
float factor = 0.0;
|
|
|
if (preventOverlap) {
|
|
|
float d = sqrt(d2);
|
|
|
d = d - n0.w - n1.w;
|
|
|
if (d > 0.0) {
|
|
|
factor = scaling * n0.z * n1.z / (d * d);
|
|
|
}
|
|
|
else if (d < 0.0) {
|
|
|
factor = scaling * 100.0 * n0.z * n1.z;
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
|
factor = scaling * n0.z * n1.z / d2;
|
|
|
}
|
|
|
force += dir * factor;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
vec2 dir = gravityCenter - n0.xy;
|
|
|
float d = 1.0;
|
|
|
if (!strongGravityMode) {
|
|
|
d = length(dir);
|
|
|
}
|
|
|
|
|
|
force += dir * n0.z * gravity / (d + 1.0);
|
|
|
|
|
|
gl_FragColor = vec4(force, 0.0, 1.0);
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
@export ecgl.forceAtlas2.updateEdgeAttraction.vertex
|
|
|
|
|
|
attribute vec2 node1;
|
|
|
attribute vec2 node2;
|
|
|
attribute float weight;
|
|
|
|
|
|
uniform sampler2D positionTex;
|
|
|
uniform float edgeWeightInfluence;
|
|
|
uniform bool preventOverlap;
|
|
|
uniform bool linLogMode;
|
|
|
|
|
|
uniform vec2 windowSize: WINDOW_SIZE;
|
|
|
|
|
|
varying vec2 v_Force;
|
|
|
|
|
|
void main() {
|
|
|
|
|
|
vec4 n0 = texture2D(positionTex, node1);
|
|
|
vec4 n1 = texture2D(positionTex, node2);
|
|
|
|
|
|
vec2 dir = n1.xy - n0.xy;
|
|
|
float d = length(dir);
|
|
|
float w;
|
|
|
if (edgeWeightInfluence == 0.0) {
|
|
|
w = 1.0;
|
|
|
}
|
|
|
else if (edgeWeightInfluence == 1.0) {
|
|
|
w = weight;
|
|
|
}
|
|
|
else {
|
|
|
w = pow(weight, edgeWeightInfluence);
|
|
|
}
|
|
|
vec2 offset = vec2(1.0 / windowSize.x, 1.0 / windowSize.y);
|
|
|
vec2 scale = vec2((windowSize.x - 1.0) / windowSize.x, (windowSize.y - 1.0) / windowSize.y);
|
|
|
vec2 pos = node1 * scale * 2.0 - 1.0;
|
|
|
gl_Position = vec4(pos + offset, 0.0, 1.0);
|
|
|
gl_PointSize = 1.0;
|
|
|
|
|
|
float factor;
|
|
|
if (preventOverlap) {
|
|
|
d = d - n1.w - n0.w;
|
|
|
}
|
|
|
if (d <= 0.0) {
|
|
|
v_Force = vec2(0.0);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (linLogMode) {
|
|
|
factor = w * log(d) / d;
|
|
|
}
|
|
|
else {
|
|
|
factor = w;
|
|
|
}
|
|
|
v_Force = dir * factor;
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
@export ecgl.forceAtlas2.updateEdgeAttraction.fragment
|
|
|
|
|
|
varying vec2 v_Force;
|
|
|
|
|
|
void main() {
|
|
|
gl_FragColor = vec4(v_Force, 0.0, 0.0);
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
@export ecgl.forceAtlas2.calcWeightedSum.vertex
|
|
|
|
|
|
attribute vec2 node;
|
|
|
|
|
|
varying vec2 v_NodeUv;
|
|
|
|
|
|
void main() {
|
|
|
|
|
|
v_NodeUv = node;
|
|
|
gl_Position = vec4(0.0, 0.0, 0.0, 1.0);
|
|
|
gl_PointSize = 1.0;
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
@export ecgl.forceAtlas2.calcWeightedSum.fragment
|
|
|
|
|
|
varying vec2 v_NodeUv;
|
|
|
|
|
|
uniform sampler2D positionTex;
|
|
|
uniform sampler2D forceTex;
|
|
|
uniform sampler2D forcePrevTex;
|
|
|
|
|
|
void main() {
|
|
|
vec2 force = texture2D(forceTex, v_NodeUv).rg;
|
|
|
vec2 forcePrev = texture2D(forcePrevTex, v_NodeUv).rg;
|
|
|
|
|
|
float mass = texture2D(positionTex, v_NodeUv).z;
|
|
|
float swing = length(force - forcePrev) * mass;
|
|
|
float traction = length(force + forcePrev) * 0.5 * mass;
|
|
|
|
|
|
gl_FragColor = vec4(swing, traction, 0.0, 0.0);
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
@export ecgl.forceAtlas2.calcGlobalSpeed
|
|
|
|
|
|
uniform sampler2D globalSpeedPrevTex;
|
|
|
uniform sampler2D weightedSumTex;
|
|
|
uniform float jitterTolerence;
|
|
|
|
|
|
void main() {
|
|
|
vec2 weightedSum = texture2D(weightedSumTex, vec2(0.5)).xy;
|
|
|
float prevGlobalSpeed = texture2D(globalSpeedPrevTex, vec2(0.5)).x;
|
|
|
float globalSpeed = jitterTolerence * jitterTolerence
|
|
|
* weightedSum.y / weightedSum.x;
|
|
|
if (prevGlobalSpeed > 0.0) {
|
|
|
globalSpeed = min(globalSpeed / prevGlobalSpeed, 1.5) * prevGlobalSpeed;
|
|
|
}
|
|
|
gl_FragColor = vec4(globalSpeed, 0.0, 0.0, 1.0);
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
@export ecgl.forceAtlas2.updatePosition
|
|
|
|
|
|
uniform sampler2D forceTex;
|
|
|
uniform sampler2D forcePrevTex;
|
|
|
uniform sampler2D positionTex;
|
|
|
uniform sampler2D globalSpeedTex;
|
|
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
|
|
void main() {
|
|
|
vec2 force = texture2D(forceTex, v_Texcoord).xy;
|
|
|
vec2 forcePrev = texture2D(forcePrevTex, v_Texcoord).xy;
|
|
|
vec4 node = texture2D(positionTex, v_Texcoord);
|
|
|
|
|
|
float globalSpeed = texture2D(globalSpeedTex, vec2(0.5)).r;
|
|
|
float swing = length(force - forcePrev);
|
|
|
float speed = 0.1 * globalSpeed / (0.1 + globalSpeed * sqrt(swing));
|
|
|
|
|
|
float df = length(force);
|
|
|
if (df > 0.0) {
|
|
|
speed = min(df * speed, 10.0) / df;
|
|
|
|
|
|
gl_FragColor = vec4(node.xy + speed * force, node.zw);
|
|
|
}
|
|
|
else {
|
|
|
gl_FragColor = node;
|
|
|
}
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
@export ecgl.forceAtlas2.edges.vertex
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
|
|
|
attribute vec2 node;
|
|
|
attribute vec4 a_Color : COLOR;
|
|
|
varying vec4 v_Color;
|
|
|
|
|
|
uniform sampler2D positionTex;
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
gl_Position = worldViewProjection * vec4(
|
|
|
texture2D(positionTex, node).xy, -10.0, 1.0
|
|
|
);
|
|
|
v_Color = a_Color;
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
@export ecgl.forceAtlas2.edges.fragment
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
varying vec4 v_Color;
|
|
|
void main() {
|
|
|
gl_FragColor = color * v_Color;
|
|
|
}
|
|
|
@end`},function(Ve,Re,be){"use strict";var Fe=be(5),Ce=be(6),ve=be(250),ye=ve.a.toString();ye=ye.slice(ye.indexOf("{")+1,ye.lastIndexOf("}"));var we={barnesHutOptimize:!0,barnesHutTheta:1.5,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null},De=function(pe){for(var Ee in we)this[Ee]=we[Ee];if(pe)for(var Ee in pe)this[Ee]=pe[Ee];this._nodes=[],this._edges=[],this._disposed=!1,this._positionTex=new Fe.a({type:Ce.a.FLOAT,flipY:!1,minFilter:Ce.a.NEAREST,magFilter:Ce.a.NEAREST})};De.prototype.initData=function(pe,Ee){var Pe=new Blob([ye]),de=window.URL.createObjectURL(Pe);this._worker=new Worker(de),this._worker.onmessage=this._$onupdate.bind(this),this._nodes=pe,this._edges=Ee,this._frame=0;for(var ee=pe.length,ne=Ee.length,le=new Float32Array(ee*2),oe=new Float32Array(ee),ce=new Float32Array(ee),he=new Float32Array(ne*2),ie=new Float32Array(ne),ue=0;ue<pe.length;ue++){var ge=pe[ue];le[ue*2]=ge.x,le[ue*2+1]=ge.y,oe[ue]=ge.mass==null?1:ge.mass,ce[ue]=ge.size==null?1:ge.size}for(var ue=0;ue<Ee.length;ue++){var xe=Ee[ue],Me=xe.node1,Be=xe.node2;he[ue*2]=Me,he[ue*2+1]=Be,ie[ue]=xe.weight==null?1:xe.weight}var Ne=Math.ceil(Math.sqrt(pe.length)),Ue=Ne,Ge=new Float32Array(Ne*Ue*4),Xe=this._positionTex;Xe.width=Ne,Xe.height=Ue,Xe.pixels=Ge,this._worker.postMessage({cmd:"init",nodesPosition:le,nodesMass:oe,nodesSize:ce,edges:he,edgesWeight:ie}),this._globalSpeed=1/0},De.prototype.updateOption=function(pe){var Ee={};for(var Pe in we)Ee[Pe]=we[Pe];var de=this._nodes,ee=this._edges,ne=de.length;if(ne>5e4?Ee.jitterTolerence=10:ne>5e3?Ee.jitterTolerence=1:Ee.jitterTolerence=.1,ne>100?Ee.scaling=2:Ee.scaling=10,ne>1e3?Ee.barnesHutOptimize=!0:Ee.barnesHutOptimize=!1,pe)for(var Pe in we)pe[Pe]!=null&&(Ee[Pe]=pe[Pe]);if(!Ee.gravityCenter){for(var le=[1/0,1/0],oe=[-1/0,-1/0],ce=0;ce<de.length;ce++)le[0]=Math.min(de[ce].x,le[0]),le[1]=Math.min(de[ce].y,le[1]),oe[0]=Math.max(de[ce].x,oe[0]),oe[1]=Math.max(de[ce].y,oe[1]);Ee.gravityCenter=[(le[0]+oe[0])*.5,(le[1]+oe[1])*.5]}for(var ce=0;ce<ee.length;ce++){var he=ee[ce].node1,ie=ee[ce].node2;de[he].degree=(de[he].degree||0)+1,de[ie].degree=(de[ie].degree||0)+1}this._worker&&this._worker.postMessage({cmd:"updateConfig",config:Ee})},De.prototype.update=function(pe,Ee,Pe){Ee==null&&(Ee=1),Ee=Math.max(Ee,1),this._frame+=Ee,this._onupdate=Pe,this._worker&&this._worker.postMessage({cmd:"update",steps:Math.round(Ee)})},De.prototype._$onupdate=function(pe){if(!this._disposed){var Ee=new Float32Array(pe.data.buffer);this._globalSpeed=pe.data.globalSpeed,this._positionArr=Ee,this._updateTexture(Ee),this._onupdate&&this._onupdate()}},De.prototype.getNodePositionTexture=function(){return this._positionTex},De.prototype.getNodeUV=function(pe,Ee){Ee=Ee||[];var Pe=this._positionTex.width,de=this._positionTex.height;return Ee[0]=pe%Pe/(Pe-1),Ee[1]=Math.floor(pe/Pe)/(de-1),Ee},De.prototype.getNodes=function(){return this._nodes},De.prototype.getEdges=function(){return this._edges},De.prototype.isFinished=function(pe){return this._frame>pe},De.prototype.getNodePosition=function(pe,Ee){if(Ee||(Ee=new Float32Array(this._nodes.length*2)),this._positionArr)for(var Pe=0;Pe<this._positionArr.length;Pe++)Ee[Pe]=this._positionArr[Pe];return Ee},De.prototype._updateTexture=function(pe){for(var Ee=this._positionTex.pixels,Pe=0,de=0;de<pe.length;)Ee[Pe++]=pe[de++],Ee[Pe++]=pe[de++],Ee[Pe++]=1,Ee[Pe++]=1;this._positionTex.dirty()},De.prototype.dispose=function(pe){this._disposed=!0,this._worker=null},Re.a=De},function(Ve,Re,be){"use strict";function Fe(){var Ce={create:function(){return new Float32Array(2)},dist:function(de,ee){var ne=ee[0]-de[0],le=ee[1]-de[1];return Math.sqrt(ne*ne+le*le)},len:function(de){var ee=de[0],ne=de[1];return Math.sqrt(ee*ee+ne*ne)},scaleAndAdd:function(de,ee,ne,le){return de[0]=ee[0]+ne[0]*le,de[1]=ee[1]+ne[1]*le,de},scale:function(de,ee,ne){return de[0]=ee[0]*ne,de[1]=ee[1]*ne,de},add:function(de,ee,ne){return de[0]=ee[0]+ne[0],de[1]=ee[1]+ne[1],de},sub:function(de,ee,ne){return de[0]=ee[0]-ne[0],de[1]=ee[1]-ne[1],de},normalize:function(de,ee){var ne=ee[0],le=ee[1],oe=ne*ne+le*le;return oe>0&&(oe=1/Math.sqrt(oe),de[0]=ee[0]*oe,de[1]=ee[1]*oe),de},negate:function(de,ee){return de[0]=-ee[0],de[1]=-ee[1],de},copy:function(de,ee){return de[0]=ee[0],de[1]=ee[1],de},set:function(de,ee,ne){return de[0]=ee,de[1]=ne,de}};function ve(){this.subRegions=[],this.nSubRegions=0,this.node=null,this.mass=0,this.centerOfMass=null,this.bbox=new Float32Array(4),this.size=0}var ye=ve.prototype;ye.beforeUpdate=function(){for(var de=0;de<this.nSubRegions;de++)this.subRegions[de].beforeUpdate();this.mass=0,this.centerOfMass&&(this.centerOfMass[0]=0,this.centerOfMass[1]=0),this.nSubRegions=0,this.node=null},ye.afterUpdate=function(){this.subRegions.length=this.nSubRegions;for(var de=0;de<this.nSubRegions;de++)this.subRegions[de].afterUpdate()},ye.addNode=function(de){if(this.nSubRegions===0)if(this.node==null){this.node=de;return}else this._addNodeToSubRegion(this.node),this.node=null;this._addNodeToSubRegion(de),this._updateCenterOfMass(de)},ye.findSubRegion=function(de,ee){for(var ne=0;ne<this.nSubRegions;ne++){var le=this.subRegions[ne];if(le.contain(de,ee))return le}},ye.contain=function(de,ee){return this.bbox[0]<=de&&this.bbox[2]>=de&&this.bbox[1]<=ee&&this.bbox[3]>=ee},ye.setBBox=function(de,ee,ne,le){this.bbox[0]=de,this.bbox[1]=ee,this.bbox[2]=ne,this.bbox[3]=le,this.size=(ne-de+le-ee)/2},ye._newSubRegion=function(){var de=this.subRegions[this.nSubRegions];return de||(de=new ve,this.subRegions[this.nSubRegions]=de),this.nSubRegions++,de},ye._addNodeToSubRegion=function(de){var ee=this.findSubRegion(de.position[0],de.position[1]),ne=this.bbox;if(!ee){var le=(ne[0]+ne[2])/2,oe=(ne[1]+ne[3])/2,ce=(ne[2]-ne[0])/2,he=(ne[3]-ne[1])/2,ie=de.position[0]>=le?1:0,ue=de.position[1]>=oe?1:0,ee=this._newSubRegion();ee.setBBox(ie*ce+ne[0],ue*he+ne[1],(ie+1)*ce+ne[0],(ue+1)*he+ne[1])}ee.addNode(de)},ye._updateCenterOfMass=function(de){this.centerOfMass==null&&(this.centerOfMass=new Float32Array(2));var ee=this.centerOfMass[0]*this.mass,ne=this.centerOfMass[1]*this.mass;ee+=de.position[0]*de.mass,ne+=de.position[1]*de.mass,this.mass+=de.mass,this.centerOfMass[0]=ee/this.mass,this.centerOfMass[1]=ne/this.mass};function we(){this.position=new Float32Array(2),this.force=Ce.create(),this.forcePrev=Ce.create(),this.mass=1,this.inDegree=0,this.outDegree=0}function De(de,ee){this.source=de,this.target=ee,this.weight=1}function pe(){this.autoSettings=!0,this.barnesHutOptimize=!0,this.barnesHutTheta=1.5,this.repulsionByDegree=!0,this.linLogMode=!1,this.strongGravityMode=!1,this.gravity=1,this.scaling=1,this.edgeWeightInfluence=1,this.jitterTolerence=.1,this.preventOverlap=!1,this.dissuadeHubs=!1,this.rootRegion=new ve,this.rootRegion.centerOfMass=Ce.create(),this.nodes=[],this.edges=[],this.bbox=new Float32Array(4),this.gravityCenter=null,this._massArr=null,this._swingingArr=null,this._sizeArr=null,this._globalSpeed=0}var Ee=pe.prototype;Ee.initNodes=function(de,ee,ne){var le=ee.length;this.nodes.length=0;for(var oe=typeof ne!="undefined",ce=0;ce<le;ce++){var he=new we;he.position[0]=de[ce*2],he.position[1]=de[ce*2+1],he.mass=ee[ce],oe&&(he.size=ne[ce]),this.nodes.push(he)}this._massArr=ee,this._swingingArr=new Float32Array(le),oe&&(this._sizeArr=ne)},Ee.initEdges=function(de,ee){var ne=de.length/2;this.edges.length=0;for(var le=0;le<ne;le++){var oe=de[le*2],ce=de[le*2+1],he=this.nodes[oe],ie=this.nodes[ce];if(!he||!ie){console.error("Node not exists, try initNodes before initEdges");return}he.outDegree++,ie.inDegree++;var ue=new De(he,ie);ee&&(ue.weight=ee[le]),this.edges.push(ue)}},Ee.updateSettings=function(){if(this.repulsionByDegree)for(var de=0;de<this.nodes.length;de++){var ee=this.nodes[de];ee.mass=ee.inDegree+ee.outDegree+1}else for(var de=0;de<this.nodes.length;de++){var ee=this.nodes[de];ee.mass=this._massArr[de]}},Ee.update=function(){var de=this.nodes.length;if(this.updateSettings(),this.updateBBox(),this.barnesHutOptimize){this.rootRegion.setBBox(this.bbox[0],this.bbox[1],this.bbox[2],this.bbox[3]),this.rootRegion.beforeUpdate();for(var ee=0;ee<de;ee++)this.rootRegion.addNode(this.nodes[ee]);this.rootRegion.afterUpdate()}for(var ee=0;ee<de;ee++){var ne=this.nodes[ee];Ce.copy(ne.forcePrev,ne.force),Ce.set(ne.force,0,0)}for(var ee=0;ee<de;ee++){var le=this.nodes[ee];if(this.barnesHutOptimize)this.applyRegionToNodeRepulsion(this.rootRegion,le);else for(var oe=ee+1;oe<de;oe++){var ce=this.nodes[oe];this.applyNodeToNodeRepulsion(le,ce,!1)}this.gravity>0&&(this.strongGravityMode?this.applyNodeStrongGravity(le):this.applyNodeGravity(le))}for(var ee=0;ee<this.edges.length;ee++)this.applyEdgeAttraction(this.edges[ee]);for(var he=0,ie=0,ue=Ce.create(),ee=0;ee<de;ee++){var ne=this.nodes[ee],ge=Ce.dist(ne.force,ne.forcePrev);he+=ge*ne.mass,Ce.add(ue,ne.force,ne.forcePrev);var xe=Ce.len(ue)*.5;ie+=xe*ne.mass,this._swingingArr[ee]=ge}var Me=this.jitterTolerence*this.jitterTolerence*ie/he;this._globalSpeed>0&&(Me=Math.min(Me/this._globalSpeed,1.5)*this._globalSpeed),this._globalSpeed=Me;for(var ee=0;ee<de;ee++){var ne=this.nodes[ee],ge=this._swingingArr[ee],Be=.1*Me/(1+Me*Math.sqrt(ge)),Ne=Ce.len(ne.force);Ne>0&&(Be=Math.min(Ne*Be,10)/Ne,Ce.scaleAndAdd(ne.position,ne.position,ne.force,Be))}},Ee.applyRegionToNodeRepulsion=function(){var de=Ce.create();return function(ne,le){if(ne.node)this.applyNodeToNodeRepulsion(ne.node,le,!0);else{Ce.sub(de,le.position,ne.centerOfMass);var oe=de[0]*de[0]+de[1]*de[1];if(oe>this.barnesHutTheta*ne.size*ne.size){var ce=this.scaling*le.mass*ne.mass/oe;Ce.scaleAndAdd(le.force,le.force,de,ce)}else for(var he=0;he<ne.nSubRegions;he++)this.applyRegionToNodeRepulsion(ne.subRegions[he],le)}}}(),Ee.applyNodeToNodeRepulsion=function(){var de=Ce.create();return function(ne,le,oe){if(ne!=le){Ce.sub(de,ne.position,le.position);var ce=de[0]*de[0]+de[1]*de[1];if(ce!==0){var he;if(this.preventOverlap){var ie=Math.sqrt(ce);if(ie=ie-ne.size-le.size,ie>0)he=this.scaling*ne.mass*le.mass/(ie*ie);else if(ie<0)he=this.scaling*100*ne.mass*le.mass;else return}else he=this.scaling*ne.mass*le.mass/ce;Ce.scaleAndAdd(ne.force,ne.force,de,he),Ce.scaleAndAdd(le.force,le.force,de,-he)}}}}(),Ee.applyEdgeAttraction=function(){var de=Ce.create();return function(ne){var le=ne.source,oe=ne.target;Ce.sub(de,le.position,oe.position);var ce=Ce.len(de),he;this.edgeWeightInfluence===0?he=1:this.edgeWeightInfluence===1?he=ne.weight:he=Math.pow(ne.weight,this.edgeWeightInfluence);var ie;this.preventOverlap&&(ce=ce-le.size-oe.size,ce<=0)||(this.linLogMode?ie=-he*Math.log(ce+1)/(ce+1):ie=-he,Ce.scaleAndAdd(le.force,le.force,de,ie),Ce.scaleAndAdd(oe.force,oe.force,de,-ie))}}(),Ee.applyNodeGravity=function(){var de=Ce.create();return function(ee){Ce.sub(de,this.gravityCenter,ee.position);var ne=Ce.len(de);Ce.scaleAndAdd(ee.force,ee.force,de,this.gravity*ee.mass/(ne+1))}}(),Ee.applyNodeStrongGravity=function(){var de=Ce.create();return function(ee){Ce.sub(de,this.gravityCenter,ee.position),Ce.scaleAndAdd(ee.force,ee.force,de,this.gravity*ee.mass)}}(),Ee.updateBBox=function(){for(var de=1/0,ee=1/0,ne=-1/0,le=-1/0,oe=0;oe<this.nodes.length;oe++){var ce=this.nodes[oe].position;de=Math.min(de,ce[0]),ee=Math.min(ee,ce[1]),ne=Math.max(ne,ce[0]),le=Math.max(le,ce[1])}this.bbox[0]=de,this.bbox[1]=ee,this.bbox[2]=ne,this.bbox[3]=le},Ee.getGlobalSpeed=function(){return this._globalSpeed};var Pe=null;self.onmessage=function(de){switch(de.data.cmd){case"init":Pe=new pe,Pe.initNodes(de.data.nodesPosition,de.data.nodesMass,de.data.nodesSize),Pe.initEdges(de.data.edges,de.data.edgesWeight);break;case"updateConfig":if(Pe)for(var ee in de.data.config)Pe[ee]=de.data.config[ee];break;case"update":var ne=de.data.steps;if(Pe){for(var le=0;le<ne;le++)Pe.update();for(var oe=Pe.nodes.length,ce=new Float32Array(oe*2),le=0;le<oe;le++){var he=Pe.nodes[le];ce[le*2]=he.position[0],ce[le*2+1]=he.position[1]}self.postMessage({buffer:ce.buffer,globalSpeed:Pe.getGlobalSpeed()},[ce.buffer])}else{var ie=new Float32Array;self.postMessage({buffer:ie.buffer,globalSpeed:Pe.getGlobalSpeed()},[ie.buffer])}break}}}Re.a=Fe},function(Ve,Re,be){"use strict";var Fe=be(8),Ce=be(3),ve=Fe.a.extend(function(){return{zr:null,viewGL:null,minZoom:.2,maxZoom:5,_needsUpdate:!1,_dx:0,_dy:0,_zoom:1}},function(){this._mouseDownHandler=this._mouseDownHandler.bind(this),this._mouseWheelHandler=this._mouseWheelHandler.bind(this),this._mouseMoveHandler=this._mouseMoveHandler.bind(this),this._mouseUpHandler=this._mouseUpHandler.bind(this),this._update=this._update.bind(this)},{init:function(){var ye=this.zr;ye.on("mousedown",this._mouseDownHandler),ye.on("mousewheel",this._mouseWheelHandler),ye.on("globalout",this._mouseUpHandler),ye.animation.on("frame",this._update)},setTarget:function(ye){this._target=ye},setZoom:function(ye){this._zoom=Math.max(Math.min(ye,this.maxZoom),this.minZoom),this._needsUpdate=!0},setOffset:function(ye){this._dx=ye[0],this._dy=ye[1],this._needsUpdate=!0},getZoom:function(){return this._zoom},getOffset:function(){return[this._dx,this._dy]},_update:function(){if(this._target&&this._needsUpdate){var ye=this._target,we=this._zoom;ye.position.x=this._dx,ye.position.y=this._dy,ye.scale.set(we,we,we),this.zr.refresh(),this._needsUpdate=!1,this.trigger("update")}},_mouseDownHandler:function(ye){if(!ye.target){var we=ye.offsetX,De=ye.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(we,De))){this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler);var pe=this._convertPos(we,De);this._x=pe.x,this._y=pe.y}}},_convertPos:function(ye,we){var De=this.viewGL.camera,pe=this.viewGL.viewport;return{x:(ye-pe.x)/pe.width*(De.right-De.left)+De.left,y:(we-pe.y)/pe.height*(De.bottom-De.top)+De.top}},_mouseMoveHandler:function(ye){var we=this._convertPos(ye.offsetX,ye.offsetY);this._dx+=we.x-this._x,this._dy+=we.y-this._y,this._x=we.x,this._y=we.y,this._needsUpdate=!0},_mouseUpHandler:function(ye){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_mouseWheelHandler:function(ye){ye=ye.event;var we=ye.wheelDelta||-ye.detail;if(we!==0){var De=ye.offsetX,pe=ye.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(De,pe))){var Ee=we>0?1.1:.9,Pe=Math.max(Math.min(this._zoom*Ee,this.maxZoom),this.minZoom);Ee=Pe/this._zoom;var de=this._convertPos(De,pe),ee=(de.x-this._dx)*(Ee-1),ne=(de.y-this._dy)*(Ee-1);this._dx-=ee,this._dy-=ne,this._zoom=Pe,this._needsUpdate=!0}}},dispose:function(){var ye=this.zr;ye.off("mousedown",this._mouseDownHandler),ye.off("mousemove",this._mouseMoveHandler),ye.off("mouseup",this._mouseUpHandler),ye.off("mousewheel",this._mouseWheelHandler),ye.off("globalout",this._mouseUpHandler),ye.animation.off("frame",this._update)}});Re.a=ve},function(Ve,Re,be){"use strict";Re.a=`@export ecgl.lines2D.vertex
|
|
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
|
|
|
attribute vec2 position: POSITION;
|
|
|
attribute vec4 a_Color : COLOR;
|
|
|
varying vec4 v_Color;
|
|
|
|
|
|
#ifdef POSITIONTEXTURE_ENABLED
|
|
|
uniform sampler2D positionTexture;
|
|
|
#endif
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);
|
|
|
|
|
|
v_Color = a_Color;
|
|
|
}
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.lines2D.fragment
|
|
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
|
|
|
varying vec4 v_Color;
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
gl_FragColor = color * v_Color;
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.meshLines2D.vertex
|
|
|
|
|
|
attribute vec2 position: POSITION;
|
|
|
attribute vec2 normal;
|
|
|
attribute float offset;
|
|
|
attribute vec4 a_Color : COLOR;
|
|
|
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
uniform vec4 viewport : VIEWPORT;
|
|
|
|
|
|
varying vec4 v_Color;
|
|
|
varying float v_Miter;
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
vec4 p2 = worldViewProjection * vec4(position + normal, -10.0, 1.0);
|
|
|
gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);
|
|
|
|
|
|
p2.xy /= p2.w;
|
|
|
gl_Position.xy /= gl_Position.w;
|
|
|
|
|
|
vec2 N = normalize(p2.xy - gl_Position.xy);
|
|
|
gl_Position.xy += N * offset / viewport.zw * 2.0;
|
|
|
|
|
|
gl_Position.xy *= gl_Position.w;
|
|
|
|
|
|
v_Color = a_Color;
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
|
|
|
@export ecgl.meshLines2D.fragment
|
|
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
|
|
|
varying vec4 v_Color;
|
|
|
varying float v_Miter;
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
gl_FragColor = color * v_Color;
|
|
|
}
|
|
|
|
|
|
@end`},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(254),ye=be(258)},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(3),we=be(20),De=be(255);Ce.a.extendChartView({type:"flowGL",__ecgl__:!0,init:function(pe,Ee){this.viewGL=new we.a("orthographic"),this.groupGL=new ve.a.Node,this.viewGL.add(this.groupGL),this._particleSurface=new De.a;var Pe=new ve.a.Mesh({geometry:new ve.a.PlaneGeometry,material:new ve.a.Material({shader:new ve.a.Shader({vertex:ve.a.Shader.source("ecgl.color.vertex"),fragment:ve.a.Shader.source("ecgl.color.fragment")}),transparent:!0})});Pe.material.enableTexture("diffuseMap"),this.groupGL.add(Pe),this._planeMesh=Pe},render:function(pe,Ee,Pe){var de=this._particleSurface;de.setParticleType(pe.get("particleType")),de.setSupersampling(pe.get("supersampling")),this._updateData(pe,Pe),this._updateCamera(Pe.getWidth(),Pe.getHeight(),Pe.getDevicePixelRatio());var ee=ye.a.firstNotNull(pe.get("particleDensity"),128);de.setParticleDensity(ee,ee);var ne=this._planeMesh,le=+new Date,oe=this,ce=!0;ne.__percent=0,ne.stopAnimation(),ne.animate("",{loop:!0}).when(1e5,{__percent:1}).during(function(){var ue=+new Date,ge=Math.min(ue-le,20);le=le+ge,oe._renderer&&(de.update(oe._renderer,Pe,ge/1e3,ce),ne.material.set("diffuseMap",de.getSurfaceTexture())),ce=!1}).start();var he=pe.getModel("itemStyle"),ie=ve.a.parseColor(he.get("color"));ie[3]*=ye.a.firstNotNull(he.get("opacity"),1),ne.material.set("color",ie),de.setColorTextureImage(pe.get("colorTexture"),Pe),de.setParticleSize(pe.get("particleSize")),de.particleSpeedScaling=pe.get("particleSpeed"),de.motionBlurFactor=1-Math.pow(.1,pe.get("particleTrail"))},updateTransform:function(pe,Ee,Pe){this._updateData(pe,Pe)},afterRender:function(pe,Ee,Pe,de){var ee=de.renderer;this._renderer=ee},_updateData:function(pe,Ee){var Pe=pe.coordinateSystem,de=Pe.dimensions.map(function(Ge){return pe.coordDimToDataDim(Ge)[0]}),ee=pe.getData(),ne=ee.getDataExtent(de[0]),le=ee.getDataExtent(de[1]),oe=pe.get("gridWidth"),ce=pe.get("gridHeight");if(oe==null||oe==="auto"){var he=(ne[1]-ne[0])/(le[1]-le[0]);oe=Math.round(Math.sqrt(he*ee.count()))}(ce==null||ce==="auto")&&(ce=Math.ceil(ee.count()/oe));var ie=this._particleSurface.vectorFieldTexture,ue=ie.pixels;if(!ue||ue.length!==ce*oe*4)ue=ie.pixels=new Float32Array(oe*ce*4);else for(var ge=0;ge<ue.length;ge++)ue[ge]=0;var xe=0,Me=1/0,Be=new Float32Array(ee.count()*2),Ne=0,Ue=[[1/0,1/0],[-1/0,-1/0]];ee.each([de[0],de[1],"vx","vy"],function(Ge,Xe,Ye,nt){var $e=Pe.dataToPoint([Ge,Xe]);Be[Ne++]=$e[0],Be[Ne++]=$e[1],Ue[0][0]=Math.min($e[0],Ue[0][0]),Ue[0][1]=Math.min($e[1],Ue[0][1]),Ue[1][0]=Math.max($e[0],Ue[1][0]),Ue[1][1]=Math.max($e[1],Ue[1][1]);var qe=Math.sqrt(Ye*Ye+nt*nt);xe=Math.max(xe,qe),Me=Math.min(Me,qe)}),ee.each(["vx","vy"],function(Ge,Xe,Ye){var nt=Math.round((Be[Ye*2]-Ue[0][0])/(Ue[1][0]-Ue[0][0])*(oe-1)),$e=ce-1-Math.round((Be[Ye*2+1]-Ue[0][1])/(Ue[1][1]-Ue[0][1])*(ce-1)),qe=($e*oe+nt)*4;ue[qe]=Ge/xe*.5+.5,ue[qe+1]=Xe/xe*.5+.5,ue[qe+3]=1}),ie.width=oe,ie.height=ce,pe.get("coordinateSystem")==="bmap"&&this._fillEmptyPixels(ie),ie.dirty(),this._updatePlanePosition(Ue[0],Ue[1],pe,Ee),this._updateGradientTexture(ee.getVisual("visualMeta"),[Me,xe])},_fillEmptyPixels:function(pe){var Ee=pe.pixels,Pe=pe.width,de=pe.height;function ee(Be,Ne,Ue){Be=Math.max(Math.min(Be,Pe-1),0),Ne=Math.max(Math.min(Ne,de-1),0);var Ge=(Ne*(Pe-1)+Be)*4;return Ee[Ge+3]===0?!1:(Ue[0]=Ee[Ge],Ue[1]=Ee[Ge+1],!0)}function ne(Be,Ne,Ue){Ue[0]=Be[0]+Ne[0],Ue[1]=Be[1]+Ne[1]}for(var le=[],oe=[],ce=[],he=[],ie=[],ue=0,ge=0;ge<de;ge++)for(var xe=0;xe<Pe;xe++){var Me=(ge*(Pe-1)+xe)*4;Ee[Me+3]===0&&(ue=le[0]=le[1]=0,ee(xe-1,ge,oe)&&(ue++,ne(oe,le,le)),ee(xe+1,ge,ce)&&(ue++,ne(ce,le,le)),ee(xe,ge-1,he)&&(ue++,ne(he,le,le)),ee(xe,ge+1,ie)&&(ue++,ne(ie,le,le)),le[0]/=ue,le[1]/=ue,Ee[Me]=le[0],Ee[Me+1]=le[1]),Ee[Me+3]=1}},_updateGradientTexture:function(pe,Ee){if(!pe||!pe.length){this._particleSurface.setGradientTexture(null);return}this._gradientTexture=this._gradientTexture||new ve.a.Texture2D({image:document.createElement("canvas")});var Pe=this._gradientTexture,de=Pe.image;de.width=200,de.height=1;var ee=de.getContext("2d"),ne=ee.createLinearGradient(0,.5,de.width,.5);pe[0].stops.forEach(function(le){var oe;Ee[1]===Ee[0]?oe=0:(oe=le.value/Ee[1],oe=Math.min(Math.max(oe,0),1)),ne.addColorStop(oe,le.color)}),ee.fillStyle=ne,ee.fillRect(0,0,de.width,de.height),Pe.dirty(),this._particleSurface.setGradientTexture(this._gradientTexture)},_updatePlanePosition:function(pe,Ee,Pe,de){var ee=this._limitInViewportAndFullFill(pe,Ee,Pe,de);pe=ee.leftTop,Ee=ee.rightBottom,this._particleSurface.setRegion(ee.region),this._planeMesh.position.set((pe[0]+Ee[0])/2,de.getHeight()-(pe[1]+Ee[1])/2,0);var ne=Ee[0]-pe[0],le=Ee[1]-pe[1];this._planeMesh.scale.set(ne/2,le/2,1),this._particleSurface.resize(Math.max(Math.min(ne,2048),1),Math.max(Math.min(le,2048),1)),this._renderer&&this._particleSurface.clearFrame(this._renderer)},_limitInViewportAndFullFill:function(pe,Ee,Pe,de){var ee=[Math.max(pe[0],0),Math.max(pe[1],0)],ne=[Math.min(Ee[0],de.getWidth()),Math.min(Ee[1],de.getHeight())];if(Pe.get("coordinateSystem")==="bmap"){var le=Pe.getData().getDataExtent(Pe.coordDimToDataDim("lng")[0]),oe=Math.floor(le[1]-le[0])>=359;oe&&(ee[0]>0&&(ee[0]=0),ne[0]<de.getWidth()&&(ne[0]=de.getWidth()))}var ce=Ee[0]-pe[0],he=Ee[1]-pe[1],ie=ne[0]-ee[0],ue=ne[1]-ee[1],ge=[(ee[0]-pe[0])/ce,1-ue/he-(ee[1]-pe[1])/he,ie/ce,ue/he];return{leftTop:ee,rightBottom:ne,region:ge}},_updateCamera:function(pe,Ee,Pe){this.viewGL.setViewport(0,0,pe,Ee,Pe);var de=this.viewGL.camera;de.left=de.bottom=0,de.top=Ee,de.right=pe,de.near=0,de.far=100,de.position.z=10},remove:function(){this._planeMesh.stopAnimation(),this.groupGL.removeAll()},dispose:function(){this._renderer&&this._particleSurface.dispose(this._renderer),this.groupGL.removeAll()}})},function(Ve,Re,be){"use strict";var Fe=be(14),Ce=be(13),ve=be(24),ye=be(17),we=be(7),De=be(5),pe=be(6),Ee=be(30),Pe=be(37),de=be(10),ee=be(256),ne=be(257);we.a.import(ne.a);function le(ce){var he=document.createElement("canvas");he.width=he.height=ce;var ie=he.getContext("2d");return ie.fillStyle="#fff",ie.arc(ce/2,ce/2,ce/2,0,Math.PI*2),ie.fill(),he}var oe=function(){this.motionBlurFactor=.99,this.vectorFieldTexture=new De.a({type:pe.a.FLOAT,flipY:!1}),this.particleLife=[5,20],this._particleType="point",this._particleSize=1,this.particleColor=[1,1,1,1],this.particleSpeedScaling=1,this._thisFrameTexture=null,this._particlePass=null,this._spawnTexture=null,this._particleTexture0=null,this._particleTexture1=null,this._particlePointsMesh=null,this._surfaceFrameBuffer=null,this._elapsedTime=0,this._scene=null,this._camera=null,this._lastFrameTexture=null,this._supersampling=1,this._downsampleTextures=[],this._width=512,this._height=512,this.init()};oe.prototype={constructor:oe,init:function(){var ce={type:pe.a.FLOAT,minFilter:pe.a.NEAREST,magFilter:pe.a.NEAREST,useMipmap:!1};this._spawnTexture=new De.a(ce),this._particleTexture0=new De.a(ce),this._particleTexture1=new De.a(ce),this._frameBuffer=new de.a({depthBuffer:!1}),this._particlePass=new Fe.a({fragment:we.a.source("ecgl.vfParticle.particle.fragment")}),this._particlePass.setUniform("velocityTexture",this.vectorFieldTexture),this._particlePass.setUniform("spawnTexture",this._spawnTexture),this._downsamplePass=new Fe.a({fragment:we.a.source("clay.compositor.downsample")});var he=new ve.a({renderOrder:10,material:new ye.a({shader:new we.a(we.a.source("ecgl.vfParticle.renderPoints.vertex"),we.a.source("ecgl.vfParticle.renderPoints.fragment"))}),mode:ve.a.POINTS,geometry:new Ce.a({dynamic:!0,mainAttribute:"texcoord0"})}),ie=new ve.a({renderOrder:10,material:new ye.a({shader:new we.a(we.a.source("ecgl.vfParticle.renderLines.vertex"),we.a.source("ecgl.vfParticle.renderLines.fragment"))}),geometry:new ee.a,culling:!1}),ue=new ve.a({material:new ye.a({shader:new we.a(we.a.source("ecgl.color.vertex"),we.a.source("ecgl.color.fragment"))}),geometry:new Pe.a});ue.material.enableTexture("diffuseMap"),this._particlePointsMesh=he,this._particleLinesMesh=ie,this._lastFrameFullQuadMesh=ue,this._camera=new Ee.a,this._thisFrameTexture=new De.a,this._lastFrameTexture=new De.a},setParticleDensity:function(ce,he){for(var ie=ce*he,ue=new Float32Array(ie*4),ge=0,xe=this.particleLife,Me=0;Me<ce;Me++)for(var Be=0;Be<he;Be++,ge++){ue[ge*4]=Math.random(),ue[ge*4+1]=Math.random(),ue[ge*4+2]=Math.random();var Ne=(xe[1]-xe[0])*Math.random()+xe[0];ue[ge*4+3]=Ne}this._particleType==="line"?this._setLineGeometry(ce,he):this._setPointsGeometry(ce,he),this._spawnTexture.width=ce,this._spawnTexture.height=he,this._spawnTexture.pixels=ue,this._particleTexture0.width=this._particleTexture1.width=ce,this._particleTexture0.height=this._particleTexture1.height=he,this._particlePass.setUniform("textureSize",[ce,he])},_setPointsGeometry:function(ce,he){var ie=ce*he,ue=this._particlePointsMesh.geometry,ge=ue.attributes;ge.texcoord0.init(ie);for(var xe=0,Me=0;Me<ce;Me++)for(var Be=0;Be<he;Be++,xe++)ge.texcoord0.value[xe*2]=Me/ce,ge.texcoord0.value[xe*2+1]=Be/he;ue.dirty()},_setLineGeometry:function(ce,he){var ie=ce*he,ue=this._getParticleMesh().geometry;ue.setLineCount(ie),ue.resetOffset();for(var ge=0;ge<ce;ge++)for(var xe=0;xe<he;xe++)ue.addLine([ge/ce,xe/he]);ue.dirty()},_getParticleMesh:function(){return this._particleType==="line"?this._particleLinesMesh:this._particlePointsMesh},update:function(ce,he,ie,ue){var ge=this._getParticleMesh(),xe=this._frameBuffer,Me=this._particlePass;ue&&this._updateDownsampleTextures(ce,he),ge.material.set("size",this._particleSize*this._supersampling),ge.material.set("color",this.particleColor),Me.setUniform("speedScaling",this.particleSpeedScaling),xe.attach(this._particleTexture1),Me.setUniform("firstFrameTime",ue?(this.particleLife[1]+this.particleLife[0])/2:0),Me.setUniform("particleTexture",this._particleTexture0),Me.setUniform("deltaTime",ie),Me.setUniform("elapsedTime",this._elapsedTime),Me.render(ce,xe),ge.material.set("particleTexture",this._particleTexture1),ge.material.set("prevParticleTexture",this._particleTexture0),xe.attach(this._thisFrameTexture),xe.bind(ce),ce.gl.clear(ce.gl.DEPTH_BUFFER_BIT|ce.gl.COLOR_BUFFER_BIT);var Be=this._lastFrameFullQuadMesh;Be.material.set("diffuseMap",this._lastFrameTexture),Be.material.set("color",[1,1,1,this.motionBlurFactor]),this._camera.update(!0),ce.renderPass([Be,ge],this._camera),xe.unbind(ce),this._downsample(ce),this._swapTexture(),this._elapsedTime+=ie},_downsample:function(ce){var he=this._downsampleTextures;if(he.length!==0)for(var ie=0,ue=this._thisFrameTexture,ge=he[ie];ge;)this._frameBuffer.attach(ge),this._downsamplePass.setUniform("texture",ue),this._downsamplePass.setUniform("textureSize",[ue.width,ue.height]),this._downsamplePass.render(ce,this._frameBuffer),ue=ge,ge=he[++ie]},getSurfaceTexture:function(){var ce=this._downsampleTextures;return ce.length>0?ce[ce.length-1]:this._lastFrameTexture},setRegion:function(ce){this._particlePass.setUniform("region",ce)},resize:function(ce,he){this._lastFrameTexture.width=ce*this._supersampling,this._lastFrameTexture.height=he*this._supersampling,this._thisFrameTexture.width=ce*this._supersampling,this._thisFrameTexture.height=he*this._supersampling,this._width=ce,this._height=he},setParticleSize:function(ce){var he=this._getParticleMesh();if(ce<=2){he.material.disableTexture("spriteTexture"),he.material.transparent=!1;return}this._spriteTexture||(this._spriteTexture=new De.a),(!this._spriteTexture.image||this._spriteTexture.image.width!==ce)&&(this._spriteTexture.image=le(ce),this._spriteTexture.dirty()),he.material.transparent=!0,he.material.enableTexture("spriteTexture"),he.material.set("spriteTexture",this._spriteTexture),this._particleSize=ce},setGradientTexture:function(ce){var he=this._getParticleMesh().material;he[ce?"enableTexture":"disableTexture"]("gradientTexture"),he.setUniform("gradientTexture",ce)},setColorTextureImage:function(ce,he){var ie=this._getParticleMesh().material;ie.setTextureImage("colorTexture",ce,he,{flipY:!0})},setParticleType:function(ce){this._particleType=ce},clearFrame:function(ce){var he=this._frameBuffer;he.attach(this._lastFrameTexture),he.bind(ce),ce.gl.clear(ce.gl.DEPTH_BUFFER_BIT|ce.gl.COLOR_BUFFER_BIT),he.unbind(ce)},setSupersampling:function(ce){this._supersampling=ce,this.resize(this._width,this._height)},_updateDownsampleTextures:function(ce,he){for(var ie=this._downsampleTextures,ue=Math.max(Math.floor(Math.log(this._supersampling/he.getDevicePixelRatio())/Math.log(2)),0),ge=2,xe=this._width*this._supersampling,Me=this._height*this._supersampling,Be=0;Be<ue;Be++)ie[Be]=ie[Be]||new De.a,ie[Be].width=xe/ge,ie[Be].height=Me/ge,ge*=2;for(;Be<ie.length;Be++)ie[Be].dispose(ce);ie.length=ue},_swapTexture:function(){var ce=this._particleTexture0;this._particleTexture0=this._particleTexture1,this._particleTexture1=ce;var ce=this._thisFrameTexture;this._thisFrameTexture=this._lastFrameTexture,this._lastFrameTexture=ce},dispose:function(ce){ce.disposeFrameBuffer(this._frameBuffer),ce.disposeTexture(this.vectorFieldTexture),ce.disposeTexture(this._spawnTexture),ce.disposeTexture(this._particleTexture0),ce.disposeTexture(this._particleTexture1),ce.disposeTexture(this._thisFrameTexture),ce.disposeTexture(this._lastFrameTexture),ce.disposeGeometry(this._particleLinesMesh.geometry),ce.disposeGeometry(this._particlePointsMesh.geometry),ce.disposeGeometry(this._lastFrameFullQuadMesh.geometry),this._spriteTexture&&ce.disposeTexture(this._spriteTexture),this._particlePass.dispose(ce),this._downsamplePass.dispose(ce),this._downsampleTextures.forEach(function(he){he.dispose(ce)})}},Re.a=oe},function(Ve,Re,be){"use strict";var Fe=be(13),Ce=be(0),ve=be.n(Ce),ye=Fe.a.extend(function(){return{dynamic:!0,attributes:{position:new Fe.a.Attribute("position","float",3,"POSITION")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setLineCount:function(we){var De=this.attributes,pe=4*we,Ee=2*we;this.vertexCount!==pe&&De.position.init(pe),this.triangleCount!==Ee&&(Ee===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(Ee*3):new Uint16Array(Ee*3))},addLine:function(we){var De=this._vertexOffset;this.attributes.position.set(De,[we[0],we[1],1]),this.attributes.position.set(De+1,[we[0],we[1],-1]),this.attributes.position.set(De+2,[we[0],we[1],2]),this.attributes.position.set(De+3,[we[0],we[1],-2]),this.setTriangleIndices(this._faceOffset++,[De,De+1,De+2]),this.setTriangleIndices(this._faceOffset++,[De+1,De+2,De+3]),this._vertexOffset+=4}});Re.a=ye},function(Ve,Re,be){"use strict";Re.a=`@export ecgl.vfParticle.particle.fragment
|
|
|
|
|
|
uniform sampler2D particleTexture;
|
|
|
uniform sampler2D spawnTexture;
|
|
|
uniform sampler2D velocityTexture;
|
|
|
|
|
|
uniform float deltaTime;
|
|
|
uniform float elapsedTime;
|
|
|
|
|
|
uniform float speedScaling : 1.0;
|
|
|
|
|
|
uniform vec2 textureSize;
|
|
|
uniform vec4 region : [0, 0, 1, 1];
|
|
|
uniform float firstFrameTime;
|
|
|
|
|
|
varying vec2 v_Texcoord;
|
|
|
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
vec4 p = texture2D(particleTexture, v_Texcoord);
|
|
|
bool spawn = false;
|
|
|
if (p.w <= 0.0) {
|
|
|
p = texture2D(spawnTexture, fract(v_Texcoord + elapsedTime / 10.0));
|
|
|
p.w -= firstFrameTime;
|
|
|
spawn = true;
|
|
|
}
|
|
|
vec2 v = texture2D(velocityTexture, fract(p.xy * region.zw + region.xy)).xy;
|
|
|
v = (v - 0.5) * 2.0;
|
|
|
p.z = length(v);
|
|
|
p.xy += v * deltaTime / 10.0 * speedScaling;
|
|
|
p.w -= deltaTime;
|
|
|
|
|
|
if (spawn || p.xy != fract(p.xy)) {
|
|
|
p.z = 0.0;
|
|
|
}
|
|
|
p.xy = fract(p.xy);
|
|
|
|
|
|
gl_FragColor = p;
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
@export ecgl.vfParticle.renderPoints.vertex
|
|
|
|
|
|
#define PI 3.1415926
|
|
|
|
|
|
attribute vec2 texcoord : TEXCOORD_0;
|
|
|
|
|
|
uniform sampler2D particleTexture;
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
|
|
|
uniform float size : 1.0;
|
|
|
|
|
|
varying float v_Mag;
|
|
|
varying vec2 v_Uv;
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
vec4 p = texture2D(particleTexture, texcoord);
|
|
|
|
|
|
if (p.w > 0.0 && p.z > 1e-5) {
|
|
|
gl_Position = worldViewProjection * vec4(p.xy * 2.0 - 1.0, 0.0, 1.0);
|
|
|
}
|
|
|
else {
|
|
|
gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);
|
|
|
}
|
|
|
|
|
|
v_Mag = p.z;
|
|
|
v_Uv = p.xy;
|
|
|
|
|
|
gl_PointSize = size;
|
|
|
}
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.vfParticle.renderPoints.fragment
|
|
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
uniform sampler2D gradientTexture;
|
|
|
uniform sampler2D colorTexture;
|
|
|
uniform sampler2D spriteTexture;
|
|
|
|
|
|
varying float v_Mag;
|
|
|
varying vec2 v_Uv;
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
gl_FragColor = color;
|
|
|
#ifdef SPRITETEXTURE_ENABLED
|
|
|
gl_FragColor *= texture2D(spriteTexture, gl_PointCoord);
|
|
|
if (color.a == 0.0) {
|
|
|
discard;
|
|
|
}
|
|
|
#endif
|
|
|
#ifdef GRADIENTTEXTURE_ENABLED
|
|
|
gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));
|
|
|
#endif
|
|
|
#ifdef COLORTEXTURE_ENABLED
|
|
|
gl_FragColor *= texture2D(colorTexture, v_Uv);
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.vfParticle.renderLines.vertex
|
|
|
|
|
|
#define PI 3.1415926
|
|
|
|
|
|
attribute vec3 position : POSITION;
|
|
|
|
|
|
uniform sampler2D particleTexture;
|
|
|
uniform sampler2D prevParticleTexture;
|
|
|
|
|
|
uniform float size : 1.0;
|
|
|
uniform vec4 vp: VIEWPORT;
|
|
|
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
|
|
|
|
|
|
varying float v_Mag;
|
|
|
varying vec2 v_Uv;
|
|
|
|
|
|
@import clay.util.rand
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
vec4 p = texture2D(particleTexture, position.xy);
|
|
|
vec4 p2 = texture2D(prevParticleTexture, position.xy);
|
|
|
|
|
|
p.xy = p.xy * 2.0 - 1.0;
|
|
|
p2.xy = p2.xy * 2.0 - 1.0;
|
|
|
|
|
|
if (p.w > 0.0 && p.z > 1e-5) {
|
|
|
vec2 dir = normalize(p.xy - p2.xy);
|
|
|
vec2 norm = vec2(dir.y / vp.z, -dir.x / vp.w) * sign(position.z) * size;
|
|
|
if (abs(position.z) == 2.0) {
|
|
|
gl_Position = vec4(p.xy + norm, 0.0, 1.0);
|
|
|
v_Uv = p.xy;
|
|
|
v_Mag = p.z;
|
|
|
}
|
|
|
else {
|
|
|
gl_Position = vec4(p2.xy + norm, 0.0, 1.0);
|
|
|
v_Mag = p2.z;
|
|
|
v_Uv = p2.xy;
|
|
|
}
|
|
|
gl_Position = worldViewProjection * gl_Position;
|
|
|
}
|
|
|
else {
|
|
|
gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@end
|
|
|
|
|
|
@export ecgl.vfParticle.renderLines.fragment
|
|
|
|
|
|
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
|
|
|
uniform sampler2D gradientTexture;
|
|
|
uniform sampler2D colorTexture;
|
|
|
|
|
|
varying float v_Mag;
|
|
|
varying vec2 v_Uv;
|
|
|
|
|
|
void main()
|
|
|
{
|
|
|
gl_FragColor = color;
|
|
|
#ifdef GRADIENTTEXTURE_ENABLED
|
|
|
gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));
|
|
|
#endif
|
|
|
#ifdef COLORTEXTURE_ENABLED
|
|
|
gl_FragColor *= texture2D(colorTexture, v_Uv);
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
@end
|
|
|
`},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe);Ce.a.extendSeriesModel({type:"series.flowGL",dependencies:["geo","grid","bmap"],visualColorAccessPath:"itemStyle.color",getInitialData:function(ve,ye){var we=Ce.a.getCoordinateSystemDimensions(this.get("coordinateSystem"))||["x","y"];if(we.length>2)throw new Error("flowGL can only be used on 2d coordinate systems.");we.push("vx","vy");var De=Ce.a.helper.completeDimensions(we,this.getSource(),{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),pe=new Ce.a.List(De,this);return pe.initData(this.getSource()),pe},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,supersampling:1,particleType:"point",particleDensity:128,particleSize:1,particleSpeed:1,particleTrail:2,colorTexture:null,gridWidth:"auto",gridHeight:"auto",itemStyle:{color:"#fff",opacity:.8}}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(260),ye=be(261),we=be(16);Ce.a.registerVisual(Object(we.a)("linesGL"))},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(12),ye=be.n(ve),we=Ce.a.extendSeriesModel({type:"series.linesGL",dependencies:["grid","geo"],visualColorAccessPath:"lineStyle.color",streamEnabled:!0,init:function(De){var pe=this._processFlatCoordsArray(De.data);this._flatCoords=pe.flatCoords,this._flatCoordsOffset=pe.flatCoordsOffset,pe.flatCoords&&(De.data=new Float32Array(pe.count)),we.superApply(this,"init",arguments)},mergeOption:function(De){var pe=this._processFlatCoordsArray(De.data);this._flatCoords=pe.flatCoords,this._flatCoordsOffset=pe.flatCoordsOffset,pe.flatCoords&&(De.data=new Float32Array(pe.count)),we.superApply(this,"mergeOption",arguments)},appendData:function(De){var pe=this._processFlatCoordsArray(De.data);pe.flatCoords&&(this._flatCoords?(this._flatCoords=Object(ve.concatArray)(this._flatCoords,pe.flatCoords),this._flatCoordsOffset=Object(ve.concatArray)(this._flatCoordsOffset,pe.flatCoordsOffset)):(this._flatCoords=pe.flatCoords,this._flatCoordsOffset=pe.flatCoordsOffset),De.data=new Float32Array(pe.count)),this.getRawData().appendData(De.data)},_getCoordsFromItemModel:function(De){var pe=this.getData().getItemModel(De),Ee=pe.option instanceof Array?pe.option:pe.getShallow("coords");if(!(Ee instanceof Array&&Ee.length>0&&Ee[0]instanceof Array))throw new Error("Invalid coords "+JSON.stringify(Ee)+". Lines must have 2d coords array in data item.");return Ee},getLineCoordsCount:function(De){return this._flatCoordsOffset?this._flatCoordsOffset[De*2+1]:this._getCoordsFromItemModel(De).length},getLineCoords:function(De,pe){if(this._flatCoordsOffset){for(var Ee=this._flatCoordsOffset[De*2],Pe=this._flatCoordsOffset[De*2+1],de=0;de<Pe;de++)pe[de]=pe[de]||[],pe[de][0]=this._flatCoords[Ee+de*2],pe[de][1]=this._flatCoords[Ee+de*2+1];return Pe}else{for(var ee=this._getCoordsFromItemModel(De),de=0;de<ee.length;de++)pe[de]=pe[de]||[],pe[de][0]=ee[de][0],pe[de][1]=ee[de][1];return ee.length}},_processFlatCoordsArray:function(De){var pe=0;if(this._flatCoords&&(pe=this._flatCoords.length),typeof De[0]=="number"){for(var Ee=De.length,Pe=new Uint32Array(Ee),de=new Float64Array(Ee),ee=0,ne=0,le=0,oe=0;oe<Ee;){le++;var ce=De[oe++];Pe[ne++]=ee+pe,Pe[ne++]=ce;for(var he=0;he<ce;he++){var ie=De[oe++],ue=De[oe++];if(de[ee++]=ie,de[ee++]=ue,oe>Ee)throw new Error("Invalid data format.")}}return{flatCoordsOffset:new Uint32Array(Pe.buffer,0,ne),flatCoords:de,count:le}}return{flatCoordsOffset:null,flatCoords:null,count:De.length}},getInitialData:function(De,pe){var Ee=new Ce.a.List(["value"],this);return Ee.hasItemOption=!1,Ee.initData(De.data,[],function(Pe,de,ee,ne){if(Pe instanceof Array)return NaN;Ee.hasItemOption=!0;var le=Pe.value;if(le!=null)return le instanceof Array?le[ne]:le}),Ee},defaultOption:{coordinateSystem:"geo",zlevel:10,progressive:1e4,progressiveThreshold:5e4,blendMode:"source-over",lineStyle:{opacity:.8},postEffect:{enable:!1,colorCorrection:{exposure:0,brightness:0,contrast:1,saturation:1,enable:!0}}}})},function(Ve,Re,be){"use strict";var Fe=be(0),Ce=be.n(Fe),ve=be(2),ye=be(20),we=be(86),De=be(84),pe=be(3);Ce.a.extendChartView({type:"linesGL",__ecgl__:!0,init:function(Ee,Pe){this.groupGL=new ve.a.Node,this.viewGL=new ye.a("orthographic"),this.viewGL.add(this.groupGL),this._glViewHelper=new De.a(this.viewGL),this._nativeLinesShader=ve.a.createShader("ecgl.lines3D"),this._meshLinesShader=ve.a.createShader("ecgl.meshLines3D"),this._linesMeshes=[],this._currentStep=0},render:function(Ee,Pe,de){this.groupGL.removeAll(),this._glViewHelper.reset(Ee,de);var ee=this._linesMeshes[0];ee||(ee=this._linesMeshes[0]=this._createLinesMesh(Ee)),this._linesMeshes.length=1,this.groupGL.add(ee),this._updateLinesMesh(Ee,ee,0,Ee.getData().count()),this.viewGL.setPostEffect(Ee.getModel("postEffect"),de)},incrementalPrepareRender:function(Ee,Pe,de){this.groupGL.removeAll(),this._glViewHelper.reset(Ee,de),this._currentStep=0,this.viewGL.setPostEffect(Ee.getModel("postEffect"),de)},incrementalRender:function(Ee,Pe,de,ee){var ne=this._linesMeshes[this._currentStep];ne||(ne=this._createLinesMesh(Pe),this._linesMeshes[this._currentStep]=ne),this._updateLinesMesh(Pe,ne,Ee.start,Ee.end),this.groupGL.add(ne),ee.getZr().refresh(),this._currentStep++},updateTransform:function(Ee,Pe,de){Ee.coordinateSystem.getRoamTransform&&this._glViewHelper.updateTransform(Ee,de)},_createLinesMesh:function(Ee){var Pe=new ve.a.Mesh({$ignorePicking:!0,material:new ve.a.Material({shader:ve.a.createShader("ecgl.lines3D"),transparent:!0,depthMask:!1,depthTest:!1}),geometry:new we.a({segmentScale:10,useNativeLine:!0,dynamic:!1}),mode:ve.a.Mesh.LINES,culling:!1});return Pe},_updateLinesMesh:function(Ee,Pe,de,ee){var ne=Ee.getData();Pe.material.blend=Ee.get("blendMode")==="lighter"?ve.a.additiveBlend:null;var le=Ee.get("lineStyle.curveness")||0,oe=Ee.get("polyline"),ce=Pe.geometry,he=Ee.coordinateSystem,ie=pe.a.firstNotNull(Ee.get("lineStyle.width"),1);ie>1?(Pe.material.shader!==this._meshLinesShader&&Pe.material.attachShader(this._meshLinesShader),Pe.mode=ve.a.Mesh.TRIANGLES):(Pe.material.shader!==this._nativeLinesShader&&Pe.material.attachShader(this._nativeLinesShader),Pe.mode=ve.a.Mesh.LINES),de=de||0,ee=ee||ne.count(),ce.resetOffset();var ue=0,ge=0,xe=[],Me=[],Be=[],Ne=[],Ue=[],Ge=.3,Xe=.7;function Ye(){Me[0]=xe[0]*Xe+Ne[0]*Ge-(xe[1]-Ne[1])*le,Me[1]=xe[1]*Xe+Ne[1]*Ge-(Ne[0]-xe[0])*le,Be[0]=xe[0]*Ge+Ne[0]*Xe-(xe[1]-Ne[1])*le,Be[1]=xe[1]*Ge+Ne[1]*Xe-(Ne[0]-xe[0])*le}if(oe||le!==0)for(var nt=de;nt<ee;nt++)if(oe){var $e=Ee.getLineCoordsCount(nt);ue+=ce.getPolylineVertexCount($e),ge+=ce.getPolylineTriangleCount($e)}else Ee.getLineCoords(nt,Ue),this._glViewHelper.dataToPoint(he,Ue[0],xe),this._glViewHelper.dataToPoint(he,Ue[1],Ne),Ye(),ue+=ce.getCubicCurveVertexCount(xe,Me,Be,Ne),ge+=ce.getCubicCurveTriangleCount(xe,Me,Be,Ne);else{var qe=ee-de;ue+=qe*ce.getLineVertexCount(),ge+=qe*ce.getLineVertexCount()}ce.setVertexCount(ue),ce.setTriangleCount(ge);for(var st=de,rt=[],nt=de;nt<ee;nt++){ve.a.parseColor(ne.getItemVisual(st,"color"),rt);var ct=pe.a.firstNotNull(ne.getItemVisual(st,"opacity"),1);rt[3]*=ct;for(var $e=Ee.getLineCoords(nt,Ue),tt=0;tt<$e;tt++)this._glViewHelper.dataToPoint(he,Ue[tt],Ue[tt]);oe?ce.addPolyline(Ue,rt,ie,0,$e):le!==0?(xe=Ue[0],Ne=Ue[1],Ye(),ce.addCubicCurve(xe,Me,Be,Ne,rt,ie)):ce.addPolyline(Ue,rt,ie,0,2),st++}},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})}])})},3867:function(Pt,Mt,Oe){var _e=Oe(97671);(function(Ve,Re){Pt.exports=Re()})(this,function(){"use strict";function Ve(gt){var St=typeof gt;return gt!==null&&(St==="object"||St==="function")}function Re(gt){return typeof gt=="function"}var be=void 0;Array.isArray?be=Array.isArray:be=function(gt){return Object.prototype.toString.call(gt)==="[object Array]"};var Fe=be,Ce=0,ve=void 0,ye=void 0,we=function(St,Qt){ue[Ce]=St,ue[Ce+1]=Qt,Ce+=2,Ce===2&&(ye?ye(ge):Me())};function De(gt){ye=gt}function pe(gt){we=gt}var Ee=typeof window!="undefined"?window:void 0,Pe=Ee||{},de=Pe.MutationObserver||Pe.WebKitMutationObserver,ee=typeof self=="undefined"&&typeof _e!="undefined"&&{}.toString.call(_e)==="[object process]",ne=typeof Uint8ClampedArray!="undefined"&&typeof importScripts!="undefined"&&typeof MessageChannel!="undefined";function le(){return function(){return _e.nextTick(ge)}}function oe(){return typeof ve!="undefined"?function(){ve(ge)}:ie()}function ce(){var gt=0,St=new de(ge),Qt=document.createTextNode("");return St.observe(Qt,{characterData:!0}),function(){Qt.data=gt=++gt%2}}function he(){var gt=new MessageChannel;return gt.port1.onmessage=ge,function(){return gt.port2.postMessage(0)}}function ie(){var gt=setTimeout;return function(){return gt(ge,1)}}var ue=new Array(1e3);function ge(){for(var gt=0;gt<Ce;gt+=2){var St=ue[gt],Qt=ue[gt+1];St(Qt),ue[gt]=void 0,ue[gt+1]=void 0}Ce=0}function xe(){try{var gt=Function("return this")().require("vertx");return ve=gt.runOnLoop||gt.runOnContext,oe()}catch(St){return ie()}}var Me=void 0;ee?Me=le():de?Me=ce():ne?Me=he():Ee===void 0?Me=xe():Me=ie();function Be(gt,St){var Qt=this,Nt=new this.constructor(Ge);Nt[Ue]===void 0&&an(Nt);var wt=Qt._state;if(wt){var rn=arguments[wt-1];we(function(){return Jt(wt,Nt,rn,Qt._result)})}else vt(Qt,Nt,gt,St);return Nt}function Ne(gt){var St=this;if(gt&&typeof gt=="object"&>.constructor===St)return gt;var Qt=new St(Ge);return dt(Qt,gt),Qt}var Ue=Math.random().toString(36).substring(2);function Ge(){}var Xe=void 0,Ye=1,nt=2;function $e(){return new TypeError("You cannot resolve a promise with itself")}function qe(){return new TypeError("A promises callback cannot return that same promise.")}function st(gt,St,Qt,Nt){try{gt.call(St,Qt,Nt)}catch(wt){return wt}}function rt(gt,St,Qt){we(function(Nt){var wt=!1,rn=st(Qt,St,function(On){wt||(wt=!0,St!==On?dt(Nt,On):mt(Nt,On))},function(On){wt||(wt=!0,ht(Nt,On))},"Settle: "+(Nt._label||" unknown promise"));!wt&&rn&&(wt=!0,ht(Nt,rn))},gt)}function ct(gt,St){St._state===Ye?mt(gt,St._result):St._state===nt?ht(gt,St._result):vt(St,void 0,function(Qt){return dt(gt,Qt)},function(Qt){return ht(gt,Qt)})}function tt(gt,St,Qt){St.constructor===gt.constructor&&Qt===Be&&St.constructor.resolve===Ne?ct(gt,St):Qt===void 0?mt(gt,St):Re(Qt)?rt(gt,St,Qt):mt(gt,St)}function dt(gt,St){if(gt===St)ht(gt,$e());else if(Ve(St)){var Qt=void 0;try{Qt=St.then}catch(Nt){ht(gt,Nt);return}tt(gt,St,Qt)}else mt(gt,St)}function At(gt){gt._onerror&>._onerror(gt._result),Wt(gt)}function mt(gt,St){gt._state===Xe&&(gt._result=St,gt._state=Ye,gt._subscribers.length!==0&&we(Wt,gt))}function ht(gt,St){gt._state===Xe&&(gt._state=nt,gt._result=St,we(At,gt))}function vt(gt,St,Qt,Nt){var wt=gt._subscribers,rn=wt.length;gt._onerror=null,wt[rn]=St,wt[rn+Ye]=Qt,wt[rn+nt]=Nt,rn===0&>._state&&we(Wt,gt)}function Wt(gt){var St=gt._subscribers,Qt=gt._state;if(St.length!==0){for(var Nt=void 0,wt=void 0,rn=gt._result,On=0;On<St.length;On+=3)Nt=St[On],wt=St[On+Qt],Nt?Jt(Qt,Nt,wt,rn):wt(rn);gt._subscribers.length=0}}function Jt(gt,St,Qt,Nt){var wt=Re(Qt),rn=void 0,On=void 0,zn=!0;if(wt){try{rn=Qt(Nt)}catch(Gn){zn=!1,On=Gn}if(St===rn){ht(St,qe());return}}else rn=Nt;St._state!==Xe||(wt&&zn?dt(St,rn):zn===!1?ht(St,On):gt===Ye?mt(St,rn):gt===nt&&ht(St,rn))}function en(gt,St){try{St(function(Nt){dt(gt,Nt)},function(Nt){ht(gt,Nt)})}catch(Qt){ht(gt,Qt)}}var mn=0;function Ot(){return mn++}function an(gt){gt[Ue]=mn++,gt._state=void 0,gt._result=void 0,gt._subscribers=[]}function tn(){return new Error("Array Methods must be provided an Array")}var Dn=function(){function gt(St,Qt){this._instanceConstructor=St,this.promise=new St(Ge),this.promise[Ue]||an(this.promise),Fe(Qt)?(this.length=Qt.length,this._remaining=Qt.length,this._result=new Array(this.length),this.length===0?mt(this.promise,this._result):(this.length=this.length||0,this._enumerate(Qt),this._remaining===0&&mt(this.promise,this._result))):ht(this.promise,tn())}return gt.prototype._enumerate=function(Qt){for(var Nt=0;this._state===Xe&&Nt<Qt.length;Nt++)this._eachEntry(Qt[Nt],Nt)},gt.prototype._eachEntry=function(Qt,Nt){var wt=this._instanceConstructor,rn=wt.resolve;if(rn===Ne){var On=void 0,zn=void 0,Gn=!1;try{On=Qt.then}catch(Xn){Gn=!0,zn=Xn}if(On===Be&&Qt._state!==Xe)this._settledAt(Qt._state,Nt,Qt._result);else if(typeof On!="function")this._remaining--,this._result[Nt]=Qt;else if(wt===yt){var nr=new wt(Ge);Gn?ht(nr,zn):tt(nr,Qt,On),this._willSettleAt(nr,Nt)}else this._willSettleAt(new wt(function(Xn){return Xn(Qt)}),Nt)}else this._willSettleAt(rn(Qt),Nt)},gt.prototype._settledAt=function(Qt,Nt,wt){var rn=this.promise;rn._state===Xe&&(this._remaining--,Qt===nt?ht(rn,wt):this._result[Nt]=wt),this._remaining===0&&mt(rn,this._result)},gt.prototype._willSettleAt=function(Qt,Nt){var wt=this;vt(Qt,void 0,function(rn){return wt._settledAt(Ye,Nt,rn)},function(rn){return wt._settledAt(nt,Nt,rn)})},gt}();function Tn(gt){return new Dn(this,gt).promise}function sn(gt){var St=this;return Fe(gt)?new St(function(Qt,Nt){for(var wt=gt.length,rn=0;rn<wt;rn++)St.resolve(gt[rn]).then(Qt,Nt)}):new St(function(Qt,Nt){return Nt(new TypeError("You must pass an array to race."))})}function dn(gt){var St=this,Qt=new St(Ge);return ht(Qt,gt),Qt}function Kt(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function Tt(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}var yt=function(){function gt(St){this[Ue]=Ot(),this._result=this._state=void 0,this._subscribers=[],Ge!==St&&(typeof St!="function"&&Kt(),this instanceof gt?en(this,St):Tt())}return gt.prototype.catch=function(Qt){return this.then(null,Qt)},gt.prototype.finally=function(Qt){var Nt=this,wt=Nt.constructor;return Re(Qt)?Nt.then(function(rn){return wt.resolve(Qt()).then(function(){return rn})},function(rn){return wt.resolve(Qt()).then(function(){throw rn})}):Nt.then(Qt,Qt)},gt}();yt.prototype.then=Be,yt.all=Tn,yt.race=sn,yt.resolve=Ne,yt.reject=dn,yt._setScheduler=De,yt._setAsap=pe,yt._asap=we;function Gt(){var gt=void 0;if(typeof Oe.g!="undefined")gt=Oe.g;else if(typeof self!="undefined")gt=self;else try{gt=Function("return this")()}catch(Nt){throw new Error("polyfill failed because global object is unavailable in this environment")}var St=gt.Promise;if(St){var Qt=null;try{Qt=Object.prototype.toString.call(St.resolve())}catch(Nt){}if(Qt==="[object Promise]"&&!St.cast)return}gt.Promise=yt}return yt.polyfill=Gt,yt.Promise=yt,yt})},37271:function(Pt){"use strict";var Mt=Object.prototype.hasOwnProperty,Oe="~";function _e(){}Object.create&&(_e.prototype=Object.create(null),new _e().__proto__||(Oe=!1));function Ve(Ce,ve,ye){this.fn=Ce,this.context=ve,this.once=ye||!1}function Re(Ce,ve,ye,we,De){if(typeof ye!="function")throw new TypeError("The listener must be a function");var pe=new Ve(ye,we||Ce,De),Ee=Oe?Oe+ve:ve;return Ce._events[Ee]?Ce._events[Ee].fn?Ce._events[Ee]=[Ce._events[Ee],pe]:Ce._events[Ee].push(pe):(Ce._events[Ee]=pe,Ce._eventsCount++),Ce}function be(Ce,ve){--Ce._eventsCount===0?Ce._events=new _e:delete Ce._events[ve]}function Fe(){this._events=new _e,this._eventsCount=0}Fe.prototype.eventNames=function(){var ve=[],ye,we;if(this._eventsCount===0)return ve;for(we in ye=this._events)Mt.call(ye,we)&&ve.push(Oe?we.slice(1):we);return Object.getOwnPropertySymbols?ve.concat(Object.getOwnPropertySymbols(ye)):ve},Fe.prototype.listeners=function(ve){var ye=Oe?Oe+ve:ve,we=this._events[ye];if(!we)return[];if(we.fn)return[we.fn];for(var De=0,pe=we.length,Ee=new Array(pe);De<pe;De++)Ee[De]=we[De].fn;return Ee},Fe.prototype.listenerCount=function(ve){var ye=Oe?Oe+ve:ve,we=this._events[ye];return we?we.fn?1:we.length:0},Fe.prototype.emit=function(ve,ye,we,De,pe,Ee){var Pe=Oe?Oe+ve:ve;if(!this._events[Pe])return!1;var de=this._events[Pe],ee=arguments.length,ne,le;if(de.fn){switch(de.once&&this.removeListener(ve,de.fn,void 0,!0),ee){case 1:return de.fn.call(de.context),!0;case 2:return de.fn.call(de.context,ye),!0;case 3:return de.fn.call(de.context,ye,we),!0;case 4:return de.fn.call(de.context,ye,we,De),!0;case 5:return de.fn.call(de.context,ye,we,De,pe),!0;case 6:return de.fn.call(de.context,ye,we,De,pe,Ee),!0}for(le=1,ne=new Array(ee-1);le<ee;le++)ne[le-1]=arguments[le];de.fn.apply(de.context,ne)}else{var oe=de.length,ce;for(le=0;le<oe;le++)switch(de[le].once&&this.removeListener(ve,de[le].fn,void 0,!0),ee){case 1:de[le].fn.call(de[le].context);break;case 2:de[le].fn.call(de[le].context,ye);break;case 3:de[le].fn.call(de[le].context,ye,we);break;case 4:de[le].fn.call(de[le].context,ye,we,De);break;default:if(!ne)for(ce=1,ne=new Array(ee-1);ce<ee;ce++)ne[ce-1]=arguments[ce];de[le].fn.apply(de[le].context,ne)}}return!0},Fe.prototype.on=function(ve,ye,we){return Re(this,ve,ye,we,!1)},Fe.prototype.once=function(ve,ye,we){return Re(this,ve,ye,we,!0)},Fe.prototype.removeListener=function(ve,ye,we,De){var pe=Oe?Oe+ve:ve;if(!this._events[pe])return this;if(!ye)return be(this,pe),this;var Ee=this._events[pe];if(Ee.fn)Ee.fn===ye&&(!De||Ee.once)&&(!we||Ee.context===we)&&be(this,pe);else{for(var Pe=0,de=[],ee=Ee.length;Pe<ee;Pe++)(Ee[Pe].fn!==ye||De&&!Ee[Pe].once||we&&Ee[Pe].context!==we)&&de.push(Ee[Pe]);de.length?this._events[pe]=de.length===1?de[0]:de:be(this,pe)}return this},Fe.prototype.removeAllListeners=function(ve){var ye;return ve?(ye=Oe?Oe+ve:ve,this._events[ye]&&be(this,ye)):(this._events=new _e,this._eventsCount=0),this},Fe.prototype.off=Fe.prototype.removeListener,Fe.prototype.addListener=Fe.prototype.on,Fe.prefixed=Oe,Fe.EventEmitter=Fe,Pt.exports=Fe},86204:function(Pt){"use strict";var Mt=typeof Reflect=="object"?Reflect:null,Oe=Mt&&typeof Mt.apply=="function"?Mt.apply:function(he,ie,ue){return Function.prototype.apply.call(he,ie,ue)},_e;Mt&&typeof Mt.ownKeys=="function"?_e=Mt.ownKeys:Object.getOwnPropertySymbols?_e=function(he){return Object.getOwnPropertyNames(he).concat(Object.getOwnPropertySymbols(he))}:_e=function(he){return Object.getOwnPropertyNames(he)};function Ve(ce){console&&console.warn&&console.warn(ce)}var Re=Number.isNaN||function(he){return he!==he};function be(){be.init.call(this)}Pt.exports=be,Pt.exports.once=ne,be.EventEmitter=be,be.prototype._events=void 0,be.prototype._eventsCount=0,be.prototype._maxListeners=void 0;var Fe=10;function Ce(ce){if(typeof ce!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof ce)}Object.defineProperty(be,"defaultMaxListeners",{enumerable:!0,get:function(){return Fe},set:function(ce){if(typeof ce!="number"||ce<0||Re(ce))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+ce+".");Fe=ce}}),be.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},be.prototype.setMaxListeners=function(he){if(typeof he!="number"||he<0||Re(he))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+he+".");return this._maxListeners=he,this};function ve(ce){return ce._maxListeners===void 0?be.defaultMaxListeners:ce._maxListeners}be.prototype.getMaxListeners=function(){return ve(this)},be.prototype.emit=function(he){for(var ie=[],ue=1;ue<arguments.length;ue++)ie.push(arguments[ue]);var ge=he==="error",xe=this._events;if(xe!==void 0)ge=ge&&xe.error===void 0;else if(!ge)return!1;if(ge){var Me;if(ie.length>0&&(Me=ie[0]),Me instanceof Error)throw Me;var Be=new Error("Unhandled error."+(Me?" ("+Me.message+")":""));throw Be.context=Me,Be}var Ne=xe[he];if(Ne===void 0)return!1;if(typeof Ne=="function")Oe(Ne,this,ie);else for(var Ue=Ne.length,Ge=Pe(Ne,Ue),ue=0;ue<Ue;++ue)Oe(Ge[ue],this,ie);return!0};function ye(ce,he,ie,ue){var ge,xe,Me;if(Ce(ie),xe=ce._events,xe===void 0?(xe=ce._events=Object.create(null),ce._eventsCount=0):(xe.newListener!==void 0&&(ce.emit("newListener",he,ie.listener?ie.listener:ie),xe=ce._events),Me=xe[he]),Me===void 0)Me=xe[he]=ie,++ce._eventsCount;else if(typeof Me=="function"?Me=xe[he]=ue?[ie,Me]:[Me,ie]:ue?Me.unshift(ie):Me.push(ie),ge=ve(ce),ge>0&&Me.length>ge&&!Me.warned){Me.warned=!0;var Be=new Error("Possible EventEmitter memory leak detected. "+Me.length+" "+String(he)+" listeners added. Use emitter.setMaxListeners() to increase limit");Be.name="MaxListenersExceededWarning",Be.emitter=ce,Be.type=he,Be.count=Me.length,Ve(Be)}return ce}be.prototype.addListener=function(he,ie){return ye(this,he,ie,!1)},be.prototype.on=be.prototype.addListener,be.prototype.prependListener=function(he,ie){return ye(this,he,ie,!0)};function we(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function De(ce,he,ie){var ue={fired:!1,wrapFn:void 0,target:ce,type:he,listener:ie},ge=we.bind(ue);return ge.listener=ie,ue.wrapFn=ge,ge}be.prototype.once=function(he,ie){return Ce(ie),this.on(he,De(this,he,ie)),this},be.prototype.prependOnceListener=function(he,ie){return Ce(ie),this.prependListener(he,De(this,he,ie)),this},be.prototype.removeListener=function(he,ie){var ue,ge,xe,Me,Be;if(Ce(ie),ge=this._events,ge===void 0)return this;if(ue=ge[he],ue===void 0)return this;if(ue===ie||ue.listener===ie)--this._eventsCount===0?this._events=Object.create(null):(delete ge[he],ge.removeListener&&this.emit("removeListener",he,ue.listener||ie));else if(typeof ue!="function"){for(xe=-1,Me=ue.length-1;Me>=0;Me--)if(ue[Me]===ie||ue[Me].listener===ie){Be=ue[Me].listener,xe=Me;break}if(xe<0)return this;xe===0?ue.shift():de(ue,xe),ue.length===1&&(ge[he]=ue[0]),ge.removeListener!==void 0&&this.emit("removeListener",he,Be||ie)}return this},be.prototype.off=be.prototype.removeListener,be.prototype.removeAllListeners=function(he){var ie,ue,ge;if(ue=this._events,ue===void 0)return this;if(ue.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):ue[he]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete ue[he]),this;if(arguments.length===0){var xe=Object.keys(ue),Me;for(ge=0;ge<xe.length;++ge)Me=xe[ge],Me!=="removeListener"&&this.removeAllListeners(Me);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(ie=ue[he],typeof ie=="function")this.removeListener(he,ie);else if(ie!==void 0)for(ge=ie.length-1;ge>=0;ge--)this.removeListener(he,ie[ge]);return this};function pe(ce,he,ie){var ue=ce._events;if(ue===void 0)return[];var ge=ue[he];return ge===void 0?[]:typeof ge=="function"?ie?[ge.listener||ge]:[ge]:ie?ee(ge):Pe(ge,ge.length)}be.prototype.listeners=function(he){return pe(this,he,!0)},be.prototype.rawListeners=function(he){return pe(this,he,!1)},be.listenerCount=function(ce,he){return typeof ce.listenerCount=="function"?ce.listenerCount(he):Ee.call(ce,he)},be.prototype.listenerCount=Ee;function Ee(ce){var he=this._events;if(he!==void 0){var ie=he[ce];if(typeof ie=="function")return 1;if(ie!==void 0)return ie.length}return 0}be.prototype.eventNames=function(){return this._eventsCount>0?_e(this._events):[]};function Pe(ce,he){for(var ie=new Array(he),ue=0;ue<he;++ue)ie[ue]=ce[ue];return ie}function de(ce,he){for(;he+1<ce.length;he++)ce[he]=ce[he+1];ce.pop()}function ee(ce){for(var he=new Array(ce.length),ie=0;ie<he.length;++ie)he[ie]=ce[ie].listener||ce[ie];return he}function ne(ce,he){return new Promise(function(ie,ue){function ge(Me){ce.removeListener(he,xe),ue(Me)}function xe(){typeof ce.removeListener=="function"&&ce.removeListener("error",ge),ie([].slice.call(arguments))}oe(ce,he,xe,{once:!0}),he!=="error"&&le(ce,ge,{once:!0})})}function le(ce,he,ie){typeof ce.on=="function"&&oe(ce,"error",he,ie)}function oe(ce,he,ie,ue){if(typeof ce.on=="function")ue.once?ce.once(he,ie):ce.on(he,ie);else if(typeof ce.addEventListener=="function")ce.addEventListener(he,function ge(xe){ue.once&&ce.removeEventListener(he,ge),ie(xe)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof ce)}},53291:function(Pt){"use strict";var Mt=Array.isArray,Oe=Object.keys,_e=Object.prototype.hasOwnProperty;Pt.exports=function Ve(Re,be){if(Re===be)return!0;if(Re&&be&&typeof Re=="object"&&typeof be=="object"){var Fe=Mt(Re),Ce=Mt(be),ve,ye,we;if(Fe&&Ce){if(ye=Re.length,ye!=be.length)return!1;for(ve=ye;ve--!==0;)if(!Ve(Re[ve],be[ve]))return!1;return!0}if(Fe!=Ce)return!1;var De=Re instanceof Date,pe=be instanceof Date;if(De!=pe)return!1;if(De&&pe)return Re.getTime()==be.getTime();var Ee=Re instanceof RegExp,Pe=be instanceof RegExp;if(Ee!=Pe)return!1;if(Ee&&Pe)return Re.toString()==be.toString();var de=Oe(Re);if(ye=de.length,ye!==Oe(be).length)return!1;for(ve=ye;ve--!==0;)if(!_e.call(be,de[ve]))return!1;for(ve=ye;ve--!==0;)if(we=de[ve],!Ve(Re[we],be[we]))return!1;return!0}return Re!==Re&&be!==be}},75172:function(Pt,Mt,Oe){var _e=Oe(89224);Pt.exports={Graph:_e.Graph,json:Oe(17401),alg:Oe(54613),version:_e.version}},91606:function(Pt,Mt,Oe){var _e=Oe(95329);Pt.exports=Ve;function Ve(Re){var be={},Fe=[],Ce;function ve(ye){_e.has(be,ye)||(be[ye]=!0,Ce.push(ye),_e.each(Re.successors(ye),ve),_e.each(Re.predecessors(ye),ve))}return _e.each(Re.nodes(),function(ye){Ce=[],ve(ye),Ce.length&&Fe.push(Ce)}),Fe}},21482:function(Pt,Mt,Oe){var _e=Oe(95329);Pt.exports=Ve;function Ve(be,Fe,Ce){_e.isArray(Fe)||(Fe=[Fe]);var ve=(be.isDirected()?be.successors:be.neighbors).bind(be),ye=[],we={};return _e.each(Fe,function(De){if(!be.hasNode(De))throw new Error("Graph does not have node: "+De);Re(be,De,Ce==="post",we,ve,ye)}),ye}function Re(be,Fe,Ce,ve,ye,we){_e.has(ve,Fe)||(ve[Fe]=!0,Ce||we.push(Fe),_e.each(ye(Fe),function(De){Re(be,De,Ce,ve,ye,we)}),Ce&&we.push(Fe))}},40845:function(Pt,Mt,Oe){var _e=Oe(13746),Ve=Oe(95329);Pt.exports=Re;function Re(be,Fe,Ce){return Ve.transform(be.nodes(),function(ve,ye){ve[ye]=_e(be,ye,Fe,Ce)},{})}},13746:function(Pt,Mt,Oe){var _e=Oe(95329),Ve=Oe(36614);Pt.exports=be;var Re=_e.constant(1);function be(Ce,ve,ye,we){return Fe(Ce,String(ve),ye||Re,we||function(De){return Ce.outEdges(De)})}function Fe(Ce,ve,ye,we){var De={},pe=new Ve,Ee,Pe,de=function(ee){var ne=ee.v!==Ee?ee.v:ee.w,le=De[ne],oe=ye(ee),ce=Pe.distance+oe;if(oe<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+ee+" Weight: "+oe);ce<le.distance&&(le.distance=ce,le.predecessor=Ee,pe.decrease(ne,ce))};for(Ce.nodes().forEach(function(ee){var ne=ee===ve?0:Number.POSITIVE_INFINITY;De[ee]={distance:ne},pe.add(ee,ne)});pe.size()>0&&(Ee=pe.removeMin(),Pe=De[Ee],Pe.distance!==Number.POSITIVE_INFINITY);)we(Ee).forEach(de);return De}},59324:function(Pt,Mt,Oe){var _e=Oe(95329),Ve=Oe(94558);Pt.exports=Re;function Re(be){return _e.filter(Ve(be),function(Fe){return Fe.length>1||Fe.length===1&&be.hasEdge(Fe[0],Fe[0])})}},22893:function(Pt,Mt,Oe){var _e=Oe(95329);Pt.exports=Re;var Ve=_e.constant(1);function Re(Fe,Ce,ve){return be(Fe,Ce||Ve,ve||function(ye){return Fe.outEdges(ye)})}function be(Fe,Ce,ve){var ye={},we=Fe.nodes();return we.forEach(function(De){ye[De]={},ye[De][De]={distance:0},we.forEach(function(pe){De!==pe&&(ye[De][pe]={distance:Number.POSITIVE_INFINITY})}),ve(De).forEach(function(pe){var Ee=pe.v===De?pe.w:pe.v,Pe=Ce(pe);ye[De][Ee]={distance:Pe,predecessor:De}})}),we.forEach(function(De){var pe=ye[De];we.forEach(function(Ee){var Pe=ye[Ee];we.forEach(function(de){var ee=Pe[De],ne=pe[de],le=Pe[de],oe=ee.distance+ne.distance;oe<le.distance&&(le.distance=oe,le.predecessor=ne.predecessor)})})}),ye}},54613:function(Pt,Mt,Oe){Pt.exports={components:Oe(91606),dijkstra:Oe(13746),dijkstraAll:Oe(40845),findCycles:Oe(59324),floydWarshall:Oe(22893),isAcyclic:Oe(588),postorder:Oe(98049),preorder:Oe(67158),prim:Oe(66058),tarjan:Oe(94558),topsort:Oe(7793)}},588:function(Pt,Mt,Oe){var _e=Oe(7793);Pt.exports=Ve;function Ve(Re){try{_e(Re)}catch(be){if(be instanceof _e.CycleException)return!1;throw be}return!0}},98049:function(Pt,Mt,Oe){var _e=Oe(21482);Pt.exports=Ve;function Ve(Re,be){return _e(Re,be,"post")}},67158:function(Pt,Mt,Oe){var _e=Oe(21482);Pt.exports=Ve;function Ve(Re,be){return _e(Re,be,"pre")}},66058:function(Pt,Mt,Oe){var _e=Oe(95329),Ve=Oe(6349),Re=Oe(36614);Pt.exports=be;function be(Fe,Ce){var ve=new Ve,ye={},we=new Re,De;function pe(Pe){var de=Pe.v===De?Pe.w:Pe.v,ee=we.priority(de);if(ee!==void 0){var ne=Ce(Pe);ne<ee&&(ye[de]=De,we.decrease(de,ne))}}if(Fe.nodeCount()===0)return ve;_e.each(Fe.nodes(),function(Pe){we.add(Pe,Number.POSITIVE_INFINITY),ve.setNode(Pe)}),we.decrease(Fe.nodes()[0],0);for(var Ee=!1;we.size()>0;){if(De=we.removeMin(),_e.has(ye,De))ve.setEdge(De,ye[De]);else{if(Ee)throw new Error("Input graph is not connected: "+Fe);Ee=!0}Fe.nodeEdges(De).forEach(pe)}return ve}},94558:function(Pt,Mt,Oe){var _e=Oe(95329);Pt.exports=Ve;function Ve(Re){var be=0,Fe=[],Ce={},ve=[];function ye(we){var De=Ce[we]={onStack:!0,lowlink:be,index:be++};if(Fe.push(we),Re.successors(we).forEach(function(Pe){_e.has(Ce,Pe)?Ce[Pe].onStack&&(De.lowlink=Math.min(De.lowlink,Ce[Pe].index)):(ye(Pe),De.lowlink=Math.min(De.lowlink,Ce[Pe].lowlink))}),De.lowlink===De.index){var pe=[],Ee;do Ee=Fe.pop(),Ce[Ee].onStack=!1,pe.push(Ee);while(we!==Ee);ve.push(pe)}}return Re.nodes().forEach(function(we){_e.has(Ce,we)||ye(we)}),ve}},7793:function(Pt,Mt,Oe){var _e=Oe(95329);Pt.exports=Ve,Ve.CycleException=Re;function Ve(be){var Fe={},Ce={},ve=[];function ye(we){if(_e.has(Ce,we))throw new Re;_e.has(Fe,we)||(Ce[we]=!0,Fe[we]=!0,_e.each(be.predecessors(we),ye),delete Ce[we],ve.push(we))}if(_e.each(be.sinks(),ye),_e.size(Fe)!==be.nodeCount())throw new Re;return ve}function Re(){}Re.prototype=new Error},36614:function(Pt,Mt,Oe){var _e=Oe(95329);Pt.exports=Ve;function Ve(){this._arr=[],this._keyIndices={}}Ve.prototype.size=function(){return this._arr.length},Ve.prototype.keys=function(){return this._arr.map(function(Re){return Re.key})},Ve.prototype.has=function(Re){return _e.has(this._keyIndices,Re)},Ve.prototype.priority=function(Re){var be=this._keyIndices[Re];if(be!==void 0)return this._arr[be].priority},Ve.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},Ve.prototype.add=function(Re,be){var Fe=this._keyIndices;if(Re=String(Re),!_e.has(Fe,Re)){var Ce=this._arr,ve=Ce.length;return Fe[Re]=ve,Ce.push({key:Re,priority:be}),this._decrease(ve),!0}return!1},Ve.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var Re=this._arr.pop();return delete this._keyIndices[Re.key],this._heapify(0),Re.key},Ve.prototype.decrease=function(Re,be){var Fe=this._keyIndices[Re];if(be>this._arr[Fe].priority)throw new Error("New priority is greater than current priority. Key: "+Re+" Old: "+this._arr[Fe].priority+" New: "+be);this._arr[Fe].priority=be,this._decrease(Fe)},Ve.prototype._heapify=function(Re){var be=this._arr,Fe=2*Re,Ce=Fe+1,ve=Re;Fe<be.length&&(ve=be[Fe].priority<be[ve].priority?Fe:ve,Ce<be.length&&(ve=be[Ce].priority<be[ve].priority?Ce:ve),ve!==Re&&(this._swap(Re,ve),this._heapify(ve)))},Ve.prototype._decrease=function(Re){for(var be=this._arr,Fe=be[Re].priority,Ce;Re!==0&&(Ce=Re>>1,!(be[Ce].priority<Fe));)this._swap(Re,Ce),Re=Ce},Ve.prototype._swap=function(Re,be){var Fe=this._arr,Ce=this._keyIndices,ve=Fe[Re],ye=Fe[be];Fe[Re]=ye,Fe[be]=ve,Ce[ye.key]=Re,Ce[ve.key]=be}},6349:function(Pt,Mt,Oe){"use strict";var _e=Oe(95329);Pt.exports=Fe;var Ve="\0",Re="\0",be="";function Fe(pe){this._isDirected=_e.has(pe,"directed")?pe.directed:!0,this._isMultigraph=_e.has(pe,"multigraph")?pe.multigraph:!1,this._isCompound=_e.has(pe,"compound")?pe.compound:!1,this._label=void 0,this._defaultNodeLabelFn=_e.constant(void 0),this._defaultEdgeLabelFn=_e.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[Re]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}Fe.prototype._nodeCount=0,Fe.prototype._edgeCount=0,Fe.prototype.isDirected=function(){return this._isDirected},Fe.prototype.isMultigraph=function(){return this._isMultigraph},Fe.prototype.isCompound=function(){return this._isCompound},Fe.prototype.setGraph=function(pe){return this._label=pe,this},Fe.prototype.graph=function(){return this._label},Fe.prototype.setDefaultNodeLabel=function(pe){return _e.isFunction(pe)||(pe=_e.constant(pe)),this._defaultNodeLabelFn=pe,this},Fe.prototype.nodeCount=function(){return this._nodeCount},Fe.prototype.nodes=function(){return _e.keys(this._nodes)},Fe.prototype.sources=function(){var pe=this;return _e.filter(this.nodes(),function(Ee){return _e.isEmpty(pe._in[Ee])})},Fe.prototype.sinks=function(){var pe=this;return _e.filter(this.nodes(),function(Ee){return _e.isEmpty(pe._out[Ee])})},Fe.prototype.setNodes=function(pe,Ee){var Pe=arguments,de=this;return _e.each(pe,function(ee){Pe.length>1?de.setNode(ee,Ee):de.setNode(ee)}),this},Fe.prototype.setNode=function(pe,Ee){return _e.has(this._nodes,pe)?(arguments.length>1&&(this._nodes[pe]=Ee),this):(this._nodes[pe]=arguments.length>1?Ee:this._defaultNodeLabelFn(pe),this._isCompound&&(this._parent[pe]=Re,this._children[pe]={},this._children[Re][pe]=!0),this._in[pe]={},this._preds[pe]={},this._out[pe]={},this._sucs[pe]={},++this._nodeCount,this)},Fe.prototype.node=function(pe){return this._nodes[pe]},Fe.prototype.hasNode=function(pe){return _e.has(this._nodes,pe)},Fe.prototype.removeNode=function(pe){var Ee=this;if(_e.has(this._nodes,pe)){var Pe=function(de){Ee.removeEdge(Ee._edgeObjs[de])};delete this._nodes[pe],this._isCompound&&(this._removeFromParentsChildList(pe),delete this._parent[pe],_e.each(this.children(pe),function(de){Ee.setParent(de)}),delete this._children[pe]),_e.each(_e.keys(this._in[pe]),Pe),delete this._in[pe],delete this._preds[pe],_e.each(_e.keys(this._out[pe]),Pe),delete this._out[pe],delete this._sucs[pe],--this._nodeCount}return this},Fe.prototype.setParent=function(pe,Ee){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(_e.isUndefined(Ee))Ee=Re;else{Ee+="";for(var Pe=Ee;!_e.isUndefined(Pe);Pe=this.parent(Pe))if(Pe===pe)throw new Error("Setting "+Ee+" as parent of "+pe+" would create a cycle");this.setNode(Ee)}return this.setNode(pe),this._removeFromParentsChildList(pe),this._parent[pe]=Ee,this._children[Ee][pe]=!0,this},Fe.prototype._removeFromParentsChildList=function(pe){delete this._children[this._parent[pe]][pe]},Fe.prototype.parent=function(pe){if(this._isCompound){var Ee=this._parent[pe];if(Ee!==Re)return Ee}},Fe.prototype.children=function(pe){if(_e.isUndefined(pe)&&(pe=Re),this._isCompound){var Ee=this._children[pe];if(Ee)return _e.keys(Ee)}else{if(pe===Re)return this.nodes();if(this.hasNode(pe))return[]}},Fe.prototype.predecessors=function(pe){var Ee=this._preds[pe];if(Ee)return _e.keys(Ee)},Fe.prototype.successors=function(pe){var Ee=this._sucs[pe];if(Ee)return _e.keys(Ee)},Fe.prototype.neighbors=function(pe){var Ee=this.predecessors(pe);if(Ee)return _e.union(Ee,this.successors(pe))},Fe.prototype.isLeaf=function(pe){var Ee;return this.isDirected()?Ee=this.successors(pe):Ee=this.neighbors(pe),Ee.length===0},Fe.prototype.filterNodes=function(pe){var Ee=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});Ee.setGraph(this.graph());var Pe=this;_e.each(this._nodes,function(ne,le){pe(le)&&Ee.setNode(le,ne)}),_e.each(this._edgeObjs,function(ne){Ee.hasNode(ne.v)&&Ee.hasNode(ne.w)&&Ee.setEdge(ne,Pe.edge(ne))});var de={};function ee(ne){var le=Pe.parent(ne);return le===void 0||Ee.hasNode(le)?(de[ne]=le,le):le in de?de[le]:ee(le)}return this._isCompound&&_e.each(Ee.nodes(),function(ne){Ee.setParent(ne,ee(ne))}),Ee},Fe.prototype.setDefaultEdgeLabel=function(pe){return _e.isFunction(pe)||(pe=_e.constant(pe)),this._defaultEdgeLabelFn=pe,this},Fe.prototype.edgeCount=function(){return this._edgeCount},Fe.prototype.edges=function(){return _e.values(this._edgeObjs)},Fe.prototype.setPath=function(pe,Ee){var Pe=this,de=arguments;return _e.reduce(pe,function(ee,ne){return de.length>1?Pe.setEdge(ee,ne,Ee):Pe.setEdge(ee,ne),ne}),this},Fe.prototype.setEdge=function(){var pe,Ee,Pe,de,ee=!1,ne=arguments[0];typeof ne=="object"&&ne!==null&&"v"in ne?(pe=ne.v,Ee=ne.w,Pe=ne.name,arguments.length===2&&(de=arguments[1],ee=!0)):(pe=ne,Ee=arguments[1],Pe=arguments[3],arguments.length>2&&(de=arguments[2],ee=!0)),pe=""+pe,Ee=""+Ee,_e.isUndefined(Pe)||(Pe=""+Pe);var le=ye(this._isDirected,pe,Ee,Pe);if(_e.has(this._edgeLabels,le))return ee&&(this._edgeLabels[le]=de),this;if(!_e.isUndefined(Pe)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(pe),this.setNode(Ee),this._edgeLabels[le]=ee?de:this._defaultEdgeLabelFn(pe,Ee,Pe);var oe=we(this._isDirected,pe,Ee,Pe);return pe=oe.v,Ee=oe.w,Object.freeze(oe),this._edgeObjs[le]=oe,Ce(this._preds[Ee],pe),Ce(this._sucs[pe],Ee),this._in[Ee][le]=oe,this._out[pe][le]=oe,this._edgeCount++,this},Fe.prototype.edge=function(pe,Ee,Pe){var de=arguments.length===1?De(this._isDirected,arguments[0]):ye(this._isDirected,pe,Ee,Pe);return this._edgeLabels[de]},Fe.prototype.hasEdge=function(pe,Ee,Pe){var de=arguments.length===1?De(this._isDirected,arguments[0]):ye(this._isDirected,pe,Ee,Pe);return _e.has(this._edgeLabels,de)},Fe.prototype.removeEdge=function(pe,Ee,Pe){var de=arguments.length===1?De(this._isDirected,arguments[0]):ye(this._isDirected,pe,Ee,Pe),ee=this._edgeObjs[de];return ee&&(pe=ee.v,Ee=ee.w,delete this._edgeLabels[de],delete this._edgeObjs[de],ve(this._preds[Ee],pe),ve(this._sucs[pe],Ee),delete this._in[Ee][de],delete this._out[pe][de],this._edgeCount--),this},Fe.prototype.inEdges=function(pe,Ee){var Pe=this._in[pe];if(Pe){var de=_e.values(Pe);return Ee?_e.filter(de,function(ee){return ee.v===Ee}):de}},Fe.prototype.outEdges=function(pe,Ee){var Pe=this._out[pe];if(Pe){var de=_e.values(Pe);return Ee?_e.filter(de,function(ee){return ee.w===Ee}):de}},Fe.prototype.nodeEdges=function(pe,Ee){var Pe=this.inEdges(pe,Ee);if(Pe)return Pe.concat(this.outEdges(pe,Ee))};function Ce(pe,Ee){pe[Ee]?pe[Ee]++:pe[Ee]=1}function ve(pe,Ee){--pe[Ee]||delete pe[Ee]}function ye(pe,Ee,Pe,de){var ee=""+Ee,ne=""+Pe;if(!pe&&ee>ne){var le=ee;ee=ne,ne=le}return ee+be+ne+be+(_e.isUndefined(de)?Ve:de)}function we(pe,Ee,Pe,de){var ee=""+Ee,ne=""+Pe;if(!pe&&ee>ne){var le=ee;ee=ne,ne=le}var oe={v:ee,w:ne};return de&&(oe.name=de),oe}function De(pe,Ee){return ye(pe,Ee.v,Ee.w,Ee.name)}},89224:function(Pt,Mt,Oe){Pt.exports={Graph:Oe(6349),version:Oe(16544)}},17401:function(Pt,Mt,Oe){var _e=Oe(95329),Ve=Oe(6349);Pt.exports={write:Re,read:Ce};function Re(ve){var ye={options:{directed:ve.isDirected(),multigraph:ve.isMultigraph(),compound:ve.isCompound()},nodes:be(ve),edges:Fe(ve)};return _e.isUndefined(ve.graph())||(ye.value=_e.clone(ve.graph())),ye}function be(ve){return _e.map(ve.nodes(),function(ye){var we=ve.node(ye),De=ve.parent(ye),pe={v:ye};return _e.isUndefined(we)||(pe.value=we),_e.isUndefined(De)||(pe.parent=De),pe})}function Fe(ve){return _e.map(ve.edges(),function(ye){var we=ve.edge(ye),De={v:ye.v,w:ye.w};return _e.isUndefined(ye.name)||(De.name=ye.name),_e.isUndefined(we)||(De.value=we),De})}function Ce(ve){var ye=new Ve(ve.options).setGraph(ve.value);return _e.each(ve.nodes,function(we){ye.setNode(we.v,we.value),we.parent&&ye.setParent(we.v,we.parent)}),_e.each(ve.edges,function(we){ye.setEdge({v:we.v,w:we.w,name:we.name},we.value)}),ye}},95329:function(Pt,Mt,Oe){var _e;try{_e={clone:Oe(76833),constant:Oe(13503),each:Oe(76934),filter:Oe(64725),has:Oe(99946),isArray:Oe(80744),isEmpty:Oe(61627),isFunction:Oe(9363),isUndefined:Oe(16513),keys:Oe(55451),map:Oe(9924),reduce:Oe(16473),size:Oe(40617),transform:Oe(91116),union:Oe(44065),values:Oe(81229)}}catch(Ve){}_e||(_e=window._),Pt.exports=_e},16544:function(Pt){Pt.exports="2.1.8"},95328:function(Pt){function Mt(Re,be,Fe){return(be[0]-Re[0])*(Fe[1]-Re[1])-(be[1]-Re[1])*(Fe[0]-Re[0])}function Oe(Re){const be=[];for(let Fe=0;Fe<Re.length;Fe++){for(;be.length>=2&&Mt(be[be.length-2],be[be.length-1],Re[Fe])<=0;)be.pop();be.push(Re[Fe])}return be.pop(),be}function _e(Re){const be=Re.reverse(),Fe=[];for(let Ce=0;Ce<be.length;Ce++){for(;Fe.length>=2&&Mt(Fe[Fe.length-2],Fe[Fe.length-1],be[Ce])<=0;)Fe.pop();Fe.push(be[Ce])}return Fe.pop(),Fe}function Ve(Re){const be=Oe(Re),Ce=_e(Re).concat(be);return Ce.push(Re[0]),Ce}Pt.exports=Ve},11950:function(Pt){Pt.exports={toXy:function(Mt,Oe){return Oe===void 0?Mt.slice():Mt.map(function(_e){return new Function("pt","return [pt"+Oe[0]+",pt"+Oe[1]+"];")(_e)})},fromXy:function(Mt,Oe){return Oe===void 0?Mt.slice():Mt.map(function(_e){return new Function("pt","const o = {}; o"+Oe[0]+"= pt[0]; o"+Oe[1]+"= pt[1]; return o;")(_e)})}}},98204:function(Pt){function Mt(_e,Ve){this._cells=[],this._cellSize=Ve,this._reverseCellSize=1/Ve;for(let Re=0;Re<_e.length;Re++){const be=_e[Re],Fe=this.coordToCellNum(be[0]),Ce=this.coordToCellNum(be[1]);if(this._cells[Fe])this._cells[Fe][Ce]?this._cells[Fe][Ce].push(be):this._cells[Fe][Ce]=[be];else{const ve=[];ve[Ce]=[be],this._cells[Fe]=ve}}}Mt.prototype={cellPoints:function(_e,Ve){return this._cells[_e]!==void 0&&this._cells[_e][Ve]!==void 0?this._cells[_e][Ve]:[]},rangePoints:function(_e){const Ve=this.coordToCellNum(_e[0]),Re=this.coordToCellNum(_e[1]),be=this.coordToCellNum(_e[2]),Fe=this.coordToCellNum(_e[3]),Ce=[];for(let ve=Ve;ve<=be;ve++)for(let ye=Re;ye<=Fe;ye++)for(let we=0;we<this.cellPoints(ve,ye).length;we++)Ce.push(this.cellPoints(ve,ye)[we]);return Ce},removePoint:function(_e){const Ve=this.coordToCellNum(_e[0]),Re=this.coordToCellNum(_e[1]),be=this._cells[Ve][Re];let Fe;for(let Ce=0;Ce<be.length;Ce++)if(be[Ce][0]===_e[0]&&be[Ce][1]===_e[1]){Fe=Ce;break}return be.splice(Fe,1),be},trunc:Math.trunc||function(_e){return _e-_e%1},coordToCellNum:function(_e){return this.trunc(_e*this._reverseCellSize)},extendBbox:function(_e,Ve){return[_e[0]-Ve*this._cellSize,_e[1]-Ve*this._cellSize,_e[2]+Ve*this._cellSize,_e[3]+Ve*this._cellSize]}};function Oe(_e,Ve){return new Mt(_e,Ve)}Pt.exports=Oe},76117:function(Pt,Mt,Oe){"use strict";const _e=Oe(86972),Ve=Oe(98204),Re=Oe(11950),be=Oe(95328);function Fe(le){const oe=[le[0]];let ce=le[0];for(let he=1;he<le.length;he++){const ie=le[he];(ce[0]!==ie[0]||ce[1]!==ie[1])&&oe.push(ie),ce=ie}return oe}function Ce(le){return le.sort(function(oe,ce){return oe[0]-ce[0]||oe[1]-ce[1]})}function ve(le,oe){return Math.pow(oe[0]-le[0],2)+Math.pow(oe[1]-le[1],2)}function ye(le,oe,ce){const he=[oe[0]-le[0],oe[1]-le[1]],ie=[ce[0]-le[0],ce[1]-le[1]],ue=ve(le,oe),ge=ve(le,ce);return(he[0]*ie[0]+he[1]*ie[1])/Math.sqrt(ue*ge)}function we(le,oe){for(let ce=0;ce<oe.length-1;ce++){const he=[oe[ce],oe[ce+1]];if(!(le[0][0]===he[0][0]&&le[0][1]===he[0][1]||le[0][0]===he[1][0]&&le[0][1]===he[1][1])&&_e(le,he))return!0}return!1}function De(le){let oe=1/0,ce=1/0,he=-1/0,ie=-1/0;for(let ue=le.length-1;ue>=0;ue--)le[ue][0]<oe&&(oe=le[ue][0]),le[ue][1]<ce&&(ce=le[ue][1]),le[ue][0]>he&&(he=le[ue][0]),le[ue][1]>ie&&(ie=le[ue][1]);return[he-oe,ie-ce]}function pe(le){return[Math.min(le[0][0],le[1][0]),Math.min(le[0][1],le[1][1]),Math.max(le[0][0],le[1][0]),Math.max(le[0][1],le[1][1])]}function Ee(le,oe,ce){let he=null,ie=ee,ue=ee,ge,xe;for(let Me=0;Me<oe.length;Me++)ge=ye(le[0],le[1],oe[Me]),xe=ye(le[1],le[0],oe[Me]),ge>ie&&xe>ue&&!we([le[0],oe[Me]],ce)&&!we([le[1],oe[Me]],ce)&&(ie=ge,ue=xe,he=oe[Me]);return he}function Pe(le,oe,ce,he,ie){let ue=!1;for(let ge=0;ge<le.length-1;ge++){const xe=[le[ge],le[ge+1]],Me=xe[0][0]+","+xe[0][1]+","+xe[1][0]+","+xe[1][1];if(ve(xe[0],xe[1])<oe||ie.has(Me))continue;let Be=0,Ne=pe(xe),Ue,Ge,Xe;do Ne=he.extendBbox(Ne,Be),Ue=Ne[2]-Ne[0],Ge=Ne[3]-Ne[1],Xe=Ee(xe,he.rangePoints(Ne),le),Be++;while(Xe===null&&(ce[0]>Ue||ce[1]>Ge));Ue>=ce[0]&&Ge>=ce[1]&&ie.add(Me),Xe!==null&&(le.splice(ge+1,0,Xe),he.removePoint(Xe),ue=!0)}return ue?Pe(le,oe,ce,he,ie):le}function de(le,oe,ce){let he=oe||20;const ie=Fe(Ce(Re.toXy(le,ce)));if(ie.length<4){const Ue=ie.concat([ie[0]]);return ce?Re.fromXy(Ue,ce):Ue}const ue=De(ie),ge=[ue[0]*ne,ue[1]*ne],xe=be(ie),Me=ie.filter(function(Ue){return xe.indexOf(Ue)<0}),Be=Math.ceil(1/(ie.length/(ue[0]*ue[1]))),Ne=Pe(xe,Math.pow(he,2),ge,Ve(Me,Be),new Set);return ce?Re.fromXy(Ne,ce):Ne}const ee=Math.cos(90/(180/Math.PI)),ne=.6;Pt.exports=de},86972:function(Pt){function Mt(_e,Ve,Re,be,Fe,Ce){const ve=(Ce-Ve)*(Re-_e)-(be-Ve)*(Fe-_e);return ve>0?!0:!(ve<0)}function Oe(_e,Ve){const Re=_e[0][0],be=_e[0][1],Fe=_e[1][0],Ce=_e[1][1],ve=Ve[0][0],ye=Ve[0][1],we=Ve[1][0],De=Ve[1][1];return Mt(Re,be,ve,ye,we,De)!==Mt(Fe,Ce,ve,ye,we,De)&&Mt(Re,be,Fe,Ce,ve,ye)!==Mt(Re,be,Fe,Ce,we,De)}Pt.exports=Oe},34634:function(Pt,Mt,Oe){"use strict";Oe.r(Mt),Oe.d(Mt,{isAnyArray:function(){return Ve}});const _e=Object.prototype.toString;function Ve(Re){const be=_e.call(Re);return be.endsWith("Array]")&&!be.includes("Big")}},22948:function(Pt){Pt.exports=function(Oe){return!Oe||typeof Oe=="string"?!1:Oe instanceof Array||Array.isArray(Oe)||Oe.length>=0&&(Oe.splice instanceof Function||Object.getOwnPropertyDescriptor(Oe,Oe.length-1)&&Oe.constructor.name!=="String")}},15584:function(Pt,Mt,Oe){var _e=Oe(73893),Ve=Oe(33152),Re=_e(Ve,"DataView");Pt.exports=Re},97288:function(Pt,Mt,Oe){var _e=Oe(73893),Ve=Oe(33152),Re=_e(Ve,"Promise");Pt.exports=Re},23599:function(Pt,Mt,Oe){var _e=Oe(73893),Ve=Oe(33152),Re=_e(Ve,"Set");Pt.exports=Re},98924:function(Pt,Mt,Oe){var _e=Oe(52166),Ve=Oe(34776),Re=Oe(40393);function be(Fe){var Ce=-1,ve=Fe==null?0:Fe.length;for(this.__data__=new _e;++Ce<ve;)this.add(Fe[Ce])}be.prototype.add=be.prototype.push=Ve,be.prototype.has=Re,Pt.exports=be},26873:function(Pt,Mt,Oe){var _e=Oe(73893),Ve=Oe(33152),Re=_e(Ve,"WeakMap");Pt.exports=Re},74809:function(Pt){function Mt(Oe,_e){for(var Ve=-1,Re=Oe==null?0:Oe.length;++Ve<Re&&_e(Oe[Ve],Ve,Oe)!==!1;);return Oe}Pt.exports=Mt},86952:function(Pt){function Mt(Oe,_e){for(var Ve=-1,Re=Oe==null?0:Oe.length,be=0,Fe=[];++Ve<Re;){var Ce=Oe[Ve];_e(Ce,Ve,Oe)&&(Fe[be++]=Ce)}return Fe}Pt.exports=Mt},84271:function(Pt,Mt,Oe){var _e=Oe(17424);function Ve(Re,be){var Fe=Re==null?0:Re.length;return!!Fe&&_e(Re,be,0)>-1}Pt.exports=Ve},94874:function(Pt){function Mt(Oe,_e,Ve){for(var Re=-1,be=Oe==null?0:Oe.length;++Re<be;)if(Ve(_e,Oe[Re]))return!0;return!1}Pt.exports=Mt},75010:function(Pt){function Mt(Oe,_e){for(var Ve=-1,Re=Oe==null?0:Oe.length,be=Array(Re);++Ve<Re;)be[Ve]=_e(Oe[Ve],Ve,Oe);return be}Pt.exports=Mt},57095:function(Pt){function Mt(Oe,_e){for(var Ve=-1,Re=_e.length,be=Oe.length;++Ve<Re;)Oe[be+Ve]=_e[Ve];return Oe}Pt.exports=Mt},99861:function(Pt){function Mt(Oe,_e,Ve,Re){var be=-1,Fe=Oe==null?0:Oe.length;for(Re&&Fe&&(Ve=Oe[++be]);++be<Fe;)Ve=_e(Ve,Oe[be],be,Oe);return Ve}Pt.exports=Mt},64045:function(Pt){function Mt(Oe,_e){for(var Ve=-1,Re=Oe==null?0:Oe.length;++Ve<Re;)if(_e(Oe[Ve],Ve,Oe))return!0;return!1}Pt.exports=Mt},26539:function(Pt,Mt,Oe){var _e=Oe(22310),Ve=_e("length");Pt.exports=Ve},91937:function(Pt,Mt,Oe){var _e=Oe(95378),Ve=Oe(55451);function Re(be,Fe){return be&&_e(Fe,Ve(Fe),be)}Pt.exports=Re},26680:function(Pt,Mt,Oe){var _e=Oe(95378),Ve=Oe(56730);function Re(be,Fe){return be&&_e(Fe,Ve(Fe),be)}Pt.exports=Re},99045:function(Pt,Mt,Oe){var _e=Oe(91866),Ve=Oe(74809),Re=Oe(60348),be=Oe(91937),Fe=Oe(26680),Ce=Oe(32315),ve=Oe(47760),ye=Oe(15168),we=Oe(71678),De=Oe(12076),pe=Oe(22675),Ee=Oe(66139),Pe=Oe(79264),de=Oe(97541),ee=Oe(4084),ne=Oe(80744),le=Oe(57835),oe=Oe(41626),ce=Oe(20816),he=Oe(65226),ie=Oe(55451),ue=Oe(56730),ge=1,xe=2,Me=4,Be="[object Arguments]",Ne="[object Array]",Ue="[object Boolean]",Ge="[object Date]",Xe="[object Error]",Ye="[object Function]",nt="[object GeneratorFunction]",$e="[object Map]",qe="[object Number]",st="[object Object]",rt="[object RegExp]",ct="[object Set]",tt="[object String]",dt="[object Symbol]",At="[object WeakMap]",mt="[object ArrayBuffer]",ht="[object DataView]",vt="[object Float32Array]",Wt="[object Float64Array]",Jt="[object Int8Array]",en="[object Int16Array]",mn="[object Int32Array]",Ot="[object Uint8Array]",an="[object Uint8ClampedArray]",tn="[object Uint16Array]",Dn="[object Uint32Array]",Tn={};Tn[Be]=Tn[Ne]=Tn[mt]=Tn[ht]=Tn[Ue]=Tn[Ge]=Tn[vt]=Tn[Wt]=Tn[Jt]=Tn[en]=Tn[mn]=Tn[$e]=Tn[qe]=Tn[st]=Tn[rt]=Tn[ct]=Tn[tt]=Tn[dt]=Tn[Ot]=Tn[an]=Tn[tn]=Tn[Dn]=!0,Tn[Xe]=Tn[Ye]=Tn[At]=!1;function sn(dn,Kt,Tt,yt,Gt,gt){var St,Qt=Kt&ge,Nt=Kt&xe,wt=Kt&Me;if(Tt&&(St=Gt?Tt(dn,yt,Gt,gt):Tt(dn)),St!==void 0)return St;if(!ce(dn))return dn;var rn=ne(dn);if(rn){if(St=Pe(dn),!Qt)return ve(dn,St)}else{var On=Ee(dn),zn=On==Ye||On==nt;if(le(dn))return Ce(dn,Qt);if(On==st||On==Be||zn&&!Gt){if(St=Nt||zn?{}:ee(dn),!Qt)return Nt?we(dn,Fe(St,dn)):ye(dn,be(St,dn))}else{if(!Tn[On])return Gt?dn:{};St=de(dn,On,Qt)}}gt||(gt=new _e);var Gn=gt.get(dn);if(Gn)return Gn;gt.set(dn,St),he(dn)?dn.forEach(function($t){St.add(sn($t,Kt,Tt,$t,dn,gt))}):oe(dn)&&dn.forEach(function($t,gn){St.set(gn,sn($t,Kt,Tt,gn,dn,gt))});var nr=wt?Nt?pe:De:Nt?ue:ie,Xn=rn?void 0:nr(dn);return Ve(Xn||dn,function($t,gn){Xn&&(gn=$t,$t=dn[gn]),Re(St,gn,sn($t,Kt,Tt,gn,dn,gt))}),St}Pt.exports=sn},44107:function(Pt,Mt,Oe){var _e=Oe(85605),Ve=Oe(49164),Re=Ve(_e);Pt.exports=Re},2659:function(Pt,Mt,Oe){var _e=Oe(45029);function Ve(Re,be,Fe){for(var Ce=-1,ve=Re.length;++Ce<ve;){var ye=Re[Ce],we=be(ye);if(we!=null&&(De===void 0?we===we&&!_e(we):Fe(we,De)))var De=we,pe=ye}return pe}Pt.exports=Ve},32872:function(Pt,Mt,Oe){var _e=Oe(44107);function Ve(Re,be){var Fe=[];return _e(Re,function(Ce,ve,ye){be(Ce,ve,ye)&&Fe.push(Ce)}),Fe}Pt.exports=Ve},51533:function(Pt){function Mt(Oe,_e,Ve,Re){for(var be=Oe.length,Fe=Ve+(Re?1:-1);Re?Fe--:++Fe<be;)if(_e(Oe[Fe],Fe,Oe))return Fe;return-1}Pt.exports=Mt},9256:function(Pt,Mt,Oe){var _e=Oe(57095),Ve=Oe(88133);function Re(be,Fe,Ce,ve,ye){var we=-1,De=be.length;for(Ce||(Ce=Ve),ye||(ye=[]);++we<De;){var pe=be[we];Fe>0&&Ce(pe)?Fe>1?Re(pe,Fe-1,Ce,ve,ye):_e(ye,pe):ve||(ye[ye.length]=pe)}return ye}Pt.exports=Re},85605:function(Pt,Mt,Oe){var _e=Oe(14018),Ve=Oe(55451);function Re(be,Fe){return be&&_e(be,Fe,Ve)}Pt.exports=Re},89147:function(Pt,Mt,Oe){var _e=Oe(1186),Ve=Oe(9171);function Re(be,Fe){Fe=_e(Fe,be);for(var Ce=0,ve=Fe.length;be!=null&&Ce<ve;)be=be[Ve(Fe[Ce++])];return Ce&&Ce==ve?be:void 0}Pt.exports=Re},75635:function(Pt,Mt,Oe){var _e=Oe(57095),Ve=Oe(80744);function Re(be,Fe,Ce){var ve=Fe(be);return Ve(be)?ve:_e(ve,Ce(be))}Pt.exports=Re},40302:function(Pt){function Mt(Oe,_e){return Oe>_e}Pt.exports=Mt},3251:function(Pt){var Mt=Object.prototype,Oe=Mt.hasOwnProperty;function _e(Ve,Re){return Ve!=null&&Oe.call(Ve,Re)}Pt.exports=_e},62348:function(Pt){function Mt(Oe,_e){return Oe!=null&&_e in Object(Oe)}Pt.exports=Mt},17424:function(Pt,Mt,Oe){var _e=Oe(51533),Ve=Oe(8373),Re=Oe(49237);function be(Fe,Ce,ve){return Ce===Ce?Re(Fe,Ce,ve):_e(Fe,Ve,ve)}Pt.exports=be},77295:function(Pt,Mt,Oe){var _e=Oe(84412),Ve=Oe(93913);function Re(be,Fe,Ce,ve,ye){return be===Fe?!0:be==null||Fe==null||!Ve(be)&&!Ve(Fe)?be!==be&&Fe!==Fe:_e(be,Fe,Ce,ve,Re,ye)}Pt.exports=Re},84412:function(Pt,Mt,Oe){var _e=Oe(91866),Ve=Oe(50401),Re=Oe(57710),be=Oe(4983),Fe=Oe(66139),Ce=Oe(80744),ve=Oe(57835),ye=Oe(18397),we=1,De="[object Arguments]",pe="[object Array]",Ee="[object Object]",Pe=Object.prototype,de=Pe.hasOwnProperty;function ee(ne,le,oe,ce,he,ie){var ue=Ce(ne),ge=Ce(le),xe=ue?pe:Fe(ne),Me=ge?pe:Fe(le);xe=xe==De?Ee:xe,Me=Me==De?Ee:Me;var Be=xe==Ee,Ne=Me==Ee,Ue=xe==Me;if(Ue&&ve(ne)){if(!ve(le))return!1;ue=!0,Be=!1}if(Ue&&!Be)return ie||(ie=new _e),ue||ye(ne)?Ve(ne,le,oe,ce,he,ie):Re(ne,le,xe,oe,ce,he,ie);if(!(oe&we)){var Ge=Be&&de.call(ne,"__wrapped__"),Xe=Ne&&de.call(le,"__wrapped__");if(Ge||Xe){var Ye=Ge?ne.value():ne,nt=Xe?le.value():le;return ie||(ie=new _e),he(Ye,nt,oe,ce,ie)}}return Ue?(ie||(ie=new _e),be(ne,le,oe,ce,he,ie)):!1}Pt.exports=ee},55005:function(Pt,Mt,Oe){var _e=Oe(66139),Ve=Oe(93913),Re="[object Map]";function be(Fe){return Ve(Fe)&&_e(Fe)==Re}Pt.exports=be},51524:function(Pt,Mt,Oe){var _e=Oe(91866),Ve=Oe(77295),Re=1,be=2;function Fe(Ce,ve,ye,we){var De=ye.length,pe=De,Ee=!we;if(Ce==null)return!pe;for(Ce=Object(Ce);De--;){var Pe=ye[De];if(Ee&&Pe[2]?Pe[1]!==Ce[Pe[0]]:!(Pe[0]in Ce))return!1}for(;++De<pe;){Pe=ye[De];var de=Pe[0],ee=Ce[de],ne=Pe[1];if(Ee&&Pe[2]){if(ee===void 0&&!(de in Ce))return!1}else{var le=new _e;if(we)var oe=we(ee,ne,de,Ce,ve,le);if(!(oe===void 0?Ve(ne,ee,Re|be,we,le):oe))return!1}}return!0}Pt.exports=Fe},8373:function(Pt){function Mt(Oe){return Oe!==Oe}Pt.exports=Mt},38652:function(Pt,Mt,Oe){var _e=Oe(66139),Ve=Oe(93913),Re="[object Set]";function be(Fe){return Ve(Fe)&&_e(Fe)==Re}Pt.exports=be},95979:function(Pt,Mt,Oe){var _e=Oe(17632),Ve=Oe(38933),Re=Oe(46962),be=Oe(80744),Fe=Oe(35769);function Ce(ve){return typeof ve=="function"?ve:ve==null?Re:typeof ve=="object"?be(ve)?Ve(ve[0],ve[1]):_e(ve):Fe(ve)}Pt.exports=Ce},6019:function(Pt,Mt,Oe){var _e=Oe(7975),Ve=Oe(23730),Re=Object.prototype,be=Re.hasOwnProperty;function Fe(Ce){if(!_e(Ce))return Ve(Ce);var ve=[];for(var ye in Object(Ce))be.call(Ce,ye)&&ye!="constructor"&&ve.push(ye);return ve}Pt.exports=Fe},93757:function(Pt){function Mt(Oe,_e){return Oe<_e}Pt.exports=Mt},65487:function(Pt,Mt,Oe){var _e=Oe(44107),Ve=Oe(24665);function Re(be,Fe){var Ce=-1,ve=Ve(be)?Array(be.length):[];return _e(be,function(ye,we,De){ve[++Ce]=Fe(ye,we,De)}),ve}Pt.exports=Re},17632:function(Pt,Mt,Oe){var _e=Oe(51524),Ve=Oe(10261),Re=Oe(24122);function be(Fe){var Ce=Ve(Fe);return Ce.length==1&&Ce[0][2]?Re(Ce[0][0],Ce[0][1]):function(ve){return ve===Fe||_e(ve,Fe,Ce)}}Pt.exports=be},38933:function(Pt,Mt,Oe){var _e=Oe(77295),Ve=Oe(44231),Re=Oe(37879),be=Oe(86773),Fe=Oe(88411),Ce=Oe(24122),ve=Oe(9171),ye=1,we=2;function De(pe,Ee){return be(pe)&&Fe(Ee)?Ce(ve(pe),Ee):function(Pe){var de=Ve(Pe,pe);return de===void 0&&de===Ee?Re(Pe,pe):_e(Ee,de,ye|we)}}Pt.exports=De},58506:function(Pt,Mt,Oe){var _e=Oe(75010),Ve=Oe(89147),Re=Oe(95979),be=Oe(65487),Fe=Oe(33065),Ce=Oe(38342),ve=Oe(11249),ye=Oe(46962),we=Oe(80744);function De(pe,Ee,Pe){Ee.length?Ee=_e(Ee,function(ne){return we(ne)?function(le){return Ve(le,ne.length===1?ne[0]:ne)}:ne}):Ee=[ye];var de=-1;Ee=_e(Ee,Ce(Re));var ee=be(pe,function(ne,le,oe){var ce=_e(Ee,function(he){return he(ne)});return{criteria:ce,index:++de,value:ne}});return Fe(ee,function(ne,le){return ve(ne,le,Pe)})}Pt.exports=De},88832:function(Pt,Mt,Oe){var _e=Oe(10867),Ve=Oe(37879);function Re(be,Fe){return _e(be,Fe,function(Ce,ve){return Ve(be,ve)})}Pt.exports=Re},10867:function(Pt,Mt,Oe){var _e=Oe(89147),Ve=Oe(36897),Re=Oe(1186);function be(Fe,Ce,ve){for(var ye=-1,we=Ce.length,De={};++ye<we;){var pe=Ce[ye],Ee=_e(Fe,pe);ve(Ee,pe)&&Ve(De,Re(pe,Fe),Ee)}return De}Pt.exports=be},22310:function(Pt){function Mt(Oe){return function(_e){return _e==null?void 0:_e[Oe]}}Pt.exports=Mt},96916:function(Pt,Mt,Oe){var _e=Oe(89147);function Ve(Re){return function(be){return _e(be,Re)}}Pt.exports=Ve},36121:function(Pt){var Mt=Math.ceil,Oe=Math.max;function _e(Ve,Re,be,Fe){for(var Ce=-1,ve=Oe(Mt((Re-Ve)/(be||1)),0),ye=Array(ve);ve--;)ye[Fe?ve:++Ce]=Ve,Ve+=be;return ye}Pt.exports=_e},30739:function(Pt){function Mt(Oe,_e,Ve,Re,be){return be(Oe,function(Fe,Ce,ve){Ve=Re?(Re=!1,Fe):_e(Ve,Fe,Ce,ve)}),Ve}Pt.exports=Mt},36897:function(Pt,Mt,Oe){var _e=Oe(60348),Ve=Oe(1186),Re=Oe(70213),be=Oe(20816),Fe=Oe(9171);function Ce(ve,ye,we,De){if(!be(ve))return ve;ye=Ve(ye,ve);for(var pe=-1,Ee=ye.length,Pe=Ee-1,de=ve;de!=null&&++pe<Ee;){var ee=Fe(ye[pe]),ne=we;if(ee==="__proto__"||ee==="constructor"||ee==="prototype")return ve;if(pe!=Pe){var le=de[ee];ne=De?De(le,ee,de):void 0,ne===void 0&&(ne=be(le)?le:Re(ye[pe+1])?[]:{})}_e(de,ee,ne),de=de[ee]}return ve}Pt.exports=Ce},33065:function(Pt){function Mt(Oe,_e){var Ve=Oe.length;for(Oe.sort(_e);Ve--;)Oe[Ve]=Oe[Ve].value;return Oe}Pt.exports=Mt},50230:function(Pt,Mt,Oe){var _e=Oe(91869),Ve=Oe(75010),Re=Oe(80744),be=Oe(45029),Fe=1/0,Ce=_e?_e.prototype:void 0,ve=Ce?Ce.toString:void 0;function ye(we){if(typeof we=="string")return we;if(Re(we))return Ve(we,ye)+"";if(be(we))return ve?ve.call(we):"";var De=we+"";return De=="0"&&1/we==-Fe?"-0":De}Pt.exports=ye},13927:function(Pt,Mt,Oe){var _e=Oe(15333),Ve=/^\s+/;function Re(be){return be&&be.slice(0,_e(be)+1).replace(Ve,"")}Pt.exports=Re},29098:function(Pt,Mt,Oe){var _e=Oe(98924),Ve=Oe(84271),Re=Oe(94874),be=Oe(1931),Fe=Oe(47506),Ce=Oe(79679),ve=200;function ye(we,De,pe){var Ee=-1,Pe=Ve,de=we.length,ee=!0,ne=[],le=ne;if(pe)ee=!1,Pe=Re;else if(de>=ve){var oe=De?null:Fe(we);if(oe)return Ce(oe);ee=!1,Pe=be,le=new _e}else le=De?[]:ne;e:for(;++Ee<de;){var ce=we[Ee],he=De?De(ce):ce;if(ce=pe||ce!==0?ce:0,ee&&he===he){for(var ie=le.length;ie--;)if(le[ie]===he)continue e;De&&le.push(he),ne.push(ce)}else Pe(le,he,pe)||(le!==ne&&le.push(he),ne.push(ce))}return ne}Pt.exports=ye},20720:function(Pt,Mt,Oe){var _e=Oe(75010);function Ve(Re,be){return _e(be,function(Fe){return Re[Fe]})}Pt.exports=Ve},94484:function(Pt){function Mt(Oe,_e,Ve){for(var Re=-1,be=Oe.length,Fe=_e.length,Ce={};++Re<be;){var ve=Re<Fe?_e[Re]:void 0;Ve(Ce,Oe[Re],ve)}return Ce}Pt.exports=Mt},1931:function(Pt){function Mt(Oe,_e){return Oe.has(_e)}Pt.exports=Mt},11756:function(Pt,Mt,Oe){var _e=Oe(46962);function Ve(Re){return typeof Re=="function"?Re:_e}Pt.exports=Ve},1186:function(Pt,Mt,Oe){var _e=Oe(80744),Ve=Oe(86773),Re=Oe(40493),be=Oe(44140);function Fe(Ce,ve){return _e(Ce)?Ce:Ve(Ce,ve)?[Ce]:Re(be(Ce))}Pt.exports=Fe},27984:function(Pt,Mt,Oe){var _e=Oe(20188);function Ve(Re,be){var Fe=be?_e(Re.buffer):Re.buffer;return new Re.constructor(Fe,Re.byteOffset,Re.byteLength)}Pt.exports=Ve},78583:function(Pt){var Mt=/\w*$/;function Oe(_e){var Ve=new _e.constructor(_e.source,Mt.exec(_e));return Ve.lastIndex=_e.lastIndex,Ve}Pt.exports=Oe},28757:function(Pt,Mt,Oe){var _e=Oe(91869),Ve=_e?_e.prototype:void 0,Re=Ve?Ve.valueOf:void 0;function be(Fe){return Re?Object(Re.call(Fe)):{}}Pt.exports=be},83018:function(Pt,Mt,Oe){var _e=Oe(45029);function Ve(Re,be){if(Re!==be){var Fe=Re!==void 0,Ce=Re===null,ve=Re===Re,ye=_e(Re),we=be!==void 0,De=be===null,pe=be===be,Ee=_e(be);if(!De&&!Ee&&!ye&&Re>be||ye&&we&&pe&&!De&&!Ee||Ce&&we&&pe||!Fe&&pe||!ve)return 1;if(!Ce&&!ye&&!Ee&&Re<be||Ee&&Fe&&ve&&!Ce&&!ye||De&&Fe&&ve||!we&&ve||!pe)return-1}return 0}Pt.exports=Ve},11249:function(Pt,Mt,Oe){var _e=Oe(83018);function Ve(Re,be,Fe){for(var Ce=-1,ve=Re.criteria,ye=be.criteria,we=ve.length,De=Fe.length;++Ce<we;){var pe=_e(ve[Ce],ye[Ce]);if(pe){if(Ce>=De)return pe;var Ee=Fe[Ce];return pe*(Ee=="desc"?-1:1)}}return Re.index-be.index}Pt.exports=Ve},15168:function(Pt,Mt,Oe){var _e=Oe(95378),Ve=Oe(58966);function Re(be,Fe){return _e(be,Ve(be),Fe)}Pt.exports=Re},71678:function(Pt,Mt,Oe){var _e=Oe(95378),Ve=Oe(66817);function Re(be,Fe){return _e(be,Ve(be),Fe)}Pt.exports=Re},49164:function(Pt,Mt,Oe){var _e=Oe(24665);function Ve(Re,be){return function(Fe,Ce){if(Fe==null)return Fe;if(!_e(Fe))return Re(Fe,Ce);for(var ve=Fe.length,ye=be?ve:-1,we=Object(Fe);(be?ye--:++ye<ve)&&Ce(we[ye],ye,we)!==!1;);return Fe}}Pt.exports=Ve},19554:function(Pt,Mt,Oe){var _e=Oe(95979),Ve=Oe(24665),Re=Oe(55451);function be(Fe){return function(Ce,ve,ye){var we=Object(Ce);if(!Ve(Ce)){var De=_e(ve,3);Ce=Re(Ce),ve=function(Ee){return De(we[Ee],Ee,we)}}var pe=Fe(Ce,ve,ye);return pe>-1?we[De?Ce[pe]:pe]:void 0}}Pt.exports=be},76106:function(Pt,Mt,Oe){var _e=Oe(36121),Ve=Oe(8138),Re=Oe(97341);function be(Fe){return function(Ce,ve,ye){return ye&&typeof ye!="number"&&Ve(Ce,ve,ye)&&(ve=ye=void 0),Ce=Re(Ce),ve===void 0?(ve=Ce,Ce=0):ve=Re(ve),ye=ye===void 0?Ce<ve?1:-1:Re(ye),_e(Ce,ve,ye,Fe)}}Pt.exports=be},47506:function(Pt,Mt,Oe){var _e=Oe(23599),Ve=Oe(9958),Re=Oe(79679),be=1/0,Fe=_e&&1/Re(new _e([,-0]))[1]==be?function(Ce){return new _e(Ce)}:Ve;Pt.exports=Fe},50401:function(Pt,Mt,Oe){var _e=Oe(98924),Ve=Oe(64045),Re=Oe(1931),be=1,Fe=2;function Ce(ve,ye,we,De,pe,Ee){var Pe=we&be,de=ve.length,ee=ye.length;if(de!=ee&&!(Pe&&ee>de))return!1;var ne=Ee.get(ve),le=Ee.get(ye);if(ne&&le)return ne==ye&&le==ve;var oe=-1,ce=!0,he=we&Fe?new _e:void 0;for(Ee.set(ve,ye),Ee.set(ye,ve);++oe<de;){var ie=ve[oe],ue=ye[oe];if(De)var ge=Pe?De(ue,ie,oe,ye,ve,Ee):De(ie,ue,oe,ve,ye,Ee);if(ge!==void 0){if(ge)continue;ce=!1;break}if(he){if(!Ve(ye,function(xe,Me){if(!Re(he,Me)&&(ie===xe||pe(ie,xe,we,De,Ee)))return he.push(Me)})){ce=!1;break}}else if(!(ie===ue||pe(ie,ue,we,De,Ee))){ce=!1;break}}return Ee.delete(ve),Ee.delete(ye),ce}Pt.exports=Ce},57710:function(Pt,Mt,Oe){var _e=Oe(91869),Ve=Oe(77945),Re=Oe(43607),be=Oe(50401),Fe=Oe(83383),Ce=Oe(79679),ve=1,ye=2,we="[object Boolean]",De="[object Date]",pe="[object Error]",Ee="[object Map]",Pe="[object Number]",de="[object RegExp]",ee="[object Set]",ne="[object String]",le="[object Symbol]",oe="[object ArrayBuffer]",ce="[object DataView]",he=_e?_e.prototype:void 0,ie=he?he.valueOf:void 0;function ue(ge,xe,Me,Be,Ne,Ue,Ge){switch(Me){case ce:if(ge.byteLength!=xe.byteLength||ge.byteOffset!=xe.byteOffset)return!1;ge=ge.buffer,xe=xe.buffer;case oe:return!(ge.byteLength!=xe.byteLength||!Ue(new Ve(ge),new Ve(xe)));case we:case De:case Pe:return Re(+ge,+xe);case pe:return ge.name==xe.name&&ge.message==xe.message;case de:case ne:return ge==xe+"";case Ee:var Xe=Fe;case ee:var Ye=Be&ve;if(Xe||(Xe=Ce),ge.size!=xe.size&&!Ye)return!1;var nt=Ge.get(ge);if(nt)return nt==xe;Be|=ye,Ge.set(ge,xe);var $e=be(Xe(ge),Xe(xe),Be,Ne,Ue,Ge);return Ge.delete(ge),$e;case le:if(ie)return ie.call(ge)==ie.call(xe)}return!1}Pt.exports=ue},4983:function(Pt,Mt,Oe){var _e=Oe(12076),Ve=1,Re=Object.prototype,be=Re.hasOwnProperty;function Fe(Ce,ve,ye,we,De,pe){var Ee=ye&Ve,Pe=_e(Ce),de=Pe.length,ee=_e(ve),ne=ee.length;if(de!=ne&&!Ee)return!1;for(var le=de;le--;){var oe=Pe[le];if(!(Ee?oe in ve:be.call(ve,oe)))return!1}var ce=pe.get(Ce),he=pe.get(ve);if(ce&&he)return ce==ve&&he==Ce;var ie=!0;pe.set(Ce,ve),pe.set(ve,Ce);for(var ue=Ee;++le<de;){oe=Pe[le];var ge=Ce[oe],xe=ve[oe];if(we)var Me=Ee?we(xe,ge,oe,ve,Ce,pe):we(ge,xe,oe,Ce,ve,pe);if(!(Me===void 0?ge===xe||De(ge,xe,ye,we,pe):Me)){ie=!1;break}ue||(ue=oe=="constructor")}if(ie&&!ue){var Be=Ce.constructor,Ne=ve.constructor;Be!=Ne&&"constructor"in Ce&&"constructor"in ve&&!(typeof Be=="function"&&Be instanceof Be&&typeof Ne=="function"&&Ne instanceof Ne)&&(ie=!1)}return pe.delete(Ce),pe.delete(ve),ie}Pt.exports=Fe},522:function(Pt,Mt,Oe){var _e=Oe(40151),Ve=Oe(19652),Re=Oe(71152);function be(Fe){return Re(Ve(Fe,void 0,_e),Fe+"")}Pt.exports=be},12076:function(Pt,Mt,Oe){var _e=Oe(75635),Ve=Oe(58966),Re=Oe(55451);function be(Fe){return _e(Fe,Re,Ve)}Pt.exports=be},22675:function(Pt,Mt,Oe){var _e=Oe(75635),Ve=Oe(66817),Re=Oe(56730);function be(Fe){return _e(Fe,Re,Ve)}Pt.exports=be},10261:function(Pt,Mt,Oe){var _e=Oe(88411),Ve=Oe(55451);function Re(be){for(var Fe=Ve(be),Ce=Fe.length;Ce--;){var ve=Fe[Ce],ye=be[ve];Fe[Ce]=[ve,ye,_e(ye)]}return Fe}Pt.exports=Re},58966:function(Pt,Mt,Oe){var _e=Oe(86952),Ve=Oe(4134),Re=Object.prototype,be=Re.propertyIsEnumerable,Fe=Object.getOwnPropertySymbols,Ce=Fe?function(ve){return ve==null?[]:(ve=Object(ve),_e(Fe(ve),function(ye){return be.call(ve,ye)}))}:Ve;Pt.exports=Ce},66817:function(Pt,Mt,Oe){var _e=Oe(57095),Ve=Oe(49217),Re=Oe(58966),be=Oe(4134),Fe=Object.getOwnPropertySymbols,Ce=Fe?function(ve){for(var ye=[];ve;)_e(ye,Re(ve)),ve=Ve(ve);return ye}:be;Pt.exports=Ce},66139:function(Pt,Mt,Oe){var _e=Oe(15584),Ve=Oe(40164),Re=Oe(97288),be=Oe(23599),Fe=Oe(26873),Ce=Oe(86756),ve=Oe(63256),ye="[object Map]",we="[object Object]",De="[object Promise]",pe="[object Set]",Ee="[object WeakMap]",Pe="[object DataView]",de=ve(_e),ee=ve(Ve),ne=ve(Re),le=ve(be),oe=ve(Fe),ce=Ce;(_e&&ce(new _e(new ArrayBuffer(1)))!=Pe||Ve&&ce(new Ve)!=ye||Re&&ce(Re.resolve())!=De||be&&ce(new be)!=pe||Fe&&ce(new Fe)!=Ee)&&(ce=function(he){var ie=Ce(he),ue=ie==we?he.constructor:void 0,ge=ue?ve(ue):"";if(ge)switch(ge){case de:return Pe;case ee:return ye;case ne:return De;case le:return pe;case oe:return Ee}return ie}),Pt.exports=ce},63100:function(Pt,Mt,Oe){var _e=Oe(1186),Ve=Oe(13053),Re=Oe(80744),be=Oe(70213),Fe=Oe(11156),Ce=Oe(9171);function ve(ye,we,De){we=_e(we,ye);for(var pe=-1,Ee=we.length,Pe=!1;++pe<Ee;){var de=Ce(we[pe]);if(!(Pe=ye!=null&&De(ye,de)))break;ye=ye[de]}return Pe||++pe!=Ee?Pe:(Ee=ye==null?0:ye.length,!!Ee&&Fe(Ee)&&be(de,Ee)&&(Re(ye)||Ve(ye)))}Pt.exports=ve},55015:function(Pt){var Mt="\\ud800-\\udfff",Oe="\\u0300-\\u036f",_e="\\ufe20-\\ufe2f",Ve="\\u20d0-\\u20ff",Re=Oe+_e+Ve,be="\\ufe0e\\ufe0f",Fe="\\u200d",Ce=RegExp("["+Fe+Mt+Re+be+"]");function ve(ye){return Ce.test(ye)}Pt.exports=ve},79264:function(Pt){var Mt=Object.prototype,Oe=Mt.hasOwnProperty;function _e(Ve){var Re=Ve.length,be=new Ve.constructor(Re);return Re&&typeof Ve[0]=="string"&&Oe.call(Ve,"index")&&(be.index=Ve.index,be.input=Ve.input),be}Pt.exports=_e},97541:function(Pt,Mt,Oe){var _e=Oe(20188),Ve=Oe(27984),Re=Oe(78583),be=Oe(28757),Fe=Oe(78358),Ce="[object Boolean]",ve="[object Date]",ye="[object Map]",we="[object Number]",De="[object RegExp]",pe="[object Set]",Ee="[object String]",Pe="[object Symbol]",de="[object ArrayBuffer]",ee="[object DataView]",ne="[object Float32Array]",le="[object Float64Array]",oe="[object Int8Array]",ce="[object Int16Array]",he="[object Int32Array]",ie="[object Uint8Array]",ue="[object Uint8ClampedArray]",ge="[object Uint16Array]",xe="[object Uint32Array]";function Me(Be,Ne,Ue){var Ge=Be.constructor;switch(Ne){case de:return _e(Be);case Ce:case ve:return new Ge(+Be);case ee:return Ve(Be,Ue);case ne:case le:case oe:case ce:case he:case ie:case ue:case ge:case xe:return Fe(Be,Ue);case ye:return new Ge;case we:case Ee:return new Ge(Be);case De:return Re(Be);case pe:return new Ge;case Pe:return be(Be)}}Pt.exports=Me},88133:function(Pt,Mt,Oe){var _e=Oe(91869),Ve=Oe(13053),Re=Oe(80744),be=_e?_e.isConcatSpreadable:void 0;function Fe(Ce){return Re(Ce)||Ve(Ce)||!!(be&&Ce&&Ce[be])}Pt.exports=Fe},86773:function(Pt,Mt,Oe){var _e=Oe(80744),Ve=Oe(45029),Re=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,be=/^\w*$/;function Fe(Ce,ve){if(_e(Ce))return!1;var ye=typeof Ce;return ye=="number"||ye=="symbol"||ye=="boolean"||Ce==null||Ve(Ce)?!0:be.test(Ce)||!Re.test(Ce)||ve!=null&&Ce in Object(ve)}Pt.exports=Fe},88411:function(Pt,Mt,Oe){var _e=Oe(20816);function Ve(Re){return Re===Re&&!_e(Re)}Pt.exports=Ve},83383:function(Pt){function Mt(Oe){var _e=-1,Ve=Array(Oe.size);return Oe.forEach(function(Re,be){Ve[++_e]=[be,Re]}),Ve}Pt.exports=Mt},24122:function(Pt){function Mt(Oe,_e){return function(Ve){return Ve==null?!1:Ve[Oe]===_e&&(_e!==void 0||Oe in Object(Ve))}}Pt.exports=Mt},26332:function(Pt,Mt,Oe){var _e=Oe(52858),Ve=500;function Re(be){var Fe=_e(be,function(ve){return Ce.size===Ve&&Ce.clear(),ve}),Ce=Fe.cache;return Fe}Pt.exports=Re},23730:function(Pt,Mt,Oe){var _e=Oe(31030),Ve=_e(Object.keys,Object);Pt.exports=Ve},34776:function(Pt){var Mt="__lodash_hash_undefined__";function Oe(_e){return this.__data__.set(_e,Mt),this}Pt.exports=Oe},40393:function(Pt){function Mt(Oe){return this.__data__.has(Oe)}Pt.exports=Mt},79679:function(Pt){function Mt(Oe){var _e=-1,Ve=Array(Oe.size);return Oe.forEach(function(Re){Ve[++_e]=Re}),Ve}Pt.exports=Mt},49237:function(Pt){function Mt(Oe,_e,Ve){for(var Re=Ve-1,be=Oe.length;++Re<be;)if(Oe[Re]===_e)return Re;return-1}Pt.exports=Mt},29405:function(Pt,Mt,Oe){var _e=Oe(26539),Ve=Oe(55015),Re=Oe(60844);function be(Fe){return Ve(Fe)?Re(Fe):_e(Fe)}Pt.exports=be},40493:function(Pt,Mt,Oe){var _e=Oe(26332),Ve=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Re=/\\(\\)?/g,be=_e(function(Fe){var Ce=[];return Fe.charCodeAt(0)===46&&Ce.push(""),Fe.replace(Ve,function(ve,ye,we,De){Ce.push(we?De.replace(Re,"$1"):ye||ve)}),Ce});Pt.exports=be},9171:function(Pt,Mt,Oe){var _e=Oe(45029),Ve=1/0;function Re(be){if(typeof be=="string"||_e(be))return be;var Fe=be+"";return Fe=="0"&&1/be==-Ve?"-0":Fe}Pt.exports=Re},15333:function(Pt){var Mt=/\s/;function Oe(_e){for(var Ve=_e.length;Ve--&&Mt.test(_e.charAt(Ve)););return Ve}Pt.exports=Oe},60844:function(Pt){var Mt="\\ud800-\\udfff",Oe="\\u0300-\\u036f",_e="\\ufe20-\\ufe2f",Ve="\\u20d0-\\u20ff",Re=Oe+_e+Ve,be="\\ufe0e\\ufe0f",Fe="["+Mt+"]",Ce="["+Re+"]",ve="\\ud83c[\\udffb-\\udfff]",ye="(?:"+Ce+"|"+ve+")",we="[^"+Mt+"]",De="(?:\\ud83c[\\udde6-\\uddff]){2}",pe="[\\ud800-\\udbff][\\udc00-\\udfff]",Ee="\\u200d",Pe=ye+"?",de="["+be+"]?",ee="(?:"+Ee+"(?:"+[we,De,pe].join("|")+")"+de+Pe+")*",ne=de+Pe+ee,le="(?:"+[we+Ce+"?",Ce,De,pe,Fe].join("|")+")",oe=RegExp(ve+"(?="+ve+")|"+le+ne,"g");function ce(he){for(var ie=oe.lastIndex=0;oe.test(he);)++ie;return ie}Pt.exports=ce},76833:function(Pt,Mt,Oe){var _e=Oe(99045),Ve=4;function Re(be){return _e(be,Ve)}Pt.exports=Re},20250:function(Pt,Mt,Oe){var _e=Oe(99045),Ve=1,Re=4;function be(Fe){return _e(Fe,Ve|Re)}Pt.exports=be},28548:function(Pt,Mt,Oe){var _e=Oe(92918),Ve=Oe(43607),Re=Oe(8138),be=Oe(56730),Fe=Object.prototype,Ce=Fe.hasOwnProperty,ve=_e(function(ye,we){ye=Object(ye);var De=-1,pe=we.length,Ee=pe>2?we[2]:void 0;for(Ee&&Re(we[0],we[1],Ee)&&(pe=1);++De<pe;)for(var Pe=we[De],de=be(Pe),ee=-1,ne=de.length;++ee<ne;){var le=de[ee],oe=ye[le];(oe===void 0||Ve(oe,Fe[le])&&!Ce.call(ye,le))&&(ye[le]=Pe[le])}return ye});Pt.exports=ve},76934:function(Pt,Mt,Oe){Pt.exports=Oe(99204)},64725:function(Pt,Mt,Oe){var _e=Oe(86952),Ve=Oe(32872),Re=Oe(95979),be=Oe(80744);function Fe(Ce,ve){var ye=be(Ce)?_e:Ve;return ye(Ce,Re(ve,3))}Pt.exports=Fe},79785:function(Pt,Mt,Oe){var _e=Oe(19554),Ve=Oe(9991),Re=_e(Ve);Pt.exports=Re},9991:function(Pt,Mt,Oe){var _e=Oe(51533),Ve=Oe(95979),Re=Oe(12824),be=Math.max;function Fe(Ce,ve,ye){var we=Ce==null?0:Ce.length;if(!we)return-1;var De=ye==null?0:Re(ye);return De<0&&(De=be(we+De,0)),_e(Ce,Ve(ve,3),De)}Pt.exports=Fe},40151:function(Pt,Mt,Oe){var _e=Oe(9256);function Ve(Re){var be=Re==null?0:Re.length;return be?_e(Re,1):[]}Pt.exports=Ve},99204:function(Pt,Mt,Oe){var _e=Oe(74809),Ve=Oe(44107),Re=Oe(11756),be=Oe(80744);function Fe(Ce,ve){var ye=be(Ce)?_e:Ve;return ye(Ce,Re(ve))}Pt.exports=Fe},23190:function(Pt,Mt,Oe){var _e=Oe(14018),Ve=Oe(11756),Re=Oe(56730);function be(Fe,Ce){return Fe==null?Fe:_e(Fe,Ve(Ce),Re)}Pt.exports=be},44231:function(Pt,Mt,Oe){var _e=Oe(89147);function Ve(Re,be,Fe){var Ce=Re==null?void 0:_e(Re,be);return Ce===void 0?Fe:Ce}Pt.exports=Ve},99946:function(Pt,Mt,Oe){var _e=Oe(3251),Ve=Oe(63100);function Re(be,Fe){return be!=null&&Ve(be,Fe,_e)}Pt.exports=Re},37879:function(Pt,Mt,Oe){var _e=Oe(62348),Ve=Oe(63100);function Re(be,Fe){return be!=null&&Ve(be,Fe,_e)}Pt.exports=Re},61627:function(Pt,Mt,Oe){var _e=Oe(6019),Ve=Oe(66139),Re=Oe(13053),be=Oe(80744),Fe=Oe(24665),Ce=Oe(57835),ve=Oe(7975),ye=Oe(18397),we="[object Map]",De="[object Set]",pe=Object.prototype,Ee=pe.hasOwnProperty;function Pe(de){if(de==null)return!0;if(Fe(de)&&(be(de)||typeof de=="string"||typeof de.splice=="function"||Ce(de)||ye(de)||Re(de)))return!de.length;var ee=Ve(de);if(ee==we||ee==De)return!de.size;if(ve(de))return!_e(de).length;for(var ne in de)if(Ee.call(de,ne))return!1;return!0}Pt.exports=Pe},41626:function(Pt,Mt,Oe){var _e=Oe(55005),Ve=Oe(38342),Re=Oe(52495),be=Re&&Re.isMap,Fe=be?Ve(be):_e;Pt.exports=Fe},65226:function(Pt,Mt,Oe){var _e=Oe(38652),Ve=Oe(38342),Re=Oe(52495),be=Re&&Re.isSet,Fe=be?Ve(be):_e;Pt.exports=Fe},7941:function(Pt,Mt,Oe){var _e=Oe(86756),Ve=Oe(80744),Re=Oe(93913),be="[object String]";function Fe(Ce){return typeof Ce=="string"||!Ve(Ce)&&Re(Ce)&&_e(Ce)==be}Pt.exports=Fe},45029:function(Pt,Mt,Oe){var _e=Oe(86756),Ve=Oe(93913),Re="[object Symbol]";function be(Fe){return typeof Fe=="symbol"||Ve(Fe)&&_e(Fe)==Re}Pt.exports=be},16513:function(Pt){function Mt(Oe){return Oe===void 0}Pt.exports=Mt},55451:function(Pt,Mt,Oe){var _e=Oe(63333),Ve=Oe(6019),Re=Oe(24665);function be(Fe){return Re(Fe)?_e(Fe):Ve(Fe)}Pt.exports=be},10611:function(Pt){function Mt(Oe){var _e=Oe==null?0:Oe.length;return _e?Oe[_e-1]:void 0}Pt.exports=Mt},9924:function(Pt,Mt,Oe){var _e=Oe(75010),Ve=Oe(95979),Re=Oe(65487),be=Oe(80744);function Fe(Ce,ve){var ye=be(Ce)?_e:Re;return ye(Ce,Ve(ve,3))}Pt.exports=Fe},70642:function(Pt,Mt,Oe){var _e=Oe(42813),Ve=Oe(85605),Re=Oe(95979);function be(Fe,Ce){var ve={};return Ce=Re(Ce,3),Ve(Fe,function(ye,we,De){_e(ve,we,Ce(ye,we,De))}),ve}Pt.exports=be},95987:function(Pt,Mt,Oe){var _e=Oe(2659),Ve=Oe(40302),Re=Oe(46962);function be(Fe){return Fe&&Fe.length?_e(Fe,Re,Ve):void 0}Pt.exports=be},52858:function(Pt,Mt,Oe){var _e=Oe(52166),Ve="Expected a function";function Re(be,Fe){if(typeof be!="function"||Fe!=null&&typeof Fe!="function")throw new TypeError(Ve);var Ce=function(){var ve=arguments,ye=Fe?Fe.apply(this,ve):ve[0],we=Ce.cache;if(we.has(ye))return we.get(ye);var De=be.apply(this,ve);return Ce.cache=we.set(ye,De)||we,De};return Ce.cache=new(Re.Cache||_e),Ce}Re.Cache=_e,Pt.exports=Re},73376:function(Pt,Mt,Oe){var _e=Oe(2659),Ve=Oe(93757),Re=Oe(46962);function be(Fe){return Fe&&Fe.length?_e(Fe,Re,Ve):void 0}Pt.exports=be},83296:function(Pt,Mt,Oe){var _e=Oe(2659),Ve=Oe(95979),Re=Oe(93757);function be(Fe,Ce){return Fe&&Fe.length?_e(Fe,Ve(Ce,2),Re):void 0}Pt.exports=be},9958:function(Pt){function Mt(){}Pt.exports=Mt},5795:function(Pt,Mt,Oe){var _e=Oe(33152),Ve=function(){return _e.Date.now()};Pt.exports=Ve},89409:function(Pt,Mt,Oe){var _e=Oe(88832),Ve=Oe(522),Re=Ve(function(be,Fe){return be==null?{}:_e(be,Fe)});Pt.exports=Re},35769:function(Pt,Mt,Oe){var _e=Oe(22310),Ve=Oe(96916),Re=Oe(86773),be=Oe(9171);function Fe(Ce){return Re(Ce)?_e(be(Ce)):Ve(Ce)}Pt.exports=Fe},60859:function(Pt,Mt,Oe){var _e=Oe(76106),Ve=_e();Pt.exports=Ve},16473:function(Pt,Mt,Oe){var _e=Oe(99861),Ve=Oe(44107),Re=Oe(95979),be=Oe(30739),Fe=Oe(80744);function Ce(ve,ye,we){var De=Fe(ve)?_e:be,pe=arguments.length<3;return De(ve,Re(ye,4),we,pe,Ve)}Pt.exports=Ce},40617:function(Pt,Mt,Oe){var _e=Oe(6019),Ve=Oe(66139),Re=Oe(24665),be=Oe(7941),Fe=Oe(29405),Ce="[object Map]",ve="[object Set]";function ye(we){if(we==null)return 0;if(Re(we))return be(we)?Fe(we):we.length;var De=Ve(we);return De==Ce||De==ve?we.size:_e(we).length}Pt.exports=ye},351:function(Pt,Mt,Oe){var _e=Oe(9256),Ve=Oe(58506),Re=Oe(92918),be=Oe(8138),Fe=Re(function(Ce,ve){if(Ce==null)return[];var ye=ve.length;return ye>1&&be(Ce,ve[0],ve[1])?ve=[]:ye>2&&be(ve[0],ve[1],ve[2])&&(ve=[ve[0]]),Ve(Ce,_e(ve,1),[])});Pt.exports=Fe},4134:function(Pt){function Mt(){return[]}Pt.exports=Mt},97341:function(Pt,Mt,Oe){var _e=Oe(59406),Ve=1/0,Re=17976931348623157e292;function be(Fe){if(!Fe)return Fe===0?Fe:0;if(Fe=_e(Fe),Fe===Ve||Fe===-Ve){var Ce=Fe<0?-1:1;return Ce*Re}return Fe===Fe?Fe:0}Pt.exports=be},12824:function(Pt,Mt,Oe){var _e=Oe(97341);function Ve(Re){var be=_e(Re),Fe=be%1;return be===be?Fe?be-Fe:be:0}Pt.exports=Ve},59406:function(Pt,Mt,Oe){var _e=Oe(13927),Ve=Oe(20816),Re=Oe(45029),be=NaN,Fe=/^[-+]0x[0-9a-f]+$/i,Ce=/^0b[01]+$/i,ve=/^0o[0-7]+$/i,ye=parseInt;function we(De){if(typeof De=="number")return De;if(Re(De))return be;if(Ve(De)){var pe=typeof De.valueOf=="function"?De.valueOf():De;De=Ve(pe)?pe+"":pe}if(typeof De!="string")return De===0?De:+De;De=_e(De);var Ee=Ce.test(De);return Ee||ve.test(De)?ye(De.slice(2),Ee?2:8):Fe.test(De)?be:+De}Pt.exports=we},44140:function(Pt,Mt,Oe){var _e=Oe(50230);function Ve(Re){return Re==null?"":_e(Re)}Pt.exports=Ve},91116:function(Pt,Mt,Oe){var _e=Oe(74809),Ve=Oe(35024),Re=Oe(85605),be=Oe(95979),Fe=Oe(49217),Ce=Oe(80744),ve=Oe(57835),ye=Oe(9363),we=Oe(20816),De=Oe(18397);function pe(Ee,Pe,de){var ee=Ce(Ee),ne=ee||ve(Ee)||De(Ee);if(Pe=be(Pe,4),de==null){var le=Ee&&Ee.constructor;ne?de=ee?new le:[]:we(Ee)?de=ye(le)?Ve(Fe(Ee)):{}:de={}}return(ne?_e:Re)(Ee,function(oe,ce,he){return Pe(de,oe,ce,he)}),de}Pt.exports=pe},44065:function(Pt,Mt,Oe){var _e=Oe(9256),Ve=Oe(92918),Re=Oe(29098),be=Oe(41590),Fe=Ve(function(Ce){return Re(_e(Ce,1,be,!0))});Pt.exports=Fe},95708:function(Pt,Mt,Oe){var _e=Oe(44140),Ve=0;function Re(be){var Fe=++Ve;return _e(be)+Fe}Pt.exports=Re},81229:function(Pt,Mt,Oe){var _e=Oe(20720),Ve=Oe(55451);function Re(be){return be==null?[]:_e(be,Ve(be))}Pt.exports=Re},65441:function(Pt,Mt,Oe){var _e=Oe(60348),Ve=Oe(94484);function Re(be,Fe){return Ve(be||[],Fe||[],_e)}Pt.exports=Re},34402:function(Pt,Mt,Oe){"use strict";Oe.r(Mt),Oe.d(Mt,{default:function(){return be}});var _e=Oe(34634);function Ve(Fe){var Ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,_e.isAnyArray)(Fe))throw new TypeError("input must be an array");if(Fe.length===0)throw new TypeError("input must not be empty");var ve=Ce.fromIndex,ye=ve===void 0?0:ve,we=Ce.toIndex,De=we===void 0?Fe.length:we;if(ye<0||ye>=Fe.length||!Number.isInteger(ye))throw new Error("fromIndex must be a positive integer smaller than length");if(De<=ye||De>Fe.length||!Number.isInteger(De))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var pe=Fe[ye],Ee=ye+1;Ee<De;Ee++)Fe[Ee]>pe&&(pe=Fe[Ee]);return pe}function Re(Fe){var Ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,_e.isAnyArray)(Fe))throw new TypeError("input must be an array");if(Fe.length===0)throw new TypeError("input must not be empty");var ve=Ce.fromIndex,ye=ve===void 0?0:ve,we=Ce.toIndex,De=we===void 0?Fe.length:we;if(ye<0||ye>=Fe.length||!Number.isInteger(ye))throw new Error("fromIndex must be a positive integer smaller than length");if(De<=ye||De>Fe.length||!Number.isInteger(De))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var pe=Fe[ye],Ee=ye+1;Ee<De;Ee++)Fe[Ee]<pe&&(pe=Fe[Ee]);return pe}function be(Fe){var Ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if((0,_e.isAnyArray)(Fe)){if(Fe.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var ve;if(Ce.output!==void 0){if(!(0,_e.isAnyArray)(Ce.output))throw new TypeError("output option must be an array if specified");ve=Ce.output}else ve=new Array(Fe.length);var ye=Re(Fe),we=Ve(Fe);if(ye===we)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var De=Ce.min,pe=De===void 0?Ce.autoMinMax?ye:0:De,Ee=Ce.max,Pe=Ee===void 0?Ce.autoMinMax?we:1:Ee;if(pe>=Pe)throw new RangeError("min option must be smaller than max option");for(var de=(Pe-pe)/(we-ye),ee=0;ee<Fe.length;ee++)ve[ee]=(Fe[ee]-ye)*de+pe;return ve}},39417:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return Me}});var _e=Oe(92413),Ve=Oe(400),Re=Oe(37061),be=Oe(33708),Fe=Oe(6909),Ce=Oe(4771),ve=Oe(25314),ye=Oe(9427),we=Oe(25440),De=Oe(92310),pe=Oe.n(De),Ee=Oe(26112),Pe=Oe(59301),de=Oe(39378),ee=function(Ne){for(var Ue=Ne.prefixCls,Ge=Ne.level,Xe=Ne.isStart,Ye=Ne.isEnd,nt="".concat(Ue,"-indent-unit"),$e=[],qe=0;qe<Ge;qe+=1){var st;$e.push(Pe.createElement("span",{key:qe,className:pe()(nt,(st={},(0,Ve.Z)(st,"".concat(nt,"-start"),Xe[qe]),(0,Ve.Z)(st,"".concat(nt,"-end"),Ye[qe]),st))}))}return Pe.createElement("span",{"aria-hidden":"true",className:"".concat(Ue,"-indent")},$e)},ne=Pe.memo(ee),le=Oe(67841),oe=Oe(71430),ce=["eventKey","className","style","dragOver","dragOverGapTop","dragOverGapBottom","isLeaf","isStart","isEnd","expanded","selected","checked","halfChecked","loading","domRef","active","data","onMouseMove","selectable"],he="open",ie="close",ue="---",ge=function(Be){(0,ye.Z)(Ue,Be);var Ne=(0,we.Z)(Ue);function Ue(){var Ge;(0,Fe.Z)(this,Ue);for(var Xe=arguments.length,Ye=new Array(Xe),nt=0;nt<Xe;nt++)Ye[nt]=arguments[nt];return Ge=Ne.call.apply(Ne,[this].concat(Ye)),Ge.state={dragNodeHighlight:!1},Ge.selectHandle=void 0,Ge.cacheIndent=void 0,Ge.onSelectorClick=function($e){var qe=Ge.props.context.onNodeClick;qe($e,(0,oe.F)(Ge.props)),Ge.isSelectable()?Ge.onSelect($e):Ge.onCheck($e)},Ge.onSelectorDoubleClick=function($e){var qe=Ge.props.context.onNodeDoubleClick;qe($e,(0,oe.F)(Ge.props))},Ge.onSelect=function($e){if(!Ge.isDisabled()){var qe=Ge.props.context.onNodeSelect;qe($e,(0,oe.F)(Ge.props))}},Ge.onCheck=function($e){if(!Ge.isDisabled()){var qe=Ge.props,st=qe.disableCheckbox,rt=qe.checked,ct=Ge.props.context.onNodeCheck;if(!(!Ge.isCheckable()||st)){var tt=!rt;ct($e,(0,oe.F)(Ge.props),tt)}}},Ge.onMouseEnter=function($e){var qe=Ge.props.context.onNodeMouseEnter;qe($e,(0,oe.F)(Ge.props))},Ge.onMouseLeave=function($e){var qe=Ge.props.context.onNodeMouseLeave;qe($e,(0,oe.F)(Ge.props))},Ge.onContextMenu=function($e){var qe=Ge.props.context.onNodeContextMenu;qe($e,(0,oe.F)(Ge.props))},Ge.onDragStart=function($e){var qe=Ge.props.context.onNodeDragStart;$e.stopPropagation(),Ge.setState({dragNodeHighlight:!0}),qe($e,(0,ve.Z)(Ge));try{$e.dataTransfer.setData("text/plain","")}catch(st){}},Ge.onDragEnter=function($e){var qe=Ge.props.context.onNodeDragEnter;$e.preventDefault(),$e.stopPropagation(),qe($e,(0,ve.Z)(Ge))},Ge.onDragOver=function($e){var qe=Ge.props.context.onNodeDragOver;$e.preventDefault(),$e.stopPropagation(),qe($e,(0,ve.Z)(Ge))},Ge.onDragLeave=function($e){var qe=Ge.props.context.onNodeDragLeave;$e.stopPropagation(),qe($e,(0,ve.Z)(Ge))},Ge.onDragEnd=function($e){var qe=Ge.props.context.onNodeDragEnd;$e.stopPropagation(),Ge.setState({dragNodeHighlight:!1}),qe($e,(0,ve.Z)(Ge))},Ge.onDrop=function($e){var qe=Ge.props.context.onNodeDrop;$e.preventDefault(),$e.stopPropagation(),Ge.setState({dragNodeHighlight:!1}),qe($e,(0,ve.Z)(Ge))},Ge.onExpand=function($e){var qe=Ge.props,st=qe.loading,rt=qe.context.onNodeExpand;st||rt($e,(0,oe.F)(Ge.props))},Ge.setSelectHandle=function($e){Ge.selectHandle=$e},Ge.getNodeState=function(){var $e=Ge.props.expanded;return Ge.isLeaf()?null:$e?he:ie},Ge.hasChildren=function(){var $e=Ge.props.eventKey,qe=Ge.props.context.keyEntities,st=(0,le.Z)(qe,$e)||{},rt=st.children;return!!(rt||[]).length},Ge.isLeaf=function(){var $e=Ge.props,qe=$e.isLeaf,st=$e.loaded,rt=Ge.props.context.loadData,ct=Ge.hasChildren();return qe===!1?!1:qe||!rt&&!ct||rt&&st&&!ct},Ge.isDisabled=function(){var $e=Ge.props.disabled,qe=Ge.props.context.disabled;return!!(qe||$e)},Ge.isCheckable=function(){var $e=Ge.props.checkable,qe=Ge.props.context.checkable;return!qe||$e===!1?!1:qe},Ge.syncLoadData=function($e){var qe=$e.expanded,st=$e.loading,rt=$e.loaded,ct=Ge.props.context,tt=ct.loadData,dt=ct.onNodeLoad;st||tt&&qe&&!Ge.isLeaf()&&!Ge.hasChildren()&&!rt&&dt((0,oe.F)(Ge.props))},Ge.isDraggable=function(){var $e=Ge.props,qe=$e.data,st=$e.context.draggable;return!!(st&&(!st.nodeDraggable||st.nodeDraggable(qe)))},Ge.renderDragHandler=function(){var $e=Ge.props.context,qe=$e.draggable,st=$e.prefixCls;return qe!=null&&qe.icon?Pe.createElement("span",{className:"".concat(st,"-draggable-icon")},qe.icon):null},Ge.renderSwitcherIconDom=function($e){var qe=Ge.props.switcherIcon,st=Ge.props.context.switcherIcon,rt=qe||st;return typeof rt=="function"?rt((0,be.Z)((0,be.Z)({},Ge.props),{},{isLeaf:$e})):rt},Ge.renderSwitcher=function(){var $e=Ge.props.expanded,qe=Ge.props.context.prefixCls;if(Ge.isLeaf()){var st=Ge.renderSwitcherIconDom(!0);return st!==!1?Pe.createElement("span",{className:pe()("".concat(qe,"-switcher"),"".concat(qe,"-switcher-noop"))},st):null}var rt=pe()("".concat(qe,"-switcher"),"".concat(qe,"-switcher_").concat($e?he:ie)),ct=Ge.renderSwitcherIconDom(!1);return ct!==!1?Pe.createElement("span",{onClick:Ge.onExpand,className:rt},ct):null},Ge.renderCheckbox=function(){var $e=Ge.props,qe=$e.checked,st=$e.halfChecked,rt=$e.disableCheckbox,ct=Ge.props.context.prefixCls,tt=Ge.isDisabled(),dt=Ge.isCheckable();if(!dt)return null;var At=typeof dt!="boolean"?dt:null;return Pe.createElement("span",{className:pe()("".concat(ct,"-checkbox"),qe&&"".concat(ct,"-checkbox-checked"),!qe&&st&&"".concat(ct,"-checkbox-indeterminate"),(tt||rt)&&"".concat(ct,"-checkbox-disabled")),onClick:Ge.onCheck},At)},Ge.renderIcon=function(){var $e=Ge.props.loading,qe=Ge.props.context.prefixCls;return Pe.createElement("span",{className:pe()("".concat(qe,"-iconEle"),"".concat(qe,"-icon__").concat(Ge.getNodeState()||"docu"),$e&&"".concat(qe,"-icon_loading"))})},Ge.renderSelector=function(){var $e=Ge.state.dragNodeHighlight,qe=Ge.props,st=qe.title,rt=st===void 0?ue:st,ct=qe.selected,tt=qe.icon,dt=qe.loading,At=qe.data,mt=Ge.props.context,ht=mt.prefixCls,vt=mt.showIcon,Wt=mt.icon,Jt=mt.loadData,en=mt.titleRender,mn=Ge.isDisabled(),Ot="".concat(ht,"-node-content-wrapper"),an;if(vt){var tn=tt||Wt;an=tn?Pe.createElement("span",{className:pe()("".concat(ht,"-iconEle"),"".concat(ht,"-icon__customize"))},typeof tn=="function"?tn(Ge.props):tn):Ge.renderIcon()}else Jt&&dt&&(an=Ge.renderIcon());var Dn;typeof rt=="function"?Dn=rt(At):en?Dn=en(At):Dn=rt;var Tn=Pe.createElement("span",{className:"".concat(ht,"-title")},Dn);return Pe.createElement("span",{ref:Ge.setSelectHandle,title:typeof rt=="string"?rt:"",className:pe()("".concat(Ot),"".concat(Ot,"-").concat(Ge.getNodeState()||"normal"),!mn&&(ct||$e)&&"".concat(ht,"-node-selected")),onMouseEnter:Ge.onMouseEnter,onMouseLeave:Ge.onMouseLeave,onContextMenu:Ge.onContextMenu,onClick:Ge.onSelectorClick,onDoubleClick:Ge.onSelectorDoubleClick},an,Tn,Ge.renderDropIndicator())},Ge.renderDropIndicator=function(){var $e=Ge.props,qe=$e.disabled,st=$e.eventKey,rt=Ge.props.context,ct=rt.draggable,tt=rt.dropLevelOffset,dt=rt.dropPosition,At=rt.prefixCls,mt=rt.indent,ht=rt.dropIndicatorRender,vt=rt.dragOverNodeKey,Wt=rt.direction,Jt=!!ct,en=!qe&&Jt&&vt===st,mn=mt!=null?mt:Ge.cacheIndent;return Ge.cacheIndent=mt,en?ht({dropPosition:dt,dropLevelOffset:tt,indent:mn,prefixCls:At,direction:Wt}):null},Ge}return(0,Ce.Z)(Ue,[{key:"componentDidMount",value:function(){this.syncLoadData(this.props)}},{key:"componentDidUpdate",value:function(){this.syncLoadData(this.props)}},{key:"isSelectable",value:function(){var Xe=this.props.selectable,Ye=this.props.context.selectable;return typeof Xe=="boolean"?Xe:Ye}},{key:"render",value:function(){var Xe,Ye=this.props,nt=Ye.eventKey,$e=Ye.className,qe=Ye.style,st=Ye.dragOver,rt=Ye.dragOverGapTop,ct=Ye.dragOverGapBottom,tt=Ye.isLeaf,dt=Ye.isStart,At=Ye.isEnd,mt=Ye.expanded,ht=Ye.selected,vt=Ye.checked,Wt=Ye.halfChecked,Jt=Ye.loading,en=Ye.domRef,mn=Ye.active,Ot=Ye.data,an=Ye.onMouseMove,tn=Ye.selectable,Dn=(0,Re.Z)(Ye,ce),Tn=this.props.context,sn=Tn.prefixCls,dn=Tn.filterTreeNode,Kt=Tn.keyEntities,Tt=Tn.dropContainerKey,yt=Tn.dropTargetKey,Gt=Tn.draggingNodeKey,gt=this.isDisabled(),St=(0,Ee.Z)(Dn,{aria:!0,data:!0}),Qt=(0,le.Z)(Kt,nt)||{},Nt=Qt.level,wt=At[At.length-1],rn=this.isDraggable(),On=!gt&&rn,zn=Gt===nt,Gn=tn!==void 0?{"aria-selected":!!tn}:void 0;return Pe.createElement("div",(0,_e.Z)({ref:en,className:pe()($e,"".concat(sn,"-treenode"),(Xe={},(0,Ve.Z)(Xe,"".concat(sn,"-treenode-disabled"),gt),(0,Ve.Z)(Xe,"".concat(sn,"-treenode-switcher-").concat(mt?"open":"close"),!tt),(0,Ve.Z)(Xe,"".concat(sn,"-treenode-checkbox-checked"),vt),(0,Ve.Z)(Xe,"".concat(sn,"-treenode-checkbox-indeterminate"),Wt),(0,Ve.Z)(Xe,"".concat(sn,"-treenode-selected"),ht),(0,Ve.Z)(Xe,"".concat(sn,"-treenode-loading"),Jt),(0,Ve.Z)(Xe,"".concat(sn,"-treenode-active"),mn),(0,Ve.Z)(Xe,"".concat(sn,"-treenode-leaf-last"),wt),(0,Ve.Z)(Xe,"".concat(sn,"-treenode-draggable"),rn),(0,Ve.Z)(Xe,"dragging",zn),(0,Ve.Z)(Xe,"drop-target",yt===nt),(0,Ve.Z)(Xe,"drop-container",Tt===nt),(0,Ve.Z)(Xe,"drag-over",!gt&&st),(0,Ve.Z)(Xe,"drag-over-gap-top",!gt&&rt),(0,Ve.Z)(Xe,"drag-over-gap-bottom",!gt&&ct),(0,Ve.Z)(Xe,"filter-node",dn&&dn((0,oe.F)(this.props))),Xe)),style:qe,draggable:On,"aria-grabbed":zn,onDragStart:On?this.onDragStart:void 0,onDragEnter:rn?this.onDragEnter:void 0,onDragOver:rn?this.onDragOver:void 0,onDragLeave:rn?this.onDragLeave:void 0,onDrop:rn?this.onDrop:void 0,onDragEnd:rn?this.onDragEnd:void 0,onMouseMove:an},Gn,St),Pe.createElement(ne,{prefixCls:sn,level:Nt,isStart:dt,isEnd:At}),this.renderDragHandler(),this.renderSwitcher(),this.renderCheckbox(),this.renderSelector())}}]),Ue}(Pe.Component),xe=function(Ne){return Pe.createElement(de.k.Consumer,null,function(Ue){return Pe.createElement(ge,(0,_e.Z)({},Ne,{context:Ue}))})};xe.displayName="TreeNode",xe.isTreeNode=1;var Me=xe},39378:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{k:function(){return Ve}});var _e=Oe(59301),Ve=_e.createContext(null)},23130:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{O:function(){return Me.Z},Z:function(){return Tn}});var _e=Oe(92413),Ve=Oe(400),Re=Oe(39559),be=Oe(33708),Fe=Oe(26407),Ce=Oe(6909),ve=Oe(4771),ye=Oe(25314),we=Oe(9427),De=Oe(25440),pe=Oe(92310),Ee=Oe.n(pe),Pe=Oe(10228),de=Oe(26112),ee=Oe(48736),ne=Oe(59301),le=Oe(39378);function oe(sn){var dn=sn.dropPosition,Kt=sn.dropLevelOffset,Tt=sn.indent,yt={pointerEvents:"none",position:"absolute",right:0,backgroundColor:"red",height:2};switch(dn){case-1:yt.top=0,yt.left=-Kt*Tt;break;case 1:yt.bottom=0,yt.left=-Kt*Tt;break;case 0:yt.bottom=0,yt.left=Tt;break}return ne.createElement("div",{style:yt})}function ce(sn){if(sn==null)throw new TypeError("Cannot destructure "+sn)}var he=Oe(33606),ie=Oe(37061),ue=Oe(34280),ge=Oe(4409),xe=Oe(77900),Me=Oe(39417);function Be(sn,dn){var Kt=ne.useState(!1),Tt=(0,he.Z)(Kt,2),yt=Tt[0],Gt=Tt[1];ne.useLayoutEffect(function(){if(yt)return sn(),function(){dn()}},[yt]),ne.useLayoutEffect(function(){return Gt(!0),function(){Gt(!1)}},[])}var Ne=Oe(71430),Ue=["className","style","motion","motionNodes","motionType","onMotionStart","onMotionEnd","active","treeNodeRequiredProps"],Ge=function(dn,Kt){var Tt=dn.className,yt=dn.style,Gt=dn.motion,gt=dn.motionNodes,St=dn.motionType,Qt=dn.onMotionStart,Nt=dn.onMotionEnd,wt=dn.active,rn=dn.treeNodeRequiredProps,On=(0,ie.Z)(dn,Ue),zn=ne.useState(!0),Gn=(0,he.Z)(zn,2),nr=Gn[0],Xn=Gn[1],$t=ne.useContext(le.k),gn=$t.prefixCls,jn=gt&&St!=="hide";(0,ue.Z)(function(){gt&&jn!==nr&&Xn(jn)},[gt]);var Ln=function(){gt&&Qt()},Sr=ne.useRef(!1),Ur=function(){gt&&!Sr.current&&(Sr.current=!0,Nt())};Be(Ln,Ur);var Mr=function(ma){jn===ma&&Ur()};return gt?ne.createElement(xe.default,(0,_e.Z)({ref:Kt,visible:nr},Gt,{motionAppear:St==="show",onVisibleChanged:Mr}),function(Gr,ma){var Oa=Gr.className,Ea=Gr.style;return ne.createElement("div",{ref:ma,className:Ee()("".concat(gn,"-treenode-motion"),Oa),style:Ea},gt.map(function(Ma){var li=(0,_e.Z)({},(ce(Ma.data),Ma.data)),di=Ma.title,Hr=Ma.key,Ta=Ma.isStart,Ha=Ma.isEnd;delete li.children;var sr=(0,Ne.H8)(Hr,rn);return ne.createElement(Me.Z,(0,_e.Z)({},li,sr,{title:di,active:wt,data:Ma.data,key:Hr,isStart:Ta,isEnd:Ha}))}))}):ne.createElement(Me.Z,(0,_e.Z)({domRef:Kt,className:Tt,style:yt},On,{active:wt}))};Ge.displayName="MotionTreeNode";var Xe=ne.forwardRef(Ge),Ye=Xe;function nt(){var sn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],dn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Kt=sn.length,Tt=dn.length;if(Math.abs(Kt-Tt)!==1)return{add:!1,key:null};function yt(Gt,gt){var St=new Map;Gt.forEach(function(Nt){St.set(Nt,!0)});var Qt=gt.filter(function(Nt){return!St.has(Nt)});return Qt.length===1?Qt[0]:null}return Kt<Tt?{add:!0,key:yt(sn,dn)}:{add:!1,key:yt(dn,sn)}}function $e(sn,dn,Kt){var Tt=sn.findIndex(function(St){return St.key===Kt}),yt=sn[Tt+1],Gt=dn.findIndex(function(St){return St.key===Kt});if(yt){var gt=dn.findIndex(function(St){return St.key===yt.key});return dn.slice(Gt+1,gt)}return dn.slice(Gt+1)}var qe=["prefixCls","data","selectable","checkable","expandedKeys","selectedKeys","checkedKeys","loadedKeys","loadingKeys","halfCheckedKeys","keyEntities","disabled","dragging","dragOverNodeKey","dropPosition","motion","height","itemHeight","virtual","focusable","activeItem","focused","tabIndex","onKeyDown","onFocus","onBlur","onActiveChange","onListChangeStart","onListChangeEnd"],st={width:0,height:0,display:"flex",overflow:"hidden",opacity:0,border:0,padding:0,margin:0},rt=function(){},ct="RC_TREE_MOTION_".concat(Math.random()),tt={key:ct},dt={key:ct,level:0,index:0,pos:"0",node:tt,nodes:[tt]},At={parent:null,children:[],pos:dt.pos,data:tt,title:null,key:ct,isStart:[],isEnd:[]};function mt(sn,dn,Kt,Tt){return dn===!1||!Kt?sn:sn.slice(0,Math.ceil(Kt/Tt)+1)}function ht(sn){var dn=sn.key,Kt=sn.pos;return(0,Ne.km)(dn,Kt)}function vt(sn){for(var dn=String(sn.data.key),Kt=sn;Kt.parent;)Kt=Kt.parent,dn="".concat(Kt.data.key," > ").concat(dn);return dn}var Wt=ne.forwardRef(function(sn,dn){var Kt=sn.prefixCls,Tt=sn.data,yt=sn.selectable,Gt=sn.checkable,gt=sn.expandedKeys,St=sn.selectedKeys,Qt=sn.checkedKeys,Nt=sn.loadedKeys,wt=sn.loadingKeys,rn=sn.halfCheckedKeys,On=sn.keyEntities,zn=sn.disabled,Gn=sn.dragging,nr=sn.dragOverNodeKey,Xn=sn.dropPosition,$t=sn.motion,gn=sn.height,jn=sn.itemHeight,Ln=sn.virtual,Sr=sn.focusable,Ur=sn.activeItem,Mr=sn.focused,Gr=sn.tabIndex,ma=sn.onKeyDown,Oa=sn.onFocus,Ea=sn.onBlur,Ma=sn.onActiveChange,li=sn.onListChangeStart,di=sn.onListChangeEnd,Hr=(0,ie.Z)(sn,qe),Ta=ne.useRef(null),Ha=ne.useRef(null);ne.useImperativeHandle(dn,function(){return{scrollTo:function(pn){Ta.current.scrollTo(pn)},getIndentWidth:function(){return Ha.current.offsetWidth}}});var sr=ne.useState(gt),pr=(0,he.Z)(sr,2),Qa=pr[0],hn=pr[1],kn=ne.useState(Tt),ar=(0,he.Z)(kn,2),lr=ar[0],Fr=ar[1],pt=ne.useState(Tt),Ae=(0,he.Z)(pt,2),Le=Ae[0],Ie=Ae[1],ze=ne.useState([]),Ze=(0,he.Z)(ze,2),xt=Ze[0],bt=Ze[1],Yt=ne.useState(null),Ht=(0,he.Z)(Yt,2),cn=Ht[0],fn=Ht[1],Zn=ne.useRef(Tt);Zn.current=Tt;function Mn(){var mr=Zn.current;Fr(mr),Ie(mr),bt([]),fn(null),di()}(0,ue.Z)(function(){hn(gt);var mr=nt(Qa,gt);if(mr.key!==null)if(mr.add){var pn=lr.findIndex(function(tr){var hr=tr.key;return hr===mr.key}),nn=mt($e(lr,Tt,mr.key),Ln,gn,jn),Bn=lr.slice();Bn.splice(pn+1,0,At),Ie(Bn),bt(nn),fn("show")}else{var Hn=Tt.findIndex(function(tr){var hr=tr.key;return hr===mr.key}),fr=mt($e(Tt,lr,mr.key),Ln,gn,jn),br=Tt.slice();br.splice(Hn+1,0,At),Ie(br),bt(fr),fn("hide")}else lr!==Tt&&(Fr(Tt),Ie(Tt))},[gt,Tt]),ne.useEffect(function(){Gn||Mn()},[Gn]);var er=$t?Le:Tt,rr={expandedKeys:gt,selectedKeys:St,loadedKeys:Nt,loadingKeys:wt,checkedKeys:Qt,halfCheckedKeys:rn,dragOverNodeKey:nr,dropPosition:Xn,keyEntities:On};return ne.createElement(ne.Fragment,null,Mr&&Ur&&ne.createElement("span",{style:st,"aria-live":"assertive"},vt(Ur)),ne.createElement("div",null,ne.createElement("input",{style:st,disabled:Sr===!1||zn,tabIndex:Sr!==!1?Gr:null,onKeyDown:ma,onFocus:Oa,onBlur:Ea,value:"",onChange:rt,"aria-label":"for screen reader"})),ne.createElement("div",{className:"".concat(Kt,"-treenode"),"aria-hidden":!0,style:{position:"absolute",pointerEvents:"none",visibility:"hidden",height:0,overflow:"hidden",border:0,padding:0}},ne.createElement("div",{className:"".concat(Kt,"-indent")},ne.createElement("div",{ref:Ha,className:"".concat(Kt,"-indent-unit")}))),ne.createElement(ge.Z,(0,_e.Z)({},Hr,{data:er,itemKey:ht,height:gn,fullHeight:!1,virtual:Ln,itemHeight:jn,prefixCls:"".concat(Kt,"-list"),ref:Ta,onVisibleChange:function(pn,nn){var Bn=new Set(pn),Hn=nn.filter(function(fr){return!Bn.has(fr)});Hn.some(function(fr){return ht(fr)===ct})&&Mn()}}),function(mr){var pn=mr.pos,nn=(0,_e.Z)({},(ce(mr.data),mr.data)),Bn=mr.title,Hn=mr.key,fr=mr.isStart,br=mr.isEnd,tr=(0,Ne.km)(Hn,pn);delete nn.key,delete nn.children;var hr=(0,Ne.H8)(tr,rr);return ne.createElement(Ye,(0,_e.Z)({},nn,hr,{title:Bn,active:!!Ur&&Hn===Ur.key,pos:pn,data:mr.data,isStart:fr,isEnd:br,motion:$t,motionNodes:Hn===ct?xt:null,motionType:cn,onMotionStart:li,onMotionEnd:Mn,treeNodeRequiredProps:rr,onMouseMove:function(){Ma(null)}}))}))});Wt.displayName="NodeList";var Jt=Wt,en=Oe(35654),mn=Oe(90782),Ot=Oe(67841),an=10,tn=function(sn){(0,we.Z)(Kt,sn);var dn=(0,De.Z)(Kt);function Kt(){var Tt;(0,Ce.Z)(this,Kt);for(var yt=arguments.length,Gt=new Array(yt),gt=0;gt<yt;gt++)Gt[gt]=arguments[gt];return Tt=dn.call.apply(dn,[this].concat(Gt)),Tt.destroyed=!1,Tt.delayedDragEnterLogic=void 0,Tt.loadingRetryTimes={},Tt.state={keyEntities:{},indent:null,selectedKeys:[],checkedKeys:[],halfCheckedKeys:[],loadedKeys:[],loadingKeys:[],expandedKeys:[],draggingNodeKey:null,dragChildrenKeys:[],dropTargetKey:null,dropPosition:null,dropContainerKey:null,dropLevelOffset:null,dropTargetPos:null,dropAllowed:!0,dragOverNodeKey:null,treeData:[],flattenNodes:[],focused:!1,activeKey:null,listChanging:!1,prevProps:null,fieldNames:(0,Ne.w$)()},Tt.dragStartMousePosition=null,Tt.dragNode=void 0,Tt.currentMouseOverDroppableNodeKey=null,Tt.listRef=ne.createRef(),Tt.onNodeDragStart=function(St,Qt){var Nt=Tt.state,wt=Nt.expandedKeys,rn=Nt.keyEntities,On=Tt.props.onDragStart,zn=Qt.props.eventKey;Tt.dragNode=Qt,Tt.dragStartMousePosition={x:St.clientX,y:St.clientY};var Gn=(0,en._5)(wt,zn);Tt.setState({draggingNodeKey:zn,dragChildrenKeys:(0,en.wA)(zn,rn),indent:Tt.listRef.current.getIndentWidth()}),Tt.setExpandedKeys(Gn),window.addEventListener("dragend",Tt.onWindowDragEnd),On==null||On({event:St,node:(0,Ne.F)(Qt.props)})},Tt.onNodeDragEnter=function(St,Qt){var Nt=Tt.state,wt=Nt.expandedKeys,rn=Nt.keyEntities,On=Nt.dragChildrenKeys,zn=Nt.flattenNodes,Gn=Nt.indent,nr=Tt.props,Xn=nr.onDragEnter,$t=nr.onExpand,gn=nr.allowDrop,jn=nr.direction,Ln=Qt.props,Sr=Ln.pos,Ur=Ln.eventKey,Mr=(0,ye.Z)(Tt),Gr=Mr.dragNode;if(Tt.currentMouseOverDroppableNodeKey!==Ur&&(Tt.currentMouseOverDroppableNodeKey=Ur),!Gr){Tt.resetDragState();return}var ma=(0,en.OM)(St,Gr,Qt,Gn,Tt.dragStartMousePosition,gn,zn,rn,wt,jn),Oa=ma.dropPosition,Ea=ma.dropLevelOffset,Ma=ma.dropTargetKey,li=ma.dropContainerKey,di=ma.dropTargetPos,Hr=ma.dropAllowed,Ta=ma.dragOverNodeKey;if(On.indexOf(Ma)!==-1||!Hr){Tt.resetDragState();return}if(Tt.delayedDragEnterLogic||(Tt.delayedDragEnterLogic={}),Object.keys(Tt.delayedDragEnterLogic).forEach(function(Ha){clearTimeout(Tt.delayedDragEnterLogic[Ha])}),Gr.props.eventKey!==Qt.props.eventKey&&(St.persist(),Tt.delayedDragEnterLogic[Sr]=window.setTimeout(function(){if(Tt.state.draggingNodeKey!==null){var Ha=(0,Fe.Z)(wt),sr=(0,Ot.Z)(rn,Qt.props.eventKey);sr&&(sr.children||[]).length&&(Ha=(0,en.L0)(wt,Qt.props.eventKey)),"expandedKeys"in Tt.props||Tt.setExpandedKeys(Ha),$t==null||$t(Ha,{node:(0,Ne.F)(Qt.props),expanded:!0,nativeEvent:St.nativeEvent})}},800)),Gr.props.eventKey===Ma&&Ea===0){Tt.resetDragState();return}Tt.setState({dragOverNodeKey:Ta,dropPosition:Oa,dropLevelOffset:Ea,dropTargetKey:Ma,dropContainerKey:li,dropTargetPos:di,dropAllowed:Hr}),Xn==null||Xn({event:St,node:(0,Ne.F)(Qt.props),expandedKeys:wt})},Tt.onNodeDragOver=function(St,Qt){var Nt=Tt.state,wt=Nt.dragChildrenKeys,rn=Nt.flattenNodes,On=Nt.keyEntities,zn=Nt.expandedKeys,Gn=Nt.indent,nr=Tt.props,Xn=nr.onDragOver,$t=nr.allowDrop,gn=nr.direction,jn=(0,ye.Z)(Tt),Ln=jn.dragNode;if(Ln){var Sr=(0,en.OM)(St,Ln,Qt,Gn,Tt.dragStartMousePosition,$t,rn,On,zn,gn),Ur=Sr.dropPosition,Mr=Sr.dropLevelOffset,Gr=Sr.dropTargetKey,ma=Sr.dropContainerKey,Oa=Sr.dropAllowed,Ea=Sr.dropTargetPos,Ma=Sr.dragOverNodeKey;wt.indexOf(Gr)!==-1||!Oa||(Ln.props.eventKey===Gr&&Mr===0?Tt.state.dropPosition===null&&Tt.state.dropLevelOffset===null&&Tt.state.dropTargetKey===null&&Tt.state.dropContainerKey===null&&Tt.state.dropTargetPos===null&&Tt.state.dropAllowed===!1&&Tt.state.dragOverNodeKey===null||Tt.resetDragState():Ur===Tt.state.dropPosition&&Mr===Tt.state.dropLevelOffset&&Gr===Tt.state.dropTargetKey&&ma===Tt.state.dropContainerKey&&Ea===Tt.state.dropTargetPos&&Oa===Tt.state.dropAllowed&&Ma===Tt.state.dragOverNodeKey||Tt.setState({dropPosition:Ur,dropLevelOffset:Mr,dropTargetKey:Gr,dropContainerKey:ma,dropTargetPos:Ea,dropAllowed:Oa,dragOverNodeKey:Ma}),Xn==null||Xn({event:St,node:(0,Ne.F)(Qt.props)}))}},Tt.onNodeDragLeave=function(St,Qt){Tt.currentMouseOverDroppableNodeKey===Qt.props.eventKey&&!St.currentTarget.contains(St.relatedTarget)&&(Tt.resetDragState(),Tt.currentMouseOverDroppableNodeKey=null);var Nt=Tt.props.onDragLeave;Nt==null||Nt({event:St,node:(0,Ne.F)(Qt.props)})},Tt.onWindowDragEnd=function(St){Tt.onNodeDragEnd(St,null,!0),window.removeEventListener("dragend",Tt.onWindowDragEnd)},Tt.onNodeDragEnd=function(St,Qt){var Nt=Tt.props.onDragEnd;Tt.setState({dragOverNodeKey:null}),Tt.cleanDragState(),Nt==null||Nt({event:St,node:(0,Ne.F)(Qt.props)}),Tt.dragNode=null,window.removeEventListener("dragend",Tt.onWindowDragEnd)},Tt.onNodeDrop=function(St,Qt){var Nt,wt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,rn=Tt.state,On=rn.dragChildrenKeys,zn=rn.dropPosition,Gn=rn.dropTargetKey,nr=rn.dropTargetPos,Xn=rn.dropAllowed;if(Xn){var $t=Tt.props.onDrop;if(Tt.setState({dragOverNodeKey:null}),Tt.cleanDragState(),Gn!==null){var gn=(0,be.Z)((0,be.Z)({},(0,Ne.H8)(Gn,Tt.getTreeNodeRequiredProps())),{},{active:((Nt=Tt.getActiveItem())===null||Nt===void 0?void 0:Nt.key)===Gn,data:(0,Ot.Z)(Tt.state.keyEntities,Gn).node}),jn=On.indexOf(Gn)!==-1;(0,ee.ZP)(!jn,"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.");var Ln=(0,en.yx)(nr),Sr={event:St,node:(0,Ne.F)(gn),dragNode:Tt.dragNode?(0,Ne.F)(Tt.dragNode.props):null,dragNodesKeys:[Tt.dragNode.props.eventKey].concat(On),dropToGap:zn!==0,dropPosition:zn+Number(Ln[Ln.length-1])};wt||$t==null||$t(Sr),Tt.dragNode=null}}},Tt.cleanDragState=function(){var St=Tt.state.draggingNodeKey;St!==null&&Tt.setState({draggingNodeKey:null,dropPosition:null,dropContainerKey:null,dropTargetKey:null,dropLevelOffset:null,dropAllowed:!0,dragOverNodeKey:null}),Tt.dragStartMousePosition=null,Tt.currentMouseOverDroppableNodeKey=null},Tt.triggerExpandActionExpand=function(St,Qt){var Nt=Tt.state,wt=Nt.expandedKeys,rn=Nt.flattenNodes,On=Qt.expanded,zn=Qt.key,Gn=Qt.isLeaf;if(!(Gn||St.shiftKey||St.metaKey||St.ctrlKey)){var nr=rn.filter(function($t){return $t.key===zn})[0],Xn=(0,Ne.F)((0,be.Z)((0,be.Z)({},(0,Ne.H8)(zn,Tt.getTreeNodeRequiredProps())),{},{data:nr.data}));Tt.setExpandedKeys(On?(0,en._5)(wt,zn):(0,en.L0)(wt,zn)),Tt.onNodeExpand(St,Xn)}},Tt.onNodeClick=function(St,Qt){var Nt=Tt.props,wt=Nt.onClick,rn=Nt.expandAction;rn==="click"&&Tt.triggerExpandActionExpand(St,Qt),wt==null||wt(St,Qt)},Tt.onNodeDoubleClick=function(St,Qt){var Nt=Tt.props,wt=Nt.onDoubleClick,rn=Nt.expandAction;rn==="doubleClick"&&Tt.triggerExpandActionExpand(St,Qt),wt==null||wt(St,Qt)},Tt.onNodeSelect=function(St,Qt){var Nt=Tt.state.selectedKeys,wt=Tt.state,rn=wt.keyEntities,On=wt.fieldNames,zn=Tt.props,Gn=zn.onSelect,nr=zn.multiple,Xn=Qt.selected,$t=Qt[On.key],gn=!Xn;gn?nr?Nt=(0,en.L0)(Nt,$t):Nt=[$t]:Nt=(0,en._5)(Nt,$t);var jn=Nt.map(function(Ln){var Sr=(0,Ot.Z)(rn,Ln);return Sr?Sr.node:null}).filter(function(Ln){return Ln});Tt.setUncontrolledState({selectedKeys:Nt}),Gn==null||Gn(Nt,{event:"select",selected:gn,node:Qt,selectedNodes:jn,nativeEvent:St.nativeEvent})},Tt.onNodeCheck=function(St,Qt,Nt){var wt=Tt.state,rn=wt.keyEntities,On=wt.checkedKeys,zn=wt.halfCheckedKeys,Gn=Tt.props,nr=Gn.checkStrictly,Xn=Gn.onCheck,$t=Qt.key,gn,jn={event:"check",node:Qt,checked:Nt,nativeEvent:St.nativeEvent};if(nr){var Ln=Nt?(0,en.L0)(On,$t):(0,en._5)(On,$t),Sr=(0,en._5)(zn,$t);gn={checked:Ln,halfChecked:Sr},jn.checkedNodes=Ln.map(function(Ea){return(0,Ot.Z)(rn,Ea)}).filter(function(Ea){return Ea}).map(function(Ea){return Ea.node}),Tt.setUncontrolledState({checkedKeys:Ln})}else{var Ur=(0,mn.S)([].concat((0,Fe.Z)(On),[$t]),!0,rn),Mr=Ur.checkedKeys,Gr=Ur.halfCheckedKeys;if(!Nt){var ma=new Set(Mr);ma.delete($t);var Oa=(0,mn.S)(Array.from(ma),{checked:!1,halfCheckedKeys:Gr},rn);Mr=Oa.checkedKeys,Gr=Oa.halfCheckedKeys}gn=Mr,jn.checkedNodes=[],jn.checkedNodesPositions=[],jn.halfCheckedKeys=Gr,Mr.forEach(function(Ea){var Ma=(0,Ot.Z)(rn,Ea);if(Ma){var li=Ma.node,di=Ma.pos;jn.checkedNodes.push(li),jn.checkedNodesPositions.push({node:li,pos:di})}}),Tt.setUncontrolledState({checkedKeys:Mr},!1,{halfCheckedKeys:Gr})}Xn==null||Xn(gn,jn)},Tt.onNodeLoad=function(St){var Qt=St.key,Nt=new Promise(function(wt,rn){Tt.setState(function(On){var zn=On.loadedKeys,Gn=zn===void 0?[]:zn,nr=On.loadingKeys,Xn=nr===void 0?[]:nr,$t=Tt.props,gn=$t.loadData,jn=$t.onLoad;if(!gn||Gn.indexOf(Qt)!==-1||Xn.indexOf(Qt)!==-1)return null;var Ln=gn(St);return Ln.then(function(){var Sr=Tt.state.loadedKeys,Ur=(0,en.L0)(Sr,Qt);jn==null||jn(Ur,{event:"load",node:St}),Tt.setUncontrolledState({loadedKeys:Ur}),Tt.setState(function(Mr){return{loadingKeys:(0,en._5)(Mr.loadingKeys,Qt)}}),wt()}).catch(function(Sr){if(Tt.setState(function(Mr){return{loadingKeys:(0,en._5)(Mr.loadingKeys,Qt)}}),Tt.loadingRetryTimes[Qt]=(Tt.loadingRetryTimes[Qt]||0)+1,Tt.loadingRetryTimes[Qt]>=an){var Ur=Tt.state.loadedKeys;(0,ee.ZP)(!1,"Retry for `loadData` many times but still failed. No more retry."),Tt.setUncontrolledState({loadedKeys:(0,en.L0)(Ur,Qt)}),wt()}rn(Sr)}),{loadingKeys:(0,en.L0)(Xn,Qt)}})});return Nt.catch(function(){}),Nt},Tt.onNodeMouseEnter=function(St,Qt){var Nt=Tt.props.onMouseEnter;Nt==null||Nt({event:St,node:Qt})},Tt.onNodeMouseLeave=function(St,Qt){var Nt=Tt.props.onMouseLeave;Nt==null||Nt({event:St,node:Qt})},Tt.onNodeContextMenu=function(St,Qt){var Nt=Tt.props.onRightClick;Nt&&(St.preventDefault(),Nt({event:St,node:Qt}))},Tt.onFocus=function(){var St=Tt.props.onFocus;Tt.setState({focused:!0});for(var Qt=arguments.length,Nt=new Array(Qt),wt=0;wt<Qt;wt++)Nt[wt]=arguments[wt];St==null||St.apply(void 0,Nt)},Tt.onBlur=function(){var St=Tt.props.onBlur;Tt.setState({focused:!1}),Tt.onActiveChange(null);for(var Qt=arguments.length,Nt=new Array(Qt),wt=0;wt<Qt;wt++)Nt[wt]=arguments[wt];St==null||St.apply(void 0,Nt)},Tt.getTreeNodeRequiredProps=function(){var St=Tt.state,Qt=St.expandedKeys,Nt=St.selectedKeys,wt=St.loadedKeys,rn=St.loadingKeys,On=St.checkedKeys,zn=St.halfCheckedKeys,Gn=St.dragOverNodeKey,nr=St.dropPosition,Xn=St.keyEntities;return{expandedKeys:Qt||[],selectedKeys:Nt||[],loadedKeys:wt||[],loadingKeys:rn||[],checkedKeys:On||[],halfCheckedKeys:zn||[],dragOverNodeKey:Gn,dropPosition:nr,keyEntities:Xn}},Tt.setExpandedKeys=function(St){var Qt=Tt.state,Nt=Qt.treeData,wt=Qt.fieldNames,rn=(0,Ne.oH)(Nt,St,wt);Tt.setUncontrolledState({expandedKeys:St,flattenNodes:rn},!0)},Tt.onNodeExpand=function(St,Qt){var Nt=Tt.state.expandedKeys,wt=Tt.state,rn=wt.listChanging,On=wt.fieldNames,zn=Tt.props,Gn=zn.onExpand,nr=zn.loadData,Xn=Qt.expanded,$t=Qt[On.key];if(!rn){var gn=Nt.indexOf($t),jn=!Xn;if((0,ee.ZP)(Xn&&gn!==-1||!Xn&&gn===-1,"Expand state not sync with index check"),jn?Nt=(0,en.L0)(Nt,$t):Nt=(0,en._5)(Nt,$t),Tt.setExpandedKeys(Nt),Gn==null||Gn(Nt,{node:Qt,expanded:jn,nativeEvent:St.nativeEvent}),jn&&nr){var Ln=Tt.onNodeLoad(Qt);Ln&&Ln.then(function(){var Sr=(0,Ne.oH)(Tt.state.treeData,Nt,On);Tt.setUncontrolledState({flattenNodes:Sr})}).catch(function(){var Sr=Tt.state.expandedKeys,Ur=(0,en._5)(Sr,$t);Tt.setExpandedKeys(Ur)})}}},Tt.onListChangeStart=function(){Tt.setUncontrolledState({listChanging:!0})},Tt.onListChangeEnd=function(){setTimeout(function(){Tt.setUncontrolledState({listChanging:!1})})},Tt.onActiveChange=function(St){var Qt=Tt.state.activeKey,Nt=Tt.props.onActiveChange;Qt!==St&&(Tt.setState({activeKey:St}),St!==null&&Tt.scrollTo({key:St}),Nt==null||Nt(St))},Tt.getActiveItem=function(){var St=Tt.state,Qt=St.activeKey,Nt=St.flattenNodes;return Qt===null?null:Nt.find(function(wt){var rn=wt.key;return rn===Qt})||null},Tt.offsetActiveKey=function(St){var Qt=Tt.state,Nt=Qt.flattenNodes,wt=Qt.activeKey,rn=Nt.findIndex(function(Gn){var nr=Gn.key;return nr===wt});rn===-1&&St<0&&(rn=Nt.length),rn=(rn+St+Nt.length)%Nt.length;var On=Nt[rn];if(On){var zn=On.key;Tt.onActiveChange(zn)}else Tt.onActiveChange(null)},Tt.onKeyDown=function(St){var Qt=Tt.state,Nt=Qt.activeKey,wt=Qt.expandedKeys,rn=Qt.checkedKeys,On=Qt.fieldNames,zn=Tt.props,Gn=zn.onKeyDown,nr=zn.checkable,Xn=zn.selectable;switch(St.which){case Pe.Z.UP:{Tt.offsetActiveKey(-1),St.preventDefault();break}case Pe.Z.DOWN:{Tt.offsetActiveKey(1),St.preventDefault();break}}var $t=Tt.getActiveItem();if($t&&$t.data){var gn=Tt.getTreeNodeRequiredProps(),jn=$t.data.isLeaf===!1||!!($t.data[On.children]||[]).length,Ln=(0,Ne.F)((0,be.Z)((0,be.Z)({},(0,Ne.H8)(Nt,gn)),{},{data:$t.data,active:!0}));switch(St.which){case Pe.Z.LEFT:{jn&&wt.includes(Nt)?Tt.onNodeExpand({},Ln):$t.parent&&Tt.onActiveChange($t.parent.key),St.preventDefault();break}case Pe.Z.RIGHT:{jn&&!wt.includes(Nt)?Tt.onNodeExpand({},Ln):$t.children&&$t.children.length&&Tt.onActiveChange($t.children[0].key),St.preventDefault();break}case Pe.Z.ENTER:case Pe.Z.SPACE:{nr&&!Ln.disabled&&Ln.checkable!==!1&&!Ln.disableCheckbox?Tt.onNodeCheck({},Ln,!rn.includes(Nt)):!nr&&Xn&&!Ln.disabled&&Ln.selectable!==!1&&Tt.onNodeSelect({},Ln);break}}}Gn==null||Gn(St)},Tt.setUncontrolledState=function(St){var Qt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Nt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;if(!Tt.destroyed){var wt=!1,rn=!0,On={};Object.keys(St).forEach(function(zn){if(zn in Tt.props){rn=!1;return}wt=!0,On[zn]=St[zn]}),wt&&(!Qt||rn)&&Tt.setState((0,be.Z)((0,be.Z)({},On),Nt))}},Tt.scrollTo=function(St){Tt.listRef.current.scrollTo(St)},Tt}return(0,ve.Z)(Kt,[{key:"componentDidMount",value:function(){this.destroyed=!1,this.onUpdated()}},{key:"componentDidUpdate",value:function(){this.onUpdated()}},{key:"onUpdated",value:function(){var yt=this.props.activeKey;yt!==void 0&&yt!==this.state.activeKey&&(this.setState({activeKey:yt}),yt!==null&&this.scrollTo({key:yt}))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("dragend",this.onWindowDragEnd),this.destroyed=!0}},{key:"resetDragState",value:function(){this.setState({dragOverNodeKey:null,dropPosition:null,dropLevelOffset:null,dropTargetKey:null,dropContainerKey:null,dropTargetPos:null,dropAllowed:!1})}},{key:"render",value:function(){var yt,Gt=this.state,gt=Gt.focused,St=Gt.flattenNodes,Qt=Gt.keyEntities,Nt=Gt.draggingNodeKey,wt=Gt.activeKey,rn=Gt.dropLevelOffset,On=Gt.dropContainerKey,zn=Gt.dropTargetKey,Gn=Gt.dropPosition,nr=Gt.dragOverNodeKey,Xn=Gt.indent,$t=this.props,gn=$t.prefixCls,jn=$t.className,Ln=$t.style,Sr=$t.showLine,Ur=$t.focusable,Mr=$t.tabIndex,Gr=Mr===void 0?0:Mr,ma=$t.selectable,Oa=$t.showIcon,Ea=$t.icon,Ma=$t.switcherIcon,li=$t.draggable,di=$t.checkable,Hr=$t.checkStrictly,Ta=$t.disabled,Ha=$t.motion,sr=$t.loadData,pr=$t.filterTreeNode,Qa=$t.height,hn=$t.itemHeight,kn=$t.virtual,ar=$t.titleRender,lr=$t.dropIndicatorRender,Fr=$t.onContextMenu,pt=$t.onScroll,Ae=$t.direction,Le=$t.rootClassName,Ie=$t.rootStyle,ze=(0,de.Z)(this.props,{aria:!0,data:!0}),Ze;return li&&((0,Re.Z)(li)==="object"?Ze=li:typeof li=="function"?Ze={nodeDraggable:li}:Ze={}),ne.createElement(le.k.Provider,{value:{prefixCls:gn,selectable:ma,showIcon:Oa,icon:Ea,switcherIcon:Ma,draggable:Ze,draggingNodeKey:Nt,checkable:di,checkStrictly:Hr,disabled:Ta,keyEntities:Qt,dropLevelOffset:rn,dropContainerKey:On,dropTargetKey:zn,dropPosition:Gn,dragOverNodeKey:nr,indent:Xn,direction:Ae,dropIndicatorRender:lr,loadData:sr,filterTreeNode:pr,titleRender:ar,onNodeClick:this.onNodeClick,onNodeDoubleClick:this.onNodeDoubleClick,onNodeExpand:this.onNodeExpand,onNodeSelect:this.onNodeSelect,onNodeCheck:this.onNodeCheck,onNodeLoad:this.onNodeLoad,onNodeMouseEnter:this.onNodeMouseEnter,onNodeMouseLeave:this.onNodeMouseLeave,onNodeContextMenu:this.onNodeContextMenu,onNodeDragStart:this.onNodeDragStart,onNodeDragEnter:this.onNodeDragEnter,onNodeDragOver:this.onNodeDragOver,onNodeDragLeave:this.onNodeDragLeave,onNodeDragEnd:this.onNodeDragEnd,onNodeDrop:this.onNodeDrop}},ne.createElement("div",{role:"tree",className:Ee()(gn,jn,Le,(yt={},(0,Ve.Z)(yt,"".concat(gn,"-show-line"),Sr),(0,Ve.Z)(yt,"".concat(gn,"-focused"),gt),(0,Ve.Z)(yt,"".concat(gn,"-active-focused"),wt!==null),yt)),style:Ie},ne.createElement(Jt,(0,_e.Z)({ref:this.listRef,prefixCls:gn,style:Ln,data:St,disabled:Ta,selectable:ma,checkable:!!di,motion:Ha,dragging:Nt!==null,height:Qa,itemHeight:hn,virtual:kn,focusable:Ur,focused:gt,tabIndex:Gr,activeItem:this.getActiveItem(),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:Fr,onScroll:pt},this.getTreeNodeRequiredProps(),ze))))}}],[{key:"getDerivedStateFromProps",value:function(yt,Gt){var gt=Gt.prevProps,St={prevProps:yt};function Qt(Ur){return!gt&&Ur in yt||gt&>[Ur]!==yt[Ur]}var Nt,wt=Gt.fieldNames;if(Qt("fieldNames")&&(wt=(0,Ne.w$)(yt.fieldNames),St.fieldNames=wt),Qt("treeData")?Nt=yt.treeData:Qt("children")&&((0,ee.ZP)(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),Nt=(0,Ne.zn)(yt.children)),Nt){St.treeData=Nt;var rn=(0,Ne.I8)(Nt,{fieldNames:wt});St.keyEntities=(0,be.Z)((0,Ve.Z)({},ct,dt),rn.keyEntities)}var On=St.keyEntities||Gt.keyEntities;if(Qt("expandedKeys")||gt&&Qt("autoExpandParent"))St.expandedKeys=yt.autoExpandParent||!gt&&yt.defaultExpandParent?(0,en.r7)(yt.expandedKeys,On):yt.expandedKeys;else if(!gt&&yt.defaultExpandAll){var zn=(0,be.Z)({},On);delete zn[ct],St.expandedKeys=Object.keys(zn).map(function(Ur){return zn[Ur].key})}else!gt&&yt.defaultExpandedKeys&&(St.expandedKeys=yt.autoExpandParent||yt.defaultExpandParent?(0,en.r7)(yt.defaultExpandedKeys,On):yt.defaultExpandedKeys);if(St.expandedKeys||delete St.expandedKeys,Nt||St.expandedKeys){var Gn=(0,Ne.oH)(Nt||Gt.treeData,St.expandedKeys||Gt.expandedKeys,wt);St.flattenNodes=Gn}if(yt.selectable&&(Qt("selectedKeys")?St.selectedKeys=(0,en.BT)(yt.selectedKeys,yt):!gt&&yt.defaultSelectedKeys&&(St.selectedKeys=(0,en.BT)(yt.defaultSelectedKeys,yt))),yt.checkable){var nr;if(Qt("checkedKeys")?nr=(0,en.E6)(yt.checkedKeys)||{}:!gt&&yt.defaultCheckedKeys?nr=(0,en.E6)(yt.defaultCheckedKeys)||{}:Nt&&(nr=(0,en.E6)(yt.checkedKeys)||{checkedKeys:Gt.checkedKeys,halfCheckedKeys:Gt.halfCheckedKeys}),nr){var Xn=nr,$t=Xn.checkedKeys,gn=$t===void 0?[]:$t,jn=Xn.halfCheckedKeys,Ln=jn===void 0?[]:jn;if(!yt.checkStrictly){var Sr=(0,mn.S)(gn,!0,On);gn=Sr.checkedKeys,Ln=Sr.halfCheckedKeys}St.checkedKeys=gn,St.halfCheckedKeys=Ln}}return Qt("loadedKeys")&&(St.loadedKeys=yt.loadedKeys),St}}]),Kt}(ne.Component);tn.defaultProps={prefixCls:"rc-tree",showLine:!1,showIcon:!0,selectable:!0,multiple:!1,checkable:!1,disabled:!1,checkStrictly:!1,draggable:!1,defaultExpandParent:!0,autoExpandParent:!1,defaultExpandAll:!1,defaultExpandedKeys:[],defaultCheckedKeys:[],defaultSelectedKeys:[],dropIndicatorRender:oe,allowDrop:function(){return!0},expandAction:!1},tn.TreeNode=Me.Z;var Dn=tn,Tn=Dn},35654:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{BT:function(){return ne},E6:function(){return ce},L0:function(){return De},OM:function(){return ee},_5:function(){return we},r7:function(){return he},wA:function(){return Ee},yx:function(){return pe}});var _e=Oe(26407),Ve=Oe(39559),Re=Oe(48736),be=Oe(59301),Fe=Oe(39417),Ce=Oe(67841),ve=Oe(71430),ye=null;function we(ie,ue){if(!ie)return[];var ge=ie.slice(),xe=ge.indexOf(ue);return xe>=0&&ge.splice(xe,1),ge}function De(ie,ue){var ge=(ie||[]).slice();return ge.indexOf(ue)===-1&&ge.push(ue),ge}function pe(ie){return ie.split("-")}function Ee(ie,ue){var ge=[],xe=(0,Ce.Z)(ue,ie);function Me(){var Be=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];Be.forEach(function(Ne){var Ue=Ne.key,Ge=Ne.children;ge.push(Ue),Me(Ge)})}return Me(xe.children),ge}function Pe(ie){if(ie.parent){var ue=pe(ie.pos);return Number(ue[ue.length-1])===ie.parent.children.length-1}return!1}function de(ie){var ue=pe(ie.pos);return Number(ue[ue.length-1])===0}function ee(ie,ue,ge,xe,Me,Be,Ne,Ue,Ge,Xe){var Ye,nt=ie.clientX,$e=ie.clientY,qe=ie.target.getBoundingClientRect(),st=qe.top,rt=qe.height,ct=(Xe==="rtl"?-1:1)*(((Me==null?void 0:Me.x)||0)-nt),tt=(ct-12)/xe,dt=(0,Ce.Z)(Ue,ge.props.eventKey);if($e<st+rt/2){var At=Ne.findIndex(function(Tn){return Tn.key===dt.key}),mt=At<=0?0:At-1,ht=Ne[mt].key;dt=(0,Ce.Z)(Ue,ht)}var vt=dt.key,Wt=dt,Jt=dt.key,en=0,mn=0;if(!Ge.includes(vt))for(var Ot=0;Ot<tt&&Pe(dt);Ot+=1)dt=dt.parent,mn+=1;var an=ue.props.data,tn=dt.node,Dn=!0;return de(dt)&&dt.level===0&&$e<st+rt/2&&Be({dragNode:an,dropNode:tn,dropPosition:-1})&&dt.key===ge.props.eventKey?en=-1:(Wt.children||[]).length&&Ge.includes(Jt)?Be({dragNode:an,dropNode:tn,dropPosition:0})?en=0:Dn=!1:mn===0?tt>-1.5?Be({dragNode:an,dropNode:tn,dropPosition:1})?en=1:Dn=!1:Be({dragNode:an,dropNode:tn,dropPosition:0})?en=0:Be({dragNode:an,dropNode:tn,dropPosition:1})?en=1:Dn=!1:Be({dragNode:an,dropNode:tn,dropPosition:1})?en=1:Dn=!1,{dropPosition:en,dropLevelOffset:mn,dropTargetKey:dt.key,dropTargetPos:dt.pos,dragOverNodeKey:Jt,dropContainerKey:en===0?null:((Ye=dt.parent)===null||Ye===void 0?void 0:Ye.key)||null,dropAllowed:Dn}}function ne(ie,ue){if(ie){var ge=ue.multiple;return ge?ie.slice():ie.length?[ie[0]]:ie}}var le=function(ue){return ue};function oe(ie,ue){if(!ie)return[];var ge=ue||{},xe=ge.processProps,Me=xe===void 0?le:xe,Be=Array.isArray(ie)?ie:[ie];return Be.map(function(Ne){var Ue=Ne.children,Ge=_objectWithoutProperties(Ne,ye),Xe=oe(Ue,ue);return React.createElement(TreeNode,_extends({key:Ge.key},Me(Ge)),Xe)})}function ce(ie){if(!ie)return null;var ue;if(Array.isArray(ie))ue={checkedKeys:ie,halfCheckedKeys:void 0};else if((0,Ve.Z)(ie)==="object")ue={checkedKeys:ie.checked||void 0,halfCheckedKeys:ie.halfChecked||void 0};else return(0,Re.ZP)(!1,"`checkedKeys` is not an array or an object"),null;return ue}function he(ie,ue){var ge=new Set;function xe(Me){if(!ge.has(Me)){var Be=(0,Ce.Z)(ue,Me);if(Be){ge.add(Me);var Ne=Be.parent,Ue=Be.node;Ue.disabled||Ne&&xe(Ne.key)}}}return(ie||[]).forEach(function(Me){xe(Me)}),(0,_e.Z)(ge)}},90782:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{S:function(){return ve}});var _e=Oe(48736),Ve=Oe(67841);function Re(ye,we){var De=new Set;return ye.forEach(function(pe){we.has(pe)||De.add(pe)}),De}function be(ye){var we=ye||{},De=we.disabled,pe=we.disableCheckbox,Ee=we.checkable;return!!(De||pe)||Ee===!1}function Fe(ye,we,De,pe){for(var Ee=new Set(ye),Pe=new Set,de=0;de<=De;de+=1){var ee=we.get(de)||new Set;ee.forEach(function(ce){var he=ce.key,ie=ce.node,ue=ce.children,ge=ue===void 0?[]:ue;Ee.has(he)&&!pe(ie)&&ge.filter(function(xe){return!pe(xe.node)}).forEach(function(xe){Ee.add(xe.key)})})}for(var ne=new Set,le=De;le>=0;le-=1){var oe=we.get(le)||new Set;oe.forEach(function(ce){var he=ce.parent,ie=ce.node;if(!(pe(ie)||!ce.parent||ne.has(ce.parent.key))){if(pe(ce.parent.node)){ne.add(he.key);return}var ue=!0,ge=!1;(he.children||[]).filter(function(xe){return!pe(xe.node)}).forEach(function(xe){var Me=xe.key,Be=Ee.has(Me);ue&&!Be&&(ue=!1),!ge&&(Be||Pe.has(Me))&&(ge=!0)}),ue&&Ee.add(he.key),ge&&Pe.add(he.key),ne.add(he.key)}})}return{checkedKeys:Array.from(Ee),halfCheckedKeys:Array.from(Re(Pe,Ee))}}function Ce(ye,we,De,pe,Ee){for(var Pe=new Set(ye),de=new Set(we),ee=0;ee<=pe;ee+=1){var ne=De.get(ee)||new Set;ne.forEach(function(he){var ie=he.key,ue=he.node,ge=he.children,xe=ge===void 0?[]:ge;!Pe.has(ie)&&!de.has(ie)&&!Ee(ue)&&xe.filter(function(Me){return!Ee(Me.node)}).forEach(function(Me){Pe.delete(Me.key)})})}de=new Set;for(var le=new Set,oe=pe;oe>=0;oe-=1){var ce=De.get(oe)||new Set;ce.forEach(function(he){var ie=he.parent,ue=he.node;if(!(Ee(ue)||!he.parent||le.has(he.parent.key))){if(Ee(he.parent.node)){le.add(ie.key);return}var ge=!0,xe=!1;(ie.children||[]).filter(function(Me){return!Ee(Me.node)}).forEach(function(Me){var Be=Me.key,Ne=Pe.has(Be);ge&&!Ne&&(ge=!1),!xe&&(Ne||de.has(Be))&&(xe=!0)}),ge||Pe.delete(ie.key),xe&&de.add(ie.key),le.add(ie.key)}})}return{checkedKeys:Array.from(Pe),halfCheckedKeys:Array.from(Re(de,Pe))}}function ve(ye,we,De,pe){var Ee=[],Pe;pe?Pe=pe:Pe=be;var de=new Set(ye.filter(function(oe){var ce=!!(0,Ve.Z)(De,oe);return ce||Ee.push(oe),ce})),ee=new Map,ne=0;Object.keys(De).forEach(function(oe){var ce=De[oe],he=ce.level,ie=ee.get(he);ie||(ie=new Set,ee.set(he,ie)),ie.add(ce),ne=Math.max(ne,he)}),(0,_e.ZP)(!Ee.length,"Tree missing follow keys: ".concat(Ee.slice(0,100).map(function(oe){return"'".concat(oe,"'")}).join(", ")));var le;return we===!0?le=Fe(de,ee,ne,Pe):le=Ce(de,we.halfCheckedKeys,ee,ne,Pe),le}},67841:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return _e}});function _e(Ve,Re){return Ve[Re]}},71430:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{F:function(){return he},H8:function(){return ce},I8:function(){return oe},km:function(){return Ee},oH:function(){return ne},w$:function(){return Pe},zn:function(){return ee}});var _e=Oe(39559),Ve=Oe(26407),Re=Oe(33708),be=Oe(37061),Fe=Oe(11592),Ce=Oe(2738),ve=Oe(48736),ye=Oe(67841),we=["children"];function De(ie,ue){return"".concat(ie,"-").concat(ue)}function pe(ie){return ie&&ie.type&&ie.type.isTreeNode}function Ee(ie,ue){return ie!=null?ie:ue}function Pe(ie){var ue=ie||{},ge=ue.title,xe=ue._title,Me=ue.key,Be=ue.children,Ne=ge||"title";return{title:Ne,_title:xe||[Ne],key:Me||"key",children:Be||"children"}}function de(ie,ue){var ge=new Map;function xe(Me){var Be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";(Me||[]).forEach(function(Ne){var Ue=Ne[ue.key],Ge=Ne[ue.children];warning(Ue!=null,"Tree node must have a certain key: [".concat(Be).concat(Ue,"]"));var Xe=String(Ue);warning(!ge.has(Xe)||Ue===null||Ue===void 0,"Same 'key' exist in the Tree: ".concat(Xe)),ge.set(Xe,!0),xe(Ge,"".concat(Be).concat(Xe," > "))})}xe(ie)}function ee(ie){function ue(ge){var xe=(0,Fe.Z)(ge);return xe.map(function(Me){if(!pe(Me))return(0,ve.ZP)(!Me,"Tree/TreeNode can only accept TreeNode as children."),null;var Be=Me.key,Ne=Me.props,Ue=Ne.children,Ge=(0,be.Z)(Ne,we),Xe=(0,Re.Z)({key:Be},Ge),Ye=ue(Ue);return Ye.length&&(Xe.children=Ye),Xe}).filter(function(Me){return Me})}return ue(ie)}function ne(ie,ue,ge){var xe=Pe(ge),Me=xe._title,Be=xe.key,Ne=xe.children,Ue=new Set(ue===!0?[]:ue),Ge=[];function Xe(Ye){var nt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return Ye.map(function($e,qe){for(var st=De(nt?nt.pos:"0",qe),rt=Ee($e[Be],st),ct,tt=0;tt<Me.length;tt+=1){var dt=Me[tt];if($e[dt]!==void 0){ct=$e[dt];break}}var At=(0,Re.Z)((0,Re.Z)({},(0,Ce.Z)($e,[].concat((0,Ve.Z)(Me),[Be,Ne]))),{},{title:ct,key:rt,parent:nt,pos:st,children:null,data:$e,isStart:[].concat((0,Ve.Z)(nt?nt.isStart:[]),[qe===0]),isEnd:[].concat((0,Ve.Z)(nt?nt.isEnd:[]),[qe===Ye.length-1])});return Ge.push(At),ue===!0||Ue.has(rt)?At.children=Xe($e[Ne]||[],At):At.children=[],At})}return Xe(ie),Ge}function le(ie,ue,ge){var xe={};(0,_e.Z)(ge)==="object"?xe=ge:xe={externalGetKey:ge},xe=xe||{};var Me=xe,Be=Me.childrenPropName,Ne=Me.externalGetKey,Ue=Me.fieldNames,Ge=Pe(Ue),Xe=Ge.key,Ye=Ge.children,nt=Be||Ye,$e;Ne?typeof Ne=="string"?$e=function(rt){return rt[Ne]}:typeof Ne=="function"&&($e=function(rt){return Ne(rt)}):$e=function(rt,ct){return Ee(rt[Xe],ct)};function qe(st,rt,ct,tt){var dt=st?st[nt]:ie,At=st?De(ct.pos,rt):"0",mt=st?[].concat((0,Ve.Z)(tt),[st]):[];if(st){var ht=$e(st,At),vt={node:st,index:rt,pos:At,key:ht,parentPos:ct.node?ct.pos:null,level:ct.level+1,nodes:mt};ue(vt)}dt&&dt.forEach(function(Wt,Jt){qe(Wt,Jt,{node:st,pos:At,level:ct?ct.level+1:-1},mt)})}qe(null)}function oe(ie){var ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ge=ue.initWrapper,xe=ue.processEntity,Me=ue.onProcessFinished,Be=ue.externalGetKey,Ne=ue.childrenPropName,Ue=ue.fieldNames,Ge=arguments.length>2?arguments[2]:void 0,Xe=Be||Ge,Ye={},nt={},$e={posEntities:Ye,keyEntities:nt};return ge&&($e=ge($e)||$e),le(ie,function(qe){var st=qe.node,rt=qe.index,ct=qe.pos,tt=qe.key,dt=qe.parentPos,At=qe.level,mt=qe.nodes,ht={node:st,nodes:mt,index:rt,key:tt,pos:ct,level:At},vt=Ee(tt,ct);Ye[ct]=ht,nt[vt]=ht,ht.parent=Ye[dt],ht.parent&&(ht.parent.children=ht.parent.children||[],ht.parent.children.push(ht)),xe&&xe(ht,$e)},{externalGetKey:Xe,childrenPropName:Ne,fieldNames:Ue}),Me&&Me($e),$e}function ce(ie,ue){var ge=ue.expandedKeys,xe=ue.selectedKeys,Me=ue.loadedKeys,Be=ue.loadingKeys,Ne=ue.checkedKeys,Ue=ue.halfCheckedKeys,Ge=ue.dragOverNodeKey,Xe=ue.dropPosition,Ye=ue.keyEntities,nt=(0,ye.Z)(Ye,ie),$e={eventKey:ie,expanded:ge.indexOf(ie)!==-1,selected:xe.indexOf(ie)!==-1,loaded:Me.indexOf(ie)!==-1,loading:Be.indexOf(ie)!==-1,checked:Ne.indexOf(ie)!==-1,halfChecked:Ue.indexOf(ie)!==-1,pos:String(nt?nt.pos:""),dragOver:Ge===ie&&Xe===0,dragOverGapTop:Ge===ie&&Xe===-1,dragOverGapBottom:Ge===ie&&Xe===1};return $e}function he(ie){var ue=ie.data,ge=ie.expanded,xe=ie.selected,Me=ie.checked,Be=ie.loaded,Ne=ie.loading,Ue=ie.halfChecked,Ge=ie.dragOver,Xe=ie.dragOverGapTop,Ye=ie.dragOverGapBottom,nt=ie.pos,$e=ie.active,qe=ie.eventKey,st=(0,Re.Z)((0,Re.Z)({},ue),{},{expanded:ge,selected:xe,checked:Me,loaded:Be,loading:Ne,halfChecked:Ue,dragOver:Ge,dragOverGapTop:Xe,dragOverGapBottom:Ye,pos:nt,active:$e,key:qe});return"props"in st||Object.defineProperty(st,"props",{get:function(){return(0,ve.ZP)(!1,"Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."),ie}}),st}},8224:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{Z:function(){return Ve}});var _e=Oe(4676);function Ve(Re,be,Fe,Ce){var ve=_e.unstable_batchedUpdates?function(we){_e.unstable_batchedUpdates(Fe,we)}:Fe;return Re!=null&&Re.addEventListener&&Re.addEventListener(be,ve,Ce),{remove:function(){Re!=null&&Re.removeEventListener&&Re.removeEventListener(be,ve,Ce)}}}},55468:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{g1:function(){return pe},os:function(){return Pe}});var _e=/margin|padding|width|height|max|min|offset/,Ve={left:!0,top:!0},Re={cssFloat:1,styleFloat:1,float:1};function be(de){return de.nodeType===1?de.ownerDocument.defaultView.getComputedStyle(de,null):{}}function Fe(de,ee,ne){if(ee=ee.toLowerCase(),ne==="auto"){if(ee==="height")return de.offsetHeight;if(ee==="width")return de.offsetWidth}return ee in Ve||(Ve[ee]=_e.test(ee)),Ve[ee]?parseFloat(ne)||0:ne}function Ce(de,ee){var ne=arguments.length,le=be(de);return ee=Re[ee]?"cssFloat"in de.style?"cssFloat":"styleFloat":ee,ne===1?le:Fe(de,ee,le[ee]||de.style[ee])}function ve(de,ee,ne){var le=arguments.length;if(ee=Re[ee]?"cssFloat"in de.style?"cssFloat":"styleFloat":ee,le===3)return typeof ne=="number"&&_e.test(ee)&&(ne="".concat(ne,"px")),de.style[ee]=ne,ne;for(var oe in ee)ee.hasOwnProperty(oe)&&ve(de,oe,ee[oe]);return be(de)}function ye(de){return de===document.body?document.documentElement.clientWidth:de.offsetWidth}function we(de){return de===document.body?window.innerHeight||document.documentElement.clientHeight:de.offsetHeight}function De(){var de=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),ee=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);return{width:de,height:ee}}function pe(){var de=document.documentElement.clientWidth,ee=window.innerHeight||document.documentElement.clientHeight;return{width:de,height:ee}}function Ee(){return{scrollLeft:Math.max(document.documentElement.scrollLeft,document.body.scrollLeft),scrollTop:Math.max(document.documentElement.scrollTop,document.body.scrollTop)}}function Pe(de){var ee=de.getBoundingClientRect(),ne=document.documentElement;return{left:ee.left+(window.pageXOffset||ne.scrollLeft)-(ne.clientLeft||document.body.clientLeft||0),top:ee.top+(window.pageYOffset||ne.scrollTop)-(ne.clientTop||document.body.clientTop||0)}}},24514:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{G:function(){return be}});var _e=Oe(47273),Ve=function(Ce){if((0,_e.Z)()&&window.document.documentElement){var ve=Array.isArray(Ce)?Ce:[Ce],ye=window.document.documentElement;return ve.some(function(we){return we in ye.style})}return!1},Re=function(Ce,ve){if(!Ve(Ce))return!1;var ye=document.createElement("div"),we=ye.style[Ce];return ye.style[Ce]=ve,ye.style[Ce]!==we};function be(Fe,Ce){return!Array.isArray(Fe)&&Ce!==void 0?Re(Fe,Ce):Ve(Fe)}},51581:function(Pt,Mt,Oe){"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});var _e=function(){function Ee(Pe,de){for(var ee=0;ee<de.length;ee++){var ne=de[ee];ne.enumerable=ne.enumerable||!1,ne.configurable=!0,"value"in ne&&(ne.writable=!0),Object.defineProperty(Pe,ne.key,ne)}}return function(Pe,de,ee){return de&&Ee(Pe.prototype,de),ee&&Ee(Pe,ee),Pe}}(),Ve=Oe(59301),Re=Ce(Ve),be=Oe(12708),Fe=Ce(be);function Ce(Ee){return Ee&&Ee.__esModule?Ee:{default:Ee}}function ve(Ee,Pe){var de={};for(var ee in Ee)Pe.indexOf(ee)>=0||Object.prototype.hasOwnProperty.call(Ee,ee)&&(de[ee]=Ee[ee]);return de}function ye(Ee,Pe){if(!(Ee instanceof Pe))throw new TypeError("Cannot call a class as a function")}function we(Ee,Pe){if(!Ee)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Pe&&(typeof Pe=="object"||typeof Pe=="function")?Pe:Ee}function De(Ee,Pe){if(typeof Pe!="function"&&Pe!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof Pe);Ee.prototype=Object.create(Pe&&Pe.prototype,{constructor:{value:Ee,enumerable:!1,writable:!0,configurable:!0}}),Pe&&(Object.setPrototypeOf?Object.setPrototypeOf(Ee,Pe):Ee.__proto__=Pe)}var pe=function(Ee){De(Pe,Ee);function Pe(de){ye(this,Pe);var ee=we(this,(Pe.__proto__||Object.getPrototypeOf(Pe)).call(this,de));return ee.scrollListener=ee.scrollListener.bind(ee),ee.eventListenerOptions=ee.eventListenerOptions.bind(ee),ee.mousewheelListener=ee.mousewheelListener.bind(ee),ee}return _e(Pe,[{key:"componentDidMount",value:function(){this.pageLoaded=this.props.pageStart,this.options=this.eventListenerOptions(),this.attachScrollListener()}},{key:"componentDidUpdate",value:function(){if(this.props.isReverse&&this.loadMore){var ee=this.getParentElement(this.scrollComponent);ee.scrollTop=ee.scrollHeight-this.beforeScrollHeight+this.beforeScrollTop,this.loadMore=!1}this.attachScrollListener()}},{key:"componentWillUnmount",value:function(){this.detachScrollListener(),this.detachMousewheelListener()}},{key:"isPassiveSupported",value:function(){var ee=!1,ne={get passive(){ee=!0}};try{document.addEventListener("test",null,ne),document.removeEventListener("test",null,ne)}catch(le){}return ee}},{key:"eventListenerOptions",value:function(){var ee=this.props.useCapture;return this.isPassiveSupported()&&(ee={useCapture:this.props.useCapture,passive:!0}),ee}},{key:"setDefaultLoader",value:function(ee){this.defaultLoader=ee}},{key:"detachMousewheelListener",value:function(){var ee=window;this.props.useWindow===!1&&(ee=this.scrollComponent.parentNode),ee.removeEventListener("mousewheel",this.mousewheelListener,this.options?this.options:this.props.useCapture)}},{key:"detachScrollListener",value:function(){var ee=window;this.props.useWindow===!1&&(ee=this.getParentElement(this.scrollComponent)),ee.removeEventListener("scroll",this.scrollListener,this.options?this.options:this.props.useCapture),ee.removeEventListener("resize",this.scrollListener,this.options?this.options:this.props.useCapture)}},{key:"getParentElement",value:function(ee){var ne=this.props.getScrollParent&&this.props.getScrollParent();return ne!=null?ne:ee&&ee.parentNode}},{key:"filterProps",value:function(ee){return ee}},{key:"attachScrollListener",value:function(){var ee=this.getParentElement(this.scrollComponent);if(!(!this.props.hasMore||!ee)){var ne=window;this.props.useWindow===!1&&(ne=ee),ne.addEventListener("mousewheel",this.mousewheelListener,this.options?this.options:this.props.useCapture),ne.addEventListener("scroll",this.scrollListener,this.options?this.options:this.props.useCapture),ne.addEventListener("resize",this.scrollListener,this.options?this.options:this.props.useCapture),this.props.initialLoad&&this.scrollListener()}}},{key:"mousewheelListener",value:function(ee){ee.deltaY===1&&!this.isPassiveSupported()&&ee.preventDefault()}},{key:"scrollListener",value:function(){var ee=this.scrollComponent,ne=window,le=this.getParentElement(ee),oe=void 0;if(this.props.useWindow){var ce=document.documentElement||document.body.parentNode||document.body,he=ne.pageYOffset!==void 0?ne.pageYOffset:ce.scrollTop;this.props.isReverse?oe=he:oe=this.calculateOffset(ee,he)}else this.props.isReverse?oe=le.scrollTop:oe=ee.scrollHeight-le.scrollTop-le.clientHeight;oe<Number(this.props.threshold)&&ee&&ee.offsetParent!==null&&(this.detachScrollListener(),this.beforeScrollHeight=le.scrollHeight,this.beforeScrollTop=le.scrollTop,typeof this.props.loadMore=="function"&&(this.props.loadMore(this.pageLoaded+=1),this.loadMore=!0))}},{key:"calculateOffset",value:function(ee,ne){return ee?this.calculateTopPosition(ee)+(ee.offsetHeight-ne-window.innerHeight):0}},{key:"calculateTopPosition",value:function(ee){return ee?ee.offsetTop+this.calculateTopPosition(ee.offsetParent):0}},{key:"render",value:function(){var ee=this,ne=this.filterProps(this.props),le=ne.children,oe=ne.element,ce=ne.hasMore,he=ne.initialLoad,ie=ne.isReverse,ue=ne.loader,ge=ne.loadMore,xe=ne.pageStart,Me=ne.ref,Be=ne.threshold,Ne=ne.useCapture,Ue=ne.useWindow,Ge=ne.getScrollParent,Xe=ve(ne,["children","element","hasMore","initialLoad","isReverse","loader","loadMore","pageStart","ref","threshold","useCapture","useWindow","getScrollParent"]);Xe.ref=function(nt){ee.scrollComponent=nt,Me&&Me(nt)};var Ye=[le];return ce&&(ue?ie?Ye.unshift(ue):Ye.push(ue):this.defaultLoader&&(ie?Ye.unshift(this.defaultLoader):Ye.push(this.defaultLoader))),Re.default.createElement(oe,Xe,Ye)}}]),Pe}(Ve.Component);pe.propTypes={children:Fe.default.node.isRequired,element:Fe.default.node,hasMore:Fe.default.bool,initialLoad:Fe.default.bool,isReverse:Fe.default.bool,loader:Fe.default.node,loadMore:Fe.default.func.isRequired,pageStart:Fe.default.number,ref:Fe.default.func,getScrollParent:Fe.default.func,threshold:Fe.default.number,useCapture:Fe.default.bool,useWindow:Fe.default.bool},pe.defaultProps={element:"div",hasMore:!1,initialLoad:!0,pageStart:0,ref:null,threshold:250,useWindow:!0,isReverse:!1,useCapture:!1,loader:null,getScrollParent:null},Mt.default=pe,Pt.exports=Mt.default},26724:function(Pt,Mt,Oe){Pt.exports=Oe(51581)},75029:function(Pt,Mt,Oe){"use strict";var _e=Oe(22948),Ve=Array.prototype.concat,Re=Array.prototype.slice,be=Pt.exports=function(Ce){for(var ve=[],ye=0,we=Ce.length;ye<we;ye++){var De=Ce[ye];_e(De)?ve=Ve.call(ve,Re.call(De)):ve.push(De)}return ve};be.wrap=function(Fe){return function(){return Fe(be(arguments))}}},27774:function(Pt,Mt){"use strict";Object.defineProperty(Mt,"__esModule",{value:!0}),Mt.SizeSensorId=Mt.SensorTabIndex=Mt.SensorClassName=void 0;var Oe="size-sensor-id";Mt.SizeSensorId=Oe;var _e="size-sensor-object";Mt.SensorClassName=_e;var Ve="-1";Mt.SensorTabIndex=Ve},79301:function(Pt,Mt){"use strict";Object.defineProperty(Mt,"__esModule",{value:!0}),Mt.default=void 0;var Oe=function(Ve){var Re=arguments.length>1&&arguments[1]!==void 0?arguments[1]:60,be=null;return function(){for(var Fe=this,Ce=arguments.length,ve=new Array(Ce),ye=0;ye<Ce;ye++)ve[ye]=arguments[ye];clearTimeout(be),be=setTimeout(function(){Ve.apply(Fe,ve)},Re)}};Mt.default=Oe},79789:function(Pt,Mt){"use strict";Object.defineProperty(Mt,"__esModule",{value:!0}),Mt.default=void 0;var Oe=1,_e=function(){return"".concat(Oe++)};Mt.default=_e},47242:function(Pt,Mt,Oe){"use strict";Object.defineProperty(Mt,"__esModule",{value:!0}),Mt.ver=Mt.clear=Mt.bind=void 0;var _e=Oe(95270),Ve=function(Ce,ve){var ye=(0,_e.getSensor)(Ce);return ye.bind(ve),function(){ye.unbind(ve)}};Mt.bind=Ve;var Re=function(Ce){var ve=(0,_e.getSensor)(Ce);(0,_e.removeSensor)(ve)};Mt.clear=Re;var be="1.0.2";Mt.ver=be},95270:function(Pt,Mt,Oe){"use strict";Object.defineProperty(Mt,"__esModule",{value:!0}),Mt.removeSensor=Mt.getSensor=Mt.Sensors=void 0;var _e=be(Oe(79789)),Ve=Oe(57829),Re=Oe(27774);function be(we){return we&&we.__esModule?we:{default:we}}var Fe={};Mt.Sensors=Fe;function Ce(we){we&&Fe[we]&&delete Fe[we]}var ve=function(De){var pe=De.getAttribute(Re.SizeSensorId);if(pe&&Fe[pe])return Fe[pe];var Ee=(0,_e.default)();De.setAttribute(Re.SizeSensorId,Ee);var Pe=(0,Ve.createSensor)(De,function(){return Ce(Ee)});return Fe[Ee]=Pe,Pe};Mt.getSensor=ve;var ye=function(De){var pe=De.element.getAttribute(Re.SizeSensorId);De.destroy(),Ce(pe)};Mt.removeSensor=ye},57829:function(Pt,Mt,Oe){"use strict";Object.defineProperty(Mt,"__esModule",{value:!0}),Mt.createSensor=void 0;var _e=Oe(20953),Ve=Oe(55202),Re=typeof ResizeObserver!="undefined"?Ve.createSensor:_e.createSensor;Mt.createSensor=Re},20953:function(Pt,Mt,Oe){"use strict";Object.defineProperty(Mt,"__esModule",{value:!0}),Mt.createSensor=void 0;var _e=Re(Oe(79301)),Ve=Oe(27774);function Re(Fe){return Fe&&Fe.__esModule?Fe:{default:Fe}}var be=function(Ce,ve){var ye=void 0,we=[],De=function(){getComputedStyle(Ce).position==="static"&&(Ce.style.position="relative");var ne=document.createElement("object");return ne.onload=function(){ne.contentDocument.defaultView.addEventListener("resize",pe),pe()},ne.style.display="block",ne.style.position="absolute",ne.style.top="0",ne.style.left="0",ne.style.height="100%",ne.style.width="100%",ne.style.overflow="hidden",ne.style.pointerEvents="none",ne.style.zIndex="-1",ne.style.opacity="0",ne.setAttribute("class",Ve.SensorClassName),ne.setAttribute("tabindex",Ve.SensorTabIndex),ne.type="text/html",Ce.appendChild(ne),ne.data="about:blank",ne},pe=(0,_e.default)(function(){we.forEach(function(ee){ee(Ce)})}),Ee=function(ne){ye||(ye=De()),we.indexOf(ne)===-1&&we.push(ne)},Pe=function(){ye&&ye.parentNode&&(ye.contentDocument&&ye.contentDocument.defaultView.removeEventListener("resize",pe),ye.parentNode.removeChild(ye),Ce.removeAttribute(Ve.SizeSensorId),ye=void 0,we=[],ve&&ve())},de=function(ne){var le=we.indexOf(ne);le!==-1&&we.splice(le,1),we.length===0&&ye&&Pe()};return{element:Ce,bind:Ee,destroy:Pe,unbind:de}};Mt.createSensor=be},55202:function(Pt,Mt,Oe){"use strict";Object.defineProperty(Mt,"__esModule",{value:!0}),Mt.createSensor=void 0;var _e=Oe(27774),Ve=Re(Oe(79301));function Re(Fe){return Fe&&Fe.__esModule?Fe:{default:Fe}}var be=function(Ce,ve){var ye=void 0,we=[],De=(0,Ve.default)(function(){we.forEach(function(ee){ee(Ce)})}),pe=function(){var ne=new ResizeObserver(De);return ne.observe(Ce),De(),ne},Ee=function(ne){ye||(ye=pe()),we.indexOf(ne)===-1&&we.push(ne)},Pe=function(){ye.disconnect(),we=[],ye=void 0,Ce.removeAttribute(_e.SizeSensorId),ve&&ve()},de=function(ne){var le=we.indexOf(ne);le!==-1&&we.splice(le,1),we.length===0&&ye&&Pe()};return{element:Ce,bind:Ee,destroy:Pe,unbind:de}};Mt.createSensor=be},82059:function(Pt){var Mt=arguments[3],Oe=arguments[4],_e=arguments[5],Ve=JSON.stringify;Pt.exports=function(Re,be){for(var Fe,Ce=Object.keys(_e),ve=0,ye=Ce.length;ve<ye;ve++){var we=Ce[ve],De=_e[we].exports;if(De===Re||De&&De.default===Re){Fe=we;break}}if(!Fe){Fe=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var pe={},ve=0,ye=Ce.length;ve<ye;ve++){var we=Ce[ve];pe[we]=we}Oe[Fe]=["function(require,module,exports){"+Re+"(self); }",pe]}var Ee=Math.floor(Math.pow(16,8)*Math.random()).toString(16),Pe={};Pe[Fe]=Fe,Oe[Ee]=["function(require,module,exports){var f = require("+Ve(Fe)+");(f.default ? f.default : f)(self);}",Pe];var de={};ee(Ee);function ee(ie){de[ie]=!0;for(var ue in Oe[ie][1]){var ge=Oe[ie][1][ue];de[ge]||ee(ge)}}var ne="("+Mt+")({"+Object.keys(de).map(function(ie){return Ve(ie)+":["+Oe[ie][0]+","+Ve(Oe[ie][1])+"]"}).join(",")+"},{},["+Ve(Ee)+"])",le=window.URL||window.webkitURL||window.mozURL||window.msURL,oe=new Blob([ne],{type:"text/javascript"});if(be&&be.bare)return oe;var ce=le.createObjectURL(oe),he=new Worker(ce);return he.objectURL=ce,he}},25510:function(Pt){"use strict";Pt.exports="data:image/png;base64,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KFt6yaXs+quutUsvuMiuue5aW2T8Inbu+efZVltvHbZG33LrLfaRj3zEXnvtVVtnnbXt9F/+0iZMnBjcUQR7H3HEkbbV5pvZT37ykwBifnDiD0KW1n9+3wfsC1/6oq215po2ZpGxfUGsNrtvU01I+DbK5r4+x8aMGGUv/O0Fm3H3Pfbv/7a3PXD/X23XXXe19ddfzzbb5G12wcUX2+k//6W99tosW3+99e1XZ54Z3DCf+PQn7eprrrannn/aPvjB3e0D73+/PfPUU3brLX+y478JPSbaN75xtG280UZhq/deH/mwzXx1pu20y062yz/ubBPfsqjtt+8X7MmHH7X11p5m//Otb9vqq69tN15/rZ140g/sxz/7ic0dO9Le99732YYbTLcVll/epq21tm20ySbzdzD17S9iy7cy7gZXyPw5UABLASztisMCWPIpVwBLASz5XNOBJwpg6QMs7CB59NFHbcsttwxU1Xb4kOhtvmK84vLf2zlnnWXHH3ucTZo4ySZNmmSjx4wOwbFYENiGO2nRybbKaqvaMccdazded4Mdeeih9tijj4Wg2lN/9rOwK2jG7XfY1b//vX3xC1+28YtOsF+feaZtseWWNmvOHLvplpsDYGG30Lrrrms//elPQ06Na66+OgCWww873LbeZhs76Yc/tD/84UY78cQT7cKLLrL37/FB+++v7G9rrLGmjSADLwnm5r7WlzyMlLbs+QnpS14P7bn5pltt749+xJZdehk78sgjbOONN7IllphiL738ou237352+SWX29hRY+17J37fVnjrCvbxT37C/vDHP9riUxcPcSwrLLO8vfDC32zGXXfZx/b+t5Cw8dvHn2Brr72O3XvfvfbZfT9jq6y+in1or73sA8ThjFvEDjn8SDvzF7+2xSZOtgM//2V7/7+83/508y32fz/8vp38s1Ns1PhF7Mprr7ZVlls+ZLcdM2qMjRnLoZEcc9C3zbtvbxCRyH1gZX4aluISKjEsbUvDAljySVcASwEs+VzTgScKYGkGLH0JZV+3q6+6yn7323PtW0cfbWuvsaZt+45t+/JdjCThGnlMRtioMWNssSmL2ft2+4Cdecav7bhvHWcv/O1vtsvOO9uJP/iBjRk5xh595CG76Y832gfe///sLYsvZr88/XTbfMstQv6Tm2+91fbYfY/g/thg/fUDYFl08mS7WoDl8CNtm222thN/eJLdfPNNAbj87ne/tX9833vtawd9LcTUAFiwrMx9ffb8RGucJzSq75yiESPt7rtn2JVXXm2f/cxnbf31N7Djjv2WTZ++QThO4PUR8+yggw6ys848y5576nk79LDDbM01VrPPf+m/QgDt6musbuedf74tOXVJe+WVl+0v9/3F9tjjQ/bIww/bN446Ouyauv322+yrB+5vSy+7tG2+xWb2trdvYiNHj7RzLrzYbrjyGpsy+S22z3982j7x8U/aH2/6g/3gRyfZz375c3vLkovbTTfdbMtNmdJ3oGJIudJ34GII8OGMGfH8/DOaOCuJq1hYioWlXXFYAEs+5QpgKYAln2s68EQBLM2AhWX9vLlz7bprr7XzzzvPjv7GUbb9dtvbFz//haDAcVPMsXk2dvy4cA4QwGPqUkvZ9/7ve/a9737PXnv1VfvAbrvZccceGzLG/u3F5+z2O2+zbbZ5hy2x5FT7xS9+YVtsvkVwdtzyp1tst/d/MOQq2XD6dPvZz061iePH2zVXX2OXX3G5HXHkkbbV1lvZD086yW67/TY75eST7de//rW9Y4ft7agjjrT11l03HHgYzhsaafbySy8FlxWuq3Hjxtn4CRPt5ptvtQsvvMj++7+/attsu7Udc8yxtu5664YTnIl1OeHbJ9hpp/3S7pvxF9t3n31svWlr28GHHWIPPPhX22STje1HJ59iyyy7jL362iy7//4HbM899rQHH3jIDj/kkHAMwJ9uucWOOPLwEEczdcmpNmWJKSGe56Hnnrbnn3zSll1iKfvYHh+x/fbZz669/no76Scn2+lnnWnLrbyiXX81gGZyOOCRYws4KTqYi8h+O9IBlvm8r4iWAlgKYGlXHBbAkk+5AlgKYMnnmg48UQBLAmCZ7xP6/SWX2tlnnGEnfv/79o+77mIHfe1gW2vatL6ji/G3zE8pj6+CBGz/+7//a9854bshv8n7/+V9dsJxx4dYl7+99LzdcdfttuUWW9viS04JW54BLLPnzLVbb7nV9tp9z2AhIYbkpz/BwjLJfn/55XbFFVfat775LVt/w+l2+umn2cOPPmo/P+2Xdvwxx9hKq/6D/fDEH9qmm2xiE8ct0medmDfXbrjuOrv4ggvsvvvusw9/9GO2wYbT7bHHn7Srrr7GPvmf/2nbbvsO+8Y3vm7rrbeuLUKm3dfNjjnmGPvlaafbX+673z7+7x+3rbfYzA446AC79957bNq0dUKcy8RJEwNgeeCBB23vvfe22/98hx33rWNt1ZVXsRtvvMG+ccThNmrsaFt6uWVs6lJL2quzXrOZYyzE0Cw9ZartsOU77D8+/Um76ppr7KQfnWSnn/krW2Oj9e388863pSZNslE0ZNYcGzV6HBnl5h87PTIAn+AW0tlK84NYCmApgKVdcVgASz7lehKw1HWDFNYc9pZz4e9PPbxK9XL6cspBZEF+vf66UX799dc3GDD1IkYh9+A/4gteeuml1FeEcl/+8pfDx1/+LKSqM4ze/e53B1dAKg2yGjS/cC8Alm7wmWir80j4P9tzORTOx6eoXKsYFh0BwVice+659o1vfMPe80/vsSOOPMKmTSMPy7yQxI006ToXhXeRFfeII46wxx57zN7+9reHZ7n/l7/cZ9ddd53tvffHwtkvlCN2hrbeeOON9m//9m8hTfyaa64ZLCzElpx11lkhhuV73/uebb75Fvbzn58a5tP5559v//7v/x6exZWzzTbbhLq4x3zADXXCCSfYs889Z//xH/9hn/jEJ0JEDu/56Ec/YmuttVYAKGSCXXzxxQONPvvZz9pvf/vb0IZjjz02lPnUpz5lHPq51FJL2U033WSkgKf+GTPuCfUQ/3PkkUeGNj/4wIP22c991kiHv+eee9r73ve+EEtz94wZNnnSJJswYUJ4nnl3/fXX2/e///1gZdpg+nS78IILQmyQrpSzvSgbp+b32ZMZH9qn9O/QhrGiTdTPuDLXcrLdtpPptp353EoGLkyZbuuyXUMzDnPs5oUMvPLKKyvPU6tqF7899NBDtsEGG1TK5qqs6jxTDj/s5igOw7qff/75cDYQ3712oUwQcvFVN1H5fbvttgtK6s0KWAYyhp0ELAIhHOD5m9/8xv7nf/4nbEN+73vfa8svv3wABzp0k7/JdEtsC7t+vvSlL9ndd98djoAA6FAeAfy73/0ugBCU9tlnnx3O4AF0sK35wx/+cOBhTp3FSsM5VwTX/uEPfwi5WN7xjneE/0+dOtVuv/32AFQALgALANQee+wR3k9beRfPAIxOOumk0G5ACefNcBo67iISzwFY1lhjjQAgADgciUGbAVOAi3/9138NQp3yhxxyiO200072+OOP2x//+Ec79NBDg7I/+uijgxCnzIc+9KEAPHbb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"},32637:function(Pt,Mt,Oe){"use strict";Pt.exports=Oe.p+"static/AssistantCode3.a8740efb.jpeg"},58143:function(Pt){"use strict";Pt.exports="data:image/png;base64,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"},96908:function(Pt){"use strict";Pt.exports="data:image/png;base64,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"},57177:function(Pt){"use strict";Pt.exports="data:image/png;base64,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"},81378:function(Pt){"use strict";Pt.exports="data:image/png;base64,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"},80813:function(Pt,Mt,Oe){"use strict";Oe.d(Mt,{CR:function(){return le},Jh:function(){return Pe},Q_:function(){return Xe},XA:function(){return ne},ZT:function(){return Ve},_T:function(){return be},ev:function(){return he},mG:function(){return Ee},pi:function(){return Re},pr:function(){return ce}});var _e=function(tt,dt){return _e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(At,mt){At.__proto__=mt}||function(At,mt){for(var ht in mt)Object.prototype.hasOwnProperty.call(mt,ht)&&(At[ht]=mt[ht])},_e(tt,dt)};function Ve(tt,dt){if(typeof dt!="function"&&dt!==null)throw new TypeError("Class extends value "+String(dt)+" is not a constructor or null");_e(tt,dt);function At(){this.constructor=tt}tt.prototype=dt===null?Object.create(dt):(At.prototype=dt.prototype,new At)}var Re=function(){return Re=Object.assign||function(dt){for(var At,mt=1,ht=arguments.length;mt<ht;mt++){At=arguments[mt];for(var vt in At)Object.prototype.hasOwnProperty.call(At,vt)&&(dt[vt]=At[vt])}return dt},Re.apply(this,arguments)};function be(tt,dt){var At={};for(var mt in tt)Object.prototype.hasOwnProperty.call(tt,mt)&&dt.indexOf(mt)<0&&(At[mt]=tt[mt]);if(tt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ht=0,mt=Object.getOwnPropertySymbols(tt);ht<mt.length;ht++)dt.indexOf(mt[ht])<0&&Object.prototype.propertyIsEnumerable.call(tt,mt[ht])&&(At[mt[ht]]=tt[mt[ht]]);return At}function Fe(tt,dt,At,mt){var ht=arguments.length,vt=ht<3?dt:mt===null?mt=Object.getOwnPropertyDescriptor(dt,At):mt,Wt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")vt=Reflect.decorate(tt,dt,At,mt);else for(var Jt=tt.length-1;Jt>=0;Jt--)(Wt=tt[Jt])&&(vt=(ht<3?Wt(vt):ht>3?Wt(dt,At,vt):Wt(dt,At))||vt);return ht>3&&vt&&Object.defineProperty(dt,At,vt),vt}function Ce(tt,dt){return function(At,mt){dt(At,mt,tt)}}function ve(tt,dt,At,mt,ht,vt){function Wt(Kt){if(Kt!==void 0&&typeof Kt!="function")throw new TypeError("Function expected");return Kt}for(var Jt=mt.kind,en=Jt==="getter"?"get":Jt==="setter"?"set":"value",mn=!dt&&tt?mt.static?tt:tt.prototype:null,Ot=dt||(mn?Object.getOwnPropertyDescriptor(mn,mt.name):{}),an,tn=!1,Dn=At.length-1;Dn>=0;Dn--){var Tn={};for(var sn in mt)Tn[sn]=sn==="access"?{}:mt[sn];for(var sn in mt.access)Tn.access[sn]=mt.access[sn];Tn.addInitializer=function(Kt){if(tn)throw new TypeError("Cannot add initializers after decoration has completed");vt.push(Wt(Kt||null))};var dn=(0,At[Dn])(Jt==="accessor"?{get:Ot.get,set:Ot.set}:Ot[en],Tn);if(Jt==="accessor"){if(dn===void 0)continue;if(dn===null||typeof dn!="object")throw new TypeError("Object expected");(an=Wt(dn.get))&&(Ot.get=an),(an=Wt(dn.set))&&(Ot.set=an),(an=Wt(dn.init))&&ht.unshift(an)}else(an=Wt(dn))&&(Jt==="field"?ht.unshift(an):Ot[en]=an)}mn&&Object.defineProperty(mn,mt.name,Ot),tn=!0}function ye(tt,dt,At){for(var mt=arguments.length>2,ht=0;ht<dt.length;ht++)At=mt?dt[ht].call(tt,At):dt[ht].call(tt);return mt?At:void 0}function we(tt){return typeof tt=="symbol"?tt:"".concat(tt)}function De(tt,dt,At){return typeof dt=="symbol"&&(dt=dt.description?"[".concat(dt.description,"]"):""),Object.defineProperty(tt,"name",{configurable:!0,value:At?"".concat(At," ",dt):dt})}function pe(tt,dt){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(tt,dt)}function Ee(tt,dt,At,mt){function ht(vt){return vt instanceof At?vt:new At(function(Wt){Wt(vt)})}return new(At||(At=Promise))(function(vt,Wt){function Jt(Ot){try{mn(mt.next(Ot))}catch(an){Wt(an)}}function en(Ot){try{mn(mt.throw(Ot))}catch(an){Wt(an)}}function mn(Ot){Ot.done?vt(Ot.value):ht(Ot.value).then(Jt,en)}mn((mt=mt.apply(tt,dt||[])).next())})}function Pe(tt,dt){var At={label:0,sent:function(){if(vt[0]&1)throw vt[1];return vt[1]},trys:[],ops:[]},mt,ht,vt,Wt=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return Wt.next=Jt(0),Wt.throw=Jt(1),Wt.return=Jt(2),typeof Symbol=="function"&&(Wt[Symbol.iterator]=function(){return this}),Wt;function Jt(mn){return function(Ot){return en([mn,Ot])}}function en(mn){if(mt)throw new TypeError("Generator is already executing.");for(;Wt&&(Wt=0,mn[0]&&(At=0)),At;)try{if(mt=1,ht&&(vt=mn[0]&2?ht.return:mn[0]?ht.throw||((vt=ht.return)&&vt.call(ht),0):ht.next)&&!(vt=vt.call(ht,mn[1])).done)return vt;switch(ht=0,vt&&(mn=[mn[0]&2,vt.value]),mn[0]){case 0:case 1:vt=mn;break;case 4:return At.label++,{value:mn[1],done:!1};case 5:At.label++,ht=mn[1],mn=[0];continue;case 7:mn=At.ops.pop(),At.trys.pop();continue;default:if(vt=At.trys,!(vt=vt.length>0&&vt[vt.length-1])&&(mn[0]===6||mn[0]===2)){At=0;continue}if(mn[0]===3&&(!vt||mn[1]>vt[0]&&mn[1]<vt[3])){At.label=mn[1];break}if(mn[0]===6&&At.label<vt[1]){At.label=vt[1],vt=mn;break}if(vt&&At.label<vt[2]){At.label=vt[2],At.ops.push(mn);break}vt[2]&&At.ops.pop(),At.trys.pop();continue}mn=dt.call(tt,At)}catch(Ot){mn=[6,Ot],ht=0}finally{mt=vt=0}if(mn[0]&5)throw mn[1];return{value:mn[0]?mn[1]:void 0,done:!0}}}var de=Object.create?function(tt,dt,At,mt){mt===void 0&&(mt=At);var ht=Object.getOwnPropertyDescriptor(dt,At);(!ht||("get"in ht?!dt.__esModule:ht.writable||ht.configurable))&&(ht={enumerable:!0,get:function(){return dt[At]}}),Object.defineProperty(tt,mt,ht)}:function(tt,dt,At,mt){mt===void 0&&(mt=At),tt[mt]=dt[At]};function ee(tt,dt){for(var At in tt)At!=="default"&&!Object.prototype.hasOwnProperty.call(dt,At)&&de(dt,tt,At)}function ne(tt){var dt=typeof Symbol=="function"&&Symbol.iterator,At=dt&&tt[dt],mt=0;if(At)return At.call(tt);if(tt&&typeof tt.length=="number")return{next:function(){return tt&&mt>=tt.length&&(tt=void 0),{value:tt&&tt[mt++],done:!tt}}};throw new TypeError(dt?"Object is not iterable.":"Symbol.iterator is not defined.")}function le(tt,dt){var At=typeof Symbol=="function"&&tt[Symbol.iterator];if(!At)return tt;var mt=At.call(tt),ht,vt=[],Wt;try{for(;(dt===void 0||dt-- >0)&&!(ht=mt.next()).done;)vt.push(ht.value)}catch(Jt){Wt={error:Jt}}finally{try{ht&&!ht.done&&(At=mt.return)&&At.call(mt)}finally{if(Wt)throw Wt.error}}return vt}function oe(){for(var tt=[],dt=0;dt<arguments.length;dt++)tt=tt.concat(le(arguments[dt]));return tt}function ce(){for(var tt=0,dt=0,At=arguments.length;dt<At;dt++)tt+=arguments[dt].length;for(var mt=Array(tt),ht=0,dt=0;dt<At;dt++)for(var vt=arguments[dt],Wt=0,Jt=vt.length;Wt<Jt;Wt++,ht++)mt[ht]=vt[Wt];return mt}function he(tt,dt,At){if(At||arguments.length===2)for(var mt=0,ht=dt.length,vt;mt<ht;mt++)(vt||!(mt in dt))&&(vt||(vt=Array.prototype.slice.call(dt,0,mt)),vt[mt]=dt[mt]);return tt.concat(vt||Array.prototype.slice.call(dt))}function ie(tt){return this instanceof ie?(this.v=tt,this):new ie(tt)}function ue(tt,dt,At){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var mt=At.apply(tt,dt||[]),ht,vt=[];return ht=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),Jt("next"),Jt("throw"),Jt("return",Wt),ht[Symbol.asyncIterator]=function(){return this},ht;function Wt(Dn){return function(Tn){return Promise.resolve(Tn).then(Dn,an)}}function Jt(Dn,Tn){mt[Dn]&&(ht[Dn]=function(sn){return new Promise(function(dn,Kt){vt.push([Dn,sn,dn,Kt])>1||en(Dn,sn)})},Tn&&(ht[Dn]=Tn(ht[Dn])))}function en(Dn,Tn){try{mn(mt[Dn](Tn))}catch(sn){tn(vt[0][3],sn)}}function mn(Dn){Dn.value instanceof ie?Promise.resolve(Dn.value.v).then(Ot,an):tn(vt[0][2],Dn)}function Ot(Dn){en("next",Dn)}function an(Dn){en("throw",Dn)}function tn(Dn,Tn){Dn(Tn),vt.shift(),vt.length&&en(vt[0][0],vt[0][1])}}function ge(tt){var dt,At;return dt={},mt("next"),mt("throw",function(ht){throw ht}),mt("return"),dt[Symbol.iterator]=function(){return this},dt;function mt(ht,vt){dt[ht]=tt[ht]?function(Wt){return(At=!At)?{value:ie(tt[ht](Wt)),done:!1}:vt?vt(Wt):Wt}:vt}}function xe(tt){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var dt=tt[Symbol.asyncIterator],At;return dt?dt.call(tt):(tt=typeof ne=="function"?ne(tt):tt[Symbol.iterator](),At={},mt("next"),mt("throw"),mt("return"),At[Symbol.asyncIterator]=function(){return this},At);function mt(vt){At[vt]=tt[vt]&&function(Wt){return new Promise(function(Jt,en){Wt=tt[vt](Wt),ht(Jt,en,Wt.done,Wt.value)})}}function ht(vt,Wt,Jt,en){Promise.resolve(en).then(function(mn){vt({value:mn,done:Jt})},Wt)}}function Me(tt,dt){return Object.defineProperty?Object.defineProperty(tt,"raw",{value:dt}):tt.raw=dt,tt}var Be=Object.create?function(tt,dt){Object.defineProperty(tt,"default",{enumerable:!0,value:dt})}:function(tt,dt){tt.default=dt},Ne=function(tt){return Ne=Object.getOwnPropertyNames||function(dt){var At=[];for(var mt in dt)Object.prototype.hasOwnProperty.call(dt,mt)&&(At[At.length]=mt);return At},Ne(tt)};function Ue(tt){if(tt&&tt.__esModule)return tt;var dt={};if(tt!=null)for(var At=Ne(tt),mt=0;mt<At.length;mt++)At[mt]!=="default"&&de(dt,tt,At[mt]);return Be(dt,tt),dt}function Ge(tt){return tt&&tt.__esModule?tt:{default:tt}}function Xe(tt,dt,At,mt){if(At==="a"&&!mt)throw new TypeError("Private accessor was defined without a getter");if(typeof dt=="function"?tt!==dt||!mt:!dt.has(tt))throw new TypeError("Cannot read private member from an object whose class did not declare it");return At==="m"?mt:At==="a"?mt.call(tt):mt?mt.value:dt.get(tt)}function Ye(tt,dt,At,mt,ht){if(mt==="m")throw new TypeError("Private method is not writable");if(mt==="a"&&!ht)throw new TypeError("Private accessor was defined without a setter");if(typeof dt=="function"?tt!==dt||!ht:!dt.has(tt))throw new TypeError("Cannot write private member to an object whose class did not declare it");return mt==="a"?ht.call(tt,At):ht?ht.value=At:dt.set(tt,At),At}function nt(tt,dt){if(dt===null||typeof dt!="object"&&typeof dt!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof tt=="function"?dt===tt:tt.has(dt)}function $e(tt,dt,At){if(dt!=null){if(typeof dt!="object"&&typeof dt!="function")throw new TypeError("Object expected.");var mt,ht;if(At){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");mt=dt[Symbol.asyncDispose]}if(mt===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");mt=dt[Symbol.dispose],At&&(ht=mt)}if(typeof mt!="function")throw new TypeError("Object not disposable.");ht&&(mt=function(){try{ht.call(this)}catch(vt){return Promise.reject(vt)}}),tt.stack.push({value:dt,dispose:mt,async:At})}else At&&tt.stack.push({async:!0});return dt}var qe=typeof SuppressedError=="function"?SuppressedError:function(tt,dt,At){var mt=new Error(At);return mt.name="SuppressedError",mt.error=tt,mt.suppressed=dt,mt};function st(tt){function dt(vt){tt.error=tt.hasError?new qe(vt,tt.error,"An error was suppressed during disposal."):vt,tt.hasError=!0}var At,mt=0;function ht(){for(;At=tt.stack.pop();)try{if(!At.async&&mt===1)return mt=0,tt.stack.push(At),Promise.resolve().then(ht);if(At.dispose){var vt=At.dispose.call(At.value);if(At.async)return mt|=2,Promise.resolve(vt).then(ht,function(Wt){return dt(Wt),ht()})}else mt|=1}catch(Wt){dt(Wt)}if(mt===1)return tt.hasError?Promise.reject(tt.error):Promise.resolve();if(tt.hasError)throw tt.error}return ht()}function rt(tt,dt){return typeof tt=="string"&&/^\.\.?\//.test(tt)?tt.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(At,mt,ht,vt,Wt){return mt?dt?".jsx":".js":ht&&(!vt||!Wt)?At:ht+vt+"."+Wt.toLowerCase()+"js"}):tt}var ct={__extends:Ve,__assign:Re,__rest:be,__decorate:Fe,__param:Ce,__esDecorate:ve,__runInitializers:ye,__propKey:we,__setFunctionName:De,__metadata:pe,__awaiter:Ee,__generator:Pe,__createBinding:de,__exportStar:ee,__values:ne,__read:le,__spread:oe,__spreadArrays:ce,__spreadArray:he,__await:ie,__asyncGenerator:ue,__asyncDelegator:ge,__asyncValues:xe,__makeTemplateObject:Me,__importStar:Ue,__importDefault:Ge,__classPrivateFieldGet:Xe,__classPrivateFieldSet:Ye,__classPrivateFieldIn:nt,__addDisposableResource:$e,__disposeResources:st,__rewriteRelativeImportExtension:rt}}}]);
|
|
|
}()); |